L293 als 5V -> 12V LevelShifter?

OP #7757120
Lesenswert?

Hallo!

Ich möchte mit meinem ATmega328 (5V) bei meiner Heizungsregelung UVR1611 am DL-Bus senden. Der DL-Bus hat einen Spannungspegel von 0V / 12V. (488 Hz) Der Ausgang muss tristate Eigenschaften haben.

Nach längeren Suchen hab ich dann hier im Forum bei einem ähnlichen Anwendungsfall den CD40109B als Vorschlag gefunden. Der CD40109 ist ein 8-fach LevelShifter. Der müsste im Prinzip auch geeignet sein, kann aber leider kaum Strom liefern / aufnehmen. Ich werd da aus dem Datenblatt nicht so wirklich schlau. Lt. Tabelle kann der Ausgang kaum belastet werden (ca. 1,4mA @ 10V), lt. Diagramm sind es dann ca. 7,5mA / 9mA min. Sink/Source @10V) Somit kann ich die 7 verbleibenden Treiber nicht wirklich noch für andere Aufgaben nutzen. Eventuell kann man auch 2 Ausgänge parallel schalten, dann kann man wenigstens ne LED damit versorgen. Für den DL-Bus müsste es reichen.

Der L293 hat durch seinen Enable-Eingang auch 4 tristate Ausgänge. Leider sind jeweils 2 Ausgänge mit 1 Enable verbunden, somit fällt 1 Ausgang weg. Jedoch hab ich dann noch 2 weitere Treiber für Relais, Buzzer etc zur Verfügung. Auch die Verfügbarkeit ist sehr gut, im Gegensatz zum CD40109. Spricht etwas dagegen (abgesehen vom höheren Preis), den L293 als LevelShifter zu benutzen?

CD40109: https://kontel.hu/shop_ordered/67768/pic/pdf/cd40109.pdf

L293: https://www.ti.com/lit/ds/symlink/l293.pdf

Grüße Rick

#7757136
Lesenswert?

Rick M. schrieb:

Der CD40109 ist ein 8-fach LevelShifter. Der müsste im Prinzip auch geeignet sein, kann aber leider kaum Strom liefern / aufnehmen. Ich werd da aus dem Datenblatt nicht so wirklich schlau. Lt. Tabelle kann der Ausgang kaum belastet werden (ca. 1,4mA @ 10V),

Normal, das ist ein einfacher Logik-IC der 4000er Reihe, die sind so.

Spricht etwas dagegen (abgesehen vom höheren Preis), den L293 als LevelShifter zu benutzen?

Naja, bei 12V VCC bringt der aber keine 12V am Ausgang, da fehlt je nach Strom 1-2V, denn der hat bipolare Ausgangsstufen. Ebenso bei LOW, oder kommen 1-2V raus. Verkraftet das dein Bus? Wenn ja, ist der IC nutzbar.

OP #7757418
Lesenswert?

Der Bus (Master / UVR1611) versorgt die Sensoren (Slave) direkt über den Bus. Jeder Sensor hat andere Anforderungen. Beschrieben wird das in den Manuals als "Buslast". Das letzte ofizielle Dokument ist aus dem Jahr 2013. Dort wird der maximale Versorgungsstrom mit 40mA beschrieben. Jedoch hat sich der Versorgungsstrom von 2006 auf 2013 verdoppelt. Was sich alles bis jetzt getan hat, steht in den Sternen. Habe höflich nach einen aktuellen Dokument angefragt, jedoch war der Techniker alles andere als freundlich und hat mitten im Telefonat einfach aufgelegt, weil er keine Lust mehr hatte.... Messen hilft da also nicht sehr viel. Sobald ein weiterer Sensor angeschlossen wird, verändern sich die Verhältnisse.

Gibts auch nen Push-Pull Treiber mit tristate Eigenschaften wie der L293 auch als Mosfet-Variante im DIP-Gehäuse?

Angehängte Dateien:
#7757425
Lesenswert?

Rick M. schrieb:

Der Bus (Master / UVR1611) versorgt die Sensoren (Slave) direkt über den Bus.

Dort wird der maximale Versorgungsstrom mit 40mA beschrieben.

Wozu brauchst du dann einen Push-Pull Treiber für die Slaves? Ich wette, die machen nur Lastmodulation, d.h. dein Treiber muss eher eine gesteuerte Konstantstromquelle sein.

Messen hilft da also nicht sehr viel. Sobald ein weiterer Sensor angeschlossen wird, verändern sich die Verhältnisse.

Jaja, echte Profis, die ihr geheimes Süppchen kochen.

https://wiki.ta.co.at/DL-Bus

Gibts den L293 auch als Mosfet-Variante im DIP-Gehäuse?

Ja, nennt sich L6201, der hat aber nur 2 Kanäle und nur ein Enable. Ich glaube aber nicht, daß du sowas brauchst.

#7757432
Lesenswert?

Ich würde mal vermuten, daß dieser komische DL-Bus ählich wie DALI arbeitet. Der Master gibt strombegrenzt Spannung auf den Bus, welcher sowohl die Teilnehmer speist als auch Daten überträgt. Dazu schließen die Teilnehmer den Bus kurz, was durch die Strombegrenzung unkritisch ist. Allerdings dürfen die LOW-Pulse nicht zu lange dauern, sonst kriegen die Busteilnehmer keinen Saft und deren Puffer bricht zu sehr ein.

https://de.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface#Eigenschaften

Wenn das alles so ist, braucht man nur einen ollen Transistor seiner Wahl, um den Bus zu schalten. Nix Treiber.

OP #7757488
Lesenswert?

In der Spec steht:

Nachdem der Master (Regelung) seine Anfrage gesendet hat, setzt er den DL-Bus auf High (+12V mit max. 40mA). Nach einer Wartezeit von mindestens 20ms, sendet der Slave die angeforderten Daten (ohne SYNC). Nach erfolgter Antwort vom Slave und einer erneuten Wartezeit von 2ms, fährt der Master mit einer weiteren Anfrage oder der Ausgabe eines Logging-Datenrahmens fort.

Anhand dessen dachte ich, dass der Sensor mit dem 20msec High-Signal seinen Energiespeicher (Elko) auflädt um dann aus eigener Energie die Antwort zu senden. Daher auch der Ansatz mit dem Push-Pull mit Tri-State Ausgang. Aktuelle Sensoren haben einen eigenen 12V Anschluss um die Buslast senken zu können.

Angehängte Dateien:
#7757534
Lesenswert?

Rick M. schrieb:

Messen hilft da also nicht sehr viel. Sobald ein weiterer Sensor angeschlossen wird, verändern sich die Verhältnisse.

Messen alleine hilft nicht - man muss die Messergebnisse auch zu interpretieren wissen. Für die Sensoren gibt es sogar Tabellen, wieviel Prozent der zulässigen Buslast sie aufnehmen (s.o.). Entsprechen der Quellimpedanz der Versorgung am Bus ändern sich die Spannung natürlich, wenn sie belastet wird und natürlich kann man da messen. Schluss ist beim minimal erkannten H-Pegel (zzgl.Reserve)

OP #7757819
Lesenswert?

Falk B. schrieb:

Das steht aber praktisch nix zu den elektrischen Eigenschaften drin.

Ja ich weiß, mehr gibts leider nicht.

Das einzige was mir jetzt eingefallen ist, dass ich mal einen Shunt (~1-10 Ohm) bei der UVR1611 in den DL-Bus hänge und mir mit dem Oszi den Stromverlauf ansehe. Zusammen mit den Spannungsverläufen sollte sich dann mehr erraten lassen...

OP #7759327
Lesenswert?

Falk B. schrieb:

Nö. Wozu? Das sieht eher so aus. Siehe Anhang.

So hab gestern Abend noch an der Regelung den DL-Bus herausgeführt und die ersten Messungen mit Shunt (5 Ohm, High-Side) gemacht. Es scheint so, wie Du bereits vermutet hast, dass der Slave (Sensor) in diesem Fall ein Raumsensor (RAS+DL) bloß per Transistor den DL-Bus gegen GND kurz schließt und durch die Strombegrenzung am DL-Ausgang der UVR1611 der maximale Strom (40 mA) fließt.

Die Rest-Spg. am DL-Bus während eines Pull-Downs müsste dann U_CE_sat des Transistors sein: 1,18V - 0,2V (40mA x 5 Ohm) = 1V

Angehängte Dateien:

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