automatisation de la direction de l’eau
DESCRIPTION
Automatisation de la direction de l’eau. Capteur en sortie de vanne. +. Alim. Capteur dans la piscine. -. 230V. 230V. Capteur dans le tuyau. Servomoteur commandant la vanne. Etude du PROBLEME. Température Tuyau > Température Piscine. Chauffer. Refroidir. Garder la position. - PowerPoint PPT PresentationTRANSCRIPT
AUTOMATISATION DE LA DIRECTION DE L’EAUCapteur en sortie de vanne
Capteur dans la piscine
Servomoteur commandant la vanne
Alim
+
-
230V230V
Capteur dans
le tuyau
ETUDE DU PROBLEME Température Tuyau > Température Piscine
Chauffer Refroidir Garder la position
ORGANISATION DU PROGRAMMELire température:Piscine et Tuyau
Sortie < Température miniOui
1) Chauffer l’eau : Ouvrir
vanne
non
Sortie > Température max
2) Refroidir l’eau:
Fermer la vanne
Oui
3) Garder la position:
Stopper le moteur
non
Tuyau > Piscinenon
Oui
2) Refroidir l’eau:
Fermer la vanne
DESCRIPTION DU PROGRAMME Travail du convertisseur:sortie=(*adr1)*2
;piscine=(*adr2)*2;tuyau=(*adr3)*2;
if(sortie<tmin+ecartMin){
ecartMin=2;*portb = 0b00000001;ecartMax=0;
}
tmin=30;tmax=32;28 29^30 31^32 33^34 35^36
280 290^300 310^320 330^340 350^360
30°C 32°C 34°C 36°CConversion (°C):
Réel (°C):Réel (mV):
Condition 1 : Ouvrir vanne (chauffer)
S’active quand sortie est inférieur à 30 (<=28)
Continue jusqu’à ce que sortie atteigne 31
if(sortie>tmax-ecartMax){
ecartMax=2;*portb = 0b00000010;ecartMin=0;
}
Condition 2 : Fermer vanne (refroidir)
S’active quand sortie est supérieur à 32 (>=33)
Continue jusqu’à ce que sortie atteigne 30
DESCRIPTION DU PROGRAMME Travail du convertisseur:sortie=(*adr1)
*2;piscine=(*adr2)*2;
tmin=30;tmax=32;28 29^30 31^32 33^34 35^36
280 290^300 310^320 330^340 350^360
30°C 32°C 34°C 36°CConversion (°C):
Réel (°C):Réel (mV):
else{
ecartMax= 0;ecartMin=0;*portb = 0b00000000;
}
Sinon : On laisse le réglage obtenu avant
On n’alimente plus le servomoteurSi les deux conditions ne sont pas valides
DESCRIPTION DU PROGRAMME Travail du convertisseur:sortie=(*adr1)
*2;piscine=(*adr2)*2;
tmin=30;tmax=32;28 29^30 31^32 33^34 35^36
280 290^300 310^320 330^340 350^360
30°C 32°C 34°C 36°CConversion (°C):
Réel (°C):Réel (mV):
PROGRAMME FINAL#include Regis.h
char *portb,*adr1,*adr2, *adr3;char *option,*adctl;int z, y, x, tuyau, sortie, piscine, tmin, tmax, ecartMin, ecartMax;
void main(){option=OPTION;adctl=ADCTL;portb=PORTB;adr1=ADR1;adr2=ADR2;adr3=ADR3;ecartMin=0;ecartMax=0;tmin=30;tmax=32;
while(1){
*option=0b10000000;*adctl=0b00010000;while( *adctl == 0b00010000){
z = *adr1;sortie = z * 2;y = *adr2;piscine = y * 2;x=*adr3;tuyau=x*2;
}
if(tuyau > piscine) {if(sortie < tmin+ecartMin){
ecartMin = 2;*portb = 0b00000001;ecartMax = 0;
}else if(sortie > tmax-ecartMax){
ecartMax =2;*portb = 0b00000010;ecartMin = 0;
}else{
ecartMax = 0;ecartMin =0;*portb = 0b00000000;
}}}}
Déclaration de la base de registre, déclaration et initialisation des variables.
Lecture et conversion des données envoyées par les capteurs de température
Conditions qui commandent le servomoteur de la vanne