Thermostat / Encoder Steuerung

Gast #3885702
Lesenswert?

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
Gast #3886304
Lesenswert?

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
Gast #3886621
Lesenswert?

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
Gast #3893388
Lesenswert?

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
#3962615
Lesenswert?

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
Gast #5597346
Lesenswert?

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
Gast #5597347
Lesenswert?

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. :-)
Gast #5597736
Lesenswert?

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
Angehängte Dateien:
Gast #5597856
Lesenswert?

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
Gast #5597905
Lesenswert?

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