Mehrere verkettete 74HC595 leuchten nicht alle LEDs

7

Ich bin neu bei Arduino - und der Elektronik im Allgemeinen - und habe ein frustrierendes Problem mit zwei seriell-parallelen 74HC595-Chips, die versuchen, zwei 7-Segment-LED-Anzeigen anzusteuern. Die LEDs sind beide gemeinsame Kathoden, und jeder LED-Eingang verfügt über einen eigenen 510-Ohm-Widerstand, der an einen Ausgang eines 74HC595 angeschlossen ist. Wenn ich die gemeinsame Kathode von A trenne, sehe ich die richtige Anzeige in B. Wenn ich die gemeinsame Kathode von B trenne, sehe ich die richtige Anzeige in A. Wenn jedoch beide gemeinsamen Kathoden angeschlossen sind, zeigt B Müll an (meistens ist es Müll nur leer), während A korrekt angezeigt wird. Es ist, als gäbe es nicht genug Kraft, um herumzugehen. Ich verwende die 5-V-Ausgangsleistung, weil die 74HC595-Chips genau das benötigen (tatsächlich kann sie zwischen 2 V und 6 liegen) und ich nicht mit dem Braten von Chips beginnen möchte.

Wenn jemand darauf hinweisen kann, was ich falsch mache (oder was ich möglicherweise versuchen könnte, es zum Laufen zu bringen), wäre das großartig. Ich arbeite an einem Hobbyprojekt, bei dem ich gehofft hatte, 6 dieser LED- und 74HC595-Chips angeschlossen zu haben.

Jono
quelle
Gibt es einen Unterschied im Verhalten, wenn Sie "11" oder "88" anzeigen?
W5VO
Für wie viel Strom ist Ihr Netzteil ausgelegt? was benutzt du?
Vicatcu
@ W5VO: Wenn ich nacheinander (und kumulativ) die Segmente a bis g beleuchte, funktioniert dies bei beiden LEDs bis zu c. Wenn ich dann das d-Segment in die Mischung einfüge, wird LED2 leer und LED1 zeigt a bis d an. Wenn ich an dieser Stelle das Erdungskabel abziehe und es dann anschließe, leuchtet LED2 für einen kurzen Moment korrekt auf und erlischt dann wieder.
Jono
Ja, Sie sind eindeutig eine Strombegrenzung Ihrer Spannungsversorgung basierend auf dem vorherigen Kommentar ...
Vicatcu
@vicatcu: Ich muss mir die Zahlen ansehen; Vermutlich würde dies bedeuten, den Strom durch jeden Ein- und Ausgang der Schaltung zu messen (3,3 V, GND und auch die 3 digitalen Eingangspins, mit denen die Daten / Takt / Latch der ICs angesteuert werden)
Jono

Antworten:

3

Nach dem, was Sie über den Widerstand gesagt haben und einen nahezu schienenarmen Ausgang des CMOS 74hc595 und einen Diodenabfall von etwa 1,25 V berechnet haben, zieht jedes Segment wahrscheinlich etwa 7 mA. Wenn Sie zwei vollständige Anzeigen in Betrieb nehmen, summiert sich dies allmählich. Nur 14 Segmente bei diesem Strom (nicht einmal zwei volle Stellen wert) brechen bereits 100mA. Ganz zu schweigen davon, dass wenn Sie den 74HC595 über dieselbe 5-V-Quelle mit Strom versorgen, dieser immer noch aktueller ist, aber zum Glück nicht zu viel, da es sich um ein CMOS-Gerät handelt.

Ich müsste mir die technischen Daten des Arduino ansehen, um sicher zu sein, aber es wäre nicht überraschend, wenn das winzige regulierte Angebot des Arduino nicht dazu in der Lage wäre. Selbst wenn es dafür ausgelegt wäre, würde ich wahrscheinlich versuchen, die 74HC595 zumindest mit einer separaten 5-V-Versorgung zu versorgen. Um eine separate Versorgung zu verwenden, müssen Sie die Erdung zusammenbinden.

Wenn Sie 6 Ziffern ausführen möchten, wobei alle Segmente berücksichtigt werden, möchten Sie etwas mit mindestens 500 mA oder noch besser 1000 mA. Es ist besser, die Amp-Kapazität zu haben und sie nicht zu brauchen, als sie zu brauchen und sie nicht zu haben.

JustJeff
quelle
Ihre Antwort brachte mich zum Nachdenken über meine nächsten Schritte, einschließlich der Verwendung des Arduino als digitaler Schalter für andere Geräte mit eigener Stromversorgung. Zum Beispiel die Steuerung eines RC-Fahrzeugs mit einer eigenen LiPo-Batterie. Im Moment werde ich mich jedoch hinsetzen und versuchen zu rechnen, wie eine separate Versorgung helfen könnte.
Jono