TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
smarthome

21. SMART HOME

 

 

DU LERNST HIER...

 

wie du die Kenntnisse über Computing,  Sensorik und IoT in deinem häuslichen Umfeld einsetzen kannst, denn in Zukunft werden die meisten elektrischen Einrichtungen bei dir zu Hause durch Mikrocontroller gesteuert sein und drahtlos kommunizieren.

 

 

WICHTIGE WARNUNG

 
 

Beim Schalten von Geräten, die mit der Netzspannung von 230V betrieben sind, ist äusserte Vorsicht nötig. Berührungen mit stromführenden Leitern und Fehlschaltungen können Spannungsschläge verursachen, die zum Tod führen. 

Du wirst hier ein Verfahren kennen lernen, mit dem du  Geräte, die mit Netzspannung betrieben sind, ohne Gefahr mit der Oxocard verwenden kannst.

 

 

FUNKSCHALTER BESCHAFFEN

 
Beschaffe dir in einem Warenhaus einen Funkschalter bestehend aus einer Funksteckdose und einem Tasten-Sendemodul als Fernsteuerung, wenn möglich eines für eine Wandbefestigung. Solche Systeme arbeiten im ISM-Frequenzband bei 433 MHz (Industrial, Scientific, Medical). In der  Funk-Steckdose befindet sich ein Funkempfänger, der die  On/Off-Sequenz des Senders als binäres Signal interpretiert und bei einer vorkonfigurierten Codesequenz die Steckdose ein- oder ausschaltet.

Du nimmst den Funkschalter in Betrieb, indem du irgendeinen "Verbraucher", z.B. eine Bürolampe in der Funksteckdose einsteckst und gemäss der Anleitung eine Paarung mit dem Tasten-Sendemodul vornimmst. (Bei modernen Systemen genügt es, dazu die Funksteckdose am Netz anzuschliessen und innerhalb weniger Sekunden auf der Fernsteuerung die Einschalttaste zu drücken, bis die Steckdose einschaltet. Bei anderen Steckdosen muss man zuerst eine Paarungstaste klicken.)
Du kannst den Verbraucher nun also mit der Fernsteuerung manuell ein- und ausschalten.

 

 

FUNKSCHALTER UMBAUEN

 

Der Trick, um das Schalten computergesteuert durchzuführen, besteht darin, dass du das Sendemodul so umbaust, dass die manuelle Ein-/Ausschaltbetätigung der Tasten zwei Reedrelais übernehmen,  die vom Mikrocontroller angesteuert werden. Die Reedrelais haben gegenüber gewöhnlichen Relais den Vorteil, dass sie direkt mit einen GPIO geschaltet werden können und so klein sind, dass sie Platz im Schaltergehäuse haben.

Beschaffe dir im Elektronikhandel einige solcher Relais, die für kleine Auslösespannungen ausgelegt sind (5V oder weniger. (Bezugsquelle: Conrad www.conrad.de/.ch, Bestell-Nr. 1205899).

Das Relais hat 4 Anschlüsse: 2 für die Kontakte und 2 für die Spule. Es enthält eine Schutzdiode gegen induktive Ausschalt-Spannungsspitzen. Daher muss am Anschluss 2 der positive Pol der Schaltspannung liegen (Diode in Sperrrichtung).
 

Falls dein Schaltermodul zwei Schalthebel hat, benötigst du nur eine Seite. Öffne das Schaltermodul und finde heraus, welches die Lötpins der Ein- bzw. der Ausschalttaste sind (1).

(1) Anschluss herausfinden
(2) Schaltkontakt anlöten
(3) Kabel anlöten

Löte zuerst die Relais an diesen Lötpins an (2). (Der Relaiskontakt liegt also parallel zum  Tastenkontakt.) Löte nachher an den  Spulenanschlüssen je 2 Kabel an (3). Da sich im Innern des Relais eine Schutzdiode befindet, musst du dir die Anschlusspolarität merken. Bei diesem Relais wird Relaisanschluss 3 an der Oxocard mit GND und Relaisanschluss 2 mit dem GPIO-Anschluss IO18 bzw. IO19 verbunden. Die GND-Anschlüsse sind zusammengeführt.

Nach dem erfolgreichen Test, kannst du das Schaltermodul wieder schliessen. Zum Herausführen der Kabel bringst du mit einer Feile einen kleinen Ausschnitt am Gehäuse an.

 

 

MUSTERBEISPIELE

 

Das manuelle kurzzeitige Tippen auf den Ein- oder Ausschaltknopf ersetzt du im Programm durch ein kurzeitiges Schliessen der Reedrelais. Mit dem folgenden Programm machst du einen Test und schaltest den Verbraucher endlos während 5 Sekunden ein, und dann während 2 Sekunden wieder aus.

Programm:


Warning: include(bsp/Smart1.html): failed to open stream: No such file or directory in /usr/share/nginx/html/robotik/iot/smarthome.inc.php on line 134

Warning: include(): Failed opening 'bsp/Smart1.html' for inclusion (include_path='.:/usr/local/lib/php') in /usr/share/nginx/html/robotik/iot/smarthome.inc.php on line 134
► In Zwischenablage kopieren

 

 

MERKE DIR...

 

Ist dieser Test erfolgreich abgelaufen, so stehen dir unzählige Möglichkeiten offen, Haushaltgeräte  mikrocontrollergesteuert ein- und auszuschalten. Mit deinen Kenntnissen über Sensoren und die Datenkommunikation über das WLAN und Internet kannst das Ein-/Ausschalten durch lokale oder weit entfernte Sensordaten auslösen oder das Gerät mit einem Handy, das sich im gleichen Raum oder auch weit entfernt auf dem Internet befindet, fernsteuern.

 

 

REGELKREISE

 

Mikrocontroller-gesteuerte Systeme werden oft zur Regelung von Systemen verwendet, damit diese einen bestimmten Systemzustand einhalten, beispielsweise eine bestimmte Temperatur bei Heiz- und Kühlsystemen, einen bestimmten Füllstandes bei Reservoiren, eine bestimmte Fahrspur bei einem autonomen Fahrzeug, usw. In solchen automatisierten Systemen nimmt ein Sensor den aktuellen Wert einer bestimmten Stellgrösse auf (genannt Istwert). Der Mikrocontroller vergleicht diesen Wert mit einem Vorgabewert (genannt Sollwert): Weichen die beiden Werte voneinander ab, so aktiviert der Mikrocontroller einen Aktor, der den Istwert in Richtung des Sollwerts beeinflusst.  Schematisch wird dies als Regelkreis dargestellt, hier am Beispiel einer Raumheizung:



Mit etwas handwerklichem Geschick und Phantasie baust du ein Experiment zur Temperaturregelung auf. Hier wird eine Kartonschachtel mit einem Fön zur Heizung und einem Sensirion-Temperatursensor verwendet.

Im Programm kombinierst du das obige Ein-/Ausschaltprogramm mit der Temperaturmessung und schaltest in einer Endlosschleife den Fön ein, wenn die Temperatur zu niedrig und er noch nicht eingeschaltet ist (analog zum Ausschalten).

 

Den Schaltpegel (Sollwert) wählst du relativ hoch, damit du nicht zu lange warten musst.

Programm:

from oxocard import *
from machine import Pin
from time import sleep
from sht31 import SHT31

soll = 70
P_ON = 19            
P_OFF = 18            
pOn = Pin(P_ON, Pin.OUT)
pOff = Pin(P_OFF, Pin.OUT)

sht = SHT31()

def turnOn():
    pOn.value(1)
    sleep(0.1)
    pOn.value(0)

def turnOff():
    pOff.value(1)
    sleep(0.1)
    pOff.value(0)

isOn = False
turnOff()
while True:
    temp, humi = sht.get_temp_humi()
    ist = int(temp + 0.5)
    if ist > soll:
        color = RED
    else:
        color = BLUE
    display(ist, color)
    if ist > soll and isOn:
        isOn = False        
        turnOff()
    if ist <= soll and not isOn:
        isOn = True       
        turnOn()
► In Zwischenablage kopieren

 

 

ZUM SELBST LÖSEN

 

 

1.

Mit dem obigen Programm zur Temperaturregelung erfolgt das Ein-/Ausschalten schnell hintereinander, insbesondere wenn die Solltemperatur hoch ist. Man spricht von Reglerflattern. Um dies zu vermeiden, musst du statt einem festen Sollwert, einen Sollwertbereich zwischen einem unteren Einschaltpegel und einem oberen Ausschaltpegel festlegen. Führe diese Verbesserung durch.

2.

Auf der Oxocard, welche irgendein Gerät ein-/ausschaltet, läuft ein Accesspoint und ein Webserver. Du kannst das Gerät über das WLAN mit einem Handy ferngesteuert ein-/ausschalten.

3.

Die Oxocard, welche ein Gerät ein-/ausschaltet, erhält das Schaltkommando über einen Cloudserver, z.B. thinkspeak.com. Das Ein-/Ausschalten wird über ein Handy oder eine Oxocard vorgenommen, die sich irgendwo auf dem Internet befindet. Formuliere einige Überlegungen zur Sicherheit des Systems.

 

 

ZUSATZSTOFF: EINBAU VON RELAISMODULEN

 

Achtung: Diese Arbeiten dürfen nur unter Anleitung und Aufsicht einer Person durchgeführt werden, die professionelle Erfahrung im Umgang mit Hochspannungen hat. Das Grundprinzip besteht darin, dass durch einen sorgfältigen Aufbau jede Berührung mit der Netzspannung und die Möglichkeit eines Kurzschlusses des Hochspannungs- mit dem Niederspannungsteil ausgeschlossen ist, und zwar auch bei unsachgemässen Betrieb durch Fremdpersonen oder Kinder.

Grosse Sicherheit erreicht man durch den Einbau von Relaismodulen in geschlossene Steckdosen bzw. Steckdosen-Leisten. Es ist besonders darauf zu achten, dass die Kabel des Hochspannungsteils in keinem Fall, auch im längeren Betrieb und bei Vibrationen, mit dem Niederspannungsteil in Berührung kommen (Kabelzugentlastung, Fixieren des Relaismoduls, usw.).

Es wird hier eine einfache und billige Einbaumöglichkeit unter Verwendung einer mechanischen Zeitschaltuhr beschrieben. Geräte mit 4 Gehäuseschrauben statt Schnappverschlüssen sind besser gegen unbeabsichtigtes Öffnen geschützt. Als Relais wird das Breakout-Board von Seed verwendet, das einen Grove-Anschluss hat und ohne Treiber über das GPIO der Oxocard betrieben werden kann (siehe Kapitel Treiberschaltungen).

Vorgehen:

1.

Gehäuse öffnen und den Zeitschaltmotor und den Mikroschalter entfernen.

2.

Hochspannungskabel auf die richtige Länge zuschneiden und abisolieren. Gewöhnlich ist das Kabel zu dick, um in die Schraubklemme des Relais zu passen. Darum einen Teil der Litzen abschneiden und das Ende mit Schrumpfschlauch umhüllen.

(Alternativ können die Originalkabel durch dünnere ersetzt werden.)

3.

Die zwei Hochspannungskabel an der Schraubklemme des Relais festschrauben. Schraube gut festziehen und mit leichtem Zug kontrollieren, ob das Kabel wirklich festsitzt. Grove-Kabel einstecken. Das weisse Kabel wegschneiden.



4.

Das Grove-Kabel mit einem Kabelbinder entlasten, das Relais plazieren und das Gehäuse zuschrauben. Es benötigt etwas Kraft, da das Relais dabei festgeklemmt wird.



5.

Gerät fertiggestellt.