Control
d'una casa domòtica
|
Descripció
i característiques del projecte
|
|
Data: Juliol 2002 |
|
RESUM DEL PROJECTE
APLICAT AMB EL SADEX
|
|
Autors:
|
Esteve Corominas
IES
Castelló d'Empúries
|
Sílvia Zurita
IES Domènec Perramon
|
Data: 12/7/2002
|
Nivell/cicle/crèdit:
|
|
Temps aprox.:
|
|
Objectiu del projecte |
|
-
Escriure els programes de control
necessaris per a fer funcionar diversos aspectes d'una maqueta d'una casa
domòtica. És un projecte lligat als treballs de recerca que
es preveu realitzar els curs vinent en els nostres centres
|
|
Requeriments |
|
-
El control es durà a
terme mitjançant l'equipament sadex disponible en els centres de
secundària. Es durà a terme el muntatge de tot l'equipament,
però el funcionament del control no el podrem fer sobre la maqueta
a que aniria lligat, perquè aquesta encara no està feta.
Es podrà apreciar
si funciona correctament pels LEDs d'activitat de les diferents entrades
i sortides, i per la connexió a les sortides d'elements (motors,
LED, bombetes...) que serien els que anirien muntats sobre la maqueta
|
|
|
Material i equipament |
|
-
El material que hem fet servir
per simular el control és únicament:
-
L'equipament Sadex de que disposen
tots els centres. Hem fet servir els següents mòduls:
-
Temperatura (dos mòduls
i dos sondes), visualitzadors, luxòmetre, higròmetre, mòdul
de motors, mòdul de relés, mòdul dentrades i mòdul
de sortides digitals.
-
Un ordinador
-
A més, per simular els
diferents actuadors que intervindran a la casa, també hem utilitzat:
-
Un motor per a les persianes
-
I seria lògic fer servir
també (nosaltres no les tenim aquí al curs)
-
Una electrovàlvula pel
reg
-
Finals de cursa per a les persianes
-
Un interruptor general
-
Dues resistències elèctriques
per als calefactors
-
Tres motors per als ventiladors.
Si la potència consumida per aquests actuadors fos superior a la
subministrada per les sortides digitals, caldria acoblar-hi el corresponent
circuit de relés.
-
Una làmpada per a la
il·luminació exterior
|
|
Descripció del
projecte i funcionament |
|
Volem controlar quatre aspectes
diferents de la casa. Per a cada aspecte farem diferents propostes amb
un grau de dificultat creixent.
-
Temperatura
Controlarem la temperatura
de la casa amb elements calefactors quan faci massa fred i un ventilador
quan faci calor:
Projecte T1:
Hi ha un sol calefactor
i un sol ventilador
-
Si la temperatura baixa de 18
º C, s'han d'engegar el calefactor, i si puja de 18 s'ha d'apagar
-
Si la temperatura puja de 28
graus engegar el ventilador, i en cas contrari apagar-lo
Aquesta mena de control
té el problema que, quan la temperatura sigui propera als dos valors
escollits com a frontera, els actuadors estaran apagant-se i engegant-se
amb una freqüència excessiva.
Projecte T2:
Hi ha un sol calefactor
i un sol ventilador
Seria idèntic al
T1, però tenint en compte de deixar una zona morta, per evitar el
problema comentat
-
Si la temperatura baixa de 17,5,
engegarem els calefactors
-
Si la temperatura puja de 18,4,
els apagarem
-
Si la temperatura puja de 28,5,
engegarem els ventiladors
-
Si la temperatura és
inferior a 27,5, atura els ventiladors
Projecte T3:
Hi han 3 calefactors i 3
ventiladors
Per poder fer un control
més acurat, posarem diversos calefactors i ventiladors que es poder
anar activant per separat
-
A partir del 27º
C, engegarem el primer ventilador
-
A partir de 30ª C, engegar
el segon ventilador
-
A partir de 33ª C, activar
el tercer ventilador.
Per evitar els problemes
d'engegada i apagada massa freqüent, deixaren el mateix interval
de 1 º C entre les temperatures d'activació i desactivació
de la sortida corresponent que havíem proposat a T2
-
Control de la il·luminació
Comprovarem, amb un sensor
de lluminositat exterior, si és de dia o de nit
-
Quan la lluminositat exterior
sigui menor de 10 lux, s'hauran d'encendre els llums exteriors i baixar
les persianes de la casa
-
Quan la lluminositat sigui superior
a 10 lux, els llums exteriors han d'estar apagats, i les persianes pujades
-
Control del reg.
Volem automatitzar el reg.
exterior del jardí. Aquest aspecte és més complicat
de decidir, perquè hi han més variables i no és tan
clar quan s'ha de regar.
Hem decidit tenir en compte
tres variables:
-
La humitat de l'aire (si tinguéssim
un sensor d'humitat del terra seria més adient fer servir aquest).
Per sota d'un cert valor (55% en el nostre cas), es pot produir el reg.
si es compleixen les altres dues condicions
-
La temperatura. Volem evitar
que regui quan fa un fred excessiu, i per això demanarem que el
valor de la temperatura sigui superior a 5 º C
-
La lluminositat. Per evitar
que regui quan fa massa sol, és preferible que regui a les nits.
Per això demanarem com a tercera condició que la lluminositat
sigui inferior a 10 lux.
-
Control de la posició
de la casa
Es podria dissenyar el sistema
per què la casa seguís el recorregut de la llum del Sol.
Hi han diverses possibilitats, que enumerem de més a menys difícil:
-
Fer un programa automàtic,
que comenci encarat a l'est i acabi a l'oest en 12 hores, i desfaci el
mateix camí en les 12 hores següents.
-
Distingir entre tres programes,
que variïn aquest llargada de 12 hores en funció de l'estació
de l'any: Un per l'època de l'any en que el dia és més
llarg que la nit (mitja primavera i mig estiu), un per el cas contrari
(mitja tardor i mig hivern, i un per la resta de períodes, en que
la durada de dia i nit és aproximadament igual
-
Tenir en compte el moment d'arrencada
del sistema, i assegurar-se que primer la casa es col·loqués
en la posició inicial, i comencés a girar quan surt el Sol.
|
|
Entrades/sortides (mòduls
utilitzats, vies...) |
|
Tenim els mòduls
col·locats a les següents posicions:
-
A: Temperatura (interna de la
casa)
-
B: Control de motors
-
C: Mòdul de relés
-
D: Entrades digitals
-
E: Temperatura (exterior a la
casa)
-
F: Luxòmetre
-
G: Humitat relativa de l'aire
-
H: Sortides digitals
|
|
-
L'esquema correspondria al de
la Figura 1. La col·locació dels mòduls de mesura
a la part superior permet acoblar els visualitzadors, de manera que és
més fàcil el seguiment dels diversos processos.
-
La distribució de les
entrades i sortides en els diferents mòduls és la següent:
-
Mòdul de motors:
-
B 1: Motor de persianes
-
B 2: Lliure
-
Mòdul de relés:
-
C 1: Encén el calefactor
1
-
C 2: Encès el calefactor
2
-
Mòdul d'entrades digitals:
-
D 1: Interruptor general
-
D 2: Final de cursa de les persianes
quan estan del tot pujades
-
D 3: Final de cursa de les persianes
quan estan del tot baixades
-
Mòdul de sortides digitals:
-
H 1: Posada en marxa del ventilador
1
-
H 2: Posada en marxa del ventilador
2
-
H 3: Posada en marxa del ventilador
3
-
H 4: Il·luminació
exterior
-
H 5: Posada en marxa de l'electrovàlvula
que obre el reg.
|
|
|
Esquemes / dibuixos /
fotos |
|
|
|
|
|
Llista del programa de
control |
|
proc engega
si estat.entrada?
"d 1="ver [temper3 lluminositat reg.] [p]
si tecleig="ver [p
acaba]
engega
fi
proc temper2
posa.a "temp termòmetre.llegit
"a
si :temp<17.5 [activa.sortida
"c 1]
si :temp>18.5 [desactiva.sortida
"c 1]
si :temp>28.5 [activa.sortida
"h 1]
si :temp<27.5 [desactiva.sortida
"h 1]
fi
proc temper3
posa.a "temp termòmetre.llegit
"a
si :temp<17.5 [activa.sortida
"c 1]
si :temp>18.5 [desactiva.sortida
"c 1]
si :temp<14.5 [activa.sortida
"c 2]
si :temp>15.5 [desactiva.sortida
"c 2]
si :temp>27.5 [activa.sortida
"h 1]
si :temp<26.5 [desactiva.sortida
"h 1]
si :temp>30.5 [activa.sortida
"h 2]
si :temp<29.5 [desactiva.sortida
"h 2]
si :temp>33.5 [activa.sortida
"h 3]
si :temp<32.5 [desactiva.sortida
"h 3]
fi
proc lluminositat
posa.a "llum luxòmetre.llegit
"f
si :llum>10 [desactiva.sortida
"h 4 pujapersiana ] [activa.sortida "h 4 baixapersiana]
fi
proc pujapersiana
mentre [estat.entrada?
"d 2="fals] [dreta.motor "b 1]
atura.motor "b 1
fi
proc baixapersiana
mentre [estat.entrada?
"d 3="fals] [esquerra.motor "b 1]
atura.motor "b 1
fi
proc reg.
posa.a "hum higròmetre.llegit
"g
posa.a "temp termòmetre.llegit
"e
posa.a "llum luxòmetre.llegit
"f
si (veres.totes :hum<55
:temp>5 :llum<10) [activa.sortida "h 5] [desactiva.sortida "h
5]
fi
|
|
Possibles millores |
|
-
Hi han molts petits detalls
del control que es poden millorar o fer més detallats. N’enumerem
a continuació alguns d'ells:
-
Es pot millorar la capacitat
de controlar el sistema per part de l'usuari. Això implicaria posar
un interruptor individual per a cadascun dels mòduls de control
(llum, reg. i temperatura), a més de l'interruptor general que ja
tenim. D'aquesta manera, es podria aturar un dels mòduls sense que
per això quedés afectat el comportament dels altres.
-
Es podria fer que les ordres
d'engegada i aturada, tant general com dels mòduls en particular,
es donessin des del teclat de l'ordinador.
-
Es podria incloure el sistema
de fer girar la casa seguin el Sol, tot i que s'hauria de concretar quins
dels possibles sistemes es vol implementar
-
Es podria incloure un sistema
de seguretat amb detectors de diversos tipus (fotoelèctrics, de
so, infrarojos...) connectats a les entrades digitals i que activessin
una alarma
-
Es podria establir circuits
de control manual per a les persianes, de manera que també es poguessin
pujar i baixar quan l'usuari ho decideixi, i no només en funció
de la llum exterior. La possibilitat d'escollir entre el control automàtic
o aquesta modalitat manual es podria escollir a l'inici del programa.
-
Es podria fer que la quantitat
d'aigua utilitzada en el reg. (el temps de regada, de fet) depengués
de la temperatura exterior, per permetre regades més abundants a
l'estiu que a l'hivern
|
Valoracions |
|
-
La realització d'un programa
de control sense una maqueta real sobre la que aplicar-lo és una
mica menys visual, no veus realment allò que estàs controlant,
i de cara a treballar amb alumnes potser no és massa recomanable.
-
Per una altra banda, la comprovació
de que el programa realment funciona es pot fer perfectament amb el LEDs
i indicadors de l'equipament. Si haguéssim disposat d'un maqueta
tan complexa com la que preteníem controlar amb aquest programa,
probablement ens hauríem trobat amb molts més problemes mecànics
de funcionament a l'hora de treballar-hi. A més, el temps que cal
invertir per construir una maqueta d'aquest estil (que de fet està
pensat realitzar dins un treball de recerca) és molt gran.
-
Si s'han de fer programes d'aquest
estil amb els alumnes convindria tenir ja el sistema construït
-
Pel que fa a la dificultat del
control en si, la complexitat d'aquest exemple rau en la gran quantitat
d'elements a controlar, no en la complexitat de cada cas en concret. Malgrat
això, es poden fer sistemes complexes si s'introdueixen algunes
de les millores que hem suggerit abans, que en algun cas poden arribar
a ser bastant complicades.
|
Annex final |
|
-
Millora del programa realitzada
el darrer dia
-
Hem introduït la possibilitat
de fer servir el control manual.
-
Les tecles que activen i desactiven
els diferents components són les següents:
Engegar ventilador 1: v
Apagar ventilador 1: r
Engegar ventilador 2: w
Apagar ventilador 2: s
Engegar ventilador 3: x
Apagar ventilador 3: t
Engegar calefactor 1: c
Apagar calefactor 1: b
Engegar calefactor 2: d
Apagar calefactor 2: e
Pujar persianes: p
Baixar persianes: q
Encendre llum exterior:
l
Apagar llum exterior: n
Engegar reg: h
Apagar reg: j
Tornar a escollir control
quan està en manual: i
Aturar el programa quan
està en manual: f
-
Llistat del programa
proc inici
escriu [prem "a" per
a control automàtic i "m" per a control manual]
posa.a "tecla caràcter.llegit
si :tecla="a [engega]
si :tecla="m [manual]
fi
proc engega
si estat.entrada?
"d 1="ver [temper3 lluminositat reg] [p]
engega
fi
proc manual
si estat.entrada?
"d 1="ver [mtemper mllum mhum] [p]
posa.a "tecla caràcter.llegit
si :tecla="i [inici]
si :tecla="f [p acaba]
manual
fi
proc mtemper
posa.a "tecla caràcter.llegit
si :tecla="v [activa.sortida
"h 1]
si :tecla="w [activa.sortida
"h 2]
si :tecla="x [activa.sortida
"h 3]
si :tecla="r [desactiva.sortida
"h 1]
si :tecla="s [desactiva.sortida
"h 2]
si :tecla="t [desactiva.sortida
"h 3]
si :tecla="c [activa.sortida
"c 1]
si :tecla="d [activa.sortida
"c 2]
si :tecla="b [desactiva.sortida
"c 1]
si :tecla="e [desactiva.sortida
"c 2]
fi
proc mllum
posa.a "tecla caràcter.llegit
si :tecla="l [activa.sortida
"h 4]
si :tecla="n [desactiva.sortida
"h 4]
si :tecla="p [pujapersiana]
si :tecla="q [baixapersiana]
fi
proc mhum
posa.a "tecla caràcter.llegit
si :tecla="h [activa.sortida
"h 5]
si :tecla="j [desactiva.sortida
"h 5]
fi
proc temper2
posa.a "temp termòmetre.llegit
"a
si :temp<17.5 [activa.sortida
"c 1]
si :temp>18.5 [desactiva.sortida
"c 1]
si :temp>28.5 [activa.sortida
"h 1]
si :temp<27.5 [desactiva.sortida
"h 1]
fi
proc temper3
posa.a "temp termòmetre.llegit
"a
si :temp<17.5 [activa.sortida
"c 1]
si :temp>18.5 [desactiva.sortida
"c 1]
si :temp<14.5 [activa.sortida
"c 2]
si :temp>15.5 [desactiva.sortida
"c 2]
si :temp>27.5 [activa.sortida
"h 1]
si :temp<26.5 [desactiva.sortida
"h 1]
si :temp>30.5 [activa.sortida
"h 2]
si :temp<29.5 [desactiva.sortida
"h 2]
si :temp>33.5 [activa.sortida
"h 3]
si :temp<32.5 [desactiva.sortida
"h 3]
fi
proc lluminositat
posa.a "llum luxòmetre.llegit
"f
si :llum>10 [desactiva.sortida
"h 4 pujapersiana ] [activa.sortida "h 4 baixapersiana]
fi
proc pujapersiana
mentre [estat.entrada?
"d 2="fals] [dreta.motor "b 1]
atura.motor "b 1
fi
proc baixapersiana
mentre [estat.entrada?
"d 3="fals] [esquerra.motor "b 1]
atura.motor "b 1
fi
proc reg
posa.a "hum higròmetre.llegit
"g
posa.a "temp termòmetre.llegit
"e
posa.a "llum luxòmetre.llegit
"f
si (veres.totes :hum<55
:temp>5 :llum<10) [activa.sortida "h 5] [desactiva.sortida "h
5]
fi
|
|
per
tornar a :
|
Índex
de treballs
|
|
|
|
|
|