Accueil > GNU/LINUX & RASPBERRY PI > Raspi & Driver POLOLU DRV8835 Moteur à Courant Continu
vendredi 4 décembre 2015, par
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)
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
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)
import time from pololu_drv8835_rpi import motors, MAX_SPEED try: motors.setSpeeds(0, 0) speed=0 while(speed<=480): motors.motor1.setSpeed(speed) speed=speed+1 time.sleep(0.01) while(speed>=0): motors.motor1.setSpeed(speed) speed=speed-1 time.sleep(0.01) while(speed>=-480): motors.motor1.setSpeed(speed) speed=speed-1 time.sleep(0.01) while(speed<=0): motors.motor1.setSpeed(speed) speed=speed+1 time.sleep(0.01) finally: # Stop the motors, even if there is an exception # or the user presses Ctrl+C to kill the process. motors.setSpeeds(0, 0)