Glavannisch Getrennter Analog Ausgang fürn PIC

Gast #7302913
Lesenswert?

Guten Tag, nachdem ich meine 0(4)-20mA Ausgang stabil zum laufen gebracht habe mit mienen PIC18, steht nun an diesen Ausgang auch galvanisch getrennt zu realisieren...das ist für mich derzeit noch Neuland. Mein Plan war es mit einem DC/DC eine getrennte Versorgung für die analoge Schaltung zu realsieren und mit einem Optokoppler das PWM Signal dort einzuspeisen. Da ich platztechnisch beschränkt bin, muss ich auf ein zweites Netzteil auf der PCB verzichten.

Ist das der richtige Ansatz schonmal ?

Ich habe einen TLP2301 als Optokoppler und PDS1-S24-S24-S als DC/DC. Allerdings bei der ersten Testschaltung steuert der Koppler immer durch und vom PWM Signal hab ich somit nichts( Dauerhaft 24V statt moduliertes Siganl ). Wenn ich allerdings mir das Datenblatt vom Koppler angucke, scheint es mir, dass dieser nicht so richtig für meinen 5V PWM (15khz) geiegnet ist.

Oder ist der Ansatz mit dem DC/DC falsch ? Die 24V werden aber brav ausgegeben..

(Firma: Schweigstill IT) Persönliche Seite #7302941
Lesenswert?

Ein hervorragende Kombination zur Realisierung galvanisch getrennter Analogausgänge ist AD5753 mit ADP1031-5. Damit kann man sogar per Firmware zwischen Spannungs- und Stromausgang, Wertebereich und unipolaren/bipolaren Betrieb umschalten. Allerdings muss man sich schon etwas eingehender mit den ganzen Konfigurationsregistern befassen. Das ganze ist inklusive der galvanischen Trennung sehr kompakt aufzubauen.

#7302944
Lesenswert?

Hermann S. schrieb:

Andre schrieb:

Frodo schrieb:

5V PWM (15khz)

Probier mal einen schnellen Digitalkoppler z.B. 6N137, da müsste das PWM Signal unverändert rüber kommen.

In der Standardschaltung lt. DB invertiert der 6N137 das PWM Signal. grün = Ausgang blau = Eingang

Da hast du recht, sehe ich auch. Was aber theoretisch egal ist, weil ich im Programm die an und aus Zeit auch inventieren kann. Mir geht`s erstmal darum, das PWM Signal anständig 1 zu 1 zu übertragen. Ob dann 1023 0% sind oder 100% ist mir eagl (:

#7302958
Lesenswert?

Andreas S. schrieb:

Ein hervorragende Kombination zur Realisierung galvanisch getrennter Analogausgänge ist AD5753 mit ADP1031-5. Damit kann man sogar per Firmware zwischen Spannungs- und Stromausgang, Wertebereich und unipolaren/bipolaren Betrieb umschalten. Allerdings muss man sich schon etwas eingehender mit den ganzen Konfigurationsregistern befassen. Das ganze ist inklusive der galvanischen Trennung sehr kompakt aufzubauen.

Den werde ich mir mal merken, oder mal zu testzwcken bestellen. Aber der sprengt grade etwas den Preislichen Rahmen und auch bis ich das teil verstanden habe :D

Gast #7302995
Lesenswert?

Jakob N. schrieb:

olaf schrieb:

Ist das der richtige Ansatz schonmal ?

Brauchst du den ganzen Aufwasch denn? Du hast doch 3mA um dich daraus zu versorgen. Es ist also viel einfacher das auch so zu machen.

Olaf

Was genau meinst du, ich kann da leider keine Schlüsse draus ziehen ?

Die ganze Schaltung aus den paar mA Mindeststrom der Stromschleife versorgen, so wie das völlig üblich ist.

#7303012
Lesenswert?

olaf schrieb:

Was genau meinst du, ich kann da leider keine Schlüsse draus ziehen ?

https://www.ti.com/lit/ds/symlink/xtr117.pdf?ts=1672579233855

Kuck mal auf Seite8. Die ganze Schaltung hat nirgendwo Potentialtrennung und versorgt sich komplett aus den 4-20mA. Das ist eigentlich das was man ueblicherweise anstrebt. Aber klar, das geht nicht immer.

Olaf

Jetzt weiß ich was du meinst, habe den XTR116 schon mehrfach verbaut. Aber in meinem Falle soll auch der Ausgang als Quelle dienen. Und selten, aber kommt vor, 0-20mA ._.

#7303038
Lesenswert?

Steve van de Grens schrieb:

Jakob N. schrieb:

So sieht es in Eagle bei mir aus

Die Optokoppler können die Kondensatoren auf VCC aufladen, aber da ist nichts, was sie wieder entlädt.

Im Prinzip, ist es diese Schaltung nur etwas abgewandelt. Also die sollte die Kondensatoren entladen, hat sie auch vorher. Nur das jetzt Koppler dazwischen sitzen und diese Schaltung übern DC/DC gefüttert wird

Angehängte Dateien:
#7303049
Lesenswert?

https://www.mouser.de/datasheet/2/408/TLP2301_datasheet_en_20191011-1915963.pdf "The TLP2301 correspond to the transmission rate of 20 kbps" und die 2*30µs max. delay wären 16,7 kHz, eine Flankendauer ist leider nicht angegeben.

Der sollte also 15 kHz können. Aber das ist ein open collector oder open emitter, hier als open emitter beschaltet. Üblicher ist open collector. Da fehlt wie schon geschrieben eine Last nach GND.

#7303110
Lesenswert?

Jakob N. schrieb:

Steve van de Grens schrieb:

Jakob N. schrieb:

Im Prinzip, ist es diese Schaltung nur etwas abgewandelt.

Verstehe ich nicht. Deine Zeichnung im Beitrag 02.01.2023 10:59 sieht völlig anders aus.

Hat den Grund, dass es in Eagle unverständlich sein wird. Daher die Schaltung die hinter dem RC Glied Steckt einzeln. :)

Oki, ich verstehe jetzt. Habe mal einen 10k Ohm vom Colletor zur Masse gelötet. Bringt etwas aber noch nicht mein gewünschtes 0-100%. Daher die Frage bevor ich Try and Error betriebe, wie kommei ch am besten auf einen Korrekten Wert ? Ist dieser Lösungsanstaz richtig ? :)

Gast #7303242
Lesenswert?

Jakob N. schrieb:

Habe mal einen 10k Ohm vom Colletor zur Masse gelötet.

Da bringt er nichts, du meinst wohl den Emitter.

Bringt etwas aber noch nicht mein gewünschtes 0-100%.

Mit deiner aktuellen Konstruktion wird der Kondensator schneller geladen als entladen.

Ist dieser Lösungsanstaz richtig ?

Ich denke, du brauchst eine aktive Push-Pull Stufe damit das PWM Signal linear auf eine Spannung am C umgesetzt wird. Es gibt Optokoppler mit integriertem Schmitt-Trigger, vielleicht hilft das.

1 kΩ ist auch recht wenig, da spielt der Innenwiderstand der Quelle schon eine erhebliche Rolle. Nimm mal lieber 10 kΩ und mache den Kondensator dafür 10x kleiner.

#7303891
Lesenswert?

Steve van de Grens schrieb:

Jakob N. schrieb:

Habe mal einen 10k Ohm vom Colletor zur Masse gelötet.

Da bringt er nichts, du meinst wohl den Emitter.

Bringt etwas aber noch nicht mein gewünschtes 0-100%.

Mit deiner aktuellen Konstruktion wird der Kondensator schneller geladen als entladen.

Ist dieser Lösungsanstaz richtig ?

Ich denke, du brauchst eine aktive Push-Pull Stufe damit das PWM Signal linear auf eine Spannung am C umgesetzt wird. Es gibt Optokoppler mit integriertem Schmitt-Trigger, vielleicht hilft das.

1 kΩ ist auch recht wenig, da spielt der Innenwiderstand der Quelle schon eine erhebliche Rolle. Nimm mal lieber 10 kΩ und mache den Kondensator dafür 10x kleiner.

Hi, ich habe mit den Wiederständen was rumgespielt aber umso niedriger ich gegangen bin, auch unter einen kOhm, sank die Spannung. Allerdings wurde es mit unter 1kOhm liniar, aber ist ja auch nicht die Lösung...ich probiere mal deine Vorschläge aus.

Btw. PWM Frequenz hatte keinen einfluss auf Funktion oder Liniarität.

#7303963
Lesenswert?

Michael B. schrieb:

Richtig. Optokoppler sind langsam und verfälschen PWM.

Genau!

Ich habe den Anwendungsfall nur nicht genau verstanden. Ist 15 kHz die Ausgangsfrequenz der PWM?

Bei schlappen 256 Stufen muss die schon mit 15000*256 (3.84 MHz) getaktet werden. Die 3.8 MHz müssen sauber übertragen werden, sonst verfälscht die PWM.

Ich habe mal mit der SI8631 Serie (Silicon Labs) gearbeitet. Der kann locker mit 100 MHz arbeiten, ist aber kein Optokoppler, sondern isoliert kapazitiv. Macht aber eine saubere Trennung und kann 5V Signale verarbeiten. (Gibt es aber nicht an jeder Ecke und nicht als Einfachausführung sondern erst ab 3 Kanälen)

#7304024
Lesenswert?

Jakob N. schrieb:

aber der µC Taktet mit 32Mhz

Entscheidend ist doch, mit was die PWM taktet. Ich komme mit 32/Mhz / 1024 = ca 31 kHz. Kann es sein, dass die PWM mit 16 MHz taktet? Dann kommen ungefähr 15 kHz raus.

Der kürzeste Puls, den die PWM generieren kann wäre dann 1/16 MHZ. Den muss der Optokoppler durchschalten können. Wenn die Einschaltzeit größer ist, schaltet der nicht durch und Du hast die erste Verfälschung.

Wenn es nicht so auf die Genauigkeit ankommt, kann man vielleicht damit leben. Aber die ersten Verfälschungen hast Du ab dem Punkt.

#7304116
Lesenswert?

Martin B. schrieb:

Ich habe mal mit der SI8631 Serie (Silicon Labs) gearbeitet. Der kann locker mit 100 MHz arbeiten, ist aber kein Optokoppler, sondern isoliert kapazitiv.

Wobei aus der Familie auch nicht jeder schnell genug ist, speziell der SI8631 "Minimum Pulse Width: 250ns". Der SI8610 schafft dann auch 5ns. Dazu kommen aber noch die Fehler der Ausgangsstufe, dieses 150MHz-Teil hat auch noch Anstiegszeiten von 4ns, aber immerhin symmetrisch.

Vor allem muss aber auch die Ausgangsspannung unter Last symmetrisch bleiben. Das Datenblatt sagt 0.4V bzw. 0.8V bei 4mA, das wären 12% bzw. 24% Fehler (bei 3.3V), auch noch ziemlich temperaturabhängig. Die erste Filterstufe muss also deutlich hochohmiger werden. Und das ist ein guter CMOS-Ausgang...

#7304144
Lesenswert?

Bauform B. schrieb:

speziell der SI8631 "Minimum Pulse Width: 250ns".

Finde ich so in meinem Datenblatt nicht. da steht 5ns.

Ich betrieb die als Koppler für 10 MHz RS485. Das würde mit 250ns nicht gehen. Vorher hatte ich Optokoppler ACPLxxx, die liefen bis 2.5 MHz sauber, aber 10 MHz waren nicht drin.

Mit den Ausgangsspannungen hast Du natürlich recht. Jetzt kommen wir zu den Feinheiten. Wenn es gut werden soll, muss man wie immer einiges berücksichtigen.

#7304145
Lesenswert?

Martin B. schrieb:

Jakob N. schrieb:

aber der µC Taktet mit 32Mhz

Entscheidend ist doch, mit was die PWM taktet. Ich komme mit 32/Mhz / 1024 = ca 31 kHz. Kann es sein, dass die PWM mit 16 MHz taktet? Dann kommen ungefähr 15 kHz raus.

Der kürzeste Puls, den die PWM generieren kann wäre dann 1/16 MHZ. Den muss der Optokoppler durchschalten können. Wenn die Einschaltzeit größer ist, schaltet der nicht durch und Du hast die erste Verfälschung.

Wenn es nicht so auf die Genauigkeit ankommt, kann man vielleicht damit leben. Aber die ersten Verfälschungen hast Du ab dem Punkt.

Bin kein großer Programmierer von PICs, daher verlasse ich mich auf MPLAB. Und das zeigt mir folgendes an. Hab die Frequenz über den zugehörigen Timer ohne große veränderung auch schonmal angepasst.

Angehängte Dateien:
#7304224
Lesenswert?

Martin B. schrieb:

Bauform B. schrieb:

speziell der SI8631 "Minimum Pulse Width: 250ns".

Finde ich so in meinem Datenblatt nicht. da steht 5ns.

Da sind beim Umzug von Silicon Labs zu Skyworks wohl die Umzugskartons durcheinander gekommen, jetzt gibt es z.B. den Si8631AB-AS1 doppelt ;) Oder mein Datenblatt ist jetzt ein wertvolles Sammlerstück. Vielleicht findet auch jemand den Fehler.

#7304352
Lesenswert?

Bauform B. schrieb:

Martin B. schrieb:

Bauform B. schrieb:

speziell der SI8631 "Minimum Pulse Width: 250ns".

Finde ich so in meinem Datenblatt nicht. da steht 5ns.

Da sind beim Umzug von Silicon Labs zu Skyworks wohl die Umzugskartons durcheinander gekommen, jetzt gibt es z.B. den Si8631AB-AS1 doppelt ;) Oder mein Datenblatt ist jetzt ein wertvolles Sammlerstück. Vielleicht findet auch jemand den Fehler.

Habe gerade noch mal nachgeschaut. Da muss man ja aufpassen wie ein Luchs:

Dein angehängtes Datenblatt hat die Überschrift: Si86xx 1 Mbps Data Sheet

Den Verkauf an Skylabs hatte ich gar nicht mitbekommen. Also kurz bei Mouser geguckt und neues Datenlatt runtergeladen. Das hat die Überschrift: Si8630/31/35 Data Sheet

Sind völlig unterschiedliche chips, der eine auf 1Mbps, der andere auf 150Mbps gespeckt. Unterschied liegt im Suffix, wenn Si8631ABxxx ist nur 1Mbps und 250 ns Minimum Pulse width

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