Hallo.
ich bin gerade dabei eine Thermostat Steuerung für unseren Haushalt
zubauen.
Nach langem hin und her überlegen möchte ich die Funktionalität des eQ-3
N-Regler, welcher hier zum Einsatz kommt, beibehalten.
Jedoch soll die Temperatur von einem Arduino reguliert werden.
Die Einstellung wird normalerweise manuell durch drehen des Drehknopfes,
der dann wieder einen Encoder steuert realisiert.
Soweit so gut.
Die Ports A und B sowie GND hab ich mir schon herausgeführt.
(Der Encoderschaltet gegen GND).
Nun überlege ich wie ich die Anschaltung an den Atmega des Arduino am
besten bauen soll.
Reicht eine einfach Transistorschaltung ? Mit Steruerung der Basis über
einen Digitalport ?
Oder einfach nur eine Diode zwischen Arduino und Encoder ?
Eine Sache noch das Thermostat läuft mit 3v der Arduino mit 5v.
Was meint Ihr ?
Viele Grüße,
Mario
Hi,
ähm ich glaube wir haben uns missverstanden.
Der EQ-3 N Regler ist ein Thermostat, das man auf das Heizungsventil
aufschraubt.
Der Plastedrehknopf dreht einen Encoder der auf der Platine sitzt ....
Was ich nun dem Thermostat vorgauckeln möchte ist das jemand den Encoder
betätigt um die Temperatur einzustellen ...
Bei Conrad gibts das teil für 10€
http://www.conrad.de/ce/de/product/1168832/Heizkoerperthermostat-5-bis-295-C-eQ-3-N-Regler?queryFromSuggest=true
Der Encoder ist 3 polig (A,B, GND)
Meine Frage ist wie ich A / B durch eine µC gesteuert auf GND bekomme.
Grüße,
Mario
Mario schrieb:> Meine Frage ist wie ich A / B durch eine µC gesteuert auf GND bekomme.
Mit zwei I/O-Pins, die ggf. als Open Drain Ausgang gesteuert werden.
Hi,
ja mit I/O Ports ist klar.
Ich hatte bedenken da die beiden Schaltungen mit verschiedenen
Spannungsquellen arbeiten.
(3 V beim Thermostat / 5 V beim Arduino (Atmega))
Wenn der Encoder nicht betätigt wird ist dier Verbindung zwischen A/B
und GND offen ...
Und mir ist nicht klar wie ich das hinbekomme.
Den Port auf LOW ist ja nicht das Ding, aber die Simulation von Kontakr
offen ist mir nicht klar.
Könnte man einfach eine Diode nehmen ?
Also
Encoder Port A -> Diode -> µC I/O Port
bzw.
Encoder Port B -> Diode -> µC I/O Port
(So das der Strom richtung µC fliessen kann aber eben nicht richtung
thermostat). So könnte man doch dem Thermostat vorgaukeln das der
Encoder gedreht wurde ?
Grüße,
Mario
Mario schrieb:> Den Port auf LOW ist ja nicht das Ding, aber die Simulation von Kontakr> offen ist mir nicht klar.
Port auf Eingang - dann tut der nichts.
Hi,
danke das werde ich mal probieren.
Ansonsten bin ich noch auf "Beitrag "RC-Fernbedienung mit Arduino steuern";
gestossen, das ja auch ein ähnliches Problem betrifft.
Ich probiere beides mal aus. Danke schon mal !
Hi,
ich habe nun das Thermostat mit dem Arduino über 2 Digital PIN
verbunden.
Dazwischen hab ich noch 470 ohm Widerstände verbaut.
Die Steuerung klappt super.
Nun nur noch die Android App erweitern und ich die Temperatur zentral
steuern.
Vielen Dank für den Tip,
Mario
Hallo Mario ich bin gerade am selben Thema dran und versuche das
Thermostat eQ-3 N-Regler mit einem Arduino zu verbinden.
Du schreibst das du es bereits geschafft hast. Wie genau hast du das
gemacht? Mir ist es bisher nicht zu 100% gelungen.
Was geht sind die drei Buttons die ich mittels Portpins auf Low ziehe
und somit einen Klick simuliere.
Der Drehencoder bereitet mir allerdings Probleme. Normale Beschaltung
ist ja A GND B
Ich war der Meinung ich müsse ihn mittels Transistorschaltung vom Board
trennen um die Drehung des Encoders zu simulieren. Du schreibst was von
als Input definieren?
Wie genau hast du die Eingänge A und B dann angesprochen. Mit High oder
Low und wievile ms hast du den Zustand dann an bzw. aus.
Danke und Gruß Peter
Der Thread ist schon irre alt,
aber genau das Thema interessiert mich auch.
Ich habe bereits Die 3 Ports des Drehgebers per angelöteter Kabel nach
außen geführt.
Nun ist aber die Frage, mit welcher Schaltung und welchem Arduino Code
kann ich hier eine Links-/Rechtsdrehung simulieren?
Ziel wäre es, wie in dem einen Video, jeweils zunächst auf den
Minimalwert zu drehen und anschließend nach rechts auf den Wunschwert zu
erhöhen.
Gruß!
Mace
Mario schrieb:> ich habe nun das Thermostat mit dem Arduino über 2 Digital PIN> verbunden.> Dazwischen hab ich noch 470 ohm Widerstände verbaut.>> Die Steuerung klappt super.> Nun nur noch die Android App erweitern und ich die Temperatur zentral> steuern.
Könntest Du dies bitte noch einmal etwas genauer ausführen?
Das wäre wirklich toll. :-)
Mace schrieb:> Nun ist aber die Frage, mit welcher Schaltung und welchem Arduino Code> kann ich hier eine Links-/Rechtsdrehung simulieren?
Kam noch nie in die Verlegenheit einen Encoder zu simulieren,hab aber
gerade eine kleine Pic-Schaltung vor mir die mit einem Encoder
arbeitet.Ein Arduino Nano lag auch noch gerade in einer Schublade,so
dass ich mir dachte auf die Schnelle eine Simulation
durchzufuehren.Betonung liegt auf die "Schnelle"....
Code zum Testen im Anhang.
Einen kleinen Schaltplan haette ich noch hinzugefuegt macht aber keinen
Sinn,wenn man nicht weiss wo der Encoder sitzt den Du simulieren
willst.Sollte normalerweise aber auch kein Problem sein ....
Mit Blynk und einem ESP8266 liesse sich das Ganze dann auch noch
fernsteuern
https://www.blynk.cc/
Vielleicht meldet sich ja auch noch der damalige Gast-Author
Toxic schrieb:> Code zum Testen im Anhang.
Wow, Wahnsinn!
Besten Dank Toxic!
Das werde ich mir mal zu Gemüte führen und mich hier genauer rein
fuchsen.
Sind diese 4 bit quasi ein "Grey-Code" Oder was ich da teilweise zu
gefunden habe?
Ich dachte zuvor, ich schalte die Ausgänge einfach abwechselnd
überlappend ein und aus:
OutputA: 111111000011110000
OutputB: 000000001111000011
Weil sich die Drehgeber-Impulse ja irgendwie immer überlappen.
Die Nullen und Einsen oben sollen quasi eine Art Oszilloskop-"Kurve"
darstellen.
https://youtu.be/bBhbynj6NYM?t=261
Aber gut möglich, dass direkt eine Codierung übergeben wird.
Hm wobei ich mir gerade unschlüssig bin, wie dieser übergeben werden
soll, da dies ja eigentlich nur in innerhalb eines vorgegebenen Taktes
funktionieren kann?
Sorry wegen der vielen dummen Fragen.
Gruß! Mace
Mace schrieb:> Sorry wegen der vielen dummen Fragen.
Es gibt keine dummen Fragen.
Es ist der Gray-Code.
Das "Wow und Wahnsinn" hoert wahrscheinlich da auf,wenn es nicht so
richtig funktionieren will... ;-)
Das serielle Zeug,kann man aus dem Code entfernen.War nur als Demo
gedacht.Mit den "delays" musst Du eventuell etwas spielen.Fuer meinen
Code in meinem Pic - an dem der Encoder angeschlossen ist - musste ich
die delays im Arduino-Code einsetzen.Bei Dir sind sie vielleicht gar
nicht notwendig oder muessen geringfuegig angepasst werden.
Der Arduino-Code ist ziemlich simpel - er macht ja nix anderes als die
Codefolge eines normalen Encoders rauszuwerfen
Sollte dein Arduino und das Geraet mit dem Encoder mit unterschiedlichen
Spannungen arbeiten,wuerde ich wahrscheinlich die im Anhang gezeigte
Schaltung verwenden.Es geht aber auch einfacher,ist aber dann mehr ein
Getrickse...