Forum: Mikrocontroller und Digitale Elektronik Arduino ProMini galvanisch getrennt


von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Da ich in einem Aufau eine etwas unklare Lage der Speisung habe, habe 
ich drei Optokoppler auf die Lochrasterkarte gelötet. Vom PC-USB geht es 
auf einen CH340, der dann über Rx - Tx - Reset (DTR) mit dem Arduino 
spricht.

Weil gerade vorhanden, habe ich Toshiba P281-GB verwendet. Die LED hängt 
über 560 Ohm an +5 Volt, am Ausgangstransistor habe ich 2,2 kOhm nach 
Plus. Ein Schaltbild habe ich nicht gemalt, statisch (Draht nach GND) 
getestet funktionieren alle drei Wege.

Die seriellen Daten vom AT328 zum PC laufen sauber, mit 57600 bps. Aber 
ich bekomme den Kumpel nicht geladen: Die Fehlermeldung "not in sync" 
sieht genauso aus, als ob Rx am Arduino ab wäre.

Ist der Kram so zeitkritisch oder kann der CH340 die Opto-LED nicht 
treiben?

von Schaltbild mal doch mal (Gast)


Lesenswert?

Mal doch mal ein schaltltbild

von g457 (Gast)


Lesenswert?

> Weil gerade vorhanden, habe ich Toshiba P281-GB verwendet

Viel zu langsam.

> Ein Schaltbild habe ich nicht gemalt

Das kannst ja noch nachholen.

> Die seriellen Daten vom AT328 zum PC laufen sauber, mit 57600 bps.

Gemessen oder gehofft? Die Optokoppler sind dafür typisch viel zu 
langsam.

von Manfred (Gast)


Lesenswert?

g457 schrieb:
>> Die seriellen Daten vom AT328 zum PC laufen sauber, mit 57600 bps.
> Gemessen oder gehofft?
Getestet!

> Die Optokoppler sind dafür typisch viel zu langsam.
Wenn ich richtig rechne, habe ich 1/57600 = 17µs pro bit.

Sieht so aus, als ob die Bausteine unterschiedlich empfindlich auf die 
Anstiegsgeschwindigkeit reagieren.

Was für einen Typ würdest Du einsetzen, welche Schaltzeiten siehst Du 
als notwendig?

von Alexander S. (alex998)


Lesenswert?

ADUM1301 als Alternative zu OK.

von g457 (Gast)


Lesenswert?

>> Gemessen oder gehofft?
>
> Getestet!

Mit dem Ossi? Beachte dass der Bootloader u.U. eine andere Baudrate 
benutzt.

> Wenn ich richtig rechne, habe ich 1/57600 = 17µs pro bit.

Richtig. Und jener Optokopplertyp braucht typisch 25us um mit dem 
Ausschalten zu beginnen und dann weitere 40us bis zum 'aus'.

> Was für einen Typ würdest Du einsetzen, welche Schaltzeiten siehst Du
> als notwendig?

Schaltzeiten: ∗Deutlich∗ schneller als 1 Symbol dauert, vorzugsweise in 
der Größenordnung von einer Größenordnung schneller (oder noch 
schneller).
Typvorschlag: 6N136 oder 6N137 für die Datenleitungen (kosten beim 
Reichelt gleich viel, letzterer hat wesentlich mehr Reserven), oder 
wenns etwas aufgeräumter sein darf ein ADUM1201 (kostet deutlich mehr, 
braucht dafür weniger Außenbeschaltung). Für den Reset kannst Du den 
bestehenden Typ belassen, da kommt es weniger auf Mikrosekunden an.

von Manfred (Gast)


Lesenswert?

Alexander S. schrieb:
> ADUM1301 als Alternative zu OK.

g457 schrieb:
> wenns etwas aufgeräumter sein darf ein ADUM1201 (kostet deutlich mehr,
> braucht dafür weniger Außenbeschaltung). Für den Reset kannst Du den
> bestehenden Typ belassen, da kommt es weniger auf Mikrosekunden an.
Ich habe mir die Käfer angesehen und lasse mir ADuM1201 als fertige 
Platine kommen. Für den dritten Weg Reset tun es hier vorhandene 
Bauteile.

Danke Euch!

https://www.aliexpress.com/item/CJMCU-1201-Magnetic-Isolator-Board-Replace-Optocouplers-ADUM1201-ADUM1201ARZ/32760444838.html

https://www.aliexpress.com/item/NEW-5pcs-lot-Keyestudio-8-PIN-20CM-jumper-wire-dupont-cable-for-Arduino-breadboard-free-shipping/32671917553.html

von Paul B. (paul_baumann)


Lesenswert?

Manfred schrieb:
> Die Fehlermeldung "not in sync"
> sieht genauso aus, als ob Rx am Arduino ab wäre.

Hinweis:
Ich habe hier solche Arduino Pro Mini, bei denen der RXD-Anschluß auf 
der Längsseite tatsächlich nicht belegt ist! "Klingel" das 
vorsichtshalber mal vom Kontroller aus durch. An der Schmalseite ist RXD 
dagegen bei den Meinen belegt.

MfG Paul

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Paul B. schrieb:
> Hinweis:
> Ich habe hier solche Arduino Pro Mini, bei denen der RXD-Anschluß auf
> der Längsseite tatsächlich nicht belegt ist! "Klingel" das
> vorsichtshalber mal vom Kontroller aus durch. An der Schmalseite ist RXD
> dagegen bei den Meinen belegt.
Gleich mal piepen gehen ... bei mir sind Beide verbunden. Wäre mir in 
dieser Anwendung egal gewesen, da ich ihn nur zum Programmieren bzw. für 
Testbetrieb am kleinen 6poligen brauche.

Meine Problem ist eindeutig geklärt, ohne meinen Adapter geht es - der 
war leider Arbeit für die Tonne.

von Axel S. (a-za-z0-9)


Lesenswert?

Alexander S. schrieb:
> ADUM1301 als Alternative zu OK.

Mit Kanonen auf Spatzen geschossen.

Bei 57600Bd gehen Optokoppler noch ganz problemlos, wenn man nicht 
gerade die langsamsten aus dem Bodensatz der Bastelkiste fischt und die 
dann noch gnadenlos übersteuert.

von Alexander S. (alex998)


Lesenswert?

Axel S. schrieb:
> Mit Kanonen auf Spatzen geschossen.

Nee, eher praktisch gedacht. Wer sagt dass es bei 57k bleibt; wenn man 
sich später überlegt dass zB. doch 250kbps notwendig sind ist das kein 
Problem.

Kanonen auf Spatzen wäre sowas:

http://www.linear.com/product/LTM2882 (im 32lead-BGA)

von Manfred (Gast)


Lesenswert?

Axel S. schrieb:
> Bei 57600Bd gehen Optokoppler noch ganz problemlos, wenn man nicht
> gerade die langsamsten aus dem Bodensatz der Bastelkiste fischt und die
> dann noch gnadenlos übersteuert.
Wenn ich mal dem g457 (Gast) glaube, ist mein Typ zu langsam. 
Widersinnig scheint mir, dass im Betrieb Daten vom Arduino zum PC mit 
57.600 bps laufen, ich den aber nicht geflasht bekomme. Nach Sucherei im 
Internet sollte diese in meiner Konstellation ebenfalls 57.600 sein.

Entweder greifen da weitere Effekte oder die eine Richtung geht eher 
zufällig.

> Mit Kanonen auf Spatzen geschossen.
Ja, aber die Kanone ist billig - für knapp 2,50€ fast fertige Arbeit.

Wird dauern, bis dahin muß ich Vorsicht walten lassen.

von Manfred (Gast)



Lesenswert?

Manfred schrieb:
> Da ich in einem Aufau eine etwas unklare Lage der Speisung habe ...
Vielen Dank für Eure Hinweise! Heute kamen zwei Platinchen aus China:
https://www.aliexpress.com/item/CJMCU-1201-Magnetic-Isolator-Board-Replace-Optocouplers-ADUM1201-ADUM1201ARZ/32760444838.html

Ich habe direkt zum Lötkolben gegriffen, siehe Bilder. Den Aufdruck des 
ICs bekome ich nicht geknipst, lautet 1201ARZ.

Für den Fall der Fälle habe ich den ADUM auf Stecksockel gepackt. Kurz 
nach Weihnachten hatte ich einfach nur Glück, dass es nicht den PC-Port 
zerrissen hat, sondern nur einen ProMini plus CH340-Adapter (17V auf der 
Versorgung).

Für die Reset-Leitung habe ich einen vorhandenen, langsamen Optokoppler 
eingesetzt und am CH340 die DTR-Leitung nachgepruckelt - kurz getestet, 
funktioniert!

Verbindungskabel als 8polig gab es auch bezahlbar fertig:
https://www.aliexpress.com/item/NEW-5pcs-lot-Keyestudio-8-PIN-20CM-jumper-wire-dupont-cable-for-Arduino-breadboard-free-shipping/32671917553.html
Ooops - ich habe die noch Versandkostenfrei für 2,70 € bekommen.

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.