Hallo, ich habe hier eine Heizungssteuerung UVR1611 der "Technische Alternative". Diese hat zwar Analog-Ausgäne, aber die sind alle schon benutzt. Ich bräuchte aber zwei weitere 0 - 10 Volt Analog-Ausgänge.
Diese Steuerung hat zusätzlich einen Anschluss für einen CAN-Bus. Doch wie bekomme ich die digitalen Daten im CAN-Bus in ein analoges 0 - 10 Volt Signal?
Wenn ich im Internet nach solchen Lösungen suche, sind das alles Geräte, die im Minimum mehrere 100 € kosten. Das ist mir für zwei analoge Werte viel zu viel.
Gibt es eine einfache Lösung, eventuell mit einen Raspberry oder Arduino oder ... was auch immer irgendeinem Mikrocontroller.
Die Anforderung: Daten aus einem CAN-Bus in 0 - 10 Volt umrechnen.
Ich würde mich sehr freuen, wenn jemand hier eine Idee dafür hätte. Schon mal vielen Dank.
Der Arduino UNO R4 Minima hat einen CAN-Controller und einen D/A-Wandler auf dem Board. Mit Software geht dann alles
Allerdings läuft das Board nur mit 5 V, um auf eine 10-V-Analogspannung zu kommen, muss noch etwas dahinter. Ein Opamp, denke ich.
Da du aber 2 Analogausgänge brauchst, wird es schwieriger. Ginge es mit Software, die beide Signale abwechselnd ausgibt (plus 1 Bit zum Umschalten oder Melden)? Oder müssen die ständig anliegen?
Hey Alexander, danke für deine superschnelle Antwort.
Das hört sich doch schon mal sehr ermutigend an.
... und wie sieht so eine Lösung aus? Also was muss ich tun, damit das klappt?
An Edwin S.
Danke Edwin, ja das Teil ist super, es funktioniert aber leider nur mit UVR16x2, UVR610, CAN-I/O45 und nicht mit einer UVR1611 - jedenfalls soweit ich das verstehe.
An Rolf
Auf die 0 - 10 Volt bin ich nicht angewiesen. Ich muss eh dann beispielsweise 6,48 Volt in 64,8 °C umrechen, da es sich um Temperaturwerte handelt. Ich kann dann auch 3,24 Volt in 64,8 °C umrechnen.
Aber ich könnte mir doch einfach zwei solcher "Arduino UNO R4 Minima" besorgen, bei 18€ pro Stück, wäre das OK. Könnte das klappen?
Natürlich würde es auch gehen zwischen den beiden Werten hin und her zu schalten. Ist eben dann kompliziert - aber ich brauche nicht beide Werte permanent.
Du hast doch die Lösung schon genannt. Nimm irgendeinen Mikrocontroller. Wenn Du schon einen Arduino hast, nimm den. Analogausgänge lassen sich emulieren mit PWM Signalen, für anspruchsvolle Ausgaben mit Delta-Sigma Modulation. Die Arduino Libraries funktionieren auch mit preisgünstigeren Mikrocontrollern. Ich verwende Fernost ESP32 mit Stückpreis unter 3 Eur. Je nach Anforderung gibt es kleine fertige Pegelwandler (wahlweise als Optokoppler) Platinen für 1 €. Oder du nimmst Transistoren.
Der schwierige Teil ist nicht die Signalausgabe sondern das lesen des CAN Eingangssignals. Dazu fehlen sämtliche Informationen, daher nur ein prinzipielles "Ja" - ich gehe davon aus zur "Heizungssteuerung UVR1611" lassen sich Informationen über CAN Protokoll und Bitfelder finden.
An Rolf
Auf die 0 - 10 Volt bin ich nicht angewiesen. Ich muss eh dann
beispielsweise 6,48 Volt in 64,8 °C umrechen, da es sich um
Temperaturwerte handelt. Ich kann dann auch 3,24 Volt in 64,8 °C
umrechnen.
Wo rechnest du denn die Spannungen wieder in Werte um? Womöglich macht es ja Sinn, dort einen CAN-Empfänger zu realisieren, und sich die Digital-Analog-Digital-Wandlung zu sparen ...
Aber ich könnte mir doch einfach zwei solcher "Arduino UNO R4 Minima"
besorgen, bei 18€ pro Stück, wäre das OK. Könnte das klappen?
Du könntest zusätzlich auch PWM-Ausgänge nutzen und z.B. mit RC-Glied(ern) als Tiefpassfilter glätten. Dann noch Operationsverstärker als Impedanzwandler/Leitungstreiber hinten dran oder gleich das Filter mit Opamp bauen.
Muss es den CAN sein? Frag mal den Harald P. (haraldp) ob er die Dokumente zu den CAN id und msg Bitfelder noch hat. Ansonsten würde ich auf den DL-Bus gehen.
Ansonsten für Raspberry Pi gibt's fertig. Mit etwas Mühe kann man da sicherlich die Bitfelder aus dem Code herauslesen, ist leider alles hart codiert :(
Hallo, ich habe hier eine Heizungssteuerung UVR1611 der "Technische
Alternative". Diese hat zwar Analog-Ausgäne, aber die sind alle schon
benutzt. Ich bräuchte aber zwei weitere 0 - 10 Volt Analog-Ausgänge.
Diese Steuerung hat zusätzlich einen Anschluss für einen CAN-Bus. Doch
wie bekomme ich die digitalen Daten im CAN-Bus in ein analoges 0 - 10
Volt Signal?
Man muss halt was möglichst Fertiges in Hard- und Software finden. Die CAN-Geschichte oben hab ich vor Jahren schon mal erfolgreich auf nem AVR laufen gehabt.
also das mit dem >>OLIMEXINO-STM32F3<< hört sich doch gut an. Das würde ich gerne weiterverfolgen. Hast du das schon mal gemacht? Ich glaube die größte Schwierigkeit ist dann den OLIMEXINO-STM32F3 so zu konfigurieren, dass er die Daten aus dem CAN-Bus richtig interpretiert.
Hallo Alexander,
ich glaube du machst dir da ganz falsche Vorstellungen. ich habe keinen Mikrocontroller, keinen Arduino und noch nie etwas mit einem Mikrocontroller gemacht. Emulieren mit PWM Signalen, Delta-Sigma Modulation ... ich weiß von all dem nicht, was das ist. Ich bin zwar Mathematiker und sogar Physiker, aber eben Naturwissenschaftler und kein Elektronik-Techniker.
ich gehe davon aus zur "Heizungssteuerung UVR1611"
lassen sich Informationen über CAN Protokoll und Bitfelder finden<< tja, das kann sich durchaus als schwierig erweisen. Mal sehen.
Sebastian W.
ich habe eine "Smart Home Zentrale CCU3" und als Schnittstelle eine "Homematic IP Multi IO Modulplatine" und die hat für analoge Daten eben 0-10 Volt-Eingänge. Bei homematic IP gibt es zwar einen Anschluss an einen digitalen Daten-Bus (Wired Smart Home Access Point HmIPW-DRAP), aber dieses Gerät ist teuer und eigentlich auch nicht für meine Zwecke gemacht und insofern scheint es mir nicht passend.
Achim M.
ohje ... keine Ahnung, wie sowas geht? Aber wenn's 0-10 Volt-Ausgäne gibt und mein I/O-Modul 0-10 Volt-Eingänge hat, dann scheint mir das passend.
Nochmal Alexander,
es muss kein CAN sein, Hauptsache ich bekomme irgendwie zwei vorhandene Temperaturwerte von der UVR1611 in meine CCU3.
DL-Bus wäre auch möglich, einen solchen Ausgang hat die UVR1611. Die Multi IO Modulplatine hat für analoge Daten allerdings nur einen 0-10 Volt-Eingang.
Falk B.,
Man muss halt was möglichst Fertiges in Hard- und Software finden.<<
Genau.
Ich glaube ich würde mal den >>OLIMEXINO-STM32F3<< probieren.
Wenn ich den konfigurieren kann und noch heraus bekomme, wie die UVR1611 ihre Daten in den CAN-Bus gibt, dann wäre das vielleicht ein erfolgversprechender Ansatz.
Weiß jemand was zu den beiden Fragen:
Welche Struktur haben die Daten, die die UVR1611 in den CAN-Bus gibt?
Wie kann man die OLIMEXINO-STM32F3 richtig konfigurieren.
Der 0-10 Volt-Ausgang der OLIMEXINO-STM32F3 scheint mir unkritisch. 6,47 Volt bedeuten letztendlich, wenn alles richtig läuft, eben 64,7 °C.
Soweit erstmal vielen Dank allen Antwortern. Das war alles schon mal hilfreich für mich.
Mir ist noch nicht klar wie Du zwei Werte übermitteln willst wenn die Homematic IP Multi IO Modulplatine nur einen Eingang hat.
Unabhängig vom Mikrocontroller könnte die Analogfraktion aber mal einen Tiefpassfilter für dich skizzieren, der die gewünschte 0-10 Volt Ausgabe glättet. Nur für den Fall dass die Homematic IP Multi IO Modulplatine kein PWM mag.
Ich habe deinen Rat befolgt. Es hätte mich zwar interessiert mal was mit einem Mikro-Controler zu machen, aber letztendlich war mir alles zu ungewiss und zu kompliziert.
gebraucht gekauft und es scheint den Zweck den ich will zu erfüllen. Aber auch hier ist die Konfiguration trickreich.
Niklas G.
Du schreibst: >>Da musst du schon programmieren für können.<<
Programmieren kann ich, aber bis das alles drumrum klappt bei einem neuen Gerät, das ist meist aufwändig.
Der STM32F3 kann nur 0-3.3V ausgeben<<
Das ist natürlich auch nicht so praktisch - da leidet wahrscheinlich die Genauigkeit bei der Übertragung der analogen Daten.
Alexander,
du schreibst
Mir ist noch nicht klar wie Du zwei Werte übermitteln willst wenn die
Homematic IP Multi IO Modulplatine nur einen Eingang hat.<<
Da habe ich mich falsch ausgedrückt, dieses IO Modul hat noch ZWEI freie Analog-Eingänge.
OK, somit verabschiede ich mich aus diesem Thema und danke alle, die hier Vorschläge gemacht und Lösungsmöglichkeiten angeboten haben. Letztendlich war's mir zu kompliziert.