Arduino ProMini galvanisch getrennt

Gast #4842936
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?
Angehängte Dateien:
Gast #4842976
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.
Gast #4843754
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?
Gast #4843777
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.
Gast #4847653
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
Gast #4847686
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.
Gast #4847823
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.
Gast #4881743
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.

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