Forum: Mikrocontroller und Digitale Elektronik Thermostat / Encoder Steuerung


von Mario (Gast)


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

von my2ct (Gast)


Lesenswert?

Sehr schöner Prosa-Schaltplan :-(

von Thomas H. (Firma: CIA) (apostel13)


Lesenswert?

Also ich meine: Das mit dem Drehknopf der dann einen Encoder Steuert ist 
ne verdammt pfiffige Sache. Weiter so!

von Mario (Gast)


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

von Mike A. (Gast)


Lesenswert?

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.

von Mario (Gast)


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

von Mike A. (Gast)


Lesenswert?

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.

von Mario (Gast)


Lesenswert?

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 !

von Mario (Gast)


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

von karl (Gast)


Lesenswert?

hallo  Mario

würde auch gerne diese eQ-3 N-Regler und Arduino bei mir auch betreiben.
Kannst du mir dabei helfen.
gruß karl

von Peter K. (peter_k18)


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

von Mace (Gast)


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

von Mace (Gast)


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

von Toxic (Gast)


Angehängte Dateien:

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

von Mace (Gast)


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

von Toxic (Gast)


Angehängte Dateien:

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

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.