Accueil > GNU/LINUX & RASPBERRY PI > Raspi & Driver POLOLU DRV8835 Moteur à Courant Continu

Raspi & Driver POLOLU DRV8835 Moteur à Courant Continu

vendredi 4 décembre 2015, par thebault

Caractéristiques du driver

JPEG - 711.7 ko

- lien vers la page du driver POLOLU DRV8835,
- datasheet du DRV8835 chez TI,
- double pont en H (chaque sortie est un 1/2 pont en H avec les diodes de roue libre intégrées), permet de commander 2 moteurs à courant continu,
- commande des moteurs avec inversion du sens de rotation et variation de vitesse (PWM)
- alimentation partie puissance : de 1 V à 11 V,
- courant de sortie 1,2 A (1,5 A en pointe)

Installation de la bibliothèque python

La documentation de POLOLU :https://github.com/pololu/drv8835-motor-driver-rpi

1. Installation de Wiringpi

sudo apt-get install python-dev python-pip
sudo pip install wiringpi

2. installation de la bibliothèque

git clone https://github.com/pololu/drv8835-motor-driver-rpi.git
cd drv8835-motor-driver-rpi
sudo python setup.py install

Branchements

JPEG - 609.9 ko

Utiliser la bibliothèque python pour commander les moteurs

Les programmes doivent être lancés avec la commande sudo (en mode "superuser").

Importer la bibliothèque :

from pololu_drv8835_rpi import motors, MAX_SPEED

Max speed est égal à 480. Cela signifie que l’on peut commander les moteurs avec une "vitesse" de -480 à 480 (sens inverse et sens direct)

Pour commander le moteur 1, il faut utiliser la commande suivante (Sachant que speed est compris entre -480 et 0 pour le sens inverse et 0 et 480 pour le sens direct) :

motors.motor1.setSpeed(speed)


  1. import time
  2. from pololu_drv8835_rpi import motors, MAX_SPEED
  3.  
  4.  
  5. try:
  6. motors.setSpeeds(0, 0)
  7. speed=0
  8. while(speed<=480):
  9. motors.motor1.setSpeed(speed)
  10. speed=speed+1
  11. time.sleep(0.01)
  12.  
  13. while(speed>=0):
  14. motors.motor1.setSpeed(speed)
  15. speed=speed-1
  16. time.sleep(0.01)
  17.  
  18. while(speed>=-480):
  19. motors.motor1.setSpeed(speed)
  20. speed=speed-1
  21. time.sleep(0.01)
  22.  
  23. while(speed<=0):
  24. motors.motor1.setSpeed(speed)
  25. speed=speed+1
  26. time.sleep(0.01)
  27.  
  28. finally:
  29. # Stop the motors, even if there is an exception
  30. # or the user presses Ctrl+C to kill the process.
  31. motors.setSpeeds(0, 0)

Télécharger


SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © digitalnature sous Licence GPL