Porte automatique pour poulailler

Bonjour,
Je ne suis pas d'accord : c'est parce que j'avais un problème de fiabilité de contacts fin de course que j'ai opté pour l'arrêt sur contrôle du courant moteur.

J'ai d'abord inséré une résistance en série avec le moteur pour ne pas guillotiner une poule coincée et protéger le moteur en cas de défaut de fin de course. Réglé pour obtenir juste la puissance nécessaire à l'ouverture de la porte.

J'avais dans un premier temps fait une détection sur un seuil de courant correspondant au courant de blocage, mais ce n'était pas non plus fiable à cause de la grande variation de la résistance de contact des balais sur le collecteur moteur.

La solution a été de prendre en compte le fait que le courant ne varie plus quand le moteur est bloqué avec cet extrait de programme :

unsigned long debut_blocage; // début du blocage
int delai_blocage = 100;
int mem_courant; // courant moteur au début du blocage
....

 case 1 : // surveillance courant moteur 
      courant_moteur = analogRead(pinmoteur);
      if (courant_moteur != mem_courant) { // normal
        // sauve le courant moteur et debute le comptage
        mem_courant = courant_moteur;
        debut_blocage = millis();
      }
      // arret moteur si courant moteur invariable depuis delai_blocage
      if (courant_moteur == mem_courant) { // bloqué
        if ((millis() - debut_blocage) > delai_blocage) {
          // bloqué et délai dépassé
          stop();
        }
      }; break;

Ça économise les contacts, leurs taquets de fin course et leur câblage.
Il aurait été possible facilement de faire comme une logique de réouverture de porte comme dans les ascenseurs.

Bonjour,

achess:
Ça économise les contacts, leurs taquets de fin course et leur câblage.
Il aurait été possible facilement de faire comme une logique de réouverture de porte comme dans les ascenseurs.

Toutes les solutions sont bonnes mais quid de la sécurité ?

Bonjour,
Vous êtes dans un raisonnement de process industriel, moi dans l'efficacité et la simplicité de fabrication DIY et puis il s'agit de poules, pas de VIP :wink:

Pour la détection de blocage, une simple résistance suffit. Et puis le risque de blocage peut se gérer facilement, sachant que la durée normale d'ouverture et de fermeture sont connues. Ce n'est jamais arrivé sur mon bricolage en 2 ans et demi de fonctionnement, sinon j'aurais pu ajouter un signal d'alarme et des détecteurs optiques ou à effet hall.

Si on gère avec un servo-moteur, la question des fins de course est réglée et même plus besoin d'électronique de puissance :wink:

Oui on peut récupérer l'info de la position sur le potentiomètre du servo.
Et pour la coupure d'alimentation en fin de course, j'avais fait un test avec un mosfet N et comme le servo se trouve en roue-libre, une astuce pour que la porte ne puisse pas s'ouvrir.
Un contrepoids parce que ce servo était un 3Kg/cm.

test

Bonjour Etibou,

Je pense qu'il y avait plus simple à faire et moins cher ....

Déjà ton système de guidage de ta porte en bois, n'oublie pas qu'en hiver avec le froit et l'humidity, le bois va gonfler et donc un risque ed voir ta porte coincé dans le raille de guidage .... passe plutot sur un profilé '' U '' en alu pour limiter le coincement .

Pour ta motorisation , un simple moteur de ballet d'essuis glace trouver à la casse voiture t'évite de jouer avec un contre poids et ce type de moteur à du couple !!!! ainsi tu usines un petit tambour dans le quel viendra une simple sangle qu'on trouve à 2€ dans une surface de bricolage. Tu places ce moteur au dessus et milieu de la porte . Un éventuelle poids au bas de la porte pour bien faire descendre celle-ci si elle devait légèrement coincé ( gonflement à cause de l'eau, humidité ).

Pour la partie électrique

  • 2 relais avec deux swuitches fin de course haut + bas
  • 1 interrupteur pour ouverture / fermeture / stop intermédiaire coté poupoule
  • 1 arduino
  • 1 RTC DS1302 ( calandrier avec timer inclus ) Arduino à un kit pour cela .
  • 1 LDR
  • 1 mini kit HF + boite + 1interrupteur + lcd Arduino ( voir sur Banggood , aliexpress , ... ) coté maison

Tu communiques ainsi à distance et tu fais ce que tu veux depuis chez toi

Energie : il existe des mini batteries avec système rechargeable à la lumière du jour pour quelques euros ... histoire d'avoir toujours du courant coté poupoule .... :slight_smile:

Ceci est mon point de vue bien sur . Estimation du projet +/- 50€

bonjour, je débute en Arduino et je voudrais quelques avis et conseille.
j ai un poulailler et cela fait 2 fois qu' une martre me tu 1 poule, c est pour cela que je veut mettre une porte automatique qui s 'ouvre le jour et ce ferme la nuit.
je suis bricoleur mais alors pas du tous informaticien.
donc j ai réalisé ma porte ( guillotine ) avec capteur fin de course et un moteur de vieille perceuse 12 v ( contrôle avec pince ampèremétrique 2A).
maintenant je m 'attelle a la commande de la porte .après recherche je vais commander
Arduino uno
shield moteur r3 pour le moteur alimentation extérieur 12 v
ldr
jusque la ok mais ou ça ce complique c est la programmation et le branchement de la ldr.
après recherche la ldr doit être brancher entre 5v et A0
1er question :
puis je brancher la ldr sur le shield entre 5v et A0.
pour la programmation j ' ai pris quelques livre a la médiathèque, mais pas facile .
puis je avoir votre avis sur ce que je viens de dire .
merci d avance pour vos conseilles

Un commencement :
https://wiki.mchobby.be/index.php?title=Photo-résistance

merci pour la réponse , je vais étudier ça.
pour la ldr ce qui m inquiète c 'est de la brancher sur le shield (( lui alimenté en 12v ) et le uno branché en 6 volt) .j ai bien compris que la valeur de la ldr etait compris entre 0 et 1023 ( valeur analogique).

Bonjour,

Il va te rester un problème à traiter.
Quel algorithme va tu choisir pour déclencher la fermeture et l'ouverture de ta porte ?
Les rôdeurs attaquent souvent au crépuscule.
Porte fermée trop tard = poules mangées dans le poulailler.
Porte fermée trop tôt = Poules non rentrées et mangées..
Certains ont utiliser une cellule photorésistance pour détecter la luminosité à condition que ton poulailler ne soit pas installer dans un endroit trop sombre.
Pour ma part, j'ai du calculer l'heure du coucher du soleil en fonction de date..Un peu complexe..
Bon courage..

bonsoir pour l ouverture et la fermeture je suis parti sur une ldr ( poulailler dégager)et il faudra que je mette un retard a l ouverture et a la fermeture.les poules sont régulières et ne trainent pas dehors.
mon gros souci c 'est la programmation , je vais commencer a m 'y atteler, cela n 'as pas l 'air d' être simple.

Bonjour,

Pour la programmation, je peux te donner un coup main..
A toi de voir..

bonjour,
La mesure de lumière peut aussi être une surveillance de la tension aux bornes d'un panneau solaire.

Un retard à l'ouverture peut être utile si il y a des risque de déclenchement par des phares de voiture ou lampe de poche.
On peut décider que le seuil indiquant le jour soit maintenu 2 minutes avant d'ouvrir et ensuite, attendre le seuil correspondant à la nuit pour refermer et éviter les déclenchements intempestifs.

Un moyenne glissante peut aussi faire l'affaire pour être certain que le jour est levé.. :slight_smile:

bonjour
merci pour vos réponses.
ça commence bien :slight_smile: , je voulais commander mon uno avec le shield r3 et la ldr ,
mais je n arrive pas a trouver un site ou le shield est disponible
pour la programmation , lorsque j aurais le matériel , je vais essayer tous seul, mais c 'est sympa de me proposer de l aide ( merci), si besoin je vous demanderais et j 'en aurais certainement besoin, car très bricoleur mais l'automatisme cela fait longtemps que j en ait pas fait, je me suis arrêté au Tsx17 de telemecanique a l' école ( au moins 20 ans )
pour la programmation , en effet ,je voudrais retarder la fermeture lorsque la ldr donnera l 'ordre de fermer.
pour l 'ouverture je n en ais pas besoin car le chien sera dehors avant que les poules ne sortent.
bon je repart a la recherche de ce shield
bonne soirée
amicalement

Bonjour a tous ,

Moi aussi depuis 10j je bosse sur une porte automatique, voici la une courte présentation du projet :

Vidéo Youtube

Je vient de m'inscrire sur le fofo , pour avoir des infos sur le moteur stepper voir comment cela ce programme . J'ai aussi l'idée de rajouter une temporisation lors du seul de luminosité atteint car ma première idée de rajouter une autre photorésistance est energivore .

L'idée supplémentaire de mettre un mode veille / hibernation est interessant ainsi qu'une alerte de manque de tension/courant .

Dans l'attente de vous relire

Hello,

Ton lien youtube n'est pas valide . Pb de droit de lecture ?
Pour la tempo, il y a plusieurs solutions, tout dépend du temps à attendre en ms ou en seconde..
Il y a plein d'exemples dispos... Recherche tempo arduino...
A+

Ok ok merci , j'attend de recevoir le moteur pour me remettre dedans !

Lien Youtube fctionnel :slight_smile:

Bonjour ,

Maintenant que j'ai le moteur j'ai un problème de code :

En effet le moteur tourne de deux tours sans arrêts dans sa condition ouvert ou fermé :

//*Projet SavetheChickens

// Integre la librairie moteur pas pas 
#include <Stepper.h>

// Assignation des entrées / sorties
int pinLEDRED= 13; //rouge = fermeture
int pinLEDGRE= 12; //verte = ouverture                   
int pinCapteur=0;  // Photoresistance 

const int stepsPerRevolution = 2048; //2048 pour la 28BYJ-48 = 1 tour
int Nbre_tour ;
// initialiser la bibliotheque stepper sur les broches D8 a D11:
Stepper myStepper(stepsPerRevolution, 8,10,9,11); //Attribution des broches

// Déclaration des variables

int ValeurMesure = 0;   //phtoresistance lus                 
int ValeurSeuil=500;   //photoresitance seuil 

void setup(){
     pinMode(pinLEDRED,OUTPUT);
     pinMode(pinLEDGRE,OUTPUT);
       // reglage de la vitesse (28BYJ-48):
  myStepper.setSpeed(14); // de 4 a 14 vitesse de rotation        
}

void loop(){
     ValeurMesure = analogRead(pinCapteur); // Mesure de la tension 
         
 if
      (ValeurMesure<ValeurSeuil){            // Si la mesure est inférieure au seuil fermeture de la porte 
          digitalWrite(pinLEDRED,HIGH);
          digitalWrite(pinLEDGRE,LOW);
          Nbre_tour = 2; //Faire 2 tours dans un sens:
          myStepper.step(stepsPerRevolution*Nbre_tour);
          delay(1000);
          }
     else                         // Sinon  ouverture de la porte 
          {digitalWrite(pinLEDRED,LOW);
          digitalWrite(pinLEDGRE,HIGH);
          Nbre_tour = 2; //Faire 2 tours dans l autre sens:
          myStepper.step(-stepsPerRevolution*Nbre_tour);
          delay(1000); 
          }
}

Avez vous une idée ?

Bonjour,

Il faut décomposer le problème pour savoir si le problème vient de la lecture de la tension ou de la commande moteur.
A+