DochDas ist die Target-Datei mit Schaltplan und Laout.
Ich denke nicht, dass da etwas falsch ist, lasse mich aber gerne eines besseren belehren.
Ich kann das Target-Format nicht lesen und habe auch keine Lust Target zu installieren!
DochDas ist die Target-Datei mit Schaltplan und Laout.
Ich denke nicht, dass da etwas falsch ist, lasse mich aber gerne eines besseren belehren.
Ich kann das Target-Format nicht lesen und habe auch keine Lust Target zu installieren!
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Dann hilft mir dein "Doch" auch nicht viel weiter....
https://www.dropbox.com/s/ueiutwd4jz...48.58.png?dl=0
https://www.dropbox.com/s/k30sn0bsnb...49.31.png?dl=0
Ich habe mal einen Screenshot vom Schaltplan und Layout gemacht.
Vielleicht kannst du mir ja so helfen.
Mit freundlichen Grüßen
Naja, wenn du alles richtig gemacht hättest, würde es funktionieren
Grundsätzlich sehe ich keinen wirklichen Fehler in der Schaltung.
Was ist mit der Software? Eine Variante wäre, dass du versehentlich die Arduino-Ausgänge als Eingänge umschaltest. Durch die Pull-Ups kannst du dann 0x0f, also einen ungültigen Wert ausgeben...
Hilft ein Hardware-Reset oder muss die Spannung weg?
Hast du einmal gemessen, welchen Strom die Schaltung aufnimmt, wenn sie blockiert ist?
Durch Spannungsspitzen (siehe Layout), kann ein Latch-Up entstehen:
https://de.wikipedia.org/wiki/Latch-Up-Effekt
Aus diesem Zustand kommt man nur durch abschalten der Spannung wieder raus, allerdings nimmt die Schaltung dann einen entsprechend hohen Strom auf.
Also zum Layout:
1. Da sind mehr Stecker im Layout als im Schema.
2. Leiterbahnen für GND und V+ können nie zu breit sein! Du hast 7 Segmente mit je 20mA, das sind 140mA. Wenn deine Leiterbahn 1 Ohm hat, erzeugt dies Spannungsschwankungen von 0.14V, dies hat du dann als zusätzlichen Eingangspegel an den Eingängen. Neben dem Ohmschen Widerstand hat jeder gerade Draht auch eine Induktivität, dies erhöht den Widerstand für schnelle Strom/Spannungsänderungen. Flankensteilheiten von 10ns entsprechen 100MHz, also schon ganz viel Hochfrequenz!
3. Die Leiterbahnführung ist grundsätzlich schlecht. Du musst jede Leiterbahn als Widerstand betrachten, je nach Strom hast du deinen Spannungsabfall. Die 140mA fliessen durch Pin 9 von IC1. Dies erzeugt einen Spannungsabfall zwischen diesem Punk und Pin 8 von X5. Dieser Spannungsabfall addiert sich dann aber zu den Eingangsspannungen an IC1. Wenn du diese Verbindung auftrennst und von Pin 9 von IC1 senkrecht nach unten fährst, fällt dieser Effekt raus. Allerdings hast du immer noch das selbe Problem mit der GND des Arduino und den Eingängen von X1.
4. Da der CD4543 Flip-Flops enthält, kann das genügen dies umzuwerfen. Es fehlen also noch Blockkondensatoren. So 100-220nF Keramik mit möglichst kurzen Leiterbahnen an X5 zwischen VSS und VDD. Ein Elko um die 140mA-Sprünge zu puffern, ist auch nicht falsch!
5. Bei 3 Stellen, ist der maximale Stromspung 3*140mA = 420mA.
6. Oft bestimmt nur die Verdrahtung ob eine Schaltung funktioniert oder eben nicht, auch wenn alle richtigen Punkt miteinander verbunden sind. Wer mal analoge Audio-Verstärker gebaut hat, kennt das Problem als hörbaren Brumm. Da hört man dann den Unterschied zwischen einer sauberen Sternmesse und einer wirren Verdrahtung. Selbiges gilt auch für die Versorgungsspannung.
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Danke für deine Umfangreiche Antwort.
Zum Programm:
Die Ansteuerung der Ausgänge ist immer gleich, werden also nicht als Eingänge definiert.
void digi7()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
}
void digi8()
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
}
void digi9()
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
}
void digiO() <-------- Ausschalten
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
}
Was meinst du mit Hadware Reset?
Ich muss die Spannung abtrennen um das Ganze wieder zum Laufen zu bringen.
Der Arduino gibt weiterhin die Signale aus, aber die Ausgänge des CD4535 sind alle auf 0.
Im Zustand dass nichts mehr weiter geht, nimmt die Schaltung 46mA auf.
Mit freundlichen Grüßen
Ich verwende ein 9V Netzteil.
An dieses sind alle Bauteile angeschlossen.
(Arduino, 7-Segment Anzeige, CD4543, ULN4
Ich habe einen Anschluss des Netzteiles getrennt und habe dort den Strom gemessen.
Oder soll ich nur den des CD4543 messen?
Mit freundlichen Grüßen
- - - Aktualisiert - - -
Ich habe derzeit 1 Modul angeschlossen
Der Arduino läuft mit 5V oder 3.3V?
An welcher Spannung ist der CD4543 angeschlossen?
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Lesezeichen