Club robotique de Sophia-Antipolis

Accueil > Projets et études > Nos robots > Réalisations personnelles > Drikybot : un robot danceur > DrikyBot : alimentation des servomoteurs

DrikyBot : alimentation des servomoteurs

mardi 28 mai 2013, par Audrick F.

Afin de contrôler les bras de mon robot (Drikybot robot danseur) j’utilise 4 servomoteurs SV4032 pour chacun des bras (donc 8 servos au totale) connectés directement sur l’Arduino UNO.
L’Arduino ne supporte pas les servos ayant une intensité de 300mA chacun, il me faut donc une alimentation supplémentaire pour les servomoteurs.

Les servos étant alimentés en 6 V l’idéale serait d’utiliser une batterie 6 volt mais ayant déjà une batterie 12 volt NIMH 3Ah sur le robot pour alimenter des led strip, je voudrais alimenter les servos avec celle-ci.

Première solution

Une solution soft est de choisir un convertisseur 12 V à 6 V.

Deuxième solution

Des régulateurs LM317 étant disponible, j’ai trouvé intéressant de les utiliser pour le Drikybot.
Soit 8 servos x 300mA => 2.4 A
Il faut donc 2 LM317 (à 1.5A chacun monté en //) pour alimenter les servomoteurs.

Le montage du LM317 sur l’Arduino est le suivant :

J’ai réalisé le montage d’alimentation du LM317 en utilisant la formule de la datasheet :

Dans mon cas on a :

Vout =1.25*[1+(R2/R1)]
avec R2=820 Ohm et R1=220 Ohm.

Le rapport entre les résistances R1 et R2 permet de régler la tension de sortie
Vout=5.91V.
J’ai négligé l’intensité Iadj<100µA car elle est à prendre en compte pour de très faibles tensions en sortie car dans le cas suivant en son maximum 100µA avec les mêmes valeurs de résistances ont aurais 5.91V(notre tension en sortie actuelle)+0.082V soit 5.992Volt.

On a donc le schéma suivant :

D’autre part, le courant qui passera dans R1 sera environ égal à Vout / (R1 + R2) = 6 / 1040 égale environ 6mA, ce qui fait que la puissance dissipée par les résistances P = RI² est environ égale à 8mW pour R1 et 30mW pour R2 on peut donc utiliser des résistances 1/4W ou même 1/8W sans qu’elles ne grillent.

Doit-on rajouter un radiateur ?

De la doc à lire pour mieux comprendre la loi d’ohm thermique utilisé dans la suite de l’article disponible ici :

Le calcul de la puissance permet de savoir si on doit utiliser un radiateur externe sur le LM317 avec une batterie à 13.6 V à pleine charge et une tension de sortie du LM317 de 6V.
On a P= UI=[(13.6-6)*(300^-3)])=>2.28W pour 1 servomoteur.

Il faut ensuite calculer la température de jonction Tj afin de savoir si l’ajout d’un radiateur est nécessaire.

On a :
Tj = Ta + P * Rthja = 25 + 65 * 2.28 = 173 °C

Donc avec un seul servo, on est déjà à 50°C au-delà de ce que peut supporter un LM317.
Donc un radiateur est obligatoire !
On commence à sentir (le brulé ? :D) que si on utilise 4 servos par LM317, il va falloir trouver un gros radiateur !

Choix du radiateur

Méthode théorique

Maintenant, on utilise la formule de calcul thermique impliquant un radiateur (on décompose simplement le Rthja en une somme de résistance thermique) :

Tj = Ta + P * (Rthjb + Rthbr + Rthra)

Avec
Tj = 125°C
Rthjb = 5 c’est la résistance thermique entre la jonction et le boitier.
Rthbr = 1 (je majore la valeur indiquée par wikipedia pour un boitier TO-3) c’est la résistance thermique entre le boitier et le radiateur, en sachant qu’on peut avoir de la patte thermique et/ou une lamelle de mica pour l’isolation.
Il faut calculer la valeur de Rthra afin de déterminer la taille du radiateur.

En inversant la formule on obtient :

Rthra = (Tj - Ta) / P - Rthjb - Rthbr

Rthra = (125 - 25) / 9,2 - 5 - 1 = 4

on trouve Rthra = 4 °C/W, donc ça colle avec le radiateur décrit par wikipedia : 1 à 1,75°C/W pour un radiateur de 10cm avec 8 ailette de chaque côté (ça fait un bon bloc !!).

Si on recalcule Tj avec Rthra de 1,75°C/W on trouve : Tj = 25 + 9,2 * (5 + 1 + 1,75) = 97°C

C’est dans les limites. Mais pas question de poser le doigt sur le LM317 quand les 4 servos marchent ensemble !

Il faut donc 2 gros radiateurs.

Méthode expérimentale

Tout d’abord il faut mettre un radiateur d’office et faire marcher le montage pendant une seconde, l’arrêter et toucher le composant. Si ça chauffe beaucoup, il faut alors augmenter la taille du radiateur. Ensuite, il faut refaire le test plusieurs fois en augmentant la durée de fonctionnement pour être sûr.


Conclusion

La première solution est moins chère et plus simple à mettre en œuvre
Néanmoins pour la seconde solution j’aurais pu utiliser un régulateur fixe 6v sans résistance ni calcul le LM 7806 toutefois comme le LM317 monté sur radiateur.
Avec 8 servomoteur 3 LM7806 monté en parallèle aurait suffi ( 8 servos x 300mA => 2,4 A => 3 x LM7806 en // )

Merci à Fred pour son aide sur le calcul des résistances thermiques !

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document