Das Hausbrett oder: Arduino und FS20 Haussteuerung

Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Di 17. Sep 2013, 06:19

Ziel des Projects ist es einen Arduino die komplette Haussteuerung übernehmen zu lassen ohne das dafür ein PC oder sonstiges notwendig ist.
Zur "optischen" Steuerung wird ein (oder mehrere) 7'Zoll Tablet benutzt. Dies ist zum funktionieren der Steuerung aber nicht nötig und dient nur dem einstellen usw.

>>>Umfangreiche Modulare Software (Frontend) für das Tablet (komplett auf PHP basis) existiert auch schon. Das PHP wird zusammen mit Lighttpd auf dem Tablet installiert daher kein weiterer PC nötig.>>> Wird ersetzt durch den Arduino als Webserver. Das Frontend wird dann über die Windows Software eingestellt.

Es gibt auch eine Software zum steuern und verwalten des Arduinos für Windows (geschrieben in Delphi).
Zudem sollen Fenstersensoren Simuliert werden und das ganze per Lan steuerbar sein.
Auserdem soll er die Heizungssteuerung (Viessmann) kontrollieren und den Stromverbrauch (Zähler ISKRA MT681)überwachen.
Auch die RFID Leser an den Türen und somit die Zugangskontrolle wird dem Arduino zuteil.
Es wird auch kein FHZ Zentrale , CUL oder ähnliches benötigt da dies alles der Arduino erledigt.

Kurz vorweg. Das Project tut schon zu 80% seine Dienste aber das komplette posten kann etwas dauern.

Benötigt wird ein Arduino Mega (1280 oder 2560) oder Due (Achtung dieser arbeitet NUR mit 3,3V. Für I2C werden Level Shifter (ca 2€) benötigt da dieser sonst schaden nimmt!) da der Code zu umfangreich ist um auf einem kleineren zu laufen.
Zudem werden die Hardware Serials benötigt.
Eine Maximal 2GB große SD Card (empfehle San Disk da diese mit dem Arduino am besten laufen, andere zicken schonmal gerne rum).
Dann benötigt man einen 868Mhz Sender und Empfänger. Diese kann man aus einem nicht benötigtem FHT80-B oder der FHZ1000 (der Stand alone nicht die PC Version: http://www.elv.de/funk-hauszentrale-fhz-1000-2.html) ausbauen. In den FHZ1000 Zentralen sind superhet Empfänger verbaut welche wesentlich besseren Empfang haben wie die Std Empfänger aus den anderen Geräten.

868 Mhz Sender
Bild

868 Mhz standard Empfänger und ein Superhet Empfänger
BildBild

Zudem noch ein I2C RTC (Real Time Clock), bekommt man in Ebay für 1,80€.
Bild

Ein LAN/SD Shield welche man auch schon für 11€ bekommt. Habe es zu erst mit einem ENC28J60 probiert stieß aber alsbald auf unzureichende Limitationen.
Bild

Wenn Fenstersensoren simuliert werden kann man entweder die noch freien Ports benutzen oder man legt sich ein paar (I2C Portexpander PCF8574) zu.
Die RFID Leser (siehe andern Thread ca 8€) werden über einen MAX485 Baustein an den Arduino angeschlossen.

Der 868 Empfänger muß an einen der Analog Ports und 3,3V angeschlossen werden. Analog deswegen da beim empfang mit Spannungsmessungen gearbeitet wird um Störungen zu filtern. Der 868 Sender kann an einend er Digitalen Ausgänge, in meinem Fall hab ich den auf 6.

Das Lan Shield mit W5100 Chip und SD belegt bei dem Mega den Analog Port 0 und 1 (SD schreibschutz) sowie die Ports 50-53 (SPI Schnittstelle die bei anderen Boards auf 10-13 liegt).
Daher ist der SS/CS Pin für das Lan Shield auch 53 und nicht 10. Der SS/CS Pin für die SD ist bei den std Shields die 4.

Das RTC Modul (und bei Bedarf die PFC's) wird an 5 V und den I2C angeschlossen. Dies sind beim Mega die Ports 20 (SDA) und 21 (SCL).

Das Heizungs Modul (Viessmann, kommt noch ein Thread zu) belegt den Hardware Serial Port 1 (Pin 18+19).
Das Stromzähler Modul kommt an den Serial Port 2 (16+17).
Da die Geräte exotische Porteinstellungen haben und das SoftwareSerial Lib keine Unterstützung für diese Einstellungen bietet habe ich kurzer Hand die eh vorhandenen Hardware Serials genommen.
Der MAX485 (für RS485 Übertragung mit den RFID Lesern) kommt an den letzten Serial 2.

Für Steuerungen zb für Türen hab ich mir aus Faulheit ein fertiges 8 Kanal Relais Board (ca 7€) besorgt. Genug freie Pins hat der Mega ja noch.
Bild

Kurz zusammen gerechnet:
12€ Arduino Mega ( http://www.ebay.de/sch/i.html?_odkw=ard ... 0&_sacat=0 )
10€ Lan/SD Shield ( http://www.ebay.de/itm/400561509107 )
9€ RFID ( http://www.ebay.de/itm/300825037276 )
7€ Relais Board ( http://www.ebay.de/itm/390612948276 )
10€ 868 TX ( http://www.elv.de/output/controller.asp ... ail2=12789 )
12€ 868 RX superhet ( http://www.elv.de/elv-empfangsmodul-rx868sh-dv.html )
2€ RTC ( http://www.ebay.de/itm/400503978923 )
5€ MAX485 und die PFC's (Conrad,Elv,Ebay usw)
5€ zusammen für die beiden Stromzähler/Heizungs Module
-----
72€ für eine komplette Haussteuerung. Denke damit kann Mann (und Frau ^^) leben.

Bei ELV gibt es einen FHT80-B ARR Bausatz (http://www.elv.de/raumregler-fht-80b-ar ... erien.html), in dem sind ein sender und ein Superhet Empfänger drinne.

Es ist auch nicht allzu viel Lötarbeit nötig und diese ist zudem recht simpel. Wer sich das löten der I2C Portexpander PCF8574 sparen will kauft sich "I2C LCD interface" für 2,50€ und misbraucht diese^^

Das wars erstmal zur Hardware.
Für später geplant:
Mit Ultraschall Sensoren(US) feststellen welche Autos da sind (anwesenheitsschaltung), weiter mit US die Schneehöhe messen (um zb früher geweckt zu werden wenn man Schnee schieben muß). Weitere Wetter Sensoren um zb bei starker Sonne die Rollos runter zu fahren oder bei Regen die Markiese ein zu fahren. Alarmanlage (Sensoren an den Fenstern usw sind bereits vorhanden).
Das Tablet dient später zudem noch also Musik Streamer (Lan und UKW^^ (im erlaubten Bereich)) und Fileserver (Samba).

Zudem aus Spaß mal schauen ob das ganzen auch mit einem RFM12B Modul läuft statt der einzelnen TX/RX Module. Diese Module bekommt man schon für 8€ statt der 29€ für die beiden normalen Module bei ELV. Der RFM12B läuft aber nicht auf OOK/ASK BAsis sondern auf SPI. Eine OOK Simulation wie sie FS20 und FHT benutzen ist soweit ich weiß möglich es müssen dafür aber die Ein/Ausschaltezeiten angepasst werden (ca 150 my).
Nachtrag: die RFM12B müßen etwas umgebaut werden (ein SMD Kondensator tauschen) aber ansonsten sind die Ergebnisse eher untauglich. Zudem benötigt der RFM mehr Pins (ISP). Daher keine weitere Versuche damit.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Do 10. Okt 2013, 08:09

Im Anhang der Arduino Sketch und das Programm zum einstellen. Die Kommunikation läuft über das LAN. Die Netzwerkeinstellungen müßen im Sketch angepasst werden.
Das sind ALPHA Versionen, also noch nicht fertig. Aber vielleicht hat ja der ein oder andere schonmal Interesse da rein zu gucken.

Bei Fragen Email an: nightlight ÄT gmx PUNKT de

Zusätzlich neuste Version inklusive Programm und Libraries vom 21.02.2014
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Mo 14. Okt 2013, 20:45

Da die FS20 Fernbedienungen (Handsender) ziemlicher Schrott sind (optisch und sie vergessen laufend wegen wacklern ihre Codes) und die Unterputz Sender auch ihre Problem haben werde ich diese Tauschen und das ganze System umbauen. Ich habe in jedem Schalter, Licht etc ein FS 20 Sender/Empfänger auf 868 Mhz.
Diese werden gegen ein selbstbau System auf 433 getauscht. Erst wollte ich ein eigenes Protokoll mit Hilfe der Lib "Virtual Wire" aufbauen. Nur hätte ich dann keine Handsender gehabt.
Somit habe ich nach 433 Mhz Handsendern gesucht die preislich und optisch auch vertretbar sind.
Entschieden habe ich mich für die Intertechno Fernbedienungen. Die "kleinen" (ITT-1500) kosten schlappe 3 Euro und sehen auch ok aus. Diese kann 3 Geräte und eine eine Gruppe schalten.
Größere Fernbedienungen können auch 16 direkte Geräte und mehr (zb die ITS-150).

Allerdings benutzen die Fernbedienungen teils unterschiedliche Protokolle. Die "original" Empfänger können mit allen benutzt werden.
Für die mit Dip Switchen kann man zb das Arduino Lib "RcSwitch" benutzen, welches aber nicht für die oben gennante ITT-1500 funktioniert.
Diese "selbstlernenden" benutzen das "Home easy" Protokoll (Lib gibts im Playground). Allerdings konnte ich nur 3 von 4 der ITT-1500 Fernbedienungen empfangen, alle 4 funktioneren aber mit der Steckdose (ITR-1500). Ob es an der Frequenz liegt oder etwas anderem kann ich noch nicht sagen.

Um die unterputz Sender zu ersetzen benutze ich ein folgende Komponenten:
433 Mhz Sender/Empfänger
(1,13€ http://www.ebay.de/itm/121112192674 )
Bild

Mini "Netzteil" (Bis zu 12V möglich. Je mehr desto mehr Reichweite)
(ca 1,80€ http://www.ebay.de/itm/300894474573 Suchen nach: "AC 85 265 9V" mit Option Weltweit/Sofortkauf/billigste zu erst )
Bild

Arduino Pro Mini (für das Geld kann ich nicht mal die Einzelteile kaufen (Prozessor,Spannungsregler usw, vom löten etc nicht zu reden).
(ca 3,70€ http://www.ebay.de/itm/200961181419 / 2,70€ http://www.ebay.de/itm/121192432250)
Bild

Macht im gesammten ca ~6€ für einen Bidirektionalen Sender/Empfänger, und viel zu löten/friemeln ist da auch nicht.

Will man etwas schalten braucht man mindestens noch:
1. Möglichkeit - ein Relais
2. Möglichkeit ein SSD Relais
3. Selbstbau mit Optokoppler und Triac (ohmsche Lasten wie Glühbirnen)
4. Selbstbau mit Optokoppler, Triac und Kondenstor (für Induktive Lasten wie zb Trafos) (siehe anderen Thread http://www.rocktagon.de/forum/viewtopic.php?f=24&t=85)

Macht zum schalten nochmal zwischen 2 und 8 € (dimmen inklusive je nach bauart und Software).

Weiteres folgt....
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Sa 19. Okt 2013, 08:31

Die Intertechno ITT-1500 Fernbedienung basiert auf dem Home Easy Protokoll.
Die Libs die ich dazu finden konnte funktionierten garnicht/nicht richtig oder waren unbrauchbar.
Daher eben selber was geschrieben welches mit Interrupts läuft und somit nicht den ganzen Prozessor blockiert.

Sketch und der nötige TimerOne (neuste Version V2 wird benötigt!) im Anhang.

Getestet mit der ITT-1500 und der ITS-150 (Intertechno Protokoll).

ITT-1500 - Home Easy Advanced Protokoll:
Sync-Bit ~11000 Mikrosekunden High, 2500 Low
0-Bit =330 H + 330 L + 330 H + 1130 L
1-Bit = 330 H + 1130 H + 330 L + 330 H

Ausgewertet werden nur die nach LOW gezogenen Signale (Die beim Empfänger den Pin an High legen).
Ausgewertet wird somit 0: 330 + 1130 und bei 1: 1130 + 330

(Bits fangen bei 0 an zu zählen)
26-Bit Senderadresse
1-Bit Gruppe
1-Bit Kommando
4-Bit Devicenummer
4-Bit Dimm Level (Wenn Dimm Bit* gesendet wird)
Insgesammt 32 Bit (jeweils bestehend aus 2 Empfang Bits)

Dimm Bit:
Kommando Bit 27 = 330 H, 330 L, 330 H, 330 L. Ist nicht Mancheseter Code conform!
Ist dieses "Bit" gesetzt werden 4 Dimm Bits am Ende mit gesendet.

ITS-150 Intertechno Protokoll
Sync-Bit = 11100 MS Low
0-Bit = 1T H + 3T L + 1T H + 3T L
1-Bit = 1T H + 3T L + 3T H + 1T L
1T ~ 360 Mikrosekunden

4-Bit Familiencode
4-Bit Gerätenummer
4-Bit Kommando

Insgesammt 12 Bits (jeweils bestehend aus 2 Empfang Bits)


Anhang/Sketch siehe weiter unten
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Sa 19. Okt 2013, 09:37

Da die RTC (real time clock) ca 1441 Minuten/Tag macht hab ich zusätzlich noch eine Funkuhr DCF77 ( http://www.pollin.de/shop/dt/NTQ5OTgxOTk-/Bausaetze_Module/Module/DCF_Empfangsmodul_DCF1.html )Empfänger eingebaut.

Die Lib vom Playground ( http://playground.arduino.cc/Code/DCF77 ) funktioniert auf anhieb. Allerdings muß die "Antenne" (der Ferrit) liegen. Stehend habe ich so gut wie keinen empfang. Ka warum aber nicht so wild.

Das ganze wurde einfach in das Hausbrett eingefügt indem sobald ein gültiges Signal erkannt wurde die RTC aktualisiert wird. Die RTC bleibt aber drinne damit für die Zeiten wo kein Empfang ist dennoch ein Zeitstempel vorhanden ist.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Di 22. Okt 2013, 05:20

Übrigens eine sehr interessante Bachelor Arbeit zum Thema Funk Heim Automatisierung inkl Protokolle usw:
https://vmi.lmt.ei.tum.de/publications/students/Parsch-Bachelorarbeit.pdf
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Do 24. Okt 2013, 17:38

Soweit fertige Versionen zum Senden von Home Easy Advanced und Empfangen von Home Easy Advanced (zb ITT-1500), Intertechno (zb ITS-150) und BBSB (ungetestet).

Senden und empfangen ist inkl Dimmfunktion. Auserdem habe ich ein Toggelbit eingebaut, so kann man nun Einschalten/Ausschalten/Umschalten/Dimmen.
Das Umschalten (Toggeln) funktioniert NUR mit dem Empfänger Sketch im Anhang!!
Störfilter eingebaut, timings relaxt.
Senden und empfangen von Advanced und Simple

Version vom 04.11.2013 im Anhang

Zusätzlich HomEasyReciver2 - eine Version die nicht die TimerOne Komponente benötigt und somit etwas weniger Platz benötigt.

HomeEasyReceiver3 - kleinere Fehler behoben, kann auch zum empfangen von China Led FB's benutzt werden. Inkl Senden. (01.03.2014)

**** Komplett neues Empfangsystem, siehe Thread: viewtopic.php?f=24&t=90 ****
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Do 31. Okt 2013, 08:48

I2C Arbeitet normalerweise mit 100KhZ. High Speed Bauteile wie zb der MCP23017 können aber auch 400K und 1,2 Mhz.
Der Arduino schaft aber nur die 400K bedingt durch die 16 Mhz.
Um mit High speed zu arbeiten empfehle ich zwei Seiten:

http://www.dsscircuits.com/articles/eff ... stors.html

** http://dsscircuits.com/articles/arduino ... brary.html ** veraltet
Neu:
http://dsscircuits.com/index.php/articl ... er-library

Für den Fall das die Seite wieder mal nicht erreichbar ist habe ich die Anleitung (Offlinewebsite) im Anhang.

Ich habe zwei MCP23017 an einem Bus und als Pullup benutze ich 4,7K Wiederstände. Damit lassen sich beide ohne Probleme mit 400 KhZ betreiben.

Als kleiner Mirror das Lib Version RC5 nochmal im Anhang.

Nach einem kleinen Test mußt ich übrigens feststellen das selbst das langsame (100K) I2C schneller ist wie eine 115200'er Serielle Verbindung.
Will man die Daten die man mit High speed (400K) über I2C übertragen hat Seriall mit 115200 anzeigen lassen schmiert der Arduino ab weil die Serielle verbindung zu langsam ist.

Im Anhang eine modifizierte Version der I2C Lib mit der man auch höherstellige Adressen (2 Byte Adressen bzw Word bzw uint_16t) ansprechen kann. Nötig bei größeren Eeprom Typen wie zb AT24C32 etc

Nicht vergessen das viele EEPROM's nur 32Byte (Pages) auf einmal pro Anfrage bearbeiten können (lesen & schreiben).
Will man mehr wie 32 Byte schreiben muss man dieses aufteilen!

Um höhere Registeradressen zu benutzen ein TRUE als letzten optionalen Parameter angeben:

Code: Alles auswählen
byte buf[5]
byte Addr=0x57;
word Register=1000;
if (I2c.write(Addr,Register,buf,5,true)!=0) Serial.println("Write Error");
if (I2c.read(Addr,Register,5,buf,true)!=0) Serial.println("Read Error");
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Mo 11. Nov 2013, 20:15

Da die Antenne eines der wichtigsten Sachen ist für einen guten empfang hier mal ein paar interessante PDF's.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

Beitragvon Rocktagon » Mi 5. Feb 2014, 12:43

Das Hausbrett aktuell.

Das ganze heißt übrigens Hausbrett da die einzelenen Teile mit Plastik Abstandshaltern auf ein Küchenbrettchen geschraubt sind.
Diese kleinen Lochrasterplantinen (die ich sehr nützlich finde im gegensatz zu so großen) gibt es für paar Cent in Ebay.
Auf dem Bild ist nicht alles komplett verdrahtet da ich momentan einiges teste.
Der Lüfter ist mit 2*39 Ohm an Vin angeschlossen (12 V) und dient zur Kühlung des Lan Chips (Wiz). Da ich festgestellt habe das dieser im Dauerbetrieb zu heiß wird und seinen Dienst einstellt. Mit der Kühlung ist Dauerbetrieb kein Problem.

1 = Arduino Mega 1280, darauf ein Lanshield mit SD und oben drauf ein kleiner Lüfter (da der Wiz Prozessor vom Lanshield im dauerbetrieb zu heiß wird und aussetzer hat)
2 = RS485 Modul für RFID
3 = DCF77 Funkuhr Modul
4 = zwei PCF8574 (I2C Port Expander). Würde aber mittlerweile ein MCP23017 empfehlen. Einfacher zu handhaben (besitzt zuschaltbare interne Pullups) und auf jeder Seite 8 Ein/Ausgäng nebeneinander. Zudem Highspeed fähig (benötigt aber dann ein anderes Lib als das wire)
5 = 3,3V Wandler, da der Onboard vom Arduino etwas überlastet war
6 = noch ein PCF8574 für die Zustandserkennung der Fenster
7 = I2C Steckport, momentan nur mit einm RTC Modul belegt
8 = Soundmodul mit SD Karte. Kann vom Arduino über software gesteuert werden oder über die Tasten. Liefert den Sound für die Klingel.
9 = Verstärkermodul für die Klingel
10 = 868 Mhz Sendemodul
11 = 868 Mhz Empfangsmodul
12 = 433 Mhz Sendemodul. Etwas versteck da es direkt auf das LAN Shield gesteckt ist.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 143
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Nächste

Zurück zu Arduino

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

Fatal: Not able to open ./cache/data_global.php