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.
Wie wäre es mit dem Erweiterungsmodul vom Hersteller: https://www.ta.co.at/erweiterungsmodule/ao4-dl 46€ohne Mwst
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.
:
Bearbeitet durch User
Rolf schrieb: > Der Arduino UNO R4 Minima hat einen CAN-Controller Aber keinen CAN-Transceiver, den muss man extern nachrüsten. Das OLIMEXINO-STM32F3 hat sowohl den CAN-Controller also auch den CAN-Transceiver sowie zwei DAC-Kanäle integriert.
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. http://www.elektronik-kompendium.de/sites/praxis/bausatz_pegelwandler-mit-transistoren.htm 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. Beitrag "UVR1611 mit µC steuern"
:
Bearbeitet durch User
Werner schrieb: > 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 ... LG, Sebastian
Werner schrieb: > 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. mfg mf
:
Bearbeitet durch User
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. Beitrag "Re: UVR 1611 (TA), Auswertung DL, Mega88, WinAVR" 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 :( https://github.com/staircaseblog/UVR_CAN
Werner schrieb: > 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? Beitrag "Re: PWM Signal ( 5V, Pulslänge 1-2ms) für Servomotor in 0-10v umsetzen" Ok, da feht noch CAN, dazu braucht es einen CAN-Tranceiver und Controller ala MCP2515. Kann man basteln, kostet halt Zeit. https://www.mikrocontroller.net/articles/CAN#MCP2515 http://www.kreatives-chaos.com/artikel/can-testboard 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.
Hallo Niklas G., 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: 1) Welche Struktur haben die Daten, die die UVR1611 in den CAN-Bus gibt? 2) 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. Schöne Grüße von Werner
:
Bearbeitet durch User
Werner schrieb: > ich habe keinen > Mikrocontroller, keinen Arduino und noch nie etwas mit einem > Mikrocontroller gemacht. Auch wenn du es nicht hören willst, vergiß das selber basteln. Kauf eine passende Erweiterung, und fertig. Oliver P.S. hier gibts trotzdem was zum Thema Beitrag "UVR 1611 (TA), Auswertung DL, Mega88, WinAVR"
Werner schrieb: > Hast du das schon mal gemacht? Was, einen STM32F3 programmiert? Ja. Werner schrieb: > Ich glaube die > größte Schwierigkeit ist dann den OLIMEXINO-STM32F3 so zu konfigurieren, > dass er die Daten aus dem CAN-Bus richtig interpretiert. Geht, CAN ist nicht so kompliziert wie man denkt. Das meiste macht die Hardware automatisch. Man muss halt das Datenformat auf dem Bus kennen. Werner schrieb: > ich habe keinen > Mikrocontroller, keinen Arduino und noch nie etwas mit einem > Mikrocontroller gemacht Werner schrieb: > 2) Wie kann man die OLIMEXINO-STM32F3 richtig konfigurieren. Das Olimexino ist ein Mikrocontroller-Board. Da musst du schon programmieren für können. Das ist nicht einfach nur "konfigurieren". Werner schrieb: > Der 0-10 Volt-Ausgang der OLIMEXINO-STM32F3 scheint mir unkritisch. Der STM32F3 kann nur 0-3.3V ausgeben
Niklas G. schrieb: > Man muss halt das Datenformat auf dem Bus kennen. Für den DL Bus alles da und fertige Lösung vorhanden.
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.
Oliver S. 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. Ich habe über Kleinanzeigen das hier https://www.ta.co.at/fileadmin/Downloads/Betriebsanleitungen/00_Auslauftypen/CAN-IO/Manual_CAN-IO_A2.08.pdf 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.