Porte de poulailler
La porte de poulailler revient régulièrement sur les forums, voici une réponse générique à base de picaxe 20M2
Cahier des charges: Le projet doit ouvrir et fermer une trappe en foncton de l'éclairement d'une cellule photorésistante "LDR".
Le moteur est ici un moteur à courant continu réversible, muni d'un système de démultiplication.
Deux interrupteurs fin de course, FCO (fin de course ouverture) et FCF (fin de course fermeture) délimitent le mouvement de la trappe.
La transition jour/nuit est définie par un seuil de luminosité réglé par un potentiomètre. Pour valider l'état jour ou nuit, la luminosité doit rester du même côté du seuil pendant un temps réglable (ici, de 0 à 40mn). Tout franchissement du seuil, dans un sens ou dans l'autre resette cette temposisation. Les variations aléatoires et temporaires ne sont pas prisent en compte.
Le moteur n'étant pas défini précisément, la solution d'une commande par relais 16A me semble la plus sûre, on peut la remplacer par un pont en H adapté au moteur.
Deux leds visualisent l'état du système:
Une led Jour/Nuit servira à régler le seuil de luminosité.
Une variable d'hystérésis (hyster) introduit un écart de seuil J/N. Un point d'hyster donne un écart de 0,1%
Un potar "hyster" est ajouté pour régler cette variable (modif 120717)
Une led "transition" signale l'enregistrement du franchissement du seuil et indique que le système est en phase transitoire Jour/Nuit. Si la transition est validée, la porte s'ouvre ou se ferme.
Un interrupteur à trois positions ON - OFF - ON (ou plus exactement: "ouvert - auto - fermé") pour ouvrir et fermer la porte manuellement
Le schéma: L'alimenttion est en 12v continu, les relais et le moteur aussi. Ici, le système est autonome, avec un panneau solaire, un régulateur à quelques euros et une batterie de 2 ou 5 A.h
Un polyswitch à choisir pour un basculement correspondant au courant de blocage moteur pendant env 5 secondes.
L'inter normal/éco (cavalier) supprime le mode sleep pour les réglages.
Le circuit "mesure courant moteur" est une option (câblé ou non, selon le cas).
Le code: Modif 060717: ajout d'une variable hystérésis réglable (hyster=0 donne la version précédente)
Modif 100717: remplacement readadc par readac10. Logique ouvre/ferme des relais
Modif 120717: déplacement FDC . Ajout potar hystérésis
Modif 260418: MàJ schéma ;potar hystérésis sur B.5
Modif 280418: Typon version éco
Modif 060518: Mesure courant moteur pour suppression des FDC ou détection blocage
Modif à venir: version code avec mode "sleep"
Code original pour alimentation par bloc secteur et gestion moteur par FDC
;Porte poules MM 120717
#picaxe 20M2
#no_data
symbol potarH=B.5 ;potar hystérésis
symbol potarT=C.2 ;potar tempo en C.2
symbol potarS=C.3 ;potar seuil en C.3
symbol FCO=pinC.4 ;FCO=0 ->FCO fermé-> porte ouverte
symbol FCF=pinC.5 ;FCF=0 ->FCF fermé -> porte fermée
symbol LDR=C.7 ;LDR en C.7
symbol ouvre=B.0 ;sortie ouverture
symbol ferme=B.1 ;sortie fermeture
symbol led= B.3 ;led J/N
symbol trans=B.4 ;led état transitoire
symbol ouvman=pinB.6 ;ouverture manuelle
symbol ferman=pinB.7 ;fermeture manuelle
symbol JN=bit0 ;bit J/N 1=jour ; 0=nuit
symbol valJN=bit1 ;validation JN
symbol memoJN=bit2 ;mémo JN
symbol hyster=b1 ;valeur hystérésie (0 à 255) : 10=1% env.
symbol seuilH=w10 ;seuil haut avec hystérésis
symbol lum=w13 ;valeur lumière (0 à 1023)
symbol seuil=w12 ;valeur seuil (0 à 1023)
symbol tempo=w11 ;valeur tempo (0 à 1023)
dirsB=%1011 ;B.0,B.1,B.3 en sorties
dirsC=%0
pullup %11000011000000 ;pullup sur B.6,B.7,C.4,C.5
Do
;****** lecture des réglages ***********
readadc10 LDR, lum ;lecture luminosité
readadc10 potarS,seuil ;lecture seuil J/N
readadc10 potarT,tempo ;lecture temporisation J/N
readadc potarH, hyster
tempo=24*tempo/10 ;max=24*1023/10 = 2455 s (40mn),min=0
seuilH=seuil+255 - hyster ; 255-hyster parce que le potar est à l'envers sur le typon
;****** comparateur seuil *********************
If lum >= seuilH then ;comparateur LDR éclairée=val lum forte = jour
JN=1 : high led ;on est de jour
elseif lum <seuil then
JN=0 : low led ;sinon on est de nuit
endif
;****** mémorisation franchissement du seuil **********
if memoJN<>JN then ;si changement de sens -> RAZ time
time=0
endif
memoJN=JN ;memo JN
;******* validation état après temporisation *************
if time>tempo then ;si JN stable pendant un temps tempo (0 à 40 mn)
valJN=JN ;validation de JN dans valJN
time=tempo*2 ;limitation compteur time < 65535
low trans ;extinction led trans
else high trans ;allumage led trans
endif
;********* ouverture / fermeture manuelle *************
if ouvman=0 then ;ouverture manuelle force valJN=1
valJN=1
elseif ferman=0 then ;fermeture manuelle force valJN=0
valJN=0
endif
;******* mouvement de la trappe en ft valJN et FDC **************
If valJN=1 and FCO=1 then ;de jour et porte non ouverte
low ferme
high ouvre
elseif valJN=0 and FCF=1 then ;de nuit et porte non fermée
low ouvre
high ferme
elseif FCF=0 OR FCO=0 then ;Fermé ou ouvert, on arrête le moteur
low ferme
low ouvre
endif
loop Autres versions de code:
Mode éco et gestion porte par FDC:
Code version éco pour alimentation par batterie et panneaux solaires Réalisation:
Après essais, la version éco plus avec alimentation du pont pour la mesure (gain max 230µA de jour) est abandonnée
Téléchargement dernière version toutes options :
Typon porte poules Des idées (enfin, les miennes...) sur la
fabrication de la porte Liste des composants à souder:
1 x support DIL20 (pour le picaxe) :https://www.gotronic.fr/art-support-lyre-sup20l-4599.htm
1 x picaxe 20M2 : https://www.gotronic.fr/art-microcontroleur-picaxe-20m2-17192.htm
2x BC337 :https://www.gotronic.fr/art-transistor-bc337-40-1323.htm
1 x LM7805 :https://www.gotronic.fr/art-l7805cv-1578.htm
3 x 1N4007 :https://www.gotronic.fr/art-1n4007-107.htm
2 x leds (R et V) :https://www.gotronic.fr/art-led-5mm-rouge-l51hd-2069.htm
3 x ajustables 10k :https://www.gotronic.fr/art-ajustable-horizontal-10k-8486-117.htm
2 x relais 16 A(ou 2x8): :https://www.gotronic.fr/art-relais-omron-g2rl1e-24-22862.htm
1 x condo 470µF 25V :https://www.gotronic.fr/art-condensateur-radial-470uf-25v-11352.htm
1 x condo 100µF 25V :https://www.gotronic.fr/art-condensateur-radial-100uf-25v-11348.htm
1 x condo 1µF 63v :https://www.gotronic.fr/art-condensateur-radial-1-0uf-63v-11341.htm
2 x condo céramique 100nF :https://www.gotronic.fr/art-condensateur-multicouches-100-nf-3222.htm
Résistances : 390 ; 1k ; 10k ; 22k :https://www.gotronic.fr/cat-resistances-carbone-1-4-w-266.htm
Résistance 1ohm 1W :https://www.gotronic.fr/art-resistance-carbone-1w-1-0-8486-2713.htm
1 x barrette HE14 MH100 :https://www.gotronic.fr/art-connecteur-he14-mh100-4457.htm
2 x borniers 3 plots :https://www.gotronic.fr/art-bornier-sc03-4536.htm
3 x borniers 2 plots :https://www.gotronic.fr/art-bornier-sc02-4535.htm
1 x polyswitch (ft du moteur) :https://www.gotronic.fr/art-polyswitch-rxef075-5821.htm
1 x inverseur manuel :https://www.gotronic.fr/art-inverseur-unipolaire-tum5-4171.htm
1 x inter eco/normal :https://www.gotronic.fr/art-inverseur-unipolaire-tu5-4170.htm
1 x LDR :https://www.gotronic.fr/art-photoresistance-ldr04-2150.htm
1 x inter on/off/on :https://www.gotronic.fr/art-inverseur-unipolaire-8014-4173.htm
2 x fin de course :https://www.gotronic.fr/art-microrupteur-ms12r-71.htm
polyswitch (ft moteur) Ex: https://www.gotronic.fr/art-polyswitch-rxef050-5820.htm
Ex
panneau solaire un autre il y en a deux comme celui ci pour essai
régulateur avec afficheur LCD, probablement plus lisible que celui utilisé pour les essais