FHEMWiki:Sandbox: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:
[[Datei:Print1.5.PNG|thumb|left|alt=Platine]]
[[Datei:Print1.5.PNG|thumb|left|alt=Platine]]
Der Nachbau der Schaltung kann am einfachsten mit einer fertigen Platine erfolgen.
Der Nachbau der Schaltung kann am einfachsten mit einer fertigen Platine erfolgen.
Siehe dazu auch den [http://forum.fhem.de/index.php/topic,46098.0.html Link aus dem Forum]:
Siehe dazu auch den [http://forum.fhem.de/index.php/topic,46098.0.html Link aus dem Forum]
 
Die Gerberfiles für diese Platine gibt es [http://forum.fhem.de/index.php/topic,45127.msg370647.html#msg370647 hier].
<div style="clear:both;"></div>
<div style="clear:both;"></div>



Version vom 19. Januar 2016, 18:30 Uhr

eBus Schaltung in Betrieb nehmen!

Diese Beschreibung sollte hauptsächlich für Personen dienen, bei denen es nicht das tägliche Brot ist elektronische Schaltungen in Betrieb zu nehmen. Ich setze hier voraus, dass der Umgang mit einem Lötkolben klar ist. Wer noch nie gelötet hat, sollte besser einen Bekannten ersuchen der das schon gemacht hat.

fertig aufgebaute eBus Platine, bereit für den Einsatz mit eBusd!

Schaltung

Die Schaltung des eBus von Prof. Dr. Peter A. Henning ist eine bewährte Schaltung die von zahlreichen Usern bereits nachgebaut wurde. Link zum Beitrag im Wiki.

Platine

Der Nachbau der Schaltung kann am einfachsten mit einer fertigen Platine erfolgen. Siehe dazu auch den Link aus dem Forum

Die Gerberfiles für diese Platine gibt es hier.

Hier ein Beispiel eines Aufbaues auf einer Lochrasterplatine. Sieht nicht ganz so schön aus, tut aber genau so seine Dienste und ist natürlich etwas aufwändiger was die Lötarbeit betrifft. Für kleine Prototypen immer noch die ideale Art, besonders wenn es schnell gehen muss und man auf Platinenbestellungen nicht warten will.

Platine bestücken

Bei der Bestückung sollte darauf geachtet werden mit den niedrigsten Bauteilen zuerst zu beginnen, sonst fallen sie beim verlöten ständig heraus. Wer die Farbcodes der Widerstände nicht auswendig kennt sollte diese vorher mit einem Meßgerät (Ohmmeter) messen. Nach den Dioden und Widerständen können die IC Sockel eingelötet werden, hier sollte lediglich auf die Einkerbung laut Bestückungsaufdruck geachtet werden. Zum Schluß noch die restlichen Bauteile. Nach einer genaue Sichtkontrolle können noch die ICS eingesetzt werden. Diese können auf einer flachen Unterlage etwas vorgebogen werden, damit sie leichter in den Sockel passen.

Achtung: der IC 4011 ist ein Cmos Schaltkreis und ist empfindlich gegen statische Aufladungen, daher die Beinchen nicht mit dem Finger berühren, bzw. ein Antistatikband am Arm verwenden.

Platine Messpunkte

Hier noch der Schaltplan mit einigen wichtigen Spannungen für den Testbetrieb am Netzgerät. Bitte beachtet den Widerstand am Eingang des eBus und die Anschaltung der behelfsmäßigen Led zur Abstimmung. Spätestens dann, wenn die Schaltung auf Anhieb nicht funktionieren sollte, werdet ihr über so einen Versuchsaufbau nicht herum kommen. Hier kann in Ruhe die Schaltung getestet und gemessen werden. Defekte Bauteile oder fehlerhafte Lötstellen sollten dann schnell gefunden werden.

Poti abgleichen

Zur ersten Justierung des Potis bitte den Dienst stoppen (service ebusd stop) und statt dessen mit minimalen Parametern und ohne irgendwelche CSVs direkt in der Kommandozeile starten.

ebusd -f -c /tmp --logareas bus --loglevel info -d $DEVICE

$DEVICE dabei einfach durch das entsprechende /dev/ttyUSB0 o.ä. ersetzen.

Danach aktiviert man noch aus einem zweiten Terminal wie folgt den raw output:

ebusctl raw

Somit erhält man im ebusd Fenster die empfangenen Bytes als Hex, also z.B.:

2015-12-24 12:07:16.955 [bus notice] <aa
2015-12-24 12:07:17.001 [bus notice] <aa
2015-12-24 12:07:17.047 [bus notice] <aa
2015-12-24 12:07:17.093 [bus notice] <aa
2015-12-24 12:07:17.097 [bus notice] <10
2015-12-24 12:07:17.102 [bus notice] <50
2015-12-24 12:07:17.107 [bus notice] <b5
2015-12-24 12:07:17.111 [bus notice] <04

Wenn gerade kein Gerät den Bus benutzt, dann sollten etwa 20 Zeilen pro Sekunde ausgegeben werden und zwar mit "<aa" (im Beispiel die oberen 4 Zeilen).

Sobald ein Gerät den Bus benutzt, sieht das natürlich wieder anders aus. Da sind dann kurze Peaks mit was anderem als "aa" zu sehen. Das sollte man dann ignorieren (im Beispiel die unteren 4 Zeilen).

Wichtig ist dann bei der Poti Einstellung, dass man vor allem die regulären "aa"s zu sehen bekommt. Erst wenn die zuverlässig reinlaufen, kann man sich der nächsten Stufe widmen und ebusd wieder regulär als Dienst starten.

Logfile auswerten

Das Logfile ist zur Inbetriebnahme unerlässlich und kann (zB. mit PsPad) ausgelesen werden.

2015-12-22 16:27:34.195 [bus notice] signal acquired
2015-12-22 16:28:12.029 [bus error] signal lost
2015-12-22 16:28:12.339 [bus notice] signal acquired
2015-12-22 16:28:14.006 [bus error] signal lost
2015-12-22 16:28:16.372 [bus notice] signal acquired
2015-12-22 16:28:18.023 [bus error] signal lost
2015-12-22 16:28:18.729 [bus notice] signal acquired
2015-12-22 16:28:20.458 [update notice] update myCustom Status01: 43.0;41.0;8.000;41.0;38.0;ok
2015-12-22 16:28:26.460 [update notice] update bc Mode QQ=10: standby
2015-12-22 16:28:30.436 [update notice] update myCustom Status01: 41.0;40.0;8.000;41.0;38.0;ok
2015-12-22 16:28:32.458 [update notice] update broadcast vdatetime QQ=10: 16:24:52;22.12.2015
2015-12-22 16:28:32.696 [update notice] update myCustom2 Pumpenstatus: ok
2015-12-22 16:28:36.452 [update notice] update bc Mode QQ=10: standby
2015-12-22 16:28:40.478 [update notice] update myCustom Status01: 40.0;39.0;7.750;41.0;38.0;ok
2015-12-22 16:28:42.482 [update notice] update myCustom1 Status11: nosignal;41;5;18;-;-;-;-;8.000
2015-12-22 16:28:42.753 [update notice] update myCustom Status02: auto;60;70.0;70;54.0

Hier ein typisches Log wenn das Poti noch nicht oder falsch kalibriert wurde. Ab dem Eintrag 16:28:20.458 war dann die richtige Stellung gefunden. Das Poti soll daher zunächst ganz nach links (Transistor der Platine ist dann rechts unten) gedreht werden und dann vorsichtig auf etwa 2:00 Uhr. Bei knapp 2:00 Uhr ist bei der Testplatine dann die ideale Stellung. Der Stellbereich ist sehr klein (etwa 1-2 mm), daher einen Schraubendreher verwenden der sehr exakt passt und gleichzeitig mit dem Laptop abfragen starten. Zur Kontrolle dann das Log (var/log/ebusd.log) abfragen.

2015-11-29 06:26:55.271 [update notice] update myCustom1 Status11: nosignal;40;0;15;-;-;-;-;-0.188
2015-11-29 06:26:55.541 [update notice] update myCustom Status02: auto;60;70.0;70;54.0
2015-11-29 06:26:59.293 [update notice] update bc Mode QQ=10: standby
2015-11-29 06:27:03.323 [update notice] update myCustom Status01: 53.0;45.0;-0.438;47.0;46.0;error
2015-11-29 06:27:05.268 [update notice] update broadcast outsidetemp QQ=10: -3.188
2015-11-29 06:27:09.344 [update notice] update bc Mode QQ=10: standby
2015-11-29 06:27:11.934 [bus error] send to 08: ERR: read timeout, retry
2015-11-29 06:27:11.981 [bus error] send to 08: ERR: read timeout, retry
2015-11-29 06:27:12.025 [bus error] send to 08: ERR: read timeout, retry
2015-11-29 06:27:12.069 [bus error] send to 08: ERR: read timeout

In diesem Fall liegt ein Fehler bei jedem Sendeversuch vor. Ein "bus error" mit timeout sollte nicht (zu oft) zu finden sein. Gut zu sehen sind schon die Broadcast Meldungen, die selbständig über den Bus laufen und vom Konverter schon richtig interpretiert werden. Sollten wie in diesem Fall, die Meldungen nicht mit Texten zu lesen sein fehlen noch die Konfigurationfiles (csv) im Verzeichnis /etc/ebusd. Welche Files hier verwendet werden sollen ist natürlich von der Therme und dem Zubehör abhängig.


Achtung: Der Autor übernimmt keine Haftung für die Anwendung dieser Schaltung. Zur Vermeidung von Schäden durch unsachgemäße Bedienung des Heizungssystems wird ausdrücklich empfohlen, nur lesend auf die Schnittstelle zugreifen.

eBusd installieren

Im Prinzip sollte man sich überlegen ob man für den eBus einen eigenen Rechner nimmt oder auf der bestehenden Fhem Installation laufen lassen sollte. Ich empfehle eine Trennung, da dies mehrere Vorteile speziell zum Testen anbietet. Alle wichtigen Informationen findet man in der Wiki direkt vom Autor des eBusd!

Hier eine Konfiguration von Fhem und das Zusammenspiel mit eBusd via ECMD. Das kann aber jeder handhaben wie es am Besten in das eigene Konzept passt.

Installationsbefehle in Kurzform

apt-get install git autoconf automake g++ make  #Git am Raspi aktualisieren
git clone https://github.com/john30/ebusd.git # eBus auscchecken 

Nachdem nun alles vorbereitet ist, kann der eBus auf dem lokalen Raspberry compiliert und installiert werden.

cd ebusd
sudo ./autogen.sh --prefix=/usr
sudo make
sudo make install
sudo cp /home/pi/ebusd/contrib/etc/init.d/ebusd.debian /etc/init.d/ebusd   (Dämonstartfile kopieren
sudo update-rc.d ebusd Defaults

Das kann je nach Geschwindigkeit des Rechners schon um die 20 Minuten dauern. Nach erfolgter Meldung kann dann schon getestet werden welche Version nun auf dem Rechner ist und ob der Dämon überhaupt schon läuft.

ebusd -V
PS -aux|grep ebusd

CSV Files

Für die Übersetzung der binären Daten ist es notwendig die entsprechenden Konfigurationsdateien(CSV-Files) zu installieren. Den aktuellen Stand dieser Dateien findet ihr im GIT von John.

Beispiel Befehl zum Download und Entpacken:

wget https://github.com/john30/ebusd/releases/download/v2.0/ebusd-2.0_armhf.deb
wget https://github.com/john30/ebusd-configuration/releases/download/v2.0.1/ebusd-configuration-2.0.5aa482c-de_all.deb
sudo dpkg -i --force-overwrite ebusd-2.0_armhf.deb
sudo dpkg -i --force-overwrite ebusd-configuration-2.0.*.deb


Abschlußkonfiguration

Logfile

/var/log/ebusd.log {
	rotate 7
	copytruncate
	compress
	missingok
	notifempty
	daily
}

Das Logfile kann in /etc/logrotate.d/ebusd konfiguriert werden. In diesem Beispiel wird alle 7 Tage rotiert und komprimiert, das aktuelle Tagesfile ist unkomprimiert und normal lesbar.

Das Ergebnis aus der oben dargestellten Definition.

weiterführende Links

Diskussionsthread aus dem Forum: