Nachdem ich in der Vergangenheit fehlerhafte Schaltkreise hergestellt hatte, erfuhr ich, dass die Ursache darin besteht, dass der parallele Anschluss "Phantomspeisung" erzeugte (auch bekannt als Stromversorgung des Schaltkreises). Dies liegt daran, dass ich meine Schaltung an den parallelen Anschluss angeschlossen habe, bevor ich die externen 5 VDC daran angeschlossen habe.
Basierend auf anderen Ideen ist meine Schaltungsidee folgende:
Beim Einschalten sorgt der 555-Timer dafür, dass der Ausgang für kurze Zeit einen 3-Zustands-Puffer deaktiviert, sodass alle Ausgänge hochohmig sind. (Ich habe Pull-up-Widerstände an den Pufferausgängen vergessen). Kurz darauf werden die Puffer ganz links immer aktiviert und dann können Daten vom Port bidirektional mit dem Mikrocontroller kommunizieren. (Daten werden als Parallelport-Status zurückgegeben).
Der Mikrocontroller befindet sich auf einer separaten Platine und die dicken Linien stellen Flachbandkabel dar. VCC ist 5 VDC und sowohl VCC als auch GND sind über dasselbe Flachbandkabel mit der separaten Platine verbunden.
Meine Frage ist, funktioniert diese Schaltung gut für zwei bidirektionale Datenleitungen zwischen dem parallelen Anschluss und dem Mikrocontroller ohne Phantomspeisung? (Ich werde die Schaltung zuerst an den parallelen Anschluss anschließen, bevor VCC an eine Stromversorgung angeschlossen wird).
Ich möchte der Community nur sagen, dass ich das selbst herausgefunden habe.
Optokoppler funktionieren!
Anstatt Logikgatter zu verwenden, ging ich etwas analoger vor und entschied mich für Optokoppler (Chip Nr. 4N35), um zu verhindern, dass das logische Hoch von einem der Datenbits des parallelen Anschlusses in die VCC-Leitung des Mikrocontrollers gelangt.
Die anderen mit dem Port verbundenen Leitungen sind mit den Eingängen des parallelen Ports verbunden, und da diese Leitungen vom Port im Allgemeinen "schwach" hochgezogen werden, anstatt stark hochgezogen zu werden (was bei den Datenports der Fall war), ist diese Schaltung a Gewinner für mich.
Alle Widerstände haben 220 Ohm, mit Ausnahme des Widerstands ganz links, der ein 0-Ohm-Widerstand ist, weil ich ihn als Drahtbrücke auf der Platine verwendet habe.
Außerdem bemerkte ich, dass die Leiterplatte einfacher zu routen war, und ich konnte die Leiterplatte etwa 10 % kleiner machen, während ich immer noch alle Teile anpasste.
Einziger Vorbehalt für dieses Design, mit dem ich einverstanden bin, ist, dass ich beim Senden von Daten die invertierten Bitwerte von der PC-Seite angeben muss. (Beispiel, wenn ich eine 70h an die Hardware ausgeben möchte, dann muss ich der Software einen Wert von 00h angeben, und wenn ich eine 40h ausgeben möchte, muss ich 30h angeben)
Chris Stratton
Tony Stewart EE75
Mike – Nicht mehr hier
Tony Stewart EE75
Mike – Nicht mehr hier
Mike – Nicht mehr hier