Ich plane, eine einfache LED-Matrix mit einem Arduino und einigen 74HC595-Schieberegistern zu bauen. Mein Ardiuno gibt jedoch 5 V an die Register aus, die diese 5 V weitergeben. Wie und wo entlang der Leitung reduziere ich diese Spannung auf 3,3 V?
Edit: Nach einigem Googeln gefunden. Ist ein Widerstand vor jeder LED alles, was ich brauche (was ich sowieso brauche)?
(5–3.3) / 0.02 = 85 ohm
für eine 20 mA 3,3 V LED?
Bearbeiten 2: Kann ich 3 V von einer anderen Quelle an den Vcc-Pin des Schieberegisters liefern, aber 5 V-Logik an die seriellen Pins senden? Ich vermute, das wird nicht funktionieren, wollte es aber nur noch einmal überprüfen.
Es gibt eine Reihe von Optionen, von denen die meisten in diesem Beitrag besprochen werden . Da die Kommunikation eine Möglichkeit ist, können Sie Folgendes verwenden:
Es gibt Schieberegister, die mit 3,3 V betrieben werden: Je nachdem, wie viele Leitungen Sie benötigen, könnte eine einfachere Lösung darin bestehen, den Arduino-Ausgang auf 3,3 V zu verschieben und diesen einem 3,3-V-Schieberegister zuzuführen. Dies wird wahrscheinlich (wiederum abhängig von Ihrem Setup) in weniger Zeilen pegelverschoben werden.
EDIT: Ja, Sie benötigen Strombegrenzungswiderstände für Ihre LEDs, jedoch Spannungsteiler! = ein einzelner Widerstand. Spannungsteiler sieht so aus:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
EDIT2 : Normalerweise nicht. Sie sollten das Datenblatt des Schieberegisters, das Sie verwenden möchten, über seine verschiedenen Maximalspannungen lesen. PS Wenn Sie "Serienpins" sagen, meinen Sie nicht die Serial TX
und Serial RX
, oder? Normalerweise treibt man Schieberegister unter Verwendung digitaler IO-Pins für allgemeine Zwecke an. Sie können serielle Pins für zwei davon verwenden, aber normalerweise benötigen Sie mehr Pins, um ein Schieberegister anzusteuern (normalerweise mindestens drei im Fall von 74HC595). Der Punkt ist, dass 74HC595 über das SPI-Protokoll angesteuert wird , nicht über RS-232
Wie so ziemlich jeder IC ohne speziell entwickelte Überspannungstoleranzen hat der Eingangsspannungspegel des 74HC595 ein Maximum von VCC oder VCC + 0,3 V. Die Stromversorgung des 74HC595 mit 3 V ist in Ordnung, aber das direkte Anschließen der 5-V-Ausgänge des Arduino an den 74HC595 mit 3 V ist nicht gut. Eine Ebenenverschiebung, wie @angelatlarge gezeigt hat, würde funktionieren.
Die andere Sache ist, dass der IC die Spannung von den Eingängen nicht an die Ausgänge weitergibt. Während das logische Diagramm keinen verwendeten Transistor / Mosfet zeigt, verfügt es über gepufferte Ausgänge. Ausgänge beziehen sich auf VCC und GND des 74HC595. Zum Beispiel muss bei 4,5 V VCC der Logikpegel High nur 2,4 V (typisch) sein, um ein Pegel hoch zu sein, aber der Ausgang wird immer noch 4,32 V Typisch sein.
Sie können also den 74HC595 mit 3 V versorgen, einen Spannungsumsetzer verwenden, um die Eingänge auf den 3-V-Pegel zu bringen, und Ihre LEDs auf diese Weise anschließen. Aber Sie möchten immer noch Widerstände an den LEDs, um jeden Strom zu steuern.
Tatsächlich macht die Verwendung der Widerstände die Stromversorgung des 74HC595 mit 3 V UND die Verwendung des Spannungsteilers strittig. Die Widerstände sollten genauso berechnet werden, als würden Sie eine LED + einen Widerstand direkt an eine Batterie anschließen.
Beachten Sie dieses Schema:
Angetrieben von 5 V, wenn man bedenkt, dass jede LED, wie die meisten Standard-LEDs gehen, zwischen 2 und 3,5 Volt bei 20 mA Durchlassstrom liegt, bedeutet dies, dass 3 bis 1,5 V zu viel sind. Die Widerstände werden, wenn sie für eine (5 V-Quellenspannung - LED-Durchlassspannungsabfall) / LED-Strom berechnet werden, die verbleibende Spannung "aufnehmen", während sie diesen Strom einstellen. Gleiches gilt auch für die LED-Matrix des 74HC595, außer dass die Position des Widerstands variieren würde und so weiter. Sie haben uns nicht mitgeteilt, welche Art von Matrix Sie möchten.
5.0V - Fvdrop = 2.4-3.5
?
Engelgroß
Maciej Swic
Engelgroß