AM312 am KC868-A8

#7792401
Lesenswert?

Liebes Forum,

ich habe Probleme, einen AM312 an dem Optokopplern eines KC868-A8 zu betreiben. Das Board enthält einen PCF8574, dessen Eingänge an Optokopplern liegen, die wiederum über Pull-Ups (100k) zugänglich sind (siehe Bild).

Der AM312 liefert hingegen ein HIGH-Signal bei Bewegung, ich schätze, das klappt nicht, da die Pullups die Eingänge eh schon auf High ziehen.

Ist es der richtige Weg, über einen zusätzlichen Pull-Down das Signal wieder runter zu ziehen (wie berechne ich den) oder wie mache ich das am besten?

Ein anderer Ansatz wäre ein Eingang des ESP32, der über einen 4.7k Pull up nach draußen führt. Da kann ich den AM312 erkennen, wenn ich zusätzlich einen 4.7k pull-down nehme. Aber ich finde diese Lösung nicht so schön, da ich den auch für etwas anderes nutzen könnte (Analog, 1wire, etc.)

Vielen Dank, Tom

#7792409
Lesenswert?

Tom W. schrieb:

ich habe Probleme, einen AM312 an dem Optokopplern eines KC868-A8 zu betreiben

Kann ich mir vorstellen bisher sind das nur ein paar auf ein Blatt verstreute Bauelemente.

Glaubst du ernsthaft, irgendjemand macht sich jetzt die Mühe, zu jedem label überall auf dem Papier jedes weitere Auftreten dieses label nachzusuchen und das für alle unterschiedlichen label ? Das ist ein exponentieller Aufwand, für JEDEN Lesenden.

Der AM312 hat einen sauberen CMOS push pull Ausgang

1
Output REL
2
Output Low Current IOL 10 mA VOL<1V 
3
Output High Current IOH -10 mA VOH>(VDD-1V)

und kann (wenn er aus denselben 5V des PCF versorgt wird) den PCF8574 Eingang direkt treiben, ohne pull up oder pull down, die TTL Schaltschwelle passt.

Aber deine Optokoppler sind völliger Unsinn, wegmachen.

#7792443
Lesenswert?

Glaubst du ernsthaft, irgendjemand macht sich jetzt die Mühe, zu jedem label überall auf dem Papier jedes weitere Auftreten dieses label nachzusuchen und das für alle unterschiedlichen label ? Das ist ein exponentieller Aufwand, für JEDEN Lesenden.

ich erkläre es dir gerne: Am Optoeingang sitzt ein 100k Pull-Up, im Bild links INAx. Daher reagiert der, wenn der Eingang auf GND geht. Die Frage war, ob ich mit einem Pulldown das Teil überreden kann, auf HIGH zu reagieren. Oder eben irgendwie anders.

Aber deine Optokoppler sind völliger Unsinn, wegmachen.

Hilft mir nix, das ist ein fertiges Board. Daran ändere ich nichts.

#7792517
Lesenswert?

Tom W. schrieb:

Der AM312 liefert hingegen ein HIGH-Signal bei Bewegung, ich schätze, das klappt nicht, da die Pullups die Eingänge eh schon auf High ziehen.

Nein. Wenn Du am Eingang des Optokopplers ein High-Signal anlegst schaltet er durch. Dadurch zieht er seinen Ausgang, also den Eingang des PCF8574, auf Low. Der Optokoppler invertiert also schon.

Wenn das nicht klappt muss der Fehler woanders liegen. Ist vielleicht der Ausgang des AM312 nicht stark genug den Optokoppler durchzuschalten? Probier das doch mal mit einem Labornetzteil am Eingang des Optokopplers, 3.3V und dann drehe die Strombegrenzung immer weiter runter und schau mal ob und bis wann der PCF8574 durchschaltet.

#7792613
Lesenswert?

Gerd E. schrieb:

Tom W. schrieb:

Der AM312 liefert hingegen ein HIGH-Signal bei Bewegung, ich schätze, das klappt nicht, da die Pullups die Eingänge eh schon auf High ziehen.

Nein. Wenn Du am Eingang des Optokopplers ein High-Signal anlegst schaltet er durch. Dadurch zieht er seinen Ausgang, also den Eingang des PCF8574, auf Low. Der Optokoppler invertiert also schon.

Wenn das nicht klappt muss der Fehler woanders liegen. Ist vielleicht der Ausgang des AM312 nicht stark genug den Optokoppler durchzuschalten? Probier das doch mal mit einem Labornetzteil am Eingang des Optokopplers, 3.3V und dann drehe die Strombegrenzung immer weiter runter und schau mal ob und bis wann der PCF8574 durchschaltet.

Danke, mit deinen Tips scheine ich es hingekriegt zu haben. Ich habe dazu 100k vom Eingang des Optokopplers zu GND gelegt, damit erkennt er das Signal des AM312 bisher sehr zuverlässig.

Keine Ahnung, ob "man das so macht" und ob der Wert gut ist, aber ich dachte, ich probiere es mal mit der Mitte.

Oder ist es besser, mit z.B. 47k etwas weiter in Richtung GND zu gehen?

#7792682
Lesenswert?

Tom W. schrieb:

Danke, mit deinen Tips scheine ich es hingekriegt zu haben. Ich habe dazu 100k vom Eingang des Optokopplers zu GND gelegt, damit erkennt er das Signal des AM312 bisher sehr zuverlässig.

Welches GND? Das vom Ausgang des Optokopplers? Das macht man definitiv nicht so, denn dann stellt man eine Verbindung zwischen den beiden Seiten des Optokopplers her - und einen Optokoppler verwendet man extra um eine saubere Trennung der beiden Seiten sicherzustellen.

Ich denke Du solltest nochmal genauer untersuchen was da passiert. Nimm daher den AM312 ganz raus und untersuche erst mal mit Labornetzteil, Multimeter und evtl. verschiedenen zusätzlichen Vorwiderständen wie sich die Kombination aus Optokoppler, Vorwiderstand und PCF8574 verhält.

Erst wenn Du das voll verstanden hast den AM312 wieder dazunehmen.

Sonst hast Du zu viele Unbekannte im Spiel und das erschwert zu verstehen was los ist.

#7792759
Lesenswert?

so hab ich das jetzt geschaltet. Der 100k mit den ??? ist das einzige Bauteil, das ich hinzugefügt habe (und den AM312 natürlich) - der Rest ist auf dem Kincony Boards so fest verbaut und nicht zu ändern.

Mir ist ein bisschen mumlig, wie der AM312 auf Dauer mit den 6V klar kommt. Aber funktionieren tut es bisher sehr gut.

Angehängte Dateien:
#7792771
Lesenswert?

Das sieht sehr seltsam für mich aus.

Was machen die von Dir eingezeichneten 12V da? Wo kommen die her? Wozu werden die benötigt?

Eigentlich müsstest Du den einen Pol des Optokoppler-Eingangs mit dem Signalausgang von dem AM312 verbinden und den anderen Pol mit dem GND vom AM312. Ist egal welcher, dieser Optokoppler geht lt. Schaltzeichen in beide Richtungen.

Und nirgends 12V anschließen.

Dann braucht es auch Deine 100k-Widerstände nicht.

#7792776
Lesenswert?

Gerd E. schrieb:

Was machen die von Dir eingezeichneten 12V da? Wo kommen die her? Wozu werden die benötigt?

die sind da tatsächlich, das messe ich auch. Sind von der SPannungsversorgung. Das passt doch auch zu dem Vorwiderstand von 2k von den LEDs vom Optokoppler.

Eigentlich müsstest Du den einen Pol des Optokoppler-Eingangs mit dem Signalausgang von dem AM312 verbinden und den anderen Pol mit dem GND vom AM312. Ist egal welcher, dieser Optokoppler geht lt. Schaltzeichen in beide Richtungen.

ja, das weiß ich, eigtl. kommt der AM312 auch direkt am ESP klar. Aber das Koncony Board ist nun mal so aufgebaut.

Und nirgends 12V anschließen.

Dann braucht es auch Deine 100k-Widerstände nicht.

Beitrag #7792870 wurde von einem Moderator gelöscht.
#7792881
Lesenswert?

Kincony hat die Eingänge für die Optokoppler leider wirklich einseitig mit an die Versorgungsspannung gelegt. Das ist m.E. etwas hirnrissig, weil das die Potentialtrennung etwas blöde dastehen lässt. Der Käse ist mir leider erst aufgefallen, als KC868-A16 (was genauso gebaut ist) schon bestellt hatte.

Wäre das nicht so, hätte ich das wie im Anhang zusammengeschaltet.

Deshalb cave: Wie im Anhang geht es leider nicht!

Angehängte Dateien:
#7793090
Lesenswert?

Meine Lösung oben funktioniert prima, aber sie ist mir etwas unheimlich: Ich habe am Eingang des Optokopplers und damit am Ausgang des AM312 eine Spannung von 9.5V zu 9.7V je nach Bewegung - erstaunlich, dass das den Optokoppler sicher schaltet. Da hab ich wohl "zufällig" genau den richtigen Punkt getroffen zu haben. Ohne jetzt das Datenblatt zu studieren, das wird ganz sicher außerhalb jeglicher Spezifikation sein.

Ich hab das jetzt mit nem BC547C und 10k Basis-R probiert, die hier zufällig vorbei kamen. Damit ist das Signal sauber zwischen 0 und 12V. Fühlt sich erheblich besser an.

Dass der Umweg über NPN und Optokoppler völlig überflüssig ist, weiß ich.

Ich danke euch für die konstruktive Hilfe!

Tom

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren