Ouverture / fermeture automatique d'un poulailler

Poulailler automatique Introduction
Comme chacun le sait, les poules sont une proie facile pour les renards et les fouines qui visitent les poulaillers la nuit lorsque ceux-ci leur sont accessibles.
Cela arrive aussi parfois en pleine journée et concerne autant les lieux isolés que le coeur des  agglomérations.
Plusieurs moyens de défense existent, comme par exemple les enclos totalement grillagés, les clôtures électrifiées ou les systèmes d'ouverture/fermeture automatiques des poulaillers. C'est cette dernière méthode qui constitue le sujet du présent article, mais contrairement à une accessibilité basée sur une horloge, ici c'est la lumière du jour qui va conditionner l'ouverture et la fermeture d'un volet motorisé. On peut alors parler plus exactement de fermeture crépusculaire d'un poulailler. Cela ne fonctionne donc pas si le goupil vient pour casser la croute à midi !

Description
    

 
Les illustrations montrent comme exemple l'entraînement d'un volet par un vérin électrique 24V= mais le mouvement linéaire peut aussi être accompli par l'enroulement d'un câble sur un tambour et l'utilisation d'un motoréducteur. Il faut alors prévoir des fins-de-courses sur le déplacement du volet.


Schémas électroniques
Deux systèmes ou types de mises oeuvre électronique sont proposés, analogique (à l'ancienne) d'une part  et numérique d'autre part.
Dans tous les cas, il s'agit de comparer la mesure de la lumière ambiante (LDR) avec une consigne représentant le seuil de basculement entre l'ouverture et la fermeture du volet. Selon les cas, la séparation des seuils d'ouverture et de fermeture entraine un cycle d'hytérésis plus ou moins marqué.
Il faut veiller à ne pas orienter la cellule photosensible LDR vers le ciel car elle doit être insensible au clair de lune !
 
Le premier montage utilise un quadruple amplificateur opérationnel dans un circuit intégré à 14 broches, le LM3900.
Un "forçage", c'est-à-dire une commande manuelle d'ouverture et de fermeture, est inclus et peut s'avérer utile lors de la mise au point du système ou pour enfermer de nouvelles poules le temps qu'elles s'habituent à leur nouvelle résidence... Cette commande est réalisée par un interrupteur à 3 positions.
Le petit encadré référencé "optionnel" montre comment raccorder les fins-de-courses externes et les diodes, s'ils ne sont pas inclus dans le vérin électrique. 
  poulailler automatique


Les deux montages qui suivent ont été réalisés autour de microcontrôleurs de type PICAXE. Leurs petits programmes ci-joints ont donc été écrits en Basic.
interrupteur crépusculaire

porte crépusculaire

Le dernier schéma fait appel à un module de mesure de courant. Il permet de détecter si le volet est arrivé en fin de course ou s'il a été entravé dans son mouvement, en cas de gel important par exemple. L'intensité du courant du moteur est alors plus élevée que pendant le déplacement régulier du volet.
Il est donc primordial d'arrêter mécaniquement le moteur par des butées dès que le volet atteint l'une ou l'autre de ses positions extrêmes.
On peut parler en quelque sorte de "fins-de-courses virtuels". On rencontre ce système de détection en automobile sur les vitres électriques. Cela permet également d'éviter des blessures par écrasement.
Le pont en H, quant à lui commande le moteur dans les 2 sens de rotation, en se substituant au relais présent sur les schémas précédents.
Les signaux CW (clockwise) et CCW (counter-clockwise) commandent respectivement le fonctionnement en sens horlogique et inversement.
Notez que les glissières doivent être graissées au moins une fois par année.
 

Lignes de code en Basic

Cas du PICAXE 08M2 :

symbol Flag_UP=bit0
symbol Flag_Down=bit1
symbol Light_Measure=b2
symbol Seuil=b3
symbol Seuil_Haut=b4
symbol Seuil_Bas=b5

let dirsC=0011        ; configure les entrées/sorties

main:

  readadc 2,Light_Measure
  readadc 4,Seuil
  Seuil_Haut=Seuil+10 MAX 255
  Seuil_Bas=Seuil-10 MIN 0
 
  if Light_Measure < Seuil and Flag_UP=1 then
      Flag_UP=0
  endif
 
  if Light_Measure > Seuil and Flag_Down=1 then
      Flag_Down=0
  endif
 
  if Light_Measure > Seuil_Haut and Flag_UP=0 then
      Flag_UP=1   
      high 1                 ; Ouvrir le volet  (matin)
  endif
 
  if Light_Measure < Seuil_Bas and Flag_Down=0 then
    Flag_Down=1
    low 1                    ; Fermer le volet  (soir)
  endif
 
goto main 


Cas du PICAXE 14M2 :

symbol Flag_UP=bit0
symbol Flag_Down=bit1
symbol Current_Measure=b1  ; Simulation d'un Fdc atteint
symbol Light_Measure=b2
symbol Seuil=b3                     ; Seuil moyen de basculement "jour/nuit"
symbol Seuil_Haut=b4            ; pour l'ouverture du clapet
symbol Seuil_Bas=b5              ; pour la fermeture du clapet
symbol Imax=100                    ; courant maximum dépendant du moteur

let dirsB=0111           ; configure les I/O du Port B
let dirsC=%011011           ; configure les I/O du Port C

main:
 
  readadc B.3,Light_Measure
  readadc B.4,Seuil
 
  Seuil_Haut=Seuil+10 MAX 255    ; Hystérésis du seuil de basculement
  Seuil_Bas=Seuil-10 MIN 0           ; Hystérésis du seuil de basculement
 
  if Light_Measure < Seuil and Flag_UP=1 then
      Flag_UP=0
  endif
 
  if Light_Measure > Seuil and Flag_Down=1 then
      Flag_Down=0
  endif
 
  if Light_Measure > Seuil_Haut and Flag_UP=0 then
      Flag_UP=1
      low C.1            ; Reset CCW   
      high C.0           ; Sens CW pour ouvrir le clapet (matin)
      gosub Current_Stop
  endif
 
  if Light_Measure < Seuil_Bas and Flag_Down=0 then
    Flag_Down=1
    low C.0                ; Reset CW   
    for bptr= 1 to 5    ; 5x Bip avant de fermer le clapet
      high C.4: pause 500: low C.4: pause 500
    next bptr   
    high C.1              ; Sens CCW pour fermer le clapet (soir)
    gosub Current_Stop
  endif
 
goto main 

Current_Stop:
do
  readadc B.5,Current_Measure
loop until Current_Measure > Imax    ; Simulation Fdc atteint
low C.0    ; Reset CW
low C.1    ; Reset CCW
return


Mille excuses pour le mélange français-anglais...


Aucun commentaire:

Enregistrer un commentaire

Les commentaires constructifs sont les bienvenus.
Contact par mail via mon profil dans la colonne de droite.