C’est normal que cela ne fonctionne pas.
Je n’avais en effet pas percuté que les BTS utilisent un signal pour la rotation droite et un autre pour la rotation gauche. Pour remédier a ça, tu peux simplement connecter les pins R_EN et L_EN de chaque module a des GPIO de façon à désactiver les rotations de l'un quand l'autre utilise le signal pwm. Le problème, c’est que les moteurs ne pourraient pas tourner dans le même sens a des vitesses différentes en même temps
Cela dit, avec un peu d’imagination, c’est facilement jouable et en économisant 2 GPIO. C’est juste un Suggestion car c’ayant pas ce genre de module, je ne peux pas essayer, mais cela devrait fonctionner :
Une seule pin PWM du PI qui raccorde les broches L_PWM ET R_PWM d’un même module BTS.
Une GPIO en sortie qui définie le sens de rotation. Cette sortie GPIO directement relié à L_EN pour activer la rotation à gauche et un inverseur (NPN) qui switch R_EN pour désactiver la rotation à droite
Vite fait à l’arrache pour que tu comprennes ce que je veux dire, voilà à quoi va ressemblerait
- btspi.png (20.24 Kio) Vu 5639 fois
Dans cette configuration :
Si la GPIO est à 0, R_EN est à l’état haut (pull up R1) et L_EN à l’état bas (pull_down R2), donc, rotation à droite
Si la GPIO est à 1, R_EN st mis a l’état bas par le swith Q1 et L_EN est mis à l’état haut par la GPIO, donc rotation à gauche
Avec ça, les 2 modules BTS devienne totalement indépendant aussi bien en vitesse qu’en sens de rotation. Il y a d’autres solutions que l’utilisation d’un transistor (porte logique, mini relais inverseur …) , mais c’est ce qu’il y a de plus facile a mettre en œuvre je pense
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).