Forum: Mikrocontroller und Digitale Elektronik Wärmepumpensteuerung seriell über AVR NET IO


von Ice R. (ascareth)


Lesenswert?

Hallo allerseits,

ich habe da mal grundsätzlich eine Frage zur AVR NET IO von Pollin. Es 
gibt da eine Wärmepumpe die einen Resümat CD4 Regler eingebaut hat. 
Dieser Regler verfügt über eine serielle Schnittstelle. Ich möchte jetzt 
diesen Regler remote zugänglich machen zwecks Datenloggen usw. Dazu 
brauche ich natürlich eine Kopplung ans Ethernet, um dem Regler Befehle 
senden zu können und Abfragen fahren zu können. Kann man das AVR NET IO 
dazu verwenden?


Gruß, Ascareth

von ??? (Gast)


Lesenswert?

theoretisch ja

von Gerald *. (pyromane)


Lesenswert?

YPort von Ethersex könnte für dich Interessant sein.
Ermöglicht dir den Zugriff auf die serielle Schnittstelle per Ethernet.

http://www.ethersex.de/index.php/YPORT

von Ice R. (ascareth)


Lesenswert?

Gerald *. schrieb:
> YPort von Ethersex könnte für dich Interessant sein.
> Ermöglicht dir den Zugriff auf die serielle Schnittstelle per Ethernet.
>
> http://www.ethersex.de/index.php/YPORT


Ja danke, ich glaube das könnte das Richtige sein. Hättest du vielleicht 
noch einen Tip, wo man erfahren kann wie man Ethernetframes packt, um 
die Pumpe dann anzusprechen?

Gruß

von Oliver J. (skriptkiddy)


Lesenswert?

Andre Töllner schrieb:
> Hättest du vielleicht
> noch einen Tip, wo man erfahren kann wie man Ethernetframes packt, um
> die Pumpe dann anzusprechen?

Du brauchst dich garicht um Ethernetframes zu kümmern. Das ist ja das 
Schöne. Für dich sieht es dann so aus, als wäre die Pumpe diekt mit nem 
COM-Port deines PCs verbunden.

Gruß Skriptkiddy.

von ETH-Zürcher (Gast)


Lesenswert?

Denk nochmal drüber nach, ob Du wirklich eine Wärmepumpe haben willst. 
Die kommen Messungen zufolge nicht auf die angegebenen Leistungszahlen, 
sodass Du ca. 600 bia 800€ Heizkosten/Jahr haben wirst, was im Vergleich 
zu den 60 bis 150€ Holz für einen Kachelofen ein ganz schöner Batzen 
ist.

von Ice R. (ascareth)


Lesenswert?

ETH-Zürcher schrieb:
> Denk nochmal drüber nach, ob Du wirklich eine Wärmepumpe haben willst.
> Die kommen Messungen zufolge nicht auf die angegebenen Leistungszahlen,
> sodass Du ca. 600 bia 800€ Heizkosten/Jahr haben wirst, was im Vergleich
> zu den 60 bis 150€ Holz für einen Kachelofen ein ganz schöner Batzen
> ist.

Hm also ich glaube die Gedanken darüber kann ich mir sparen, da meine WP 
seit ca. 9 Jahren gut arbeitet ;). Leider macht sie jetzt seit kurzer 
Zeit zicken. Ein Fehler wurde bereits von mir behoben (defekte 
Solepumpe). Die Idee mit dem Kachelofen ist zwar so jetzt mal nicht 
schlecht, aber um das konsequent umsetzten zu können, müsste ich so 
einen Ofen in den Fußbodenkreislauf einspeisen. So eine Kopplung ist 
auch nicht gerade billig in der Anschaffung, und das Ding müsste Tag- 
und Nacht laufen. Für eine Wohnung mag das eine gute Lösung sein, aber 
für ein EFH halte ich das für zumindest gewagt.


Skript Kiddy schrieb:
> Andre Töllner schrieb:
>> Hättest du vielleicht
>> noch einen Tip, wo man erfahren kann wie man Ethernetframes packt, um
>> die Pumpe dann anzusprechen?
>
> Du brauchst dich garicht um Ethernetframes zu kümmern. Das ist ja das
> Schöne. Für dich sieht es dann so aus, als wäre die Pumpe diekt mit nem
> COM-Port deines PCs verbunden.

Ach so, dann könnt ich also einfach aus Perl oder so in den COM-Port 
schreiben? Also dann einfach "HW Virtual Serial Port" und dann von 
COM->Ethernet->COM schreiben?

Gruß, Ascareth

von Ice R. (ascareth)


Lesenswert?

Also etwas klappt da noch nicht so richtig. Ich habe mal eine com->com 
Verbindung zwischen puttyterminals ausprobiert ... das geht so ja 
erstmal ohne Probleme. Im zweiten Schritt bin ich dann mal an meinem 
Notebook, am Ethernet rausgegangen, habe HW Virtual Serial Port benutzt 
um einen Com->Ethernet Port anzulegen, bin mit der Ethernetleitung auf 
das Pollinboard gegangen, und von dort dann Com->Com in meinen 
Desktoprechner. .. geht aber leider nicht.

HW Virtual Serial Port sagt als Fehlermeldung immer 10061 Winsockerror. 
Für mich sieht das aus, als wäre das Pollinboard noch gar nicht fähig 
ein Comport zur Verfügung zu stellen. Ich habe das Image, dass ich mit 
PonyProg auf das Pollinbard gebrannt habe hiermit erstellt: 
http://www.ethersex.de/firmware-builder/input.cgi?profile=avr-net-io

Ist in dem Image die Com-Funktionaltät mit Sicherheit schon enthalten?
Liegts evtl. an fehlerhaften Einstellungen?

Falls jemand einen Tipp hat, bitte melden. Ansonsten vielen Dank für die 
bisherigen Informationen.

Gruß

von Gerald *. (pyromane)


Lesenswert?

Andre Töllner schrieb:
> Ich habe das Image, dass ich mit
> PonyProg auf das Pollinbard gebrannt habe hiermit erstellt:
> http://www.ethersex.de/firmware-builder/input.cgi?profile=avr-net-io

Hiermit wird es auch nicht funktionieren, den es beinhaltet nicht die 
YPort Funktion. Diese musst du in der Konfiguration auswählen und daraus 
ein Image erstellen lassen.

von Ice R. (ascareth)


Lesenswert?

> Hiermit wird es auch nicht funktionieren, den es beinhaltet nicht die
> YPort Funktion. Diese musst du in der Konfiguration auswählen und daraus
> ein Image erstellen lassen.


Das hatte ich kurz im Anschluss an meinen Post auch gemerkt. Ich habe 
jetzt mal Ethersex fürs Pollin Netboard übersetzt, und das hex file 
draufgeschrieben, und eben auch die yport unterstützung aktiviert. 
Zumindest kann ich mich jetzt schon mal mit "HW Virtual Serial Port" auf 
das Board verinden. Somit wäre der Virtuelle SoL Port ja schon mal 
hergestellt. Alles Weitere dan hier in diesem Kino ;). Danke für eure 
Hilfe.

Gruß, Andre

von Ice R. (ascareth)


Lesenswert?

... Es gibt da noch ein Problem. Ich habe mich bisher mittels eines 
Serviceprogramms auf die Wärmepumpe verbunden, und dabei habe ich ein 
Nullmodemkabel benutzt.

Frage ist nur: wie verbinde ich jetzt das Pollin board über 
Nullmodemkabel mit der Pumpe?

Das Pollinboard hat ja einen M (male) D-Sub-9. Die Nullmodemkabel haben 
ja aber auch ein M D-Sub-9. Der Atmega32 hat an PIN15 TxD und an PIN14 
RxD. Wenn ich jetzt einfach die beiden PINS vertausche, dann müsste es 
doch auch ein normales, serielles Kabel tun oder? Das ist jetzt eher 
eine hypotetische Frage. So einfach vertauschen lassen sich die PINS auf 
dem Board ja nicht, das der Atmega ja schon in einem Sockel steckt und 
so - nur um einem möglichen, falschen Einruck entgegen zu wirken, dass 
Board wäre möglicherweise ein Eigennachbau oder so etwas.

Gruß, Andre

von Klaus W. (mfgkw)


Lesenswert?

Da wirst du jetzt ein 1:1-Kabel brauchen, um das Pollin-Board mit der WP 
zu verbinden.
Ohne noch irgendwo Pins zu vertauschen.

von Ice R. (ascareth)


Lesenswert?

Aber wenn ich doch die Verbindung normalerweise mit einem Nullmodemkabel 
herstelle. Wieso brauche ich dann jetzt ein 1:1 Kabel. Oder sind die 
PINs auf dem Board schon vertauscht?

von gerd (Gast)


Lesenswert?

Andre Töllner schrieb:
> Oder sind die
> PINs auf dem Board schon vertauscht?

Das ist ein BINGO! ;)

- gerd

von Gerald *. (pyromane)


Lesenswert?

Andre Töllner schrieb:
> Aber wenn ich doch die Verbindung normalerweise mit einem Nullmodemkabel
> herstelle. Wieso brauche ich dann jetzt ein 1:1 Kabel. Oder sind die
> PINs auf dem Board schon vertauscht?

Der PC ist ein DTE (=Data Terminal Equipment) und die Wärmepunkte 
anscheinend ebenfall ein DTE und somit benötigst du eine Nullmodemkabel.
Die NET-IO ist jedoch ein DCE (=Data Communications Equipment) und somit 
wird keine Auskreuzung(=Nullmodemkabel) benötigt.

DTE x DTE
DCE = DTE
DTE = DCE
DCE x DCE

von Karl H. (kbuchegg)


Lesenswert?

Andre Töllner schrieb:

> RxD. Wenn ich jetzt einfach die beiden PINS vertausche, dann müsste es
> doch auch ein normales, serielles Kabel tun oder?

Als ob es so etwas geben würde :-)

Gender-Changer bzw. Zwischenstücke zum Auskreuzen sind normales 
"Werkzeug" um serielle RS232 Verbindungen herzustellen.

Leider.

von Karl H. (kbuchegg)


Lesenswert?

Gerald *. schrieb:

> Der PC ist ein DTE (=Data Terminal Equipment) und die Wärmepunkte
> anscheinend ebenfall ein DTE und somit benötigst du eine Nullmodemkabel.
> Die NET-IO ist jedoch ein DCE (=Data Communications Equipment) und somit
> wird keine Auskreuzung(=Nullmodemkabel) benötigt.

Nette Theorie (und ich weiß, so sollte es sein)
Aber in der Praxis verbaut jeder Male/Female wie er gerade lustig ist 
und belegt die Pins 2 und 3 mit RxD/TxD wie es ihm gerade einfällt.

von gerd (Gast)


Lesenswert?

Karl heinz Buchegger schrieb:
>> Der PC ist ein DTE (=Data Terminal Equipment) und die Wärmepunkte
>> anscheinend ebenfall ein DTE und somit benötigst du eine Nullmodemkabel.
>> Die NET-IO ist jedoch ein DCE (=Data Communications Equipment) und somit
>> wird keine Auskreuzung(=Nullmodemkabel) benötigt.
>
> Nette Theorie (und ich weiß, so sollte es sein)
> Aber in der Praxis verbaut jeder Male/Female wie er gerade lustig ist
> und belegt die Pins 2 und 3 mit RxD/TxD wie es ihm gerade einfällt.

Bei dem NET-IO zumindest scheint es zu passen - wie das bei der 
Wärmepumpe aussieht steht natürlich auf einem anderen Blatt...

- gerd

von Ice R. (ascareth)


Lesenswert?

Also ich habe jetzt mal versucht, eine Verbindung zwischen zwei Puttys, 
die auf je einem Rechner laufen hinzubekommen. Wenn ich die Rechner 
"normal", über Nullmodemkabel verbinde, dann kann ich auf einem Terminal 
schreiben und auf dem anderen Empfangen und umgekehrt - oh Wunder! Wenn 
ich jetzt aber das Board dazwischen hänge, dann kommt zwar auch etwas in 
beide Richtungen an, aber leider nur irgendein Müll (merkwürdige 
Zeichen) und das auch nur stark verzögert - etwa 1 Sekunde.

Hat da vielleicht noch jemand einen Hinweis?

von Klaus W. (mfgkw)


Lesenswert?

Wie kannst du das Board dazwischen hängen?
Hat das 2 serielle Schnittstellen?

Von PC zu AVR-NET-IO brauchst du wie gesagt auch ein 1:1-Kabel!

von Ice R. (ascareth)


Lesenswert?

Mit Dazwischenhängen meine ich: Notebook --- Ethernet ---> Net-IO --- 
Seriell ---> Desktop-PC . Es wird also das Nullmodemkabel 
rausgeschmißen, und ein Ethernet, sowie ein serielles 1:1 Kabel 
verwendet (einige Tests habe ich wie gesagt auch mit Nullmodembelegung 
durchgeführt, doch ohne Erfolg). Das im Folgenden beschriebene Verhalten 
wurde bei Verwendung eines seriellen 1:1 Kabels beobachtet.

Ich stelle also auf dem Notebook einen virtuellen Port (COM5) her, mit 
einem Prog. namens "HW Virtual Serial Port". Das Prog. verbindet sich 
über Ethernet mit dem Net-IO. Auf dem Net-IO läuft wie gesagt "Ethersex" 
mit "YPort" unterstützung. Der "YPort" soll jetzt dafür sorgen, dass die 
entsprechenden Zeichen, an den Desktop-PC weitergereicht werden. Aber 
genau das geschieht nicht fehlerfrei. Es werden zwar Befehle in beide 
Richtugen übermittelt, aber wenn ich beispielsweise ein "o" eingebe, 
kommt auf der jeweils anderen Seite ein "ß" an, oder wenn ich eine 2 
eingebe, kommt auf der jeweils anderen Seite ein "É" an. Außedem kommen 
die übertragenen Zeichen mit ca. 1 Sekunde Verspätung an.

Weil das so ist gehe ich davon aus, dass die übertragenen Zeichen der 
Software, mit der ich mich dann auf die Wärmepumpe einwähle natürlich 
auch verfälscht ankommen, und somit keine Kommunikation möglich ist - 
ganz so, wie es bisher auch der Fall war.

Kurz heißt das also: Das Net-IO Board soll verwendet werden, um von 
einem Ethernet Anschluss, auf einen seriellen Anschluss zu adaptieren, 
weil ich die Pumpensteuerung ans Heimnetz anschließen will. Das ist 
eigentlich alles.

von Gerald *. (pyromane)


Lesenswert?

Hört sich für mich nach einem Baudratenfehler an.
Überprüfe doch mal ob du beim PC die gleiche Baudrate verwendest als 
beim NET IO.

von Ice R. (ascareth)


Lesenswert?

So jetzt ist alles hübsch soweit. Die Steuerung hängt jetzt im 
Heimnetzwerk. Auf dem Pollinboard läuft jetzt Ethersex, mit YPort 
unterstützung. Witziger Weise funktionierte alles, nachdem die 
Debug-Funktion im YPortmenüpunkt, in menuconfig ausgewählt war, und die 
entsprechende hex dann übertragen war - Baudrate ist 9600.

Kleines Problem jetzt noch: Das Board lässt sich nicht von außen 
ansprechen. Portfreigabe in der Fritzbox ist für TCP auf xx.xx.xx.xx 
port 7970 gesetzt. Das müsste also passen. Wenn ich mit "HW virtual 
serial port" von außen eine Verbindung aufbauen will, dann bekomme ich 
Winsock Error 10060 (ist wohl ein Timeout). Wenn ich den LAN Stecker vom 
Board abziehe und erneut einen Verbindungsaufbau versuche, dann bekomme 
ich Winsock 10065 (destination unreachable) ... ist ja wohl schon mal 
ein Unterschied.

Für mich sieht das so aus, als würde bei dem Ethersex brand eine weitere 
Unterstützung für was-auch-immer fehlen. Das Board scheint ja erreichbar 
zu sein, nur findet kein passender Datenaustausch statt. Das 
Portforwarding scheint also korrekt gesetzt zu sein.

Irre ich mich da?
Hat sonst noch jemand eine Ahnung was das sein kann?
Vielleicht kennt jemand die nötige Einstellung für Ethersex?


Gruß, Andre

von Ice R. (ascareth)


Lesenswert?

So nun läuft auch das ;)

Hatte einfach kein gateway gesetzt, in der ethersex software.

Besten Dank Allen, und Gruß Andre

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.