Forum: Mikrocontroller und Digitale Elektronik L293 als 5V -> 12V LevelShifter?


von Rick M. (rick00)


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

: Bearbeitet durch User
von Falk B. (falk)


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.

von H. H. (hhinz)


Lesenswert?

Rick M. schrieb:
> Spricht etwas dagegen (abgesehen vom höheren Preis), den L293 als
> LevelShifter zu benutzen?

Denk an Buskollision.

von Rick M. (rick00)


Lesenswert?

Gibts den L293 auch als Mosfet-Variante im DIP-Gehäuse?
Hab bisher nur den L6205 gefunden. Das ist aber wirklich oversized.
Für den Dl-Bus reichen sicher 10 mA, max 20mA aus.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Rick M. schrieb:
> Für den Dl-Bus reichen sicher 10 mA, max 20mA aus.

Das sollte anhand der Busspezifikation doch rauszukriegen sein.

Ein 1A-Halbbrückentreiber scheint da irgendwie etwas überdimensioniert.

von H. H. (hhinz)


Lesenswert?

Rainer W. schrieb:
> Busspezifikation

Proprietär, und daher geheim.

von Rainer W. (rawi)


Lesenswert?

H. H. schrieb:
> Proprietär, und daher geheim.

Stellt der Bus sich tot, wenn man ihm mit Messwerkzeug zu nahe kommt? 
;-)
Das ist zwar keine Spezifikation, kann aber schon mal helfen.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Rainer W. schrieb:
> Stellt der Bus sich tot

Quantenbus. :-)

von H. H. (hhinz)


Lesenswert?

Rainer W. schrieb:
> Stellt der Bus sich tot, wenn man ihm mit Messwerkzeug zu nahe kommt?

Wäre ein prima Trick.

Mit dem Bus haben sich außerhalb der Herstellerfirma bisher wohl nur 
Bastler befasst, ist halt auch exotisch.

von Rick M. (rick00)


Angehängte Dateien:

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?

: Bearbeitet durch User
von Falk B. (falk)


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.

von H. H. (hhinz)


Lesenswert?

Offensichtlich ist kein PP-Treiber verwendet, sondern Open-Collector.

Den Ausgangsstrom durch den Basisstrom des Transistors zu begrenzen, 
zeugt von völliger Inkompetenz.

von Falk B. (falk)


Lesenswert?

Beitrag "UVR 1611 (TA), Auswertung DL, Mega88, WinAVR"

Da steht viel zum logischen Protokoll drin, aber kaum was zur 
physikalischen Umsetzung. Was denn nun? PNP oder NPN Ausgang?

von Falk B. (falk)


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.

: Bearbeitet durch User
von Rick M. (rick00)



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.

: Bearbeitet durch User
von Rainer W. (rawi)


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)

von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Rick M. schrieb:
> Dort wird der maximale Versorgungsstrom mit 40mA beschrieben.

Einen einfachen strombegrenzten 40mA Open-Kollektor-Ausgang kann man 
durch eine angebaute Widerstandskombination am PNP-Transistor, selbst 
herstellen.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Rick M. schrieb:
> In der Spec steht:

Welche? Zeig mal.

> 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.

Vermutlich.

>Daher auch der Ansatz mit dem Push-Pull mit Tri-State
> Ausgang.

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

von Rick M. (rick00)


Lesenswert?

Falk B. schrieb:
> Rick M. schrieb:
>> In der Spec steht:
>
> Welche? Zeig mal.

Siehe angehängtes PDF: DL-Bus_Protokoll_v1.7:
Beitrag "Re: L293 als 5V -> 12V LevelShifter?"

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Rick M. schrieb:
> Siehe angehängtes PDF: DL-Bus_Protokoll_v1.7:
> Beitrag "Re: L293 als 5V -> 12V LevelShifter?"

Das steht aber praktisch nix zu den elektrischen Eigenschaften drin.

von Rick M. (rick00)


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...

von Rick M. (rick00)


Angehängte Dateien:

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

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.