Question alimentation arduino + PCA9685

Bonjour,

Etant parfaitement novice en matière d'électronique, je viens demander conseil aux personnes ayant les connaissances nécessaires histoire de ne pas cramer mon appartement ^^

j'ai en projet de créer une main robotisée. Pour cela, je compte utiliser une carte arduino UNO derrière laquelle se trouvera un PCA9685. 8 servo moteurs seront connectés sur ce dernier pour le contrôle des doigts de la main.

Les servo moteurs que j'ai l'intention d'utiliser sont les suivants (20kg, 270°):

https://fr.aliexpress.com/item/1005006865478768.html?spm=a2g0o.order_list.order_list_main.78.57465e5brXP98J&gatewayAdapt=glo2fra

De ce que je vois concernant leurs spécifications techniques :
Tension de fonctionnement: 4.8V à 6V
Courant de ralenti: 4.8V/470mA 6.0V /650mA
Courant de charge: 4.8V/750mA 6.0V /950mA
Couple: 4.8V /17.2kg.cm ---- 6.0V /20.3kg.cm
Vitesse de ralenti: 4.8V/0.15sec / 60 deg ---- 6.0V/0.13sec / 60 deg

Lorsque j'ai fais mes premiers tests avec un servo connecté au PCA9685 (V+ et VCC de ce dernier alimentés directement sur les broches 5v de l'arduino), j'ai l'impression que la vitesse de rotation maximale est limitée par le fait qu'il soit alimenté par l'arduino (et d'après ce que j'ai pu en lire sur le net). Donc dans l'idée, il me faudrait connecter une alimentation externe directement au bornier du PCA9685 pour piloter les servo à leur puissance maximale.

Dans la finalité de mon projet, j'aimerai que mon arduino ainsi que le PCA9685 soient alimentés sur une seule prise électrique.

Pourriez vous me conseiller sur la meilleure alternative possible afin que mes 8 servo moteurs puissent être alimentés pour tourner à leur vitesse maximum en simultanée et que la carte arduino soit fonctionnelle via la même alimentation en entrée ?

La tension maximale d'un servo étant de 6v, je pensais me tourner vers un adaptateur de ce type, que je réglerais sur 6V, et qui fonctionne en 1A (mais aucune idée si ce serait suffisant pour alimenter 8 servo à leurs vitesses max).

Dans ma tête (et uniquement dans ma tête pour ne pas cramer mon appartement encore une fois ^^), je me disais qu'il serait possible de couper le connecteur de ce type de câble, dénuder les câbles pour ne garder que le bloc d'alimentation et son câble et les mettre sur un domino sur lequel je ferai repartir 2 paires de câble. Une paire que je viendrai resouder à son connecteur pour brancher à l'arduino, et l'autre paire que je visserai au bornier du PCA9685.

Je n'ai aucune idée de ce que peut donner cette idée en pratique, car je trouve plusieurs versions qui me laissent dans le doute sur ce qu'est capable de supporter l'arduino UNO...

Merci par avance pour votre lecture et pour vos idées sur le sujet.

Cordialement

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Bonjour nono44413

Si tes servo fonctionnent selon tes désirs, à 5V, tu alimentes les PCA9685 par le bornier:


Tu reprends le V+

que tu connectes sur la borne +5V

pour alimenter le UNO.
Attention, avec cette façon d'alimenter le UNO, il n'est pas conseillé d'avoir l'alimentation par l'USB en même temps.

Pour l'adapteur, choisi plutôt une valeur fixe (ton choix ne fournit pas assez de courant)
image

Avec de gros servo, à ne pas faire :wink:, l'Arduino de délivre pas assez de courant.
Si tu veux alimenter tes servo en 6V, prends un adapteur à cette tension, tu alimentes le PCA9685 par le bornier et tu prends un abaisseur de tension 6V > 5V (step down) pour alimenter le UNO par la broche +5V.. Si tu veux un schéma ...

Je me réjouis de voir le résultat :wink:

Bonjour jpbbricole.

Merci beaucoup pour ce retour clair et précis. :slight_smile:

Je ne savais pas qu'il était possible de passer par le PCA9685 pour alimenter l'arduino. je dormirai moins bête ce soir ^^

Du coup, si je comprends bien et pour maximiser les chances d'un fonctionnement optimal de l'ensemble de mes servo, il serait préférable que je parte sur la seconde solution que tu exposes, et qui consiste à prendre un chargeur 6V pour alimenter le bornier du PCA9685 et de repartir de la broche V+ de ce dernier pour alimenter l'arduino une fois la tension abaissée en 5V. J'ai fais un petit schéma rapide (juste électrique) histoire que tu ne me mâches pas tout le travail. Si tu peux juste me dire si ma compréhension est la bonne, et si le lien ci-dessous correspond bien à l'abaisseur de tension qu'il me serait nécessaire d'acheter :

https://www.amazon.fr/ICQUANZX-Converter-Transformer-Voltage-Regulator/dp/B07RGB2HB6

Pour le reste, les 5A que fournissent l'adaptateur seront-ils normalement suffisant pour faire tourner les 8 servos au maximum de leur vitesse/couple d'après toi ? Ou faudrait il que je cherche un adaptateur 6V avec un ampérage plus important ?

Merci encore pour ton aide :slight_smile:

Bonjour nono44413

C'est un peu gros, juste pour alimenter un UNO, celui-ci suffit:

]
il faut juste régler la tension de sortie au moyen du petit potentiomètre

Il faut tenir compte de ça:

Mais je suis très mauvais pour ce genre de calculs, j'y vais "au pif" donc pas de bon conseil :woozy_face: et j'essayerai avec 5A. Mais vu le prix de ces adapteurs, autant prendre trop que pas assez :wink:

Cordialement
jpbbricole

Merci encore pour ce retour jpbbricole,

Etant donné que tu ne m'as pas fais de remarque sur mon schéma, j'en conclus qu'il doit être OK ^^

Pour l'abaisseur de tension, merci pour l'information, je vais donc me tourner vers le modèle que tu conseilles.

Et pour l'histoire de l'ampérage global que va consommer les servo moteurs, merci de ton honnêteté, je préfère quelqu'un qui me dit qu'il ne sait pas plutôt que quelqu'un qui me sortirait une bêtise pour ne pas perdre la face :wink:

Je vais donc voir pour un chargeur 6V 10A histoire d'être tranquille et ne pas avoir à me prendre la tête avec des calculs savants étant donné mon niveau en électronique ^^

Je tâcherai de mettre des photos de mon projets une fois qu'il sera finalisé (pour peu que j'arrive à le mener à son terme !!).

Merci encore pour toutes ces informations en tout cas. Je me permettrai de venir de nouveau t'embêter (le moins possible :yum:) si jamais d'autres questions se posent à moi :slight_smile:

Cordialement,
Bruno

Bonjour nono44413

M'embêter, en tout cas pas :wink:

Oui.

A+
Une toute bonne soirée!
jpbbricole

Bonjour à tous. @jpbbricole, je me permets de revenir sur ce sujet car je n'ai pas eu l'occasion de refaire des tests depuis tout ce temps. Suite à ton conseil d'abaisseur de tension, j'ai trouvé une alimentation 6V/6A afin davoir l'intensité suffisante pour alimenter tous mes servo moteurs à pleine puissance.

Lien du chargeur :

Suite au branchement, j'ai vu une jolie fumée sortir de l'abaisseur de tension, car il n'acceptait en réalité que 3A, et je n'avais pas percuté ce détail.

Donc un problème se pose à moi pour alimenter l'arduino à partir des broches v+ et grnd de la carte PCA9685 étant donné qu'il me faut certes abaisser le voltage de 6V à 5V, mais il me faut aussi trouver le moyen d'abaisser l'intensité pour ne pas cramer un autre abaisseur de tension.

De plus, j'ai lu qu'il n'était pas forcément recommandé d'alimenter l'arduino via la broche 5v. D'après ce que j'ai pu voir, la bonne pratique consisterait à passer par l'alimentation classique de ce dernier.

J'ai acheté ce convertisseur de tension qui accepte jusqu'à 10A et qui devrait donc résister à l'alimentation 6V/6A (je peux toujours le renvoyer si il n'est pas adapté). Mais je ne sais pas si il serait bien adapter à mon projet, sachant que dans tous les cas, le problème de l'intensité de sortie qui sera toujours 6A se répercutera certainement sur l'arduino si jamais je passe par la broche 5v, car de ce que j'ai lu, cette dernière n'accepte que jusqu'à 40mA.

Lien du Convertisseur Abaisseur de Tension :

Je dis peut-être des énormités, donc si quelqu'un veut me reprendre, n'hésitez pas !

Mon idée avec ce composant pour peu qu'il soit bien adapté, serait alors de récupérer en sortie du 5V/6A au lieu du 6V/6A en entrée, et de câbler cette sortie sur un connecteur mâle d'une alimentation arduino pour l'utiliser directement sur l'entrée d'alimentation classique de l'arduino. Ainsi, j'imagine que l'arduino utilisera uniquement l'intensité dont il a besoin.

Si quelqu'un peut me faire savoir si cette solution est viable ou non, ce serait gentil, car je n'ai pas les connaissances nécessaires pour être certain de ne pas cramer de nouveaux composants, et je préfère demander conseil avant de rebrancher quoi que ce soit (voir mon logement :sweat_smile:)

Ou si quelqu'un a une meilleure solution sachant que pour rappel, il s'agit de vouloir alimenter un arduino UNO à partir d'une alimentation 6V/6A (déjà achetée) branchée sur une carte PCA9685 (afin d'avoir la puissance nécessaire pour alimenter 5 servos à pleine puissance) :

Lien des servos :
https://fr.aliexpress.com/item/1005006865478768.html?spm=a2g0o.order_list.order_list_main.9.2c505e5bJ0Idn5&gatewayAdapt=glo2fra

merci par avance pour vos retours :slight_smile:

L'abaisseur de tension c'était uniquement pour alimenter l'Arduino.

Oui, tout à fait. Je me suis basé sur ce schéma que j'avais fais et que jpbbricole a validé :

Mais sans même brancher l'arduino, l'abaisseur de tension a forcément cramé étant donné qu'il n'acceptait que jusqu'à 3A et que je lui ai fait passé du 6A. D'ou mon questionnement de savoir quel comment alimenter l'arduino à partir des sorties v+ et grnd du PCA9685 sur lequel se trouve branché une alimentation 6V/6A à son bornier.

Merci encore pour le retour :slight_smile:

non,non,non.
Si tu ne branches pas l'arduino, aucun courant ne circule.
L'alimentation peut fournir 6A s'il y a quelque chose qui tire 6A. S'il n'y a aucun consommateur il n'y a pas de consommation donc 0A.
L'arduino consomme dans les 20 ou 30mA donc il ne circule pas plus de 30mA dans cette branche même si par ailleurs tes servos tirent de leur coté 5 ou 6A.

Par contre comme l'avait bien spécifié @jpbbricole il ne faut pas alimenter en même temps par l'USB et par l'abaisseur.

Ok, j'étais persuadé de ne pas avoir branché l'arduino à l'output de l'abaisseur de tension lors de mon test (qui date quand même d'une semaine, ce qui est énorme pour mon cerveau de poule), mais j'ai dû fumer du coup (comme l'abaisseur de tension...).

Pour cette partie là, on est ok, je l'avais bien notée, donc pas de double alim côté montage.

Pour le reste et en ayant demandé à Mr chatgpt en parallèle, il me dit que la meilleure solution consiste à utiliser un abaisseur de tension de ce type :

Car l'arduino ne saura pas forcément réguler la tension à 5v et il faut qu'elle arrive stable en amont. Et ensuite, il m'a tout comme toi spécifié que l'appareil tirera uniquement l'ampérage dont il aura besoin, ni plus ni moins.

Donc le but sera de rester sur le schéma de montage que tu as vu, mais au lieu d'utiliser les bornes +5v et grnd de l'arduino pour faire arriver le courant, je vais plutôt utiliser l'alimentation principale de l'arduino (ce que chatgpt me conseille aussi de faire en lieu et place des bornes +5v et grnd sur le long terme...)

Tu confirmes que ça fera l'affaire ?

Merci encore pour ton aide

Qu'est-ce que tu appelles "l'alimentation principale"?

Comme dit plus haut, l'Arduino ne consomme pas beaucoup de courant. Il est inutile de prendre un convertisseur capable de fournir 5A alors qu'un modèle délivrant moins de 1A serait largement suffisant. Sauf si tu as besoin de 5V par ailleurs.

Bonjour,

Un petit rappel:
Comment éviter un conflit entre l'alimentation +5V USB et celle que vous amenez éventuellement sur le +5V de la carte Arduino.

Si j'alimente Arduino par sa prise Jack ou par la broche VIN, il fabrique son propre 5V, pas besoin de relier sa broche 5V à un autre 5V externe.

Par contre:

Si je n'ai rien sur la prise Jack ou sur VIN, si j'améne un 5V externe, et si j'alimente aussi l'USB, je crée un conflit de tension

USBVCC et le +5V externe sont connectés ensemble et se "battent" pour imposer leurs tension (sauf s'ils ont strictement la même valeur).

C'est pour cela que si tu alimente par la broche +5V de ton Arduino, il faut faire attention de ne pas connecter en même temps ta prise USB.

Autre philosophie:

Tu choisit une bonne alim 6V 1A par servo (donc 8 a 10A) pour la puissance.

Et un convertisseur DC/DC réglable pour faire 6V ---> 6,5 à 7V pour alimenter Arduino par VIN ou prise Jack (plutôt 7V si tu passe par Jack).

En procédant ainsi, tu ne te pose plus de question si tu veux brancher ta prise USB à ton PC en sachant que le régulateur 5V de l'Arduino (NCP1117) à besoin, pour bien fonctionner d'une tension VIN au moins égale à 6.5V selon les données du fabricant de ce régulateur (sur la broche VIN de l'Arduino).
Ou au minimum 7V selon les données Arduino si tu alimenté par la prise Jack.

PS:
Au max, chaque servo consomme 950mA alimentés en 6V.

Ça m'étonnerais que tous les 8 puissent se trouver dans une configuration où ils sont tous en même temps sollicités au max.

Mais si cela devait arriver, tu consommerais 8x le courant Max d'un servo (les courants de chaque servo s'aditionnent pour former le courant total demandé à l'alim 6V)

Bonjour jef59.

Merci pour ces explications détaillées.

Donc selon toi, il me serait possible d'utiliser cette alimentation que jai acheté :

Et j'ai ce convertisseur, dont je comptais connecter l'output à l'arduino via le jack, mais de ce que tu me dis, il faudrait plutôt que je donne en entrée 6,5V voir 7V si je passe par le jack de l'arduino. La tension de 5V regulée par ce convertisseur ne sera pas suffisante selon toi ?

Et si j'arrive à brancher l'arduino via le jack, de ce que je comprends de tes propos, ca me permettra aussi de pouvoir brancher l'usb sur mon pc pour faire mes tests ?

Merci par avance pour ton retour :slight_smile:

J'entends par là laisser branché le jack et brancher l'usb en même temps sans risque de conflit de tension...

J'ai fais ces essais sur 1 Arduino UNO (schéma interne de l'alim UNO)

Si par exemple j'alimente par la prise Jack, et que je mesure en même temps VIN et la tension sur la broche +5V, j'obtiens les mesures dans le tableau.

Donc pour avoir 5V régulé (stable) en sortie, il faut au moins 7V sur la prise Jack.

Sur le schéma, on voit entre VIN et la prise jack, une diode de protection qui fait chuter environ de 0.8V la tension.

Si tu veux alimenter par la broche VIN au lieu de la prise jack (c'est possible) il ne faut plus 7V, mais 6.27V (6.5V dit le fabricant du régulateur).

SI TU ALIMENTE PAR LA PRISE JACK (7V) OU PAR VIN (6.5V), TU PEUX BRANCHER AUSSI TA PRISE USB

C'est exact.

Malgré tout, avec +/- de la chance, peut-être que si tu met 6V sur VIN, ça marchera (ce n'est pas un test auto destructeur)?
Chez moi, il faut absolument 6.25V sur VIN (et encore je fais mes mesures à vide, seul l’Arduino consomme sur son 5V) sinon le régulateur n'arrive pas à sortir 5V régulé)

Merci encore pour ces informations jef59, et pour ce tableau bien pratique :slight_smile:

Donc mon alimentation 6V/6A ne suffira pas à sortir du 5V stable régulé via la prise jack de ce que j'en vois.
Par contre, lorsque j'ai mesuré la tension de l'alimentation, je trouve 6.40V, donc en soit, l'arduino pourrait bien recevoir ses 5V stables via le VIN, tu confirmes ?

Mais si c'est bien le cas, pourrais-tu m'éclaircir sur un point sans vouloir trop en demander ?

Chatgpt me conseille de passer par un convertisseur abaisseur de tension pour ramener mes 6V à 5V stable pour le brancher sur la prise Jack. Donc déjà, on voit que le résultat de tes tests nous disent bien qu'il faut au minimum 7.09V pour atteindre les 5V stable en sortie.

De plus, de ce que je comprends de tes propos, l'arduino a un régulateur de tension intégré, donc je doute sur l'utilité de passer par un abaisseur de tension externe.

Ne pourrais-je pas tout simplement envoyer directement mon alimentation 6V/6A sur le VIN de l'arduino (6.40V plus exactement) qui se chargerait alors de réguler la tension à 5V stable ?

Dans cette hypothèse, le schéma suivant serait-il correct ?

De plus, si il l'est, que préconises tu pour te brancher sur le VIN de l'arduino. Car il s'agit d'une simple broche faite pour un câble Dupont Arduino classique. Il supporterait cette charge de 6V/6A ?

Merci par avance pour tes lumières encore une fois

Bonjour nono44413

ChatGPT n'a pas toujours la bonne information :woozy_face: (j'en suis un adepte :wink:)
Arduino dit:
image

mais c'est mieux de respecter la première option, 7-12V.

Ton alimentation peut fournir 6A, mais ne va passer par ce fil, que ce que demande l'Arduino, c'est à dire quelques dizaines de milliampères.

Cordialement
jpbbricole

Le chat a PT un câble!

Pour le reste, tu as juste en théorie.

En pratique, j'ai des doutes sur ton alim 6V qui fait 6.4V.

Des alims +/- bien regulées pourraient fournir à vide (avec rien de branché dessus) + que ce que le fabricant annonce en charge (en charge, elle fournirait 6V, à vide, 6,4V).

Tu peux essayer effectivement par VIN, il y a de la marge, jusqu'à 18V.

Tu met 6,4V (ou +) sur VIN, et le régulateur devrait faire son job.

Le régulateur "pompe" uniquement le courant dont il a besoin pour alimenter ARDUINO, et non 6A.

Personnellement j'ai un kit comme ça compatible UNO ou MEGA, ça permet de visser les fils et enficher la carte sur le kit.