PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RaspberryPI Haustechnik



IBlack
27.07.2014, 22:26
Hallo!

Ich möchte gerne eine Haussteuerung mit einem Raspberry PI basteln.
Meine Überlegungen sind bis jetzt folgende:

Aufgaben:
* Heizung Ventile steuern (diesen Punkt lasse ich derzeit noch offen)
* Wetterstation mit Raspberry verbinden und Wetterdaten nutzen (Wind zu stark -> Jalousien herunterfahren und dgl.) (lass ich derzeit auch noch offen)
* Temperatur und Luftfeuchtigkeit überwachen (Sensor in jedem Zimmer)
* Diverse Ein und Ausgänge für diverse Dinge (z.B. Garagentor öffnen)
* Tür und Fensterkontakte überwachen

Modulare Aufbauweise so wie bei einer SPS. Also eine CPU (hier ist mein Raspberry untergebracht). Erweiterungsmodule: Eingangskarte, Ausgangskarte, 1Wire-Buskarte, ...
Die Kommunikation zwischen CPU und Karten erfolgt über I2C.
Sensoren (Temperatur, Luftfeuchte, ...) wird über 1Wire erledigt.
Die Ausgänge am Raspberry sollen in der Lage sein 24V-Relais anzusteuern

Stromversorgung
CPU / Raspberry wird von einem 5VDC Netzteil versorgt.
Ein eigenes 24VDC Netzteil versorgt die Relais.
Hier bin ich mir nicht ganz sicher. Soll ich ein Eigenes Netzteil (5V) für die Versorgung des Raspberry verwenden oder kann ich diesen auch mit den 24VDC versorgen? (natürlich muss die Spannung noch irgendwie runtergeregelt werden - aber wie stell ich das an ohne jede Menge Energie zu verbraten?)

Derzeitiger Stand der Schaltungen

Raspberry / CPU
28732

Eingangskarte
28733

Ausgangskarte
28734

1-Wire Buskarte
28735

So und nun hab ich da noch jede Menge Fragen:
Vorweg: Sämtliche Widerstände sind noch nicht angegeben und wenn dann noch nicht richtig!
1. Wie oben erwähnt, soll ich den Raspberry auch mit den verfügbaren 24VDC versorgen oder ist es hier doch besser ein eigenes 5V Netzteil zu verwenden?
Ich möchte das ganze Gerät in einen Schaltschrank einbauen, somit werde ich wohl kein normales USB-Netzteil verwenden sondern eher eines für Hutschienenmontage (PULS scheint mir hier etwas zu sein)
2. Die LEDs am Raspberry dienen für Statsumeldungen am CPU-Gehäuse (Line Power, Raspberry Power, Acknowledge, I2C, Ethernet Link). Da ich gelesen habe dass die GPIO am Raspberry nur sehr sehr wenig Strom liefern (ich glaube etwas mit 50mA gelesen zu haben) hab ich die Signale durch einen Transistor verstärkt. Ist die Ansteuerung hier richtig? taugt der Transistor was (für diesen Zweck geeignet)?
3. Was haltet Ihr allgemein von der Schaltung? Taugt diese überhaupt was? Habe leider noch nicht sehr viele elektronik Bastelein gemacht und bin noch ein ziemlicher Anfänger auf dem Gebiet.
4. Kann das so funktionieren mit den Optokopplern?

Nagut - das wars vorerst!
Bin über jede Hilfe Dankbar!

Achja, der Weg ist das Ziel. Ich bin mir darüber im klaren dass ich nicht nur ein paar Bauteile zusammenlöte und schon eine fertige funktionierende Steuerung habe.

Grüße,
Robert

Kampi
28.07.2014, 07:01
Hey,

ich würde dem Pi ein eigenes 5V Netzteil spendieren -> ist billiger und Verlusttechnisch etwa das selbe. Die Last der Transistoren (LEDs und Widerstände) muss in den Kollektorzweig, das selbe gilt übrigens für deine Optos (die sollen Open-Collector sein? Dann würde ich denen noch einen Widerstand spendieren, dann läufst du nicht Gefahr ihn nachher zu vergessen!).
Im Grunde sehe ich nur die Fehler bei den Transistoren ;)
Prinzipiell sieht das nicht verkehrt aus...vielleicht noch I²C und SPI rausführen (dann bist du flexibler)?

WL
28.07.2014, 08:43
Die Ausgangskarte wird so nicht funktionieren weil der PCF8574 ausgangsseitig nur 100µA von +5V treiben kann. :(

Du musst die Stromrichtung umdrehen (gegen 0V kann der Ausgang 25mA treiben >LOW level output current).

Kampi
28.07.2014, 10:16
Ach was ich vergessen habe...
Bei der Ausgangskarte: Wofür sind die Dioden? Lass die Dioden weg, dreh die Beschaltung der Leuchtdioden der Optos um, mach ggf. den Widerstand ein bissl kleiner (dann kannst du schneller schalten) und pack in den Ausgangszweig der Open-Collector Anschlüsse des Optos noch Widerstände rein. Dann hast du die gleich mit erschlagen und vergisst sie später nicht. Andernfalls geht der Opto kaputt :)

BastelWastel
28.07.2014, 11:32
Bin gespannt was du da feines baust.
Ich bin auch gerade dabei sowas zu bauen, allerdings nicht auf Hutschiene sondern im 19" 3HE Rack.

Achim S.
28.07.2014, 13:11
Sorry, verstehe da was nicht. Warum ist der Pi gerade für Hausautomation gut?. Gibt doch besseres
achim

BastelWastel
28.07.2014, 14:56
Also fuer mich ist es gute Preis/Leistung, Stromsparend, vielseitig..Bastelspass ;)
Klar kann man sich fertige Systeme der bekannten Hersteller einbauen, wenn man mal eben 50 Euro+ fuer einen Lichtschalter uebrig hat.

peterfido
28.07.2014, 17:47
Ein schönes Projekt hast Du Dir da vorgenommen.

Die erwähnten 50mA sind die erlaubte zusätzliche Last am 3,3V Zweig. Die Ausgänge selbst können diesen Strom nicht ab. Der Raspi bietet eine Menge Vorteile, wenn alles per Webinterface gesteuert werden soll. Ausreichend Platz für die Software ist natürlich auch vorhanden.

Knackpunkt ist evtl. die Zuverlässigkeit im Dauerbetrieb. Da ist ein Mikrocontroller vorteilhafter. Wenn alles läuft, mach bloss kein Systemupdate :) .Hast Du noch eine "Handebene" eingeplant?

Die Versorgung des Raspis und der anderen Elektronik würde ich unabhängig von der Versorgung der Relais ausführen.

IBlack
29.07.2014, 16:56
Hallo!

Besten Dank für die zahlreichen Antworten. Ich hab die Schaltpläne mal angepasst wie Ihr gesagt habt.

Raspberry (CPU)
28757
Die Last ist nun im Kollektorzweig untergebracht, ich vermute mal damit der Transistor als Schalter und nicht als Verstärker fungiert - stimmt das so?
Wie groß darf/muss ich denn den Widerstand zwischen Raspberry GPIO-Pin und Transistor wählen (ich würde ihn ganz groß machen um möglichst wenig Strom vom GPIO zu ziehen, allerdings nicht zu groß dass mir der Transistor noch funktioniert)

Eingangskarte
28758
Hier hat sich nichts geändert. Mich wundert dass ich hier alles richtig gemacht habe - stimmt das auch wirklich so?

Ausgangskarte
28759
Hier hab ich auch die Schaltung angepasst. Die angesprochenen Dioden sind Leuchtdioden welche anzeigen sollen ob der Ausgang nun geschaltet ist oder eben nicht. Stromrichtung ist geändert um beim PCF8574 dieses Low Level Output current nutzen zu können. Hab ich dann je Ausgang die 25mA oder nur im ganzen?
Bei den Optos hab ich die Widerstände eingebaut - wie ich gerade sehe wohl verkehrt oder ist es hier egal?
Die Widerstände hab ich mit 800Ohm berechnet (24V / 800Ohm = 30mA) um den Strom zu begrenzen. Irgendwie hab ich da gerade einen Denkfehler, sinkt mir da nicht die Spannung ab?

1-Wire Karte
28760
Zu dieser habt Ihr auch nichts gesagt. Im Datenblatt vom DS2482 steht drin dass ich den Pullup-Widerstand mit einem P-Chanel MOSFET verstärken soll/kann. Ich hab dann nach einer Schaltung in Google gesucht und bin auf den Transistor BSS84 gestoßen. Hat hier jemand Erfahrung - ist die Schaltung korrekt?
Was sagt Ihr erfahrungsgemäß, kann ich sämtliche Sensoren (Temp / Luftfeuchtigkeit) auf diesem einen Chip lassen oder gibt es einen Ungefähren Grenzwert wieviele Sensoren man max auf den Bus hängen kann/darf/soll. Was ich bis jetzt gelesen habe ist dass bei 1Wire jeder Chip einen Seriennummer hat welche es kein zweites mal geben kann (Nummer so lang) - somit sollte es vom Adressbereich her keine Probleme geben.


Noch eine Allgemeine Frage
Wenn im Datenblatt vom z.b. PCF8574 steht dass dieser 50mA low level current liefern kann - bezieht sich der Wert dann pro Ausgang oder auf den ganzen Chip? Also wenn ich alle Ausgänge schalten möchte hätte ich dann nur 6.25mA je Ausgang?




Sorry, verstehe da was nicht. Warum ist der Pi gerade für Hausautomation gut?. Gibt doch besseres


Nunja, ich bin vor einer Zeit per Zufall auf den Raspberry gestoßen und fand es ganz interessant was man damit alles anstellen kann. Es gibt viele Tutorials / HowTos wo sich Bastler etwas gebaut haben um Ihre Heizung fernzusteuern oder Ihre Wetterstation auszulesen.
Ich beschäftige mich seit einigen Jahren mal mehr mal weniger mit Linux (Debian) - somit sollte Raspian kein Problem für mich sein.
Python muss ich noch erlernen das kann ich bis jetzt noch nicht. Das WebInterface für die Steuerung wird vermutlich aus PHP mit Anbindung an eine MySQL-Datenbank (Hab ich auch einige Erfahrung damit und denke dass ist schaffbar für mich)



Knackpunkt ist evtl. die Zuverlässigkeit im Dauerbetrieb. Da ist ein Mikrocontroller vorteilhafter. Wenn alles läuft, mach bloss kein Systemupdate :) .Hast Du noch eine "Handebene" eingeplant?


Darf ich Fragen warum das ein Knackpunkt ist? Ist der Raspberry hier nicht zuverlässig auch sofern man mit Leitsatz *Never-touch-a-running-System* arbeitet?
Ja wenn alles Läuft sollte man keine Systemupdates durchführen :) - Ist zwar irgendwie Kontraproduktiv wenn mann immer auf einem Alten Stand ist aber aus Erfahrung von Serveradministration kann ein Update sehr schnell einen großen Wirbel verursachen.

Hm, das mit der Handebene hab ich mir ein wenig durchgedacht. Es gibt grundsätlich mehrere Varianten
Zwei sind mir momentan besonders im Auge:

1. Variante:
Die Steuerung steuert mit einem Ausgang ein Relais an. Ein Schalter für Handbetrieb (z.B. Lichtschalter) steuert ein zweites Relais an. Beide Relais besitzen einen Wechslerkontakt womit eine Kreuzschaltung entsteht.

2. Variante (weiss nicht ob das so erlaubt ist aber ich denke schon)
Raspberry und Lichtschalter steuern einen Stromstossschalter an (Am besten mit 2 schließerkontakten - einer für last - einer als Rückmeldung für den Raspberry ob der Stromstossschalter EIN oder AUS ist)

Besten Dank für die Hilfe bis jetzt!!!

Grüße,
Robert

peterfido
29.07.2014, 18:10
Bisher hatte ich "nur" Probleme, als die SD-Karte Kontaktprobleme hatte und nach einem apt-get update, apt-get upgrade. Keine Ahnung, was da aktualisiert wurde, der Raspi hing sich nach spätestens 2 Tagen weg. War vor dem Update nicht so.

Ansonsten laufen meine Raspis soweit stabil durch. Die SD-Karte wird überall schreibgeschützt gemountet und jegliche Loggerei ist abgeschaltet, da sonst der RAM volläuft. Ein Update für das System einer Hausautomation ist nicht zwingend. Einen MikroController aktualisiert man auch nicht, wenn alles läuft. Soll der Raspi evtl. noch Dienste, welche aus dem Internet erreichbar sein sollen, dienen, dann würde ich dafür einen weiteren Raspi nehmen. Der sollte dann schon aktuell gehalten werden. (Wegen evtl. Sicherheitsupdates). Schließlich wurden in letzter Zeit vermehrt Sicherheitslücken gefunden (z.B. OpenSSL, Apache2)

Eine Handebene ist ja für den Fall, wenn die Technik mal nicht will. Taster werden einfach vom Raspi per Relais überbrückt, da gibt es kein Problem. Bei Schaltern kann man Wechselschalter nehmen. Der P-Kontakt auf die Lampe und einer der Korrespondierenden an Dauerphase und der andere über ein Relais geschaltet. Eine Wechselschaltung würde ich zur Tasterschaltung umbauen.

Eine Rückmeldung über einen Eingang kann man machen, muss man nicht. Würde ich selbst nur machen, wenn etwas Kritisches dahinterhängt. Wenn das Licht nicht leuchtet, bekommt man das auch so mit. Bei der 2. Variante musst Du die Abstände und andere Vorschriften einhalten. Bist Du Elektriker?

Die Weboberflächen mache ich auch immer in PHP mit bissel Ajax, damit die Schaltzustände immer schön aktuell angezeigt werden.

IBlack
29.07.2014, 18:39
Ansonsten laufen meine Raspis soweit stabil durch. Die SD-Karte wird überall schreibgeschützt gemountet und jegliche Loggerei ist abgeschaltet, da sonst der RAM volläuft. Ein Update für das System einer Hausautomation ist nicht zwingend. Einen MikroController aktualisiert man auch nicht, wenn alles läuft. Soll der Raspi evtl. noch Dienste, welche aus dem Internet erreichbar sein sollen, dienen, dann würde ich dafür einen weiteren Raspi nehmen. Der sollte dann schon aktuell gehalten werden. (Wegen evtl. Sicherheitsupdates). Schließlich wurden in letzter Zeit vermehrt Sicherheitslücken gefunden (z.B. OpenSSL, Apache2)

Logging werde ich alles über die SQL-DB machen - auch wer am interface angemeldet ist und was derjenige macht.
Stimmt genau - wenn das System reibungslos funktioniert braucht man auch nichts zu updaten. Sollte ich mal mein Haus über das Internet fernbedienen wollen so muss natürlich ein zweiter Raspberry oder überhaupt ein Server her auf dem das Interface läuft - da hast du völlig recht!
Ich hab mir schon ein paar Gedanken dazu gemacht, bin aber noch auf keinem grünen Zweig.
Wenn es eine Steuerung über Internet geben soll, dann muss diese auch nicht alle Funktionen am haben bzw. einiges von Haus aus gesperrt sein. Beispiel: Ich möchte von der Arbeit aus meine Heizung ein wenig hochregeln da ich demnächst nachhause komme soll möglich sein. Es darf aber nicht möglich sein das Licht im Wohnzimmer einzuschalten oder das Garagentor vom Urlaub aus der Karibik zu öffnen. Die Schaltzustände (SOLL/IST) werden von Anfang an über die SQL-DB am Steuerungs-Raspberry geregelt und gespeichert. Ein zusätzliches Interface (auf einem anderen Raspberry / Server / ...) aktualisiert dann nur die Zustände in der Datenbank.


Eine Handebene ist ja für den Fall, wenn die Technik mal nicht will. Taster werden einfach vom Raspi per Relais überbrückt, da gibt es kein Problem. Bei Schaltern kann man Wechselschalter nehmen. Der P-Kontakt auf die Lampe und einer der Korrespondierenden an Dauerphase und der andere über ein Relais geschaltet. Eine Wechselschaltung würde ich zur Tasterschaltung umbauen.

Eine Rückmeldung über einen Eingang kann man machen, muss man nicht. Würde ich selbst nur machen, wenn etwas Kritisches dahinterhängt. Wenn das Licht nicht leuchtet, bekommt man das auch so mit. Bei der 2. Variante musst Du die Abstände und andere Vorschriften einhalten. Bist Du Elektriker?

Wie gesagt ich bin mir noch nicht sicher wie ich die Handebene realisiere. Fakt ist dass es unbedingt eine geben soll / muss falls die Steuerung nicht funktioniert.
Momentan gefällt mir die Variante mit den Stromstossschaltern am besten.

Elektriker? Jain.
Gelernt habe ich so einen mix aus Elektriker und Schlosser. Bin/War aber immer schon sehr interessiert am Strom :rolleyes:
Einen Betriebselektriker hab ich notfalls in der Verwandschaft, welchen ich auch miteinbeziehen werde wenn das Projekt Formen annimmt.

Danke!

Grüße,
Robert

peterfido
29.07.2014, 19:31
Ich gehe weltweit per VPN in mein Netzwerk und kann dann natürlich alles Steuerbare steuern. Wenn Du einen "normalen" Server aufmachst, wirst Du Dich wundern, wieviele Zugriffe da in kurzer Zeit zusammenkommen. Per .htaccess IPs aus Russland sperren bringt schon etwas ein. ;) Wurde mir aber dann doch zuviel. Hatte eine Zeitlang nur IP Adressen aus Deuchtland zugelassen. Da wird das Webinterface aber total träge, da bei jeder noch so kleinen Datei die IP-Liste durchgegangen wird. Deswegen jetzt VPN. Wenn da dann nicht alles gesteuert werden (dürfen) soll, dann feste Adressen vergeben und die aus dem VPN-Bereich einschränken. Obwohl ich gern mal aus dem Urlaub zu Hause die Beleuchtung schalte. Wenn Du eine Webcam hast, dann kannst Du auch aus der Karibik einen Blick ins Wohnzimmer oder so werfen. Da gibt es welche, die erkennen Bewegung und schicken dann gleich die Bilder auf Deinen Webspace und dir eine Email.

Croal
30.07.2014, 01:52
Für die Stromversorgung würde ich zwei Server Netzteile in Reihe vorschlagen, da hast du deine 24v und da ist auch noch 5v abzapfen möglich.

peterfido
30.07.2014, 16:45
Wie soll das gehen? GND ist mit PE verbunden. Würde einen sauberen Kurzschluss bei dem geben, wo +12V mit GND des anderen NT verbunden sind.

Croal
30.07.2014, 17:26
Wie genau das geht weiß ich nicht aber so was benutzen die RC Jungs habe ich irgendwo mal gelesen. Irgendwas mit eine Hochleistungsdiode mit Aktivkühlung schlummert auch irgendwo in meinem Langzeitgedächtnis....