[Energie] commande moteur dc avec l6203 via arduino
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

commande moteur dc avec l6203 via arduino



  1. #1
    toutou2525

    commande moteur dc avec l6203 via arduino


    ------

    bonjour
    j'aimerai commander un moteur dc en utilisant le L6203, ma question est la suivante:
    les broches IN1 et IN2 comment les commander via arduino pour faire tourné mon moteur dans les deux sens?
    merci d'avance

    -----

  2. #2
    Teknic

    Re : commande moteur dc avec l6203 via arduino

    "The L6203 motor controller has two input pins for feeding the pulse-width modulation (PWM) signal. Pin 5 labelled “In 1” is for feeding the PWM signal, whilst pin 7 labelled “In 2” is for selecting the direction of rotation of the motor shaft. This signal is simply logic 1 for forward and logic 0 for reverse.

    The maximum commutation frequency of this IC is 100 kHz; however, for inductive loads the value of around 30 kHz works best."

    Je ne suis pas connaisseur du L6203 mais connecter ces pins à 2 I/O de l'arduino ne fonctionne pas?
    Dernière modification par Teknic ; 26/01/2016 à 19h37.

  3. #3
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    je pensais qu'il fallait les commander à tour de rôle, c'est à dire: 0 pour pin IN1 et 5 pour IN2 pour le faire tourné dans un sens et le contraire pour le faire tourner en sens inverse

  4. #4
    Teknic

    Re : commande moteur dc avec l6203 via arduino

    Je n'ai pas l'impression mais ça reste à confirmer.

    En tout cas il est dit sur le datasheet que les entrées in1 et 2 sont prévues pour être pilotées directement depuis un microcontrôleur.

  5. A voir en vidéo sur Futura
  6. #5
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,

    http://www.farnell.com/datasheets/1696819.pdf
    Si tu ne veux pas comprendre le schéma interne, la table 1, page 10, te donne l'état des sorties en fonction de l'état des entrées.
    Pour faire tourner le moteur, il faut avoir {Sink 1 , Source 2} ou {Sink 2 , Source 1}. Ce qui correspond aux 2e et 3e lignes de la table. Il faut donc que in1 et in2 soit opposés et que enable soit à 1.

    Une tension comprise entre 2V et 7V sera lue comme un 1 par le L6203.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  7. #6
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    et pour utiliser la PWM alors? comment je peux faire?

  8. #7
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,
    Citation Envoyé par toutou2525 Voir le message
    et pour utiliser la PWM alors? comment je peux faire?
    comme indiqué par Teknic : tu connecte in1 et in2 à ton arduino, tu appliques le PWM sur in1 et l'état de in2 détermine le sens de rotation.

    Un détail cependant : si tu envoies un PWM de rapport cyclique 80% sur in1 et un état haut sur in2, le moteur va tourner "vite" dans un sens. Mais pour que le moteur tourne aussi vite dans l'autre sens, il faut envoyer un rapport cyclique de 20% sur in1 et un état bas sur in2.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  9. #8
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    donc si je comprend bien:
    pour faire tourner le moteur dans les 2 sens:
    -j'applique 0 sur IN1 et 1 sur IN2, ou l'inverse pour le faire tourner dans l'autre sens.
    -si j'utilise la PWM, je l'applique sur IN1 et la broche IN2 déterminera le sens de rotation du moteur.
    c'est bien sa?

  10. #9
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,

    Oui.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  11. #10
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    merci beaucoup
    un dernier truc SVP, je voie qu'il faut ajouter des condensateurs, pouvez vous m'informer sur l'ensemble du circuit (que dois je ajouter)?

  12. #11
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,

    je te laisse étudier la datasheet (en particulier les pages 11 et 12) et nous donner tes conclusions, on te dira ce qu'il en est
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  13. #12
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    bonjour
    je vais vous dire ce que je dois faire, et vous me corrigerez si je me trompe
    je relis un condensateur de 100nF entre le Vs et la masse.
    un condensateur de 220 nF entre Vref et la masse.
    deux condensateur 15 nF entre les sortis et les boost avec des diodes reliées à la masse.
    je relis un condensateur de 22nF en série avec une résistance de 10 ohm en parallèle avec le moteur (la résistance est elle indispensable?).
    je relis IN1 sur une broche PWM de la carte arduino uno (sans rien à ajouter?) pour contrôler la vitesse de mon moteur.
    je relis IN2 sur une broche de la carte arduino pour contrôler la direction du moteur (0 ou 1) (sans rien à ajouter?).
    merci pour votre patience

  14. #13
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,
    Oui pour l'ensemble, avec qq précisions additionnelles :
    Citation Envoyé par toutou2525 Voir le message
    je vais vous dire ce que je dois faire, et vous me corrigerez si je me trompe
    je relis un condensateur de 100nF entre le Vs et la masse.
    Si le L6203 est loin de la batterie (plus d'une dizaine de cm de fil), tu peux ajouter un condensateur de 100µF en parallèle de ce 100nF.
    deux condensateur 15 nF entre les sortis et les boost avec des diodes reliées à la masse.
    Les diodes ne sont pas 100% indispensables.
    je relis un condensateur de 22nF en série avec une résistance de 10 ohm en parallèle avec le moteur (la résistance est elle indispensable?).
    Oui.
    je relis IN1 sur une broche PWM de la carte arduino uno (sans rien à ajouter?) pour contrôler la vitesse de mon moteur.
    je relis IN2 sur une broche de la carte arduino pour contrôler la direction du moteur (0 ou 1) (sans rien à ajouter?).
    Tu peux éventuellement ajouter des résistances de 10kOhm entre chaque entrée IN et la masse : ce sont des pull-down (-> google) qui pourront servir si l'arduino est déconnecté ou en reset.

    Tu peux mettre SENSE directement à la masse ou au travers d'une résistance de puissance (de par exemple R=0.1Ohm) pour mesurer le courant dans le moteur : si la tension aux bornes de cette résistance vaut V, alors le courant dans le moteur vaut I=V/R. Pas indispensable mais peut être pratique.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  15. #14
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    bonjour
    merci beaucoup Antoane

  16. #15
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    la résistance de 220nf sur la broche 9, est elle indispensable?

  17. #16
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,

    ce condensateur est recommandé.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  18. #17
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    et pour les condensateur boot j'ai pas trouvé du 15 nf je peux en mettre 22 nf?

  19. #18
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Absolument.
    15nF est un minimum.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  20. #19
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    pardon
    je pose beaucoup trop de question!
    pour celle de 220 de la tension de référence sur la broche 9 je peux en mettre une plus grande que 220 nf?
    et si oui, jusqu’où je peux aller avec la valeur du condensateur?
    et merci beaucoup pour votre patience

  21. #20
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Il ne me semble pas y avoir de limite haute, il est quand même préférable d'utiliser un condensateur plastique ou céramique ou tantale, et non un chimique. C'est à dire pas un condensateur cylindrique bleu/gris/noir du genre https://www.google.fr/search?q=elect...UIBigB&dpr=0.9
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  22. #21
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    et pour les régulateurs 12v et 5v, c'est déconseillé aussi les condensateurs chimiques?

  23. #22
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonsoir,

    Difficile de juger d'une manière générale, mais c'est souvent le cas : les chimiques ne font pas de bons condensateurs de découplage.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  24. #23
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    merci beaucoup

  25. #24
    toutou2525

    Re : commande moteur dc avec l6203 via arduino

    bonjour
    je veux utiliser deux (02) L6203 pour commander deux moteurs, puis je raccorder les deux pin 9 (Vref) sur la même borne d'une sortie 5v d'un régulateur 7805?

  26. #25
    Antoane
    Responsable technique

    Re : commande moteur dc avec l6203 via arduino

    Bonjour,
    Vref ne doit pas être connecté à une tension externe, c'est leL6203 qui génère la tension de référence.Il faut juste y connecter le condensateur de découplage.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  27. #26
    Qristoff
    Animateur Électronique

    Re : commande moteur dc avec l6203 via arduino

    Citation Envoyé par Antoane Voir le message
    Bonjour,

    comme indiqué par Teknic : tu connecte in1 et in2 à ton arduino, tu appliques le PWM sur in1 et l'état de in2 détermine le sens de rotation.

    Un détail cependant : si tu envoies un PWM de rapport cyclique 80% sur in1 et un état haut sur in2, le moteur va tourner "vite" dans un sens. Mais pour que le moteur tourne aussi vite dans l'autre sens, il faut envoyer un rapport cyclique de 20% sur in1 et un état bas sur in2.
    IN1/IN2 fixe le sens de rotation et on utilise l'entrée EN pour appliquer le PWM.
    On peut aussi faire du freinage moteur.
    IN1| IN2 | fonction
    1 | 0 | CW
    0 | 1 | CCW
    0 | 0 | freinage
    Tout existe, il suffit de le trouver...!

Discussions similaires

  1. commande d'un moteur avec ir via arduino.
    Par kaky951357 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/01/2014, 20h57
  2. Commande d'un moteur avec un Arduino UNO + Une interface MD22
    Par nicom77 dans le forum Électronique
    Réponses: 9
    Dernier message: 30/04/2013, 07h19
  3. choix et commande moteur avec encodeur + arduino
    Par nicocco033 dans le forum Électronique
    Réponses: 0
    Dernier message: 25/11/2012, 16h23
  4. Rebouclage L6203 Commande moteur
    Par sani300 dans le forum Électronique
    Réponses: 3
    Dernier message: 24/10/2010, 23h05
  5. circuit L6203 pour commande moteur pas a ps
    Par aydi dans le forum Électronique
    Réponses: 4
    Dernier message: 19/02/2010, 07h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.