Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

Arduino - Servomoteurs

Toutes les discussions sur l'Arduino !

Modérateur: MOD

Re: Arduino - Servomoteurs

Publié: Mar 26 Jan 2016, 15:35 
Tout d’abord un grand merci aux experts qui ont mis leur savoir-faire à disposition du plus grand nombre.

Inspiré fortement par les premiers exemples proposés dans ce fil, j’ai réalisé un petit programme pour une carte Arduino UNO afin de piloter deux servos censés gérer les mouvements de barrières oscillantes de PN (en zéro).
Après avoir réglé empiriquement les différents angles de débattement maxi et mini (servos "à vide"), j’ai relié les barrières et constaté que, en situation, les servos n’arrivaient plus en fin de course désirée de part et d’autre (la conception des barrières, d’origine LMJ, copiée sur la réalité fait qu’il y a deux, légers, points durs). Les servos ne franchissent pas ces points durs et émettent un bourdonnement pas très sympathique. Pourtant les servos Hitec réf HS-635HB sont censés développer une force de 5 kg sous 4,8v, ce qui devrait être largement suffisant pour ce qui leur est demandé.

Actuellement la seule alimentation est un cordon USB reliant le PC portable à la carte Arduino, elle-même alimentant les servos. Avant d’acquérir de nouveau servos plus puissants, et donc (beaucoup) plus onéreux, je m’interroge sur un éventuel problème d’alimentation de ceux mis en place.

J’ai aperçu en parcourant ce fil, l’évocation d’une alimentation externe des servos. Si cela est possible, comment cela se met-il en œuvre ?
Dernière édition par Stratus le Mer 27 Jan 2016, 14:07, édité 1 fois au total.
R8G for ever
Avatar de l’utilisateur
Stratus
Démonstratif
 
Messages: 1414
Inscrit le: Ven 28 Nov 2008, 14:20
Localisation: Yonne
Âge: 69
Echelle pratiquée: O Epoque III
Club: CDZ

Re: Arduino - Servomoteurs

Publié: Mar 26 Jan 2016, 19:56 
Je pense effectivement que tes servos ont besoin d'une alimentation indépendante pour développer la force nécessaire.

Tu peux trouver dans le cours "Démarrer en électronique" un schéma pour fabriquer une petite alimentation 5 V à partir d'un circuit 7805 et quelques composants supplémentaires, notamment un petit bloc d'alimentation délivrant du 9 V (chargeur quelconque). Tout est dans le cours. Ensuite, ta carte Arduino est alimentée normalement, les servos sont alimentés avec cette petite alimentation, et il suffit de relier les deux masses (GND de la carte Arduino avec la masse de l'alimentation).

Enfin, si tu ne veux pas fabriquer toi-même cette alimentation, tu peux en trouver des toutes faites.
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1528
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Arduino - Servomoteurs

Publié: Mar 26 Jan 2016, 20:41 
Bonsoir,

la norme USB spécifie une limite de 500mA au courant qu'un port USB peut délivrer.

Les servos HS-635HB dont les spécifications sont ici : http://hitecrcd.co.jp/products/hitec/se ... /33635.pdf consomment à vide 400mA pour faire un mouvement à vitesse maxi de 60°. Ils consomment moins pour les petits mouvement d'un mouvement lent. Ils consomment 2A bloqués.

Donc oui, le courant délivré par le port USB est insuffisant pour alimenter 2 servos qui doivent forcer sur un point dur.

Une autre piste que le 7805 qui demande un montage avec des capas sur une carte et qui délivre de 1A à 1,5A, est d'utiliser un petit convertisseur DC-DC. Pour un délai d'acheminement court : http://www.exp-tech.de/pololu-5v-5a-ste ... r-d24v50f5

Les explications pour l'utilisation sont ici : https://www.pololu.com/product/2851
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Arduino - Servomoteurs

Publié: Mer 27 Jan 2016, 00:46 
Merci à vous deux pour ces réponses.
R8G for ever
Avatar de l’utilisateur
Stratus
Démonstratif
 
Messages: 1414
Inscrit le: Ven 28 Nov 2008, 14:20
Localisation: Yonne
Âge: 69
Echelle pratiquée: O Epoque III
Club: CDZ

Re: Arduino - Servomoteurs

Publié: Mer 27 Jan 2016, 14:54 
jlb a écrit:Une autre piste que le 7805 ... est d'utiliser un petit convertisseur DC-DC.

Tu recommandes un par servo ou un seul peut suffire pour les deux ?

Par ailleurs une disposition similiare (mais en 12v) existe-elle pour rendre la carte indépendante du PC en énergie (je pensais à du 12v par l'entrée jack 2.1)
R8G for ever
Avatar de l’utilisateur
Stratus
Démonstratif
 
Messages: 1414
Inscrit le: Ven 28 Nov 2008, 14:20
Localisation: Yonne
Âge: 69
Echelle pratiquée: O Epoque III
Club: CDZ

Re: Arduino - Servomoteurs

Publié: Mer 27 Jan 2016, 18:09 
Celui que j'ai pointé peut fournir 5A en continu. Donc il suffit, avec de la marge, pour les 2 servos bloqués.

Tu peux brancher la sortie de ce convertisseur directement sur le 5V de l'Arduino (et sur la masse bien sûr) et alimenter les servo également.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 10:10 
jlb a écrit:Tu peux brancher la sortie de ce convertisseur directement sur le 5V de l'Arduino (et sur la masse bien sûr) et alimenter les servo également.


C'est ce que j'ai cru comprendre puisqu'il agit, aussi, en "booster".

La même "chose" (alimentation régulée "ready to use") existe-t-elle pour du 12v ; j'ai à proximité de la carte Arduino du 15v cc que j'aimerais pouvoir utiliser pour l'alimenter et j'ai lu qu'il est recommandé de ne pas excéder les 12v pour un usage prolongé, même si le régulateur de la carte peut absorber jusqu'à 20v.
R8G for ever
Avatar de l’utilisateur
Stratus
Démonstratif
 
Messages: 1414
Inscrit le: Ven 28 Nov 2008, 14:20
Localisation: Yonne
Âge: 69
Echelle pratiquée: O Epoque III
Club: CDZ

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 12:39 
Bonjour,

Non, ce n'est pas ça. J'essaye d'expliquer que tu n'as pas besoin d'une seconde alimentation. Il suffit de brancher comme ceci :

Image
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 13:55 
Vu : le convertisseur sera également utilisé pour alimenter la carte Arduino par son GND et son 5V.

Cela devrait pouvoir éviter quelques "soubresauts" des servos lors de leur mise sous tension avec une alimentation externe. Ce que j'ai constaté avec un petit bricolage provisoire en utilisant la partie 5V régulé d'un kit µP99 de pilotage de servos, solution abandonnée (le pilotage) pour des raisons expliquées par ailleurs. Cette solution temporaire d'alimentation externe a apporté un léger mieux mais ce n'est pas encore suffisant.

Questions complémentaires, tout de même : pour alimenter l'Arduino il faut bien utiliser la pin 5v (qui pour les premiers tests me servait en sortie) et non pas VIN, ou encore le jack 2,1 ?
R8G for ever
Avatar de l’utilisateur
Stratus
Démonstratif
 
Messages: 1414
Inscrit le: Ven 28 Nov 2008, 14:20
Localisation: Yonne
Âge: 69
Echelle pratiquée: O Epoque III
Club: CDZ

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 14:05 
Stratus a écrit:Vu : le convertisseur sera également utilisé pour alimenter la carte Arduino par son GND et son 5V.
.....

Questions complémentaires, tout de même : pour alimenter l'Arduino il faut bien utiliser la pin 5v (qui pour les premiers tests me servait en sortie) et non pas VIN, ou encore le jack 2,1 ?


Surtout pas ! Il faut utiliser Vin.

Ceci a été expliqué dans mon cours "Démarrer en électronique programmable" à la "Présentation du module Arduino", la remarque Attention que tu peux lire ici (milieu de page) :
viewtopic.php?f=63&t=80539&start=30

La broche 5 V ne sert qu'à récupérer du 5 V (fabriqué par le module) pour alimenter un périphérique qui ne serait pas trop gourmand.
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1528
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 18:22 
Non c'est faux mais pour un néophyte tu as raison :D

Si tu regardes la schématique de l'Arduino Uno, tu verras que la sortie du régulateur 5V est en compétition avec le 5V qui vient de l'USB. Le conflit est résolu via un MOSFET qui est commandé par la présence d'une tension > 3,3V sur VIN (via un comparateur), si on alimente par VIN, le MOSFET se bloque et déconnecte le 5V fourni par l'USB et c'est donc le régulateur qui prend son entrée sur VIN qui fourni le 5V. Si VIN n'est pas connecté, le MOSFET est passant et c'est le 5V de l'USB qui est fourni.

Rien empêche de connecter un régulateur externe sur +5V mais dans ce cas :
1) Il ne faut pas connecter l'USB car il y aura compétition entre le régulateur externe et l'USB, l'un des deux risque de griller
2) Il ne faut pas connecter VIN car il y aura compétition entre le régulateur 5V de la carte Arduino et le régulateur externe et l'un des deux risque de griller mais normalement ce n'est plus une option.

Donc si on opte pour cette configuration, il faut prévoir un interrupteur pour mettre hors tension l'Arduino via le régulateur externe avant de brancher l'USB pour le reprogrammer et bien sûr penser à le faire.

Alternativement il existe pour fournir un VIN à l'Arduino à partir de 15V des modules chez Pololu : https://www.pololu.com/product/2833 que l'on trouve ici pour l'Europe : http://www.exp-tech.de/pololu-9v-1a-ste ... r-d24v10f9

C'est plus sûr mais c'est plus cher

Image
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 18:51 
Bonjour Jean-Luc,

Je reconnais que cela puisse être possible, mais pour le faire, il faut prendre toutes les précautions dont tu as parlé.

Imaginons qu'on conseille de le faire à quelqu'un qui n'a pas bien intégré tout cela et qu'il bousille son module, il aurait bien des raisons de nous en vouloir. :colere:

Il faut donc rester prudent et ne conseiller que des manipulations qui ne présentent aucun risque et qu'on a expérimenté soi-même.

Donc pour moi, l'alimentation si extérieure, c'est par Vin. Voici d'ailleurs ce que dit le site Arduino pour le module Uno :
Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.
Ou si mon anglais ne laisse pas trop à désirer :
Alimenter via les pins 5V ou 3.3V surpasse le régulateur, et peut endommager votre module. Nous ne le conseillons pas.

Peut endommager le module et non va l'endommager. Ils ne le conseillent pas mais ne l'interdisent pas !

Après, chacun fait comme il veut s'il s'en sent capable ... :siffle:
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1528
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 19:01 
C'est vrai :)

D'un autre côté ce sont les mêmes qui spécifient 40mA par sortie sans mettre en garde les utilisateurs qu'avec 40mA on est hors de ce qui est conseillé par Atmel. Déjà en fournissant 20mA, la tension de la broche s'effondre en dessous de 4,5V et en absorbant 20 mA, elle monte à 0,45V (pages 410 et 411). Et les courbes ne vont pas au delà de 20mA, après c'est la twilight zone
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Arduino - Servomoteurs

Publié: Jeu 28 Jan 2016, 20:00 
Bonsoir à tous.
Je me suis lancé depuis peu (3 mois) dans l'utilisation (après l'apprentissage )des Arduino. Pour mon premier projet,j'avais pris un Méga. J'ai ramé un peu pour comprendre toutes les subtilités de la programmation (accolades,point virgules,virgules). Une fois tout ça assimilé ou pratiquement je me suis lancé dans la programmation de mon pont tournant et mon pont transbordeur. Ces installations sont manoeuvrées par moteur pas à pas.lors de la réalisation des cartes électroniques (sur plaques à trous et bandes),j'ai inclus entre le Méga et la puissance pour les moteurs des optocoupleurs,ce qui élimine tout risque.Arrivé au terme de cette réalisation,j'ai constaté que je n'utilisais pas la moitié du Méga. J'i donc acheté ,pour le remplacer,un Nano qui a suffisament de sorties pour ça.J'ai refais le programme pour ce dernier et ça roule impeccable.ce dernier n'a pas de prise pour l'alimentation,je l'alimente donc directement par du 5 V sur la broche Vin. De plus,avec les optos-coupleurs;ça évite d'avoir la masse commune à la puissance et au microcontroleur.
Jojo37
Avatar de l’utilisateur
Jojo37
Éloquent
 
Messages: 301
Inscrit le: Dim 14 Fév 2010, 11:41
Localisation: LOCHES37
Âge: 61
Club: RAIL86

Re: Arduino - Servomoteurs

Publié: Ven 29 Jan 2016, 11:14 
jlb a écrit:C'est vrai :)

D'un autre côté ce sont les mêmes qui spécifient 40mA par sortie sans mettre en garde les utilisateurs qu'avec 40mA on est hors de ce qui est conseillé par Atmel. Déjà en fournissant 20mA, la tension de la broche s'effondre en dessous de 4,5V et en absorbant 20 mA, elle monte à 0,45V (pages 410 et 411). Et les courbes ne vont pas au delà de 20mA, après c'est la twilight zone


Exactement !
Et c'est pourquoi mon cours présente les caractéristiques du microcontrôleur ATmega328P qui est le cœur du système Arduino Uno.
Connaitre ses limitations permet de mieux utiliser le module Uno et donc mieux concevoir son montage.

Un peu comme une voiture qu'on peut utiliser tous les jours sans jamais ouvrir le capot moteur, mais qui sera mieux entretenue et durera plus longtemps si on s'y connait un peu en mécanique. :wink:
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1528
Inscrit le: Mer 25 Sep 2013, 17:14

PrécédentSuivant

Retour vers Arduino

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invité(s)