Arduino Forum

International => Français => Réalisations et Projets Finis => Topic started by: ARTNOW on Oct 19, 2015, 10:54 pm

Title: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Oct 19, 2015, 10:54 pm
Voici mon travail concernant un distributeur de croquettes avec un arduino one et un servo, le servo fait tomber environ 100 g de croquettes pour mes trois chats  et cela 2 fois par jours à 8h00 et à 18h00 .

Pour cela j'ai après plusieurs essais infructueux utilisé une boite de whisky métallique, ouverte à la dremel en partie haute pour former une trémie et j'ai utilisé le couvercle en partie basse (avec une découpe latérale)pour faire tomber les coquettes grâce au servo.

Je tiens à remercie toutes les personnes du forum qui m'ont aidé à mener à bien ce projet, c'est ma première réalisation je débute en arduino à 46 ans. (Je suis autodidacte en électronique, informatique et modélisme).

VIDEO DU DISTRIBUTEUR DE CROQUETTES (https://youtu.be/v8W8ewHfWuw)

Code: [Select]
#include <Servo.h>
#include <DS3231.h>
#include <Wire.h>
DS3231 clock;
RTCDateTime dt;
Servo myservo;
int pos = 0; // variable pour la position 0 du servo
int b;
int bp = 2; // un bouton poussoir sur la borne (2)
// schema : (-) -------[R 10 Kohm]--------O BP O------------ (+)
//          (2)--------------------------/


void setup() {
    // initialise les leds aux pin 12 et 13 en sorties.
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  Serial.begin(9600); // lecture sur interface serie
  myservo.attach(9);    // entree servo sur borne (9)
  myservo.write(pos);   // positionne le servo à zéro
  pinMode(bp, INPUT);   // broche (2) en entrée pour le bouton poussoir
  clock.begin();

  // Mise a zero alarmes

  clock.armAlarm1(false);
  clock.armAlarm2(false);
  clock.clearAlarm1();
  clock.clearAlarm2();

  // pour le reglage manuel de la date et heure (Year, Month, Day, Hour, Minute, Second)
  // enlever les // devant clock ci dessous
//clock.setDateTime(2015, 11, 30, 16, 02, 00);
  // Manual (YYYY, MM, DD, HH, II, SS

  // heures de la journee pour le declenchement des cycles de distribution
  // une alarme à9H00 le matin et une a 18h00 le soir
  // setAlarm1(Date or Day, Hour, Minute, Second, Mode, Armed = true)
  clock.setAlarm1(0, 8, 00, 00, DS3231_MATCH_H_M_S);//MATCH_H_M_S ===>  seconde, minute, heure et jour de la semaine
  clock.setAlarm2(0, 18, 00, DS3231_MATCH_H_M);         //MATCH_M ===>  minute, heure et jour de la semaine

  // prise en compte alarme
  checkAlarms();
}
void checkAlarms()
{
  RTCAlarmTime a2;  
  RTCAlarmTime a1;
 
  if (clock.isArmed1())
  {
    a1 = clock.getAlarm1();
    Serial.print("Alarme 1 declenchee ");
    switch (clock.getAlarmType1())
    {
    case DS3231_MATCH_H_M_S:
      Serial.print("Quand il sera : ");
      Serial.println(clock.dateFormat(" H:i:s", a1));
            break;

    }
  } else
  {
    Serial.println("Alarm1 is disarmed.");
 //////////////////////////////////////////////////////////////////    
  if (clock.isArmed2())
  {
    a2 = clock.getAlarm2();
    Serial.print("Alarme 2 declenchee ");
    switch (clock.getAlarmType2())
    {
   case DS3231_MATCH_H_M_S:
      Serial.print("Quand il sera : ");
    Serial.println(clock.dateFormat(" H:i:s", a2));
      break;

    }
  } else
  {
    Serial.println("Alarm2 is disarmed.");
  }
delay (1000);
  //*******************************************************************
}
}


void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(30);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(30);              // wait for a second
  digitalWrite(12, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(10);              // wait for a second
  digitalWrite(12, LOW);    // turn the LED off by making the voltage LOW
  delay(10);              // wait for a second
  dt = clock.getDateTime();
  Serial.println(clock.dateFormat("d-m-Y H:i:s - l", dt));
  if (clock.isAlarm1())
  {
    distribution ();
    Serial.println("ALARM 1 DECLENCHEE DONC DISTRIBUTION!");
  }
  //*********************************************************************
  if (clock.isAlarm2())
  {
    distribution ();
    Serial.println("ALARM 2 DECLENCHEE DONC DISTRIBUTION!");
  }
  delay(1000);
  //*******************************************************************
  //distribution manuelle
  if ( digitalRead(bp) == HIGH) {
    delay(30);
    distribution ();
    delay(100);
  }
}

void distribution() {
  // GESTION DU SERVO SUR SORTIE (9)
   for (int i = 0; i <= 5; i++) // le chiffre 1 pour 2 cycles
    for (pos = 0; pos <= 102; pos += 6) // va de 0 degrees a 190 degrees
    { // avec des pas de 1 degre
      myservo.write(pos);              // dit au servo d aller en position en fonction de la variable 'pos'
      delay(40);                       // pause  15ms
    }
  for (pos = 102; pos >= -0; pos -= 8) // va de  190 degres a  0 degrees
  { // avec des pas de 4 degrees donc retour rapide
    myservo.write(pos);              // dit au servo d aller en position en fonction de la variable 'pos'
    delay(10);                       // pause  15ms
  }
}
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: elektrax on Oct 20, 2015, 07:35 am
boite de whisky, j'avais lu whiskas  :)

tres beau travail, ce qu'il me faudrait pour les miens et les chat errants de ma campagne
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Oct 20, 2015, 08:19 am
Merci :D
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: maxpeigne on Oct 20, 2015, 09:00 am
Félicitation!

J'avais pensé à un projet similaire mais j'ai tout le temps eut peur qu'une croquette ne vienne se coincer dans le mécanisme de distribution -> fasse forcer le servo qui essaie de se faire -> RIP le servo.

As tu eus ce problème?
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Oct 20, 2015, 09:27 am
Félicitation!

J'avais pensé à un projet similaire mais j'ai tout le temps eut peur qu'une croquette ne vienne se coincer dans le mécanisme de distribution -> fasse forcer le servo qui essaie de se faire -> RIP le servo.

As tu eus ce problème?
Bonjour, non d'une manière générale , le système fonctionne plutôt bien la tringlerie fait tampon si une croquette bloque le retour chariot elle se cintre naturellement et permet au servo d'arriver à sa position fermée.J'ai remarquer que certains servo fonctionnais mieux que d'autres pour cette application , il faut un servo avec un bon couple et la fermeture doit être tonique pour casser la ou les éventuelles croquettes récalcitrantes .
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Oct 28, 2015, 08:54 pm
Salut tous le monde , projet fini ouf ......voici des photos:


48h de test après   :  3 chats heureux qui commencent à connaitre les horaire du service et qui accourent au moment ou les croquettes tombent .......

Génialisime  , ça me donne envie de faire encore d'autre projets .

Merci encore pour celles et ceux qui m'ont aider .

bye-bye. ;)

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Dec 12, 2015, 01:58 pm
bonjour , voici une petite video du projet fini.

https://youtu.be/v8W8ewHfWuw
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Feb 22, 2016, 12:09 pm
Bonjour, j'ai mis au propre le programme, et surtout j'ai ajouté un potentiomètre à l'arrière du distributeur pour effectuer des réglage de quantité de croquettes à distribuer , car , en fonction des croquettes , formes et taille j'étais obligé d'effectuer des réglages de nombre d'aller-retour du servo et de course du servo , maintenant , j'ai juste à tourner le potentiomètre sur une des 6 graduations marquées et les doses de croquettes sont ajustés.
Code: [Select]
//Distributeur de croquettes pour chats
// Programme libre de droits
// ARTNOW44 (c)
// 2016


#include <Servo.h>
#include <DS3231.h>
#include <Wire.h>
DS3231 clock;
RTCDateTime dt;
Servo myservo;
int pos; // variable pour la position du servo
int bp = 2; // un bouton poussoir sur la borne (2)
int sensorValue = analogRead(A0);// Lecture de la valeur du potentiometre
int potard = sensorValue;// stockage de la valeur du potentiometre dans potard
//****************************************************************************************
// schema bouton poussoir : (-) -------[R 10 Kohm]--------O BP O------------ (+)
//                          (2)--------------------------/
//****************************************************************************************
// Cablage du DS 3231 :
// GND > GND  
// VCC > +5v
// SDA > A4
// SCL > A5
//****************************************************************************************
// Cablage du servo :
// NOIR > GND  
// ROUGE> +5v
// BLANC> 9
//****************************************************************************************
// Cablage du potentiometre pour Nb de cycle du servo :
//   +  ---()*****
//   A0 ---()**P**
//   -  ---()*****
//****************************************************************************************
void setup() {
    Serial.begin(9600);
    myservo.write(10); //Important pour mettre le servo en position origine si coupure de courant
    // initialise les leds aux pin 12 et 13 en sorties (déco)
  pinMode(12, OUTPUT);// des leds pour le fun
  pinMode(13, OUTPUT);// des leds pour le fun
  Serial.begin(9600); // lecture sur interface serie
    myservo.attach(9);    // entree servo sur borne (9)
  pinMode(bp, INPUT);   // broche (2) en entrée pour le bouton poussoir
  
  clock.begin();

  // Mise a zero alarmes
  clock.armAlarm1(false);
  clock.armAlarm2(false);
  clock.clearAlarm1();
  clock.clearAlarm2();

  // pour le reglage manuel de la date et heure
  // (ANNEE, MOIS, JOUR, HEURES, MINUTES, SECONDES
  
   // enlever les // devant clock ci dessous
//clock.setDateTime(2016, 02, 21, 16, 43, 00);


  // heures de la journee pour le declenchement des cycles de distribution
  // une alarme à8H00 le matin et une a 18h00 le soir
  // setAlarm1(Date or Day, Hour, Minute, Second, Mode, Armed = true)
  clock.setAlarm1(0, 8, 00, 00, DS3231_MATCH_H_M_S);//MATCH_H_M_S ===>  seconde, minute, heure et jour de la semaine
  clock.setAlarm2(0, 18, 00, DS3231_MATCH_H_M);         //MATCH_M ===>  minute, heure et jour de la semaine

  // prise en compte alarme
  checkAlarms();
}
void checkAlarms()
{
  RTCAlarmTime a2;  
  RTCAlarmTime a1;


  if (clock.isArmed1())
  {
    a1 = clock.getAlarm1();
    Serial.print("Alarme 1 declenchee ");
    switch (clock.getAlarmType1())
    {
    case DS3231_MATCH_H_M_S:
      Serial.print("Quand il sera : ");
      Serial.println(clock.dateFormat(" H:i:s", a1));
            break;

    }
  } else
  {
    Serial.println("Alarm1 is disarmed.");

    
    
 //////////////////////////////////////////////////////////////////    
  if (clock.isArmed2())
  {
    a2 = clock.getAlarm2();
    Serial.print("Alarme 2 declenchee ");
    switch (clock.getAlarmType2())
    {
   case DS3231_MATCH_H_M_S:
      Serial.print("Quand il sera : ");
    Serial.println(clock.dateFormat(" H:i:s", a2));
      break;

    }
  } else
  {
    Serial.println("Alarm2 is disarmed.");
  }
delay (1000);
  //*******************************************************************
}
}


void loop() {//Gestion des leds pour le fun
  
  digitalWrite(13, HIGH);   // Allume la led en sortie 13
  delay(30);              // pause 30ms
  digitalWrite(13, LOW);    // Extinction de la LES EN SORTIE 13
  delay(30);              // pause 30ms
  
  digitalWrite(12, HIGH);   // Allume la led en sortie 12
  delay(10);              // pause 10ms
  digitalWrite(12, LOW);    // Extinction de la LES EN SORTIE 12
  delay(10);              // pause 10ms
  
  dt = clock.getDateTime();
  Serial.println(clock.dateFormat("d-m-Y H:i:s - l", dt));
  if (clock.isAlarm1())
  {
    distribution ();
    Serial.println("ALARM 1 DECLENCHEE DONC DISTRIBUTION!");
  }
  //*********************************************************************
  if (clock.isAlarm2())
  {
    distribution ();
    Serial.println("ALARM 2 DECLENCHEE DONC DISTRIBUTION!");
  }
  delay(1000);
  
  //*******************************************************************
  //distribution manuelle
  if ( digitalRead(bp) == HIGH) {//Demande de distribution manuelle avec le BP
    delay(30);
    distribution ();
    delay(100);
}
}
void distribution() {
    int sensorValue = analogRead(A0);
    int potard = sensorValue;
    potard = map(potard, 0,1023, 0,6);// Conversion des valeurs de lecture du potentiometre en Nb de 0 à 6
 
  // GESTION DU SERVO SUR SORTIE (9)
   for(int i=0; i <=(potard); i++)  //  nombre d'aller retour du servo
    //Serial.print (i);
    for (pos = 0; pos <= 120; pos += 6) // va de 0 degrees a 120 degrees
    { // avec des pas de 6 degrés
      myservo.write(pos);              // dit au servo d aller en position en fonction de la variable 'pos'
      delay(50);                       // pause  50ms
    }
  for (pos = 120; pos >= -0; pos -= 8) // va de  120 degres a  0 degrees
  { // avec des pas de 8 degrés donc retour rapide
    myservo.write(pos);              // dit au servo d aller en position en fonction de la variable 'pos'
    delay(10);                       // pause  10ms
    
    }
                  
  }

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Feb 23, 2016, 12:27 am
Bonjour,
Merci pour le partage et bravo pour cette belle réussite.

Pas mal le coups du potentiomètre.

Le distributeur, c'est pour les rationner ?
Un chat plus gourmand ou dominant peut empêcher un autre d'accéder.
Si ils sont pucés, tu peut ajouter un détecteur RFID pour donner des rations individualisées ?

Manque plus que le schéma de câblage ;)


Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Feb 23, 2016, 08:18 am
Bonjour,
Merci pour le partage et bravo pour cette belle réussite.

Pas mal le coups du potentiomètre.

Le distributeur, c'est pour les rationner ?
Un chat plus gourmand ou dominant peut empêcher un autre d'accéder.
Si ils sont pucés, tu peut ajouter un détecteur RFID pour donner des rations individualisées ?

Manque plus que le schéma de câblage ;)



Bonjour ACHESS , oui c'est pour rationner les 3 chats et en cas d'absence .
Pour ceux qui connaissent les chats , si on laisse un saladier plein de coquettes , il vont s'en occuper très rapidement , par ennui ou par gourmandise , voir les deux !!
Même avec 10 jours d'absence pas de soucis le distributeur à une capacité de 2 semaines de nourriture .
Pour le RFID , c'est une bonne idée mais en fait pas utile vu que les 3 bestiaux arrivent à s'arranger à l'amiable :) .

C'est pratique aussi pour l'heure à la maison quand la machine distribue le matin il est 8h00 et le soir on sait au bruit des croquettes qui tombent qu'il est 18h00.

C'est rigolo aussi de voir le ou les chats courir vers le distributeur .
Pour le schéma , je vais poster ça bientôt .
Merci pour ton encouragement .
à+
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Feb 23, 2016, 09:00 am
J'ai eu 2 chattes à une époque ou la dominatrice attaquait toujours l'autre qui était craintive. Avec un RFID, il aurait fallu un système pour entraver l'une pendant que l'autre mangeait. :smiley-confuse:

J'ai eu une chèvre qui empêchait  sa fille à coups de cornes d'accéder la nourriture (réaction de sevrage naturelle mais problématique). J'ai usé de stratagème avec 2 mangeoires séparées.
Fallait voir le manège entre les 2 mangeoires, la fille s'éloignait quand la mère arrivait et pouvait éviter les coups en vache. ;)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Feb 23, 2016, 09:24 pm
Bonsoir , oui il faut ménager la chèvre et le chou comme ont dit ..... :).

voici le schéma tout frais ....

a+




Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: marc13bdr on Mar 29, 2016, 08:09 am
Bonjour pourrait tu nous indiquer quel type de servo as tu utilisé? si tu as un lien pour voir , ca m'interresse.
Merci d'avance
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Mar 29, 2016, 01:05 pm
Bonjour Marc13bdr , il s'agit d'un TRAXXAS 2055 récupéré sur une voiture RC , mais tu le trouvera ici par exemple ..  :)


http://www.amazon.fr/Traxxas-TRA2055-servo-couple--lev-/dp/B0006O5HT4/ref=sr_1_2?ie=UTF8&qid=1459249316&sr=8-2&keywords=Traxxas+2055

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: yannherledan on Apr 05, 2016, 05:34 pm
Bonsoir , oui il faut ménager la chèvre et le chou comme ont dit ..... :).

voici le schéma tout frais ....

a+





pour les schémas arduino je te recommande le logiciel Fritzing, c'est plus rapide pour faire les shémas
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 06, 2016, 08:30 am
pour les schémas arduino je te recommande le logiciel Fritzing, c'est plus rapide pour faire les shémas
bonjour , OK je vais regarder ça , merci.
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 16, 2016, 03:53 pm
Bonjour,
Ou en es-tu de tes essais de distributeur a vis ?
J'ai optimisé mon système à vis fil de fer (http://forum.arduino.cc/index.php?topic=389260.msg2685859#msg2685859) :
- Inclinaison de 20  à 25 %, sans vis le grain coule tout seul, la vis bloque la sortie du grain à l'arrêt.
- J'ai déplacé le trou d'entrée du grain vers la sortie, donc au fond du seau à droite sur la photo.
- La vis n'a plus que 2 spires de 2 cm de diamètre espacées de 3 cm et est située près de l'embouchure
- Le petit moteur n'a aucun effort à faire et le débit est d'environ 100 gr en 4 secondes.

Je serait curieux de voir ce que ça donne avec des croquettes.
J'en ai profité pour ajouter un bouton qui va me servir à programmer les variables à mettre en eeprom.
La durée d'appui sur le bouton déterminera le réglage de durée de distribution. 

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 16, 2016, 10:06 pm
Bonjour,
Ou en es-tu de tes essais de distributeur a vis ?
J'ai optimisé mon système à vis fil de fer (http://forum.arduino.cc/index.php?topic=389260.msg2685859#msg2685859) :
- Inclinaison de 20  à 25 %, sans vis le grain coule tout seul, la vis bloque la sortie du grain à l'arrêt.
- J'ai déplacé le trou d'entrée du grain vers la sortie, donc au fond du seau à droite sur la photo.
- La vis n'a plus que 2 spires de 2 cm de diamètre espacées de 3 cm et est située près de l'embouchure
- Le petit moteur n'a aucun effort à faire et le débit est d'environ 100 gr en 4 secondes.

Je serait curieux de voir ce que ça donne avec des croquettes.
J'en ai profité pour ajouter un bouton qui va me servir à programmer les variables à mettre en eeprom.
La durée d'appui sur le bouton déterminera le réglage de durée de distribution. 


Salut Achess , j'ai pas encore testé , par contre cela m'intéresse , donc si tu peux publier photo et programme , pour que je vois à quoi ressemble ta dernière mouture .

merci  :)

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 17, 2016, 10:40 pm
Salut Artnow,
Après mise en service , voilà que le moteur ne tourne plus à la même vitesse. Pas assez fiable pour finir.

L'idéal serait de peser la ration mais c'est cher et compliqué.

Ton système avec servo est pas mal, on peut distribuer un volume fixe à chaque aller retour, mais faudrait l'améliorer.
J'ai une idée en tête, je ferait un proto ces prochains jours.

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 18, 2016, 01:05 pm
Salut Artnow,
Après mise en service , voilà que le moteur ne tourne plus à la même vitesse. Pas assez fiable pour finir.

L'idéal serait de peser la ration mais c'est cher et compliqué.

Ton système avec servo est pas mal, on peut distribuer un volume fixe à chaque aller retour, mais faudrait l'améliorer.
J'ai une idée en tête, je ferait un proto ces prochains jours.


Salut Achess , cool , je suis dans le même état d'esprit , je voudrais simplifier le concept , j'attends de vois ton proto :)

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 19, 2016, 09:58 am
Bonjour,

Voilà déjà le principe :
Un tube PVC de 40 coupé en 2 endroits espacés de 10 cm correspondant à un volume de 10 cl.
Le servo déplace deux tôles de 14 X 4 cm avec un trou de 3 cm à une extrémité.
- Position 0 , le volume se rempli
- intermédiaire il se bouche en haut
- 180, il se vide de  10 cl.
(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=163813)
Le but est de limiter les efforts du servo pour ne pas être obligé d'utiliser un moteur puissant, nécessaire pour couper la croquette qui coince.
La seule difficulté est pour fermer le haut et comme à ce moment, c'est fermé en bas, il y a beaucoup moins de risque qu'un grain ou une croquette se coince. Je vais essayer avec le servo dont je dispose, un 3 kg/m.
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 19, 2016, 09:37 pm
Bonjour,

Voilà déjà le principe :
Un tube PVC de 40 coupé en 2 endroits espacés de 10 cm correspondant à un volume de 10 cl.
Le servo déplace deux tôles de 14 X 4 cm avec un trou de 3 cm à une extrémité.
- Position 0 , le volume se rempli
- intermédiaire il se bouche en haut
- 180, il se vide de  10 cl.
(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=163813)
Le but est de limiter les efforts du servo pour ne pas être obligé d'utiliser un moteur puissant, nécessaire pour couper la croquette qui coince.
La seule difficulté est pour fermer le haut et comme à ce moment, c'est fermé en bas, il y a beaucoup moins de risque qu'un grain ou une croquette se coince. Je vais essayer avec le servo dont je dispose, un 3 kg/m.

Salut Achess , j'ai penser à cette solution , mais je ne suis pas aller plus loin car pour moi si ça coince d'un coté ou de l'autre les contraintes de force sur le servo risquent de poser problème , mais c'est vrai que pour doser c'est en théorie la bonne solution .

J'avais aussi envisagé une solution à base de camembert tournant.

Et une solution à base d'un mini tapis roulant avec des intercalaires.

Mais pareil ,trop compliqué à mettre en œuvre , bon courage dis nous vite ce que cela donne :)

bye
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 19, 2016, 09:46 pm
La solution à camemberts c'est ce qu'on trouve dans les distributeurs de cacahuètes dans les bars , je sais pas si ça existe toujours ,mais c'était très précis de mémoire , la dose distribuée était pratiquement toujours la même .
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 20, 2016, 12:56 am
La solution camembert faut un moteur assez puissant justement http://lafamillecreative.blogspot.fr/2012/05/un-distributeur-automatique-de.html (http://lafamillecreative.blogspot.fr/2012/05/un-distributeur-automatique-de.html)

Je vais tacher de réaliser prochainement, on verra si ça coince mais j'ai bon espoir. ;)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 20, 2016, 08:20 am
La solution camembert faut un moteur assez puissant justement http://lafamillecreative.blogspot.fr/2012/05/un-distributeur-automatique-de.html (http://lafamillecreative.blogspot.fr/2012/05/un-distributeur-automatique-de.html)

Je vais tacher de réaliser prochainement, on verra si ça coince mais j'ai bon espoir. ;)
Salut ACHESS ,oui il faut malheureusement un bon gros moteur pour la solution camembert.

a+



Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 21, 2016, 11:46 pm
Bonjour,
Le proto est fait et ça a fonctionné. 10 cl exactement délivrés à chaque va et vient.
La trappe du haut bloquait systématiquement, mais j'ai trouvé la solution : un ressort bien calibré.

Mon bricolage manquait de précision et présentait différents points durs. En voulant décoincer, j'ai bousillé le servo.
En effet c'est fragile ces petites bêtes, le tourner à la main est possible mais pas trop brutalement.

Après la photo, j'ai tout démonté pour le refaire en mieux, maintenant que je sais que ça marche.
(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=164229)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 23, 2016, 03:46 pm
Salut ACHESS , le montage est prometteur , tiens nous au courant de tes essais .

:)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 28, 2016, 11:20 pm
Salut,
Ça avance doucement. J'ai encore simplifié. Plus de ressort, ça marche aussi bien avec la trappe du haut qui s'ouvre, pendant que celle du bas se ferme, du moment que c'est rapide.

Pour l'instant j'ai fait l'essai avec une lampe à manivelle recyclée.
Fonctionnement parfait avec du blé, mais manque de puissance avec des croquettes

J'attends de nouveaux servos pas plus cher que les précédents, des MG996R 15 kg-cm à 6V.

Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 29, 2016, 10:22 am
J'attends de nouveaux servos pas plus cher que les précédents, des MG996R 15 kg-cm à 6V.


Salut achess , oui tu as raison avec un servo plus puissant ça devrais fonctionner , c'est surement un servo avec pignons métalliques , les croquettes ne devraient plus poser problème .

A étudier aussi , rendre plus tranchantes les lames pour couper les croquettes récalcitrantes .

:)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: achess on Apr 30, 2016, 06:28 pm
Salut,
Servos reçus, premiers essais concluants, même avec croquettes, on sent le gain en puissance. Axe métallique en effet. Pour les engrenages je ne sais pas et je ne le démontrait pas. Le dernier que j'ai démontait n'a plus refonctionné. La moindre poussière et c'est la cata.

Distribution d'une dose de 10 cl à chaque va et vient.
42 gr en croquettes, 70 gr en mélange grain poules.

Fabrication : Un bout de tasseau raboté à 40, un bout de tube pvc de 40, un morceau de tôle galva, un morceau de chute de plancher flottant, du fil de fer et quelques vis à bois.

Photo de l'assemblage avant recouvrement :(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=165364)
Vue des découpes du PVC et des trappe de dessus :(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=165366)
Le promini avec un mosfet CMS soudé sur un bout de circuit imprimé (flou sur la photo),pour commuter et couper l'alim du servo . (http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=165368)
Dernière photo avec une lampe à manivelle recyclée qui marchait bien avec du blé mais manquait de puissance avec les croquettes pour chat.(http://forum.arduino.cc/index.php?action=dlattach;topic=354328.0;attach=165370)

Pour fonctionner avec des croquette, il faudra prévoir un diamètre de 50 ou plus, ceux que j'ai utilisées étaient un peu grasses et pas lisses. Un moment il y a semble t'il eu un arrêt d'écoulement, mais avec la vibration du servo, c'est reparti et la dose servie était bonne quand même.

Le code utilisé pour les essais, bouton reset du module utilisé pour faire une nouvelle distribution :
Code: [Select]
#include <Servo.h>
Servo servo1;
const int cdemoteur = 4; //
int sens=0;
void setup()
{
  pinMode(cdemoteur, OUTPUT);
  servo1.attach(3);
   digitalWrite(cdemoteur, 1);
}

void loop(){
if (!sens) {
   digitalWrite(cdemoteur, 1);
  servo1.write(180);   
  delay(600);     
  servo1.write(0);
  delay(600);       
    digitalWrite(cdemoteur, 0);
  sens = 1;
}
}

Une tite vidéo de la distribution blé https://www.youtube.com/watch?v=MSwfJqp34oo (https://www.youtube.com/watch?v=MSwfJqp34oo)
Avec croquettes https://www.youtube.com/watch?v=LhsambWpN5Q (https://www.youtube.com/watch?v=LhsambWpN5Q)
Title: Re: Distributeur de croquettes avec servo ARDUINO ONE
Post by: ARTNOW on Apr 30, 2016, 11:18 pm
bravo achess , simple et efficace à la foi ; je vais étudier ça de près , là il est temps d'aller au dodo .

bye bye