Go Down

Topic: PCA 9865 multiservo (Read 95 times) previous topic - next topic

alainav1

Bonjour,
je souhaite utiliser le PC 9865 pour commander plusieur servo .(connexion i2c)
j'utilise la bibliothèque  Adafruit_PWMServoDriver.h
je ne connais pas la commande qui met hors tension un servo comme servo.detach
qui permet de mettre hors tension un servo avec la bibliothèque servo .
pouvez vous m'aider .
merci
Alain
 

J-M-L

#1
Mar 14, 2019, 07:16 pm Last Edit: Mar 14, 2019, 07:17 pm by J-M-L
Bonsoir

Un servo n'est pas conçu pour être alimenté mais ne pas recevoir de PWM, dans cette situation il va conserver une position qui est indéfinie et qui dépend du servo et les constructeurs ne s'engagent pas sur ce qu'il se passe dans ce cas là...

Vous vous retrouvez donc avec un moteur qui consomme du courant et qui est dans un état inconnu... detach() n'est pas la solution, ça arrête juste d'envoyer du PWM...

si vous voulez vraiment mettre hors tension il faut piloter l'alimentation du moteur directement par un transistor ou équivalent
 
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

alainav1

les servo consomment plus quand  le bras rencontre un obstacle et reste sous tension.
j'utilise la fonction détach et dans mon cas la position reste en l'etat ou  bouge très peu ce qui ne me pose pas de problème. je commande des aiguilles de modèle réduit.
j'utilise des infrarouges pour commander des arduino nano  qui commande les servo.
je souhaite le minimun de fils car le circuit est démontable d'ou l'infrarouge.je vais surement utiliser le fonction qui met hors tension le PCA 9865 entre chaque commande de servo ?
pour info  voici le principe
http://www.alain.avrons.net/exemplecircuit%20IR.pdf

cordialement
alain

J-M-L

#3
Mar 15, 2019, 05:38 am Last Edit: Mar 15, 2019, 05:49 am by J-M-L
Bonjour

Sympa votre projet et bravo pour votre implication et partager de savoir dans un club apparement

Oui un servo qui force consomme plus. calculez l'angle exact par servo qui est nécessaire et n'allez pas plus loin. (Chaque servo est différent et trouver son angle Min et Max fonctionnel permet d'éviter des bruits et désagréments)

Si vous mettez le PWM à 0 sur un canal de votre PCA9865 vous obtenez le même comportement que detach. ça se fait avec la méthode
Code: [Select]
setPWM(canal, 4096, 0);

Si vous voulez effectivement tout couper en sortie vous pouvez aussi passer la pin OE du PCA9865 à HIGH

Je suppose que vous le savez, mais pour être complet pour ceux qui passeraient ici, n'utilisez pas la pin 5V de sortie de l'arduino pour alimenter la carte PCA9865, branchez directement votre alim sur l'entree V+/GND en parallèle (idéalement prendre 2 alims séparées pour éviter les interférences)

Les cartes PCA9865 ont un emplacement pour un condensateur qui sert de réservoir d'énergie proche des servos si vous en bougez plusieurs à la fois (ça consomme ces petites bêtes). mettre 100μF par Servo connecté (par exemple si 4 Servo mettre un Condo de 400μF) pour éviter un comportement erratique de l'alimentation qui pourrait faire planter votre arduino (vu que vous partagez l'alim)

Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Go Up