Forum: Mikrocontroller und Digitale Elektronik AM312 am KC868-A8


von Tom W. (limpbiz)



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

von Michael B. (laberkopp)


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.

: Bearbeitet durch User
von Tom W. (limpbiz)


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.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Tom W. schrieb:
> Der AM312 liefert hingegen ein HIGH-Signal bei Bewegung

und ein LOW-Signal bei Nichtbewegung.

Mit einem kleinen NPN kann das Signal invertiert werden.

von Gerd E. (robberknight)


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.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Tom W. schrieb:
> Hilft mir nix, das ist ein fertiges Board. Daran ändere ich nichts.

Ja nun, dann geht's halt nicht.

Die Optokoppler sollen (3V-0.4V)/4k7 = 0.55mA schalten und bekommen 
(3V-1.2V)/2k-1.2V/100k = 0.888mA.

Wenn die keinen CTR von zumindest 62% haben schalten sie halt nicht.

von Tom W. (limpbiz)


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?

von Rainer W. (rawi)


Lesenswert?

Gerd E. schrieb:
> Nein. Wenn Du am Eingang des Optokopplers ein High-Signal anlegst
> schaltet er durch.

Das kommt ganz drauf an, was an V12 für ein Potential gegenüber dem GND 
des Sensors liegt.

: Bearbeitet durch User
von Georg M. (g_m)


Lesenswert?

Tom W. schrieb:
> vom Eingang des Optokopplers

Der Eingang des Optokopplers ist seine LED. Fließt der LED-Strom, so 
fließt auch der Fototransistor-Strom.

von Gerd E. (robberknight)


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.

von Tom W. (limpbiz)


Lesenswert?

Nee, den pull down am Eingang des Optokopplers. Ich habe also am Eingang 
jetzt einen Spannungsteiler mit 2x100k. In der Mitte hängt jetzt der 
Ausgang vom Am312 und der Eingang vom Optokoppler. Soll ich das besser 
zeichnen?

von Rainer W. (rawi)


Lesenswert?

Tom W. schrieb:
> Ich habe also am Eingang jetzt einen Spannungsteiler mit 2x100k.

Am Eingang des Optokopplers?

> Soll ich das besser zeichnen?
Ja bitte - besser ist das.
Zeichne einen zusammenhängenden Schaltplan mit dem Signalfluss 
angefangen beim AM312 bis zum PCF8574, auch mit den 
Versorgungsspannungen.

: Bearbeitet durch User
von Tom W. (limpbiz)


Angehängte Dateien:

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.

von Michael B. (laberkopp)


Lesenswert?

Tom W. schrieb:
> so hab ich das jetzt geschaltet

12V ?

Tom W. schrieb:
> mit den 6V

6V ?

Der AM312 enthält einen internen 3.3V Spannungsregler, mehr als 3.3V 
kommen da nicht raus, 5V reinzustecken reicht völlig, und nein  man 
zifht den Ausgang nicht über diese 3.3V.

von Gerd E. (robberknight)


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.

: Bearbeitet durch User
von Tom W. (limpbiz)


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 vom Autor gelöscht.
von Michael B. (laberkopp)


Lesenswert?

Sönke P. schrieb im Beitrag #7792870:
> Wenn du nun 5V verwendest,

Er verwendet 3V.

Also noch mehr verkleinern und die 100k wegmachen.

Aber:

Tom W. schrieb:
> Ist ein fertiges Board. Daran ändere ich nichts.

Da hat er halt verloren.

: Bearbeitet durch User
von Sönke P. (s03nk3)


Angehängte Dateien:

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!

: Bearbeitet durch User
von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?


von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Sönke P. schrieb:
> 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.

Naja, kann man trotzdem benutzen.

von Tom W. (limpbiz)


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

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.