Offline
Full Member
Karma: 0
Posts: 108
|
 |
« on: August 02, 2012, 09:10:36 am » |
Bonjour les amis, Je reviens faire vous car vous m'avez sorti pas mal de fois du pétrin et j'ai une nouvelle problématique à vous soumettre : Je vous joins le schéma bien sur. J'ai donc un Arduino Nano qui commande un composant fort intéressant mais qui me pose quelques problèmes. Il s'agit d'un DRV8432. La doc du pont est visible à cette adresse : http://www.ti.com/lit/ds/symlink/drv8432.pdfDans mon cas, il permet de commander deux moteurs 12V 3A nominal. Les 4 PWM générée par l'Arduino commande la tension en sortie du pont. A vide, j'ai bien une variation cohérente avec le rapport cyclique imposé. Au voltmètre, je vois ma tension variée de 0V à 10V (ouais y a la tension de déchet du composant que je n'avais pas anticipé) En charge, je n'ai plus rien... 0V... J'ai alors regardé les info d'erreur qui sont remonté sur les pins 11 et 12 de l'arduino mais pas de problème j'ai du 5V sur les deux ce qui signifie que le composant fonctionne dans les conditions normales. J'ai ensuite diminué la valeur de la résistance d'ajustage de courant de sortie, sur le schéma c'est R7. Mais rien n'y a fait. Je me demande donc si je suis bien dans le bon mode de fonctionnement, c'est à dire M1=0, M2=0 et M3=0. Je suis vraiment à cours d'inspiration... si quelqu'un à une idée. Merci.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
God Member
Karma: 0
Posts: 760
Arduino rocks
|
 |
« Reply #1 on: August 02, 2012, 10:47:44 am » |
Yep!
Perso, à regarder ton shema, je m'interroge déjà sur l'interêt des diodes sur les lignes pwm ainsi que de la tension de 3.3 volts.
J'ai l'impression que tu fonctionnes à l'envers. Lorsque la pinoche de l'arduino passe à 1dans un cycle, le courant est bloqué alors que le driver attend une tension, etc...
Ne peux-tu pas piloter directement les pwm du driver avec ton arduino comme le montre le datasheet ???
@+
Zoroastre.
|
|
|
|
« Last Edit: August 02, 2012, 10:53:50 am by zoroastre »
|
Logged
|
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #2 on: August 02, 2012, 11:13:29 am » |
L'intérêt de ces diodes est primordial. Elles permettent d'assurer une compatibilité statique entre le microcontrôleur, ici l'arduino nano, et le pont en H car en sortie de l'arduino on a 0V où 5V alors que le pont en H n'accepte que du 0V 3V3... c'est écrit dans la datasheet dans les tableaux sous les dénominations Voh Vol.
Le problème n'est pas là.
|
|
|
|
|
Logged
|
|
|
|
|
Bretagne
Offline
Full Member
Karma: 0
Posts: 140
|
 |
« Reply #3 on: August 02, 2012, 11:22:37 am » |
Bonjour,
La Nano ne fournit du 3.3V que si elle est alimentée par l'USB : (doc hardware arduino)
"The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available ......"
Donc sur les lignes de sorties D5 à D10 le tirage à 3.3V ne marche pas si l'alim est externe à l'usb.
|
|
|
|
|
Logged
|
...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #4 on: August 02, 2012, 11:30:08 am » |
Je suis vraiment étonné de ce que tu dis car à l'oscillo, je vois bien que ma PWM change de niveau 5V à 3V3
De plus j'ai vérifié, et j'ai bien du 3V3 sur la pin correspondante...
|
|
|
|
|
Logged
|
|
|
|
|
Bretagne
Offline
Full Member
Karma: 0
Posts: 140
|
 |
« Reply #5 on: August 02, 2012, 02:45:02 pm » |
En effet, je viens de vérifier avec ma Nano Version 3.0, le 3.3v est actif avec alim externe. Bonne surprise  La doc arduino n'est pas à jour. Elle concerne la version 2.3. Le FT232RL peut fournir le 3.3V jusqu'à 50mA d'après FDICHIP.
|
|
|
|
|
Logged
|
...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #6 on: August 02, 2012, 02:57:00 pm » |
D'accord, merci d'avoir vérifié.
C'est la raison pour laquelle j'avais répondu à zoroastre que le problème que je rencontrais ne vient pas de là.
Sinon, j'ai réussi à faire tourner mon moteur... mais c'est très bizarre :
- J'arrive à le faire tourner quand j'actionne la commande ; le moteur tourne mais avec des a coups (cela du à une tension PWM bruité et pas très belle que j'ai osbervé au scope) - Dès que je relâche la commande et que je la ré-actionne plus rien... je perds la tension... vraiment bizarre...
Je ne sais pas trop quoi faire.
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Edison Member
Karma: 12
Posts: 1800
There is an Arduino for that
|
 |
« Reply #7 on: August 02, 2012, 03:37:27 pm » |
Je n'ai jamais encore regardé les sorties PWM à l'oscilloscope mais es-tu certain qu'elles sont bien phasées l'une par rapport à l'autre pour chacune des paires (A & B, C & D)? C'est la condition indispensable au bon fonctionnement du pont.
Personnellement je tenterais plutôt de faire fonctionner le circuit en mode4 qui lui justement ne demande qu'un PWM par moteur et gère tout seul les deux demis-ponts.
|
|
|
|
« Last Edit: August 02, 2012, 03:40:41 pm by fdufnews »
|
Logged
|
|
|
|
|
0
Offline
God Member
Karma: 0
Posts: 760
Arduino rocks
|
 |
« Reply #8 on: August 02, 2012, 03:41:07 pm » |
Yep! cela du à une tension PWM bruité et pas très belle que j'ai osbervé au scope Le datasheet semble trés précis sur la manière de câbler et créer le circuit (sans compter une bonne paire de révision), tu nous as fournis que le shématic, cependant, il y a peut être des choses à revoir du côté des découplages et filtrages des alimentations (ou des signaux). Bon en même temps je dis çà même si je pense que tu es plus calé dans le domaine apparement  @+ Zoroastre.
|
|
|
|
|
Logged
|
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #9 on: August 02, 2012, 03:46:57 pm » |
J'ai codé de la manière suivante : la première PWM commande le demi pont, il commande donc le sens de rotation du moteur gauche alors que le deuxième PWM commande en sens inverse. Cela marche de la même manière pour le moteur droit.
Je pense que cela était la meilleure manière de coder, car a vide, c'est-à-dire sans rien de brancher un extrémités de mes sorties moteurs un et moteur deux. La variation de tension se faisait correctement. Je visualisez donc bien une tension négative quand les PWM un et trois était activées, et une tension positive quand les PWM 2 et 4 était activées.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #10 on: August 02, 2012, 03:55:24 pm » |
Ton inspiration est bonne zoroastre, je pense que je vais découpler tout ce beau bordel je vous tiendrais au courant des résultat ! Merci de votre aide c'est très réconfortant !
|
|
|
|
|
Logged
|
|
|
|
|
Biganos
Offline
Full Member
Karma: 0
Posts: 218
|
 |
« Reply #11 on: August 03, 2012, 01:04:07 am » |
salut quelqu'un de bien qui a un oscillo !  regardes ton +bat à l'oscillo au demarrage du ou des moteurs, voir s'il ne chute pas trop ! il y a une sécu si l'alim descend à 9,8 volts. bon courage Chabot380
|
|
|
|
|
Logged
|
ORDINAUSORE 2Ghz AMD64 QUI S'ALLUME EN 48 SECONDES AVEC UBUNTU 12.04 ARDUINO UNO / Shield Ethernet / RTC DS1307 Programmation Python et j'apprends le C Technicien Télé Vidéo à la retraite.
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #12 on: August 03, 2012, 01:09:56 am » |
C'est vrai que c'est une bonne idée, je n'y avais pas pensé du tout. Ca me permettra de voir si il s'agit bien d'un couplage.
Tu l'as vu où l'info sur la sécurité à 9.8V ?
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Edison Member
Karma: 12
Posts: 1800
There is an Arduino for that
|
 |
« Reply #13 on: August 03, 2012, 02:04:26 am » |
J'ai codé de la manière suivante : la première PWM commande le demi pont, il commande donc le sens de rotation du moteur gauche alors que le deuxième PWM commande en sens inverse. Cela marche de la même manière pour le moteur droit. D'accord mais cela ne prouve pas que les signaux générés à destination des deux demi-ponts commutent bien au même moment. Il n'y a aucune information dans les docs arduino qui indique comment se présentent les sorties PWM l'une par rapport à l'autre dans le temps. S'ils sont décalés, par exemple, il va y avoir un temps mort. A vide ce genre de problème n'a pas de conséquence puisqu'on ne consomme pas de courant.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 108
|
 |
« Reply #14 on: August 03, 2012, 02:09:05 am » |
Oui j'y avais pensé.
En effet, j'avais déjà vu des composant qui ne géré pas les temps mort et ça avait l'air assez complexe à résoudre.
Il faudrait que j'arrive à être sûr que les PWM soient cadencées sur le même timers, nan ?
Ce que je sais c'est que j'ai mes PWM A et B qui sont à une fréquence de 490Hz environ et les PWM C et D qui elles sont à 970Hz.
J'avais espoir que le pont de commande gère les temps morts... dans le cas contraire, je ne sais pas trop quoi faire...
|
|
|
|
|
Logged
|
|
|
|
|
|