Outils d'utilisateurs

Outils du Site


projets:distributeur_de_croquettes_connecte_-_iroger

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

projets:distributeur_de_croquettes_connecte_-_iroger [2017/02/01 00:19]
maxzor Photos et détails pour l'électronique
projets:distributeur_de_croquettes_connecte_-_iroger [2017/02/02 00:33] (Version actuelle)
maxzor
Ligne 1: Ligne 1:
 ====== Distributeur de croquettes connecté - iRoger  ====== ====== Distributeur de croquettes connecté - iRoger  ======
  
-/!\ En construction /!\+ 
 +Un distributeur de croquettes pour chat 2.0, en wifi via VNC, ou ethernet via un navigateur web.
  
 {{:projets:distributeur_de_croquettes_connecte_-_iroger:iroger_plongee.png?nolink&300 |}} {{:projets:distributeur_de_croquettes_connecte_-_iroger:iroger_plongee.png?nolink&300 |}}
 {{ :projets:distributeur_de_croquettes_connecte_-_iroger:iroger_contreplongee.png?nolink&300|}} {{ :projets:distributeur_de_croquettes_connecte_-_iroger:iroger_contreplongee.png?nolink&300|}}
  
-Un distributeur de croquettes pour chat 2.0, en wifi via VNC, ou ethernet via un navigateur web.+
  
 La machine a trois fonctions : La machine a trois fonctions :
Ligne 12: Ligne 13:
 - distribuer une ration de croquettes directement - distribuer une ration de croquettes directement
  
-- planifier un/plusieurs repas quotidien+- planifier un/plusieurs repas quotidien(s)
  
 - prendre une photo de la gamelle - prendre une photo de la gamelle
Ligne 19: Ligne 20:
 Objectif : Pouvoir partir en vacances sans - trop - se soucier du chat! Objectif : Pouvoir partir en vacances sans - trop - se soucier du chat!
  
-Un grand remerciement à toute l'équipe du fablab, notamment pour l'impression 3D et la découpe laser, votre aide a été géniale!+Un grand remerciement à toute l'équipe du meilleur fablab de Paris, notamment pour l'impression 3D et la découpe laser, votre aide a été géniale!
  
-{{ :projets:distributeur_de_croquettes_connecte_-_iroger:iroger_vue_elec_-_copie.png?nolink |}}+Le projet est open-source dans la mesure de ses composants (Raspberry Pi 0, Dynamixel XL320) les modules python, une image complète de l'OS Raspbian Jessie (Linux) fonctionnel, de la documentation en extra dont un manuel, ainsi que la dizaine de pièces imprimées en 3D sont disponibles à l'adresse github ci-dessous.
  
 <!-- Complétez la fiche projet ci dessous --> <!-- Complétez la fiche projet ci dessous -->
Ligne 36: Ligne 37:
 }}} }}}
  
 +{{ :projets:distributeur_de_croquettes_connecte_-_iroger:iroger_vue_elec_-_copie.png?nolink |}}
  
  
-===== Conception =====+===== Logiciel =====
  
-Motivations : Ayant trempé depuis un moment dans l'univers Raspberry, je me suis servi naturellement d'une de ces cartes. J'avais comme projet à moins court terme de créer une bibliothèque temps réel pour servomoteur, ce projet était tout trouvé pour m'initier à de la programmation de bas niveau d'un Dynamixel :)+Ayant trempé depuis un moment dans l'univers Raspberry, je me suis servi naturellement d'une de ces cartes. J'avais comme projet à moins court terme de créer une bibliothèque temps réel pour servomoteur, ce projet était tout trouvé pour m'initier à de la programmation de bas niveau d'un Dynamixel :)
 L'occasion aussi de bidouiller un chouïa de QT pour l'interface graphique et de SQLite pour la base de données. L'occasion aussi de bidouiller un chouïa de QT pour l'interface graphique et de SQLite pour la base de données.
  
-Partie "physique" : J'ai opté pour une structure en bois massif, mais d'autres projets traînent sur Youtube en contreplaqué découpé par CNC plus économes. 
-La distribution se fait par une "roue à aube". Une trappe sur la façade avant permet de voir les entrailles du mécanisme. 
  
-Partie électronique Un Raspberry Pi Zéro comme ordinateur donc.+Des plans pour le petit programme {{:projets:distributeur_de_croquettes_connecte_-_iroger:20161227_195857.jpg?nolink|}}
  
-Schéma des autres composants : +L'interface graphique du logiciel est réalisée à l'aide du binding Qt-Python PyQt.<note>http://ogirardot.developpez.com/introduction-pyqt/</note> La commande linux pyuic permet ainsi de passer d'une extension .ui créée sous QtCreator à un module python. 
 + 
 +Plusieurs façons existent pour faire communiquer un Raspberry à un servomoteur Dynamixel, dont la carte Pixl du projet Poppy (https://forum.poppy-project.org/t/informations-sur-la-carte-pixl-raspberry-pi-xl320/2125/39), ou celle que j'ai retenue, utilisant un buffer trois états http://www.oppedijk.com/robotics/control-dynamixel-with-raspberrypi 
 +J'ai crée une "librairie" de commandes moteurs très succinte (des librairies beaucoup plus complètes existent!) grâce à la documentation Dynamixel - le programme de calcul des clés CRC (Cyclic Redundant Check) est fourni par Robotis, le constructeur, un analyseur logique s'est en plus avéré très utile.<note>http://support.robotis.com/en/product/actuator/dynamixel_x/xl_series/xl-320.htm</note> 
 + 
 +La programmation des distributions se fait via un CRUD(Create, Read, Update, Delete) sur la base de donnée très simple et légère SQLite. 
 +Un système de threads intégré à Qt permet de faire tourner en fond un module reposant sur la librairie schedule. <note>[[https://schedule.readthedocs.io/en/stable/]]</note> 
 + 
 +Etant ignorant complet en programmation web, après m'être essayé à NodeJS, j'ai préféré pour la connexion à distance recourir à l'application clé en main VNC ^_^. Remot3It se greffe en plus pour éviter d'exposer le port Raspberry au-delà de la box internet. 
 + 
 +===== Electronique ===== 
 + 
 +Schéma des composants : 
 {{:projets:distributeur_de_croquettes_connecte_-_iroger:electrical_circuit.pdf|}} {{:projets:distributeur_de_croquettes_connecte_-_iroger:electrical_circuit.pdf|}}
  
-Liste de courses :+Pour piloter une LED de puissance, requérant donc plus que l'alimentation faiblarde des ports GPIO du Raspberry, consulter ces très bons tutoriels : 
 +https://www.youtube.com/watch?v=Dn2NEZC5dEM&t=5s 
 + 
 + 
 + 
 +===== Menuiserie et quincaillerie ===== 
 + 
 +J'ai opté pour une structure en bois massif, mais d'autres projets traînent sur Youtube en contreplaqué découpé par CNC plus économes. Le réservoir à croquette consiste en une bouteille en plastique, la distribution se fait par une "roue à aube" vers un tube en PVC qui mène à la mangeoire. Une trappe sur la façade avant permet de voir les entrailles du mécanisme ( la Led de puissance à l'intérieur s'allume pendant les distributions). 
 + 
 +Des plans pour la menuiserie : {{:projets:distributeur_de_croquettes_connecte_-_iroger:20170105_185921.jpg?nolink|}} 
 + 
 +Et de l'huile de coude! 
 + 
 +L'assemblage : 
 + 
 +{{ :projets:distributeur_de_croquettes_connecte_-_iroger:20170117_193011.jpg?nolink& |}} 
 + 
 + 
 +===== Liste de courses =====
  
-Electronique+== Electronique ==
  
 - un raspberry pi 0 - 5€ - un raspberry pi 0 - 5€
Ligne 60: Ligne 90:
  
 - la caméra pi noir - 15€ - la caméra pi noir - 15€
 +
 +- un servomoteur Dynamixel XL320 - 15€
  
 - trois convertisseurs de tension, un secteur 230V AC - 12V DC, un 12V-5V pour le raspberry et les modules logiques et un 12V-7,5V pour le servomoteur et la LED de puissance - 15€ - trois convertisseurs de tension, un secteur 230V AC - 12V DC, un 12V-5V pour le raspberry et les modules logiques et un 12V-7,5V pour le servomoteur et la LED de puissance - 15€
Ligne 71: Ligne 103:
 - une résistance de 5,5 Ohm 1/2 W, une autre de 250 Ohm 3W - 1€ - une résistance de 5,5 Ohm 1/2 W, une autre de 250 Ohm 3W - 1€
  
-Autre+== Autre ==
  
 - Bois, contreplaqué - 15€ - Bois, contreplaqué - 15€
Ligne 77: Ligne 109:
 - Quincaillerie - 5€ - Quincaillerie - 5€
  
-On peut donc s'en sortir dans les 75€. +On peut donc s'en sortir dans les 90€.
- +
-===== Réalisation ===== +
- +
-Des plans pour la menuiserie : {{:projets:distributeur_de_croquettes_connecte_-_iroger:20170105_185921.jpg?nolink&600|}} +
- +
-Des plans pour le petit programme : {{:projets:distributeur_de_croquettes_connecte_-_iroger:20161227_195857.jpg?nolink&600|}} +
- +
-Et de l'huile de coude!+
  
 ===== Tutoriels vidéos ===== ===== Tutoriels vidéos =====
Ligne 94: Ligne 118:
 ===== Difficultés rencontrées ===== ===== Difficultés rencontrées =====
  
-A posteriori j'aurais du adopter un mécanisme de vis sans fin, sans doute mois sujets aux contraintes mécaniques.+A posteriori j'aurais du adopter un mécanisme de vis sans fin, sans doute mois sujets aux contraintes mécaniques : j'ai dû bidouiller un module de débourrage, le servomoteur intelligent permet en effet de mesurer une vitesse instantanée, un couple subi...
  
 Pour la partie électronique, pas autant de hics que de satisfaction à toucher à plein de domaines : buffer trois états pour la conversion UART/TTL, transistor NPN pour le contrôle de la LED de puissance... Pour la partie électronique, pas autant de hics que de satisfaction à toucher à plein de domaines : buffer trois états pour la conversion UART/TTL, transistor NPN pour le contrôle de la LED de puissance...
projets/distributeur_de_croquettes_connecte_-_iroger.1485904781.txt.gz · Dernière modification: 2017/02/01 00:19 par maxzor