sn754410 et Voltage pour moteurs DC 6v (chassi rover5)

Bien le bonjour à ceux qui me liront.

Novice en électronique (en fait je suis plutôt dans le software),
je m'adresse à vous, arduinautes pour tenter de résoudre un problème :

Je viens de faire l’acquisition d'un chassi Rover5 constitué de deux moteurs 6VDC (lien),
pour construire mon second robot (après avoir gravi l'everest avec un poney pololu on a envi bien de passer au cheval ^^)

Alimentation à prévoir: 7,2 Vcc
Intensité de blocage: 2,5 A
Couple de blocage: 10 kg.cm
Rapport de transmission: 87:1
Vitesse maxi: 1 km/h
Charge utile conseillée: 500 gr
Charge utile maxi: 1 kg

Voici donc ce qui me freine :
J'ai pratiquement repris le même montage que pour mon premier robot,
a savoir un sn754410 et quelques capteurs, le tout monté sur la petite
breadboard de mon protoshield Arduino Uno.
L'alimentation de la arduino est assuré par un accu 9v NiMh.

Il est dit dans le datasheet du chassi que les deux moteurs nécéssitent
une alimentation de 7,2v (soit 6 accu AA), (dans mon cas ce sont des NiMh)

Donc je relie les moteurs à l'arduino ainsi que l'alimentation supplémentaire
(~7,3v) à la broche 8 de mon bridge (voici un des tuto que j'ai suivi: lien).
J'upload mon programme de test (Avancer en boucle, sans interruptions ou délais).

Et là, frayeur, aucun des moteurs ne fonctionnent...
Je vérifie mes câblage et entame alors une batterie de tests.
Lorsque je prend la tension en entrée d'un moteur pendant que l'autre tourne, je lis 2,4v avec oscillation jusqu'à 4v
Comment est il possible que l'alimentation supplémentaire recommandée apparaisse comme insuffisante ?

Du coup, j'ai tenté l'alimentation via le Vin de ma Uno, (j'utilise du 9v en entrée)
Là, seul un moteur fonctionne... (ouf! mon robot ne sera pas entièrement paraplégique)
En swappant les connecteurs d'alim des moteurs je me rend
compte que celui qui ne tournait pas fonctionne à son tour et inversement (fiou!)

Et pour ce qui est de l'alimentation USB, que ce soit en Vin ou avec Accu, rien ne tourne mais j'entend un bref son
provenant d'un des moteurs durant un temps très court.

Quelqu'un peut-il éclairé ma lanterne ?

ps: J'ai opté pour un controlleur "maison" par soucis de budget.

A mon avis pas assez de jus ... Il est annoncé 2.5A dans tes spécifications, tes accus ne sont peut-être pas assez puissants pour débiter ce courant.

En effet je n'y avais pas songé, je n'ai pas d'ampèremètre (allez y frappez moi :blush:)
Mes accu délivrent 500mA (j'ai essayé avec des 800 mais ça ne fonctionne pas mieux)
Mais le bridge est limité à 1A, n'est il pas risqué ? (c'est peut être pour ça qu'il devient brûlant par moment)
Sans compté je suis limité à 500mA sur la board...

Lorsque j'utilise un transfo universel 500mA en 7,5v ça marchouille et en 9v
ça dépote mais toujours sur un seul des moteurs (qui semble être à pleine puissance)
J'ai comme l'impression que les courants ne sont pas répartis de la même manière
sur les deux moteurs. (la broche 16 du bridge reçoit du 5v depuis la arduino)

Comment le bridge gère t-il les différents courants entre les broches 8 et 16 ?

edit: après réflexion, je pense qu'il faudrait des accu >= 2500mA, mais elle ne fourniront pas
2,5A en continu ? Ce sera surement de l'ordre d'une centaine de mAh, donc ça ne fonctionnera pas mieux ?

Si tu as un schéma ça pourrait pas mal aider ... 2,5A c'est le courant de blocage (maximum en quelque sorte). Après la conso variera, mais globalement tu dois pouvoir savoir combien des moteurs consomme en moyenne.

En regardant la datasheet, suivant comment tu as branché ton brigde, il pourrait y avoir une erreur si tu as des tensions de 2.4V, la partie "logique" déraillerait complet. Et ça colle avec le coup du "un moteur à la fois qui fonctionne"

Je viens de faire un petit schemas sous frizting que voici :


Ainsi que la source modifiable : source

  • les condo sont inversé sur le schemas mais c'est involontaire (je ne peux pas faire de rotation)
  • J'ai disposé les accu pour bien montrer que soit j'utilise le Vin, soit je remplace par le fil + des accu
  • C'est un schemas, le montage réel est agencé sur la mini breadboard, donc j'utilise plusieurs GND
    (ça pose problème ?)

Explication:

broche 1 -> Pin11 (contrôle d'alim moteur 1)
broche 2 -> Pin9 (contrôle du sens A moteur 1)
broche 3 -> Alim moteur 1
broche 4 -> GND
broche 5 -> GND
broche 6 -> Alim moteur 1
broche 7 -> Pin8 (contrôle du sens B moteur 1)
broche 8 -> Vin ou Accus

broche 16 -> +5v arduino
broche 15 -> Pin3 (contrôle du sans B moteur 2)
broche 14 -> Alim moteur 2
broche 13 -> GND
broche 12 -> GND
broche 11 -> Alim moteur 2
broche 10 -> Pin2 (contrôle du sens A moteur 2)
broche 9 -> Pin5 (contrôle d'alim moteur 2)

mtroyBot_v2.fz (196 KB)

Bon alors pour être sûr du coup : parce que la visiblement ce que j'ai expliqué avant peut arriver, à savoir que les alimentations de la logique et des moteurs sont les mêmes et que des condo ne sont surement pas suffisants. Donc je te conseille dans un premier temps d'appliquer exactement le schéma de la datasheet : http://www.ti.com/lit/ds/symlink/sn754410.pdf page 6 dans ton cas précis, alimenter l'arduino sur usb, VCC1 sur 5V arduino. Tout ceci pour bien séparer les alimentations. Et penser à mettre les masses en commun par contre :wink:

Bonjour a tous, bonjour MTroy

je me permets de te donner quelques petits conseils :

  1. si tu veux bricoler avec des moteurs, un amperemetre est insdispensable. Cette fonction existe dans tous les multimetres digitaux. C'est un investissement de quelques euros sur eBay. Le premier que je trouve coute 3,38 USD frais de transport gratuit. Tu n'as pas d'excuses !

  2. il me semble que tu fais une petite confusion dans les unites concernant les batteries. Une batterie de 800mA, cela n'existe pas. Il faut lire 800mAh. Cela signifie que la batterie peut, en theorie, debiter 800mA pendant 1 heure ou 400mA pendant 2 heures ou 1mA pendant 800 heures. Mais cela ne signifie pas que le courant maximum debite par la batterie est de 800 mA. Cela n'a rien a voir. Le courant maximum que la batterie peut debiter est fonction de la resistance interne de la batterie. Mais cela est une autre histoire.

  3. ton probleme vient tres certainement du circuit SN754410 qui peut, au MAXIMUM, alimenter 2 moteurs qui consomment chacun 1A. Si tu regardes le datasheet de ce circuit a la page 3, tu pourras lire que le circuit va dissiper 2,075W a 1,1A. C'est enorme pour un petit circuit integre. En plus, il faut prevoir une grande surface de cuivre en dessous et sur le cote pour dissiper la chaleur au travers des pins de masse. Toujours sur ce datasheet, page 1 pins 4,5,12 et 13 HEAT SINK et GND !!
    Si tu lui demande trop de courant, il se met en securite. C'est pour cela que tu constates une difference entre les 2 moteurs.

  4. le circuit SN754410 est un tres vieux circuit, novembre 1986, qui est realise en technologie bipolaire. Cela signifie que le circuit de puissance est realise avec des transistors "conventionnels". Inconvenient : une chute de tension importante dans les jonctions internes d'ou echauffement. Une solution serait de remplacer par un circuit integre driver de moteur en technologie CMos. Moins de pertes dans l'etage de puissance d'ou echauffement moindre. Je pense par exemple au L6208 de STMicroelectronics. Mais il y en a beaucoup d'autres.

Bon courage pour continuer ton projet.

Mes excuses pour avoir ete aussi long.

Au plaisir de te lire

Jacques

à B@tto:

J'ai bien saisi le but du schemas, mais je vois qu'il contient des diodes (lesquelles ?) et des inverseurs.
J'ai un bon paquet composants mais je ni de diodes ni d'inverseurs dans mes boites de rangements.

@JMe87:

  1. si tu veux bricoler avec des moteurs, un amperemetre est insdispensable. Cette fonction existe dans tous les multimetres digitaux. C'est un investissement de quelques euros sur eBay. Le premier que je trouve coute 3,38 USD frais de transport gratuit. Tu n'as pas d'excuses !

En effet je suis impardonnable, d'autant que je viens de vérifier ce que je pensais être un voltmètre-ohmmètre qui se révèle être en fait un Mégohmmètre : (lien)
A chaque commande je privilégiais les composants/capteurs/autres plutôt que l'outillage, toujours par soucis de budget je suis vraiment limité...
Si je ne trouve pas d'alternative à mon montage, ce sera ma prochaine acquisition.

  1. il me semble que tu fais une petite confusion dans les unites concernant les batteries. Une batterie de 800mA, cela n'existe pas. Il faut lire 800mAh. Cela signifie que la batterie peut, en theorie, debiter 800mA pendant 1 heure ou 400mA pendant 2 heures ou 1mA pendant 800 heures. Mais cela ne signifie pas que le courant maximum debite par la batterie est de 800 mA. Cela n'a rien a voir. Le courant maximum que la batterie peut debiter est fonction de la resistance interne de la batterie. Mais cela est une autre histoire.

Oui c'est toujours confu pour moi, moins maintenant avec ton explication.
Mais quelque chose me tarabusque : "la batterie peut, en theorie, debiter 800mA pendant 1 heure ou 400mA pendant 2 heures"
Dans le cas des 2h, elle débitera 800mA la première heure puis 400mA la seconde ?

  1. ton probleme vient tres certainement du circuit SN754410 qui peut, au MAXIMUM, alimenter 2 moteurs qui consomment chacun 1A. Si tu regardes le datasheet de ce circuit a la page 3, tu pourras lire que le circuit va dissiper 2,075W a 1,1A. C'est enorme pour un petit circuit integre. En plus, il faut prevoir une grande surface de cuivre en dessous et sur le cote pour dissiper la chaleur au travers des pins de masse. Toujours sur ce datasheet, page 1 pins 4,5,12 et 13 HEAT SINK et GND !!
    Si tu lui demande trop de courant, il se met en securite. C'est pour cela que tu constates une difference entre les 2 moteurs.

J'ai pensé à appliquer des heat sink dessus mais je vois pas comment lorsqu'il est sur la platine d'essais.
Une toute petite plaque d'aluminium 2mm d’épaisseur pliée à 90° dans le sens du détrompeur avec un peu de patte thermique pourrait il faire l'affaire ?
Pour palier au fait de demander trop de courant au chip, est il envisageable d'utiliser un bridge par moteur ?
Existe il un circuit équivalent pour gérer un moteur ?

  1. le circuit SN754410 est un tres vieux circuit, novembre 1986, qui est realise en technologie bipolaire. Cela signifie que le circuit de puissance est realise avec des transistors "conventionnels". Inconvenient : une chute de tension importante dans les jonctions internes d'ou echauffement. Une solution serait de remplacer par un circuit integre driver de moteur en technologie CMos. Moins de pertes dans l'etage de puissance d'ou echauffement moindre. Je pense par exemple au L6208 de STMicroelectronics. Mais il y en a beaucoup d'autres.

Je viens de zyeuter le datasheet du L6208 et je ne comprend pas l'utilité de la Pin HALF/FULL (ça aurait pas un rapport avec l'accélération/décélération ?)

Bon courage pour continuer ton projet.
Merci, je tenais à démarrer petit, mais à terme j'envisage de faire communiquer plusieurs robots entre eux afin qu'ils atteignent un objectifs commun.

Mes excuses pour avoir ete aussi long.
Il n'y a pas de mal, c’était instructif !

D'ailleurs merci à vous deux de vous pencher sur mon cas

Re

  1. pour un achat de 3 Euro il n'y a pas besoin de reflechir longtemps !!

  2. capacite des batteries : c'est le produit de l'intensite par la duree qui doit etre egal a la capacite en mAh.
    exemples : 800mA x 1h = 800mAh ou 400mA x 2h = 800mAh ou 8A x 6 minutes = 800mAh

  3. SN754410 : ce circuit ne peut pas commander 2 moteurs qui consomment 2,5A chaque. C'est impossible, il se met en securite. Tu travailles avec une "marge de securite" de 0,5 !!

  4. la premiere chose a faire est de te procurer un amperemetre et de mesurer la consommation de tes moteurs en charge afin de voir ce dont tu as besoin comme driver. Il faut aussi prevoir une marge de securite car ce genre de moteur a une pointe ce courant au moment du demarrage. Si je devais faire ce montage, avec des moteurs 2,5A, j'utilise un driver 5A avec un refroidisseur et puis je peux les oublier et me consacrer au soft.

Jacques

Bon je vous annonce une triste nouvelle, je pense que j'ai fais du mal à ma petite arduino...
Plus aucun programme ne marche. Ca compile, je peux uploadé mais avrdude me renvoi cette erreur:

Binary sketch size: 8363 bytes (of a 32256 byte maximum)
avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0x00
avrdude: verification error; content mismatch

Au lancement la led orange clignote bien, le voyant cms vert s'allume bien, j'ai bien 3,3v et 5v mais aucun des pins ne délivrent de tension (toujours 0v) sauf les ports analogique qui laissent une petite del bleue clignoter deux fois puis plus rien..