Wie schützt man einen MAX232 vor Hochspannungen bei der PIC-Programmierung?

Diese Frage stammt aus diesem Board-Review-Thread . Ich dachte, es wäre vorzuziehen, sie zu einer eigenständigen Frage zu machen.

Ich möchte in der Lage sein, einen PIC über den einzigen Kommunikationsanschluss der Platine, den RS232, aus der Ferne zurückzusetzen. Aber ich möchte es auch mit einem ICD3 (kein Bootloader) programmieren können, und dieser Programmierer legt anscheinend Hochspannung (0-13 V?) an / MCLR an, was den MAX232 (tatsächlich MAX233) mit Sicherheit töten wird.

Wäre ein Schottky zwischen R2out des MAX233 und 5V der richtige Weg? Das Datenblatt sagt, dass die absolute maximale Spannung an diesem Pin 5,3 V beträgt, ich finde es ein bisschen eng für einen Schottky. Irgendwelche robusteren Vorschläge? Ich möchte keinen Jumper verwenden, da dies vergessen werden könnte ...

Schema:Geben Sie hier die Bildbeschreibung ein

Danke

Bearbeiten:

Ob das funktioniert?

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Der Zener ist ein ON SEMI BZX84B5V1LT1G mit einer Toleranz von 5-5,2 V bei 5 mA, und ich erlaube maximal 4,4 mA. Der MAX233 treibt den /MCLR-Pin bei 0,41 V, wobei bis zu 1 V ein niedriger Pegel ist. Der 20-kOhm-Pull-up stammt aus einer von Olins Antworten hier .

Verwenden Sie eine steckbare Verbindung, um es beim Programmieren zu trennen
Ich habe darüber nachgedacht, ich habe mich nur gefragt, ob es nicht einen idiotensicheren Weg gibt, dafür zu sorgen, dass es nicht explodiert. Ich halte mich für einen Idioten, wenn ich müde bin.

Antworten (2)

Wenn Sie eine 5,1-V-Zenerdiode an Pin 20 und Masse (0 V) des MAX233A anschließen, wäre sie geschützt, aber dann würden während der Programmierung 70 mA durch R3 fließen, was möglicherweise zu viel ist. Erhöhen Sie R3 und R4 um das 10-fache. Die Resetfunktion sollte noch OK sein, aber jetzt fließen beim Programmieren nur noch 7mA in die Zenerdiode.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Sehr schön, ich brauche nur noch eine Komponente. Ich habe meinen Beitrag mit der Implementierung aktualisiert, können Sie einen Blick darauf werfen?
Es sollte funktionieren. Es sind nur Komponentenwertänderungen von meiner Schaltung. Auch einfach auszuprobieren.

Sie könnten den MAX233 über eine Open-Drain- oder Open-Collector- Anordnung mit der MCU verbinden .

Der MAX233 aktiviert einen Transistor (NPN BJT oder N-Kanal-MOSFET), der wiederum den MCLR-Pin auf Low zieht.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Dies ist auch eine der empfohlenen Methoden zum Aktivieren einer Reset-Leitung aus mehreren Quellen - eine verdrahtete oder Anordnung mit Open-Drain-Geräten.

Beachten Sie, dass die Logik des Resets dann aus Sicht des MAX223 invertiert wird - Sie müssen den Ausgang auf HIGH setzen, um den MCLR auf LOW zu ziehen.

Danke, das ist eine gute Idee. Ich werde mich für Andy Akas Antwort entscheiden, wenn etwas daran nicht stimmt, da es nur eine weitere Komponente hinzufügt und ich keinen Transistor verwenden muss (jedes Mal, wenn ich versuche, einen Bipolar zu verwenden, funktioniert es nicht, nie versucht mit FETs)...
*nichts, nicht "irgendwas".