Überspannung am seriellen Pin verhindern

Ich versuche, Daten seriell von einem 3,3-V-Arduino an einen 5-V-Arduino zu senden. Ich gehe davon aus, dass ich den 3,3-V-Sender nicht einfach an den 5-V-Empfänger anschließen kann, da ich beim Programmieren des 5-V-Empfängers davon ausgehe, dass er 5-V-Signale an den TX-Pin des 3,3-V-Arduinos sendet und ihn möglicherweise beschädigt.

Ich möchte Software Serial nicht verwenden, weil ich den Hardware-UART-Puffer des Arduino nutzen möchte.

Wenn ich eine Diode verwende, mache ich mir Sorgen, dass der Spannungsabfall dazu führt, dass das 3,3-V-Signal nicht vom Arduino rx aufgenommen wird (ich habe gehört, dass> = 3 V als hoch registriert). Ich habe gehört, dass Schottky-Dioden einen geringen Spannungsabfall haben, könnte ich also eine davon mit einem Nennabfall von <0,3 V verwenden? Oder gibt es eine bessere Möglichkeit, dieses Problem zu umgehen?

Was Sie wollen, nennt man Level Shifter. Dieser Name könnte Ihnen helfen, das zu finden, was Sie brauchen.
Gemäß meiner Antwort unten benötigen Sie möglicherweise keine Pegelübersetzer, da 3,3 V und 5 V benachbarte Standardsignalspannungen sind. Wenn Sie genaue Modellnummern oder noch besser Links zum Datenblatt angeben können, könnte dies gründlicher bestätigt werden.

Antworten (2)

Es hört sich so an, als ob Sie die 3,3 V auf 5 V gepuffert benötigen, aber auch von der anderen TX-Programmierquelle getrennt werden müssen, um die Programmierung über Serial nicht zu stören.

Probieren Sie ein Gate wie 74AHCT125N (für ein DIP) aus, das mit 5 V betrieben wird. Es benötigt nur 2 V für ein gültiges High.

http://www.ti.com/lit/ds/symlink/sn74ahct125.pdf

Dadurch wird es von 3,3 V auf 5 V gebracht, und mit dem OE / für jedes Gate können Sie es während der Programmierung deaktivieren. Ziehen Sie den Pin mit einem Pullup-Widerstand von etwa 10 K auf High, lassen Sie den Arduino ihn während der Einrichtung der Skizze mit einem Ausgangspin auf Low bringen (), um die Datenübertragung zu ermöglichen.

Überprüfen Sie Ihre HW-Spezifikationen an beiden Enden. Viele Empfänger sind tolerant gegenüber eingehenden Spannungspegeln ab dem nächsten "Standard" -Spannungspegel, z. B. akzeptieren viele 1,5-V-Empfänger 1,8-V-Signale, 1,8-V-Empfänger akzeptieren 2,5-V-, 2,5-V-Empfänger akzeptieren 3,3-V-Signale usw. Wenn dies der Fall ist, können Sie drin sind, brauchen Sie keine Level-Übersetzer. Wenn diese Spannungs-"Toleranz" nicht klar angegeben ist, können Sie sie auch aus den minimalen und maximalen V_IH-, V_IL-, V_OH- und V_OL-Spezifikationen der beiden Geräte analysieren.

Nicht in diesem Fall!