|
|
|
RaRoCo - Raffstore/Rolladen-Controller
|
|
Es gibt zwar mittlerweile recht günstige Zeitsteuerungen für Raffstores und Rolläden, aber die sind nicht vernetzbar - zumindest
nicht per Funk. Die funkvernetzbaren kosten Unsummen, wenn man dann noch einen Sonnenstand auswerten will oder gar eine
Windwächter-Funktion... daher der Eigenbau, der auch die schon bestehende Verkabelung für den manuellen Betrieb nutzt.
| Projektstatus: | Bauteilbeschaffung, Prototypenbau |
| Letzte Änderung Elektronik: | 16.06.2011 |
| Letzte Änderung Software: | - |
| Letzte Änderung Webseite: | 16.06.2011 |
Ach ja, der kleine Text wie immer: Die hier gemachten Angaben können Irrtümer, Fehler,
fehlende und Falschaussagen beinhalten. Der Auf- und Einbau ist nur Sachkundigen
empfohlen, Garantien für Funktion und das Ausbleiben von Sach-
und Personenschäden übernimmt der Autor nicht.
Verwendete Marken- und Produktnamen sind Eigentum der jeweiligen Markeninhaber.
|
|
Rolladen- und Raffstoreantrieb
|
|

(Innen-)Schaltbild eines manuellen geschalteten Raffstores
Ideensammlung:
- Tastenbedienung: <3s manuelles Fahren (z.B. zum Wenden des Paketes) >3s automatisches Fahren bis Endschalter
- Erkennung der Endlagen: Stromwandler (?), Auswertung der Spannung zwischen Auf/Ab Motoranschlüssen (?) oder nur
Zeitgesteuert?
- Future: Einbindung RFM12-Funkmodul für Zentralfunktionen: Zeit- und Sonnenstandsteuerung, Windwächter. Science Fiction:
Web-Interface über Pollin AVR-NET-IO-Boards
- Die Last wird klassisch über Relais geschaltet, Halbleiter sind mir bei den Motoren irgendwie suspekt
- Leistungsdaten "meiner" Motoren: P=90W, I=0,4A, U=230V, R_ohmsch=200R. Damit müsste ein Snubber zum Schutz
der Relaiskontakte mit 220R+47nF (X2) so etwa passen.
- Failsafe-Verschaltung hinsichtlich Motorbeschaltung: Controller-Ausfall darf nicht zu einer Beschädigung des
Motors führen (aber zu nicht mehr bedienbarem Raffstore). -> Ein Relais zur Drehrichtungsauswahl, eins zum Spannung
Schalten.
- Guter Hinweis: Zur Kondensatorentladung (im Motor) minimale Pause zur Drehrichtungsumkehr >= 300ms.
Also in Pseudocode: Läuft Sperrzeit? Ja, warten. Nein: Richtungsrelais setzen, Spannungsrelais setzen. Fahrwunsch vorhanden? Nein: Spannungsrelais aus, Richtungsrelais aus, Sperrzeit starten.
- Controller-Auswahl... erstmal PIC weil Equipment vorhanden (Quelle für RFM und PIC), später vielleicht AVR, da mehr RFM-Quellen. Lösung: Huckepack-Board
für den Controller
- Zum Leitungen sparen bzw. mehr Funktionen pro Leitung: Zwei Dioden am Schalter -> pos. Halbwelle = auf, neg. Halbwelle = ab. Das bedeutet, dass
man die Dioden-Stromeinstellung nur über Widerstände und nicht über Kondensator realisieren muss.
- Leiterplattenfräsungen um die Kriechstrecken zu verlängern
- Auf Stromsparen trimmen lohnt sich: allein der Aufpreis für den ECO-Trafo mit 0,5W anstelle 1,0W Leerlaufverlusten hat
sich schon nach ca. 2,5 Jahren gelohnt! Pro gesparten 10mA sekundärseitig spart man in 10 Jahren mehr als 3,50 EUR (0,01A * 12V * 1/0,61 = 0,2W 0,19W x 24h x 356d x 10a = 16,8kWh 16,23kWh x 0,215ct = 3,48 EUR)
- Den internen Watchdog des Prozessors könnte man nutzen, um den Prozessor zyklisch aus dem Sleep zu wecken-> nachsehen ob Funk-Kommando, Sonnenstandsensor auswerten.
Ansonsten bleibt der uC (ausser bei fahrendem Raffstore) immer schon im Sleep. Die Auf/Ab-Tasten werden per Wakeup-On-Change
ausgewertet.
|
|
Aufbau
|
|
Die Elektronik

Schaltplan der Steuerung für Raffstores und Rolläden (Klicken für große Version)
Herz der Steuerung ist wieder ein PIC - diesmal der 16F687 mit ADC und SPI: Der ADC wird für die Auswertung
des LDR/Sonnensensor sowie des KTY81 zur Temperaturmessung benutzt, die SPI ist für die Steuerung des RFM12-Funkmoduls notwendig.
Die Tasten Auf und Ab werden über Optokoppler eingelesen (galvanische Trennung ist zwar eigentlich nicht nötig, aber
ich bastel irgendwie immer gerne vom Netz getrennt). Der Clou: die Information Auf/Ab kann über eine Leitung übertragen
werden, indem die positiven Halbwellen "Auf" bedeuten, die negativen "Ab". Das erfordert zwar zwei Dioden in den
Tastern, spart aber ein Kabel -> man kann zwei Antriebe steuern, wo vorher nur einer möglich war. Das erfordert allerdings, dass
wir den LED-Strom der Optokoppler mit Vorwiderständen einstellen, nicht mit Kondensatoren. Das ist hinsichtlich der Verlustleistung
zwar nicht so schön, da die LEDs aber i.d.R. nicht dauerbetätigt werden keine wirkliche Verschwendung. (Bei WIMix
habe ich das auch so gelöst, funktioniert prima.)
Die beiden Relais für die Motorsteuerung werden klassisch per Transistor geschaltet, Rel1 übernimmt die Richtungsumschaltung,
Rel2 die Spannungsschaltung. Damit sind nie beide Motorwicklungen gleichzeitig schaltbar, d.h. der Motor kann auf diese
Weise nicht zerstört werden.
Der Spannungsregler L4949E ist zwar verhältnissmässig teuer, hat aber einen extrem geringen Eigenbedarf, was sich bei einer Elektronik,
die dauerhaft im Betrieb ist, schnell rechnet.Die Versorgung von Temperatursensor und LDR wird aus diesem Grunde auch nur dann aktiv,
wenn die beiden Sensoren ausgewertet werden. Auch der Reset wird von L4949 erzeugt.
Die Signale der SPI und der INT-Eingang nebst VCC und GND sind schonmal auf eine kleine Steckerleiste gelegt, so dass man einfach
ein RFM12 (oder anderes Funkmodul) nachrüsten kann - am besten direkt die
5V-Version RFM12, nicht die RFM12B-3.3V-Version!. Programmiert wird über den ICSP-Stecker -> dafür ist der Jumper in der RESET-Leitung
zu öffnen.
Stueckliste: (Bestellbezeichnungen für Reichelt)
PIC 16F687-I/P PIC Microcontroller mit ADC
FIN 40.51.9 12V 1xUM 230V 10A 220Ohm = 54mA EUR 1,60
ECO 1,5S12 ECO-Printtransformator, 1,5VA, 12V, 125mA (0,5W Leerlaufverlust)
FUNK 47N Entstörkondensator 47nF X2 230VAC
2W METALL 220 Metalloxid-Schichtwiderstand 220R 2W
4N 35 Optokoppler If 10mA
1N4007 Si-Diode (8x)
BC547B NPN-Universaltransistor Uce 45V hfe >200
ZD12 Zener-Diode 12V
L4949E Low Power Spannungsregler mit Reset und Komparator 200µA..5mA
PC 817x 4-pin Optokoppler (2x) (z.B. LTV 817)
LDR 07 LDR
KTY81-110 Temperatursensor TO-92
MPR 2,70K Präzisions-Metallfilmwiderstand 0,1%
1N 5818 Schottky-Diode 1A/30V
1W 12K Metalloxydwiderstand 1W, 5%, 12k (2x)
1/4W 10k Kohleschichtwiderstand (2x)
100uF 25V
1uF 16V
100nF Keramik
Strombilanzen:
worstcase: Relais beide angezogen, Prozessor läuft, Sonnenstand wird abgefragt, beide Optokoppler bestromt, RFM12-Modul
sendet mit voller Leistung.
RFM12 Idd_TX_PMAX 25,0 mA
Ic_Relais_Transistoren 0,6 mA
Icc_PIC 1,2 mA (16F687, HFINTOSC 4MHz)
I_opto_low 0,8 mA (internal weak Pull-up, Parameter D070)
I_sonne_low 1,0 mA
I_reg 3,0 mA (geschätzt bei 30% Last)
---------
rd. 32 mA
Relais 108 mA
---------
140 mA
Die Zwischensumme ist interessant für das Pmax des Spannungsreglers: 12V x 0,032 A = 0,39W bei 200K/W-> Tj= TU+77°C
geht wohl noch, wenn man mal annimmt, dass die Umgebung maximal 50°C warm wird. Soweit okay, allerdings liegt die Summe
mit aktiven Relais über den 125mA, die der Trafo leistet...
Lösung: Wenn beide Relais aktiv sind, kein RX/TX über das RFM-Modul, Sonnenstandsensor nur bei Abfrage über Portpin versorgen.
Software
Mini-Doku zu den wichtigsten Software-Funktionen. Grundsätzlich befindet sich der Controller im Sleep und wird
entweder
- über einen Wakeup-On-Change durch Signale von den Optokopplern an Port A (Auf/Ab-Tasten) oder
- den INT-Eingang = Service-Request des RFM12-Moduls
- den zyklischen Ablauf des WD geweckt um den Sonnenstand und Temperatur zu bestimmen.
Wenn der Antrieb wieder ausgeschaltet wird und ansonsten nichts zu tun ist, geht es wieder in den Sleep.
check_input() Optokoppler-Eingänge lesen und entprellen
main() die Hauptfunktion, Ablaufsteuerung
messen() Sonnen- und Temperatiur messung über ADC, AD-Werte werden geprueft und umgerechnet
init() Initialisierung von Hardware und Variablen
MedianFilter() 3-Tap Median-Filter
Link zum kompletten SW-Paket mit c-sourcen,make-batch, hexfile etc. folgt noch. Als Compiler habe ich - wie immer -
den cc5x von B Knudsen Data - BKND verwendet,
der für nicht kommerzielle Projekte frei ist und seit längerem auch keine 1k-Limitierung mehr hat.
Auch hier nochmal: Bitte auf die Lizenzbestimmungen dieser Seite, der Software und des Compilers achten!
Versionshistorie:
...
Links
Links zu Hintergrund-Informationen.
|
|
Einbau
|
|
Steckerbelegung:
- N Neutral (blau)
- Auf/Hoch (schwarz)
- Tief/Ab (braun)
- PE PE Schutzleiter (gelb/gruen)
...die Inbetriebnahme- und Einbaudoku folgt noch...
|
|
|
|
|
|