Pilotage Servo 28byj-48 Raspbian

Pilotage Servo Moteur 28byj-48 depuis raspberry.

 

Code exemple + montage :
https://ben.akrin.com/driving-a-28byj-48-stepper-motor-uln2003-driver-with-a-raspberry-pi/

Liste des ports Raspberry => la commande python $ pinout lance le descriptif dans la console.

https://www.raspberrypi-france.fr/comment-utiliser-les-port-gpio-raspberry-pi/

Tout sur le moteur : 28BYJ-48 : http://www.loutrel.org/Moteurpasapas.html

La fréquence d’excitation maximale théorique est 100 Hz, soit tE = 10ms.
Pour un tour de moteur (Wave, Full Step) il faut donc au minimum 10 ms*32 = 320 ms, soit une vitesse maximale de 1/0.32 = 3.12 t/s ou 187 t/mn.
Après réduction mécanique de 64, l’arbre de sortie a donc une vitesse maxi de 187/60 = 3 t/mn.
Dans la pratique, j’ai pu pousser la fréquence d’excitation à 500 Hz (voir 600 Hz ) , ce qui donne 15 t/mn en sortie, sans garantie sur la durée de l’expérience…

Capter signal bouton poussoir fin de course :

https://raspberry-lab.fr/Composants/Executer-script-pression-bouton-sur-Raspberry-Francais/

GPIO2 + GND

  • En gros boucle permanente de test d’état de GPIO2 (2 états 0 (contact) et 1 (rien))
  • Lorsque le GPIO2 passe à état 0 => signal capturable par Python « etat = GPIO.input(pinBtn) »

 

Pilotage via ARDUINO DUE

Quand le Raspberry pilote le servo il devient indisponible pour autre chose => l’idée est d’envoyer les instructions de positions via SerialUSB a l’Arduino qui traitera les déplacement des servos.

A SAVOIR :

  • Une fois le programme chargé depuis l’IDE dans l’Arduino, le code s’active en boucle.
  • Pour envoyer des commandes passer par l’interface serial de l’IDE (ou distante) => le prévoir au départ.
  • L’Arduino ne gère qu’un seul programme à la fois => il faut TOUT embarquer dans 1 seul fichier.
  • Les fichiers sont préparés depuis l’IDE et injecté dans la carte.
  • L’IDE ne tourne pas sur le Raspberry : Linux+taille mémoire + pas de reconnaissance du DUE dans l’IDE Linux 🙁 => Préparer le code sous Windows (Port Programming) et faire tourner sous Raspberry avec un vison ReaVNC sur le PC.
  • l’injection d’un ficher nouveau écrase le fichier précédent.
  • Possible de simuler la compilation (pour vérifier l’absence d’erreur de code)
  • L’injection est précédée d’une compilation.

Librairies Steppers Motors à embarquer dans l’Arduino :