Commande de moteur à courant continu
. Par : Christian
Vous répondez à :
Bonjour,
pour quelle raison objective voudrait on piloter un moteur avec une tension continue variable ?
Et (ça s’adresse également à Christian), quel rapport avec le DCC ?
22 Messages
-
Commande de moteur à courant continu 26 octobre 2017 00:04, par Sol
Bonjour,
Une question ou plusieurs..
Je ne sais pas si je suis dans la bonne rubrique et j’avoue ne pas avoir parcouru les milliers
de pages d’arduino, je suis novice.
Vous parler toujours de contrôler un moteur en CC par Arduino en PWM et ce système est très simple, mais qu’en est il de la création d’une tension analogique variable 0 à 12v (à 16 ou 28 niveaux par exemple), l’a t’on définitivement oublié ?
Je souhaite démarrer mes locomotives (SOUND) par Arduino certe mais sans PWM, alors comment faire ?
(le PWM n’est pas bien compatible avec le DCC).
En vous remerciant et éventuellement me guider sur la bonne page web.
Bien cordialement
olivier Sol-
Il n’est pas possible de créer une tension continue de 0 à 12 V avec une carte Arduino tout simplement parce que le microcontroleur de la carte ne le permet pas. C’est pourquoi on passe par de la PWM mais ce signal est incompatible avec le DCC.
Je vous invite, puisque vous êtes novice, à lire les articles sur la PWM pour comprendre que ce signal est vu par le moteur comme une tension variable, avec pourtant l’avantage d’être à 12 V crête ce qui donne un couple maximum au moteur d’où des ralentis efficaces.
Mais comme vous semblez être en numérique je vous invite aussi à lire les articles sur le DCC et la bibliothèque DCC++. Vous devriez trouver votre bonheur.
Bien entendu, tout cela se trouve sur le site LOCODUINO.
Je reste à votre disposition si nécessaire. -
Bonjour,
pour quelle raison objective voudrait on piloter un moteur avec une tension continue variable ?
Et (ça s’adresse également à Christian), quel rapport avec le DCC ?
-
Bonjour et merci pour vos réponses,
En fait j’aimerai piloter une boucle ou module analogique pour une expo, permettant d’accepter des locomotives aussi bien en DCC qu’en alimentation traditionnelles, le but est de voir rouler sans se préoccuper de la présence d’un décodeur ou non.
Sur les machine DCC et Sound, la gestion de la marche analogique est réglée sur une courbe (CV) en pur continu, le PWM n’est pas le mieux interprété par le DCC d’ou un son peut être mal synchronisé.
Les voies est moteurs d’aujourd’hui fonctionnent toujours très bien avec du pur continu, si l’on tient pas compte du couple moteur bien-sûr.
Cela est précis et vous me diriez de mettre une simple alim variable, mais je voulais profiter des qualités de l’Arduino dans sa possibilité de commande radio avec potentiomètre à 0 central.
Plus simplement , peut-on crée avec Arduino un transfo sans fil o-12V à 28niveaux, un peu comme avait réalisé Jouef avec son Radio Control System d’y a 30ans ? Quel est le moyen d’y parvenir ?
Merci , je suis un peu rétro avec ma demande.
olivier-
Ok,
Il existe des montages permettant de passer d’une PWM à une tension continue.
https://www.sonelec-musique.com/electronique_realisations_conv_pwm_tension_001.html
Celui avec la sortie de puissance devrait convenir. On peut monter au dessus de 12V je pense.
Il suffit ensuite de brancher une sortie PWM de l’Arduino sur l’entrée
Par contre pour l’inversion de marche, il faut ajouter en sortie un pont en H ou un relai.Il y a également ceci :http://amfn.nice.free.fr/para/para6.htm#Continu%20pur
L’Arduino produit la valeur numérique pour le CNA.
-
-
Il n’y a aucun rapport entre l’analogique même en PWM et le DCC. C’est ce que j’ai essayé d’expliquer à Olivier en lui conseillant de lire nos articles sur la PWM d’une part pour clarifier sa compréhension et comme il m’avait semblé comprendre qu’il utilisait du matériel DCC, de lire nos articles sur le DCC qui seront mieux adaptés pour lui.
Analogique et DCC sont deux moyens de commande différents dans leur philosophie.
Mon article sur la commande moteur est fait pour de l’analogique et rien d’autre et pour le DCC nous avons d’autres articles mieux adaptés..
plus clair comme cela ?-
Merci pour vos réponses Jean Luc et Christian .
C’est exactement cela, je souhaite passer du PWM fournit pas Arduino a une tension continu pur, je vais regarder le lien que j’ignorais jusqu’à présent.
Je constate que les possibilité d’Arduino ne sont pas totales comme cela est souvent dit, dans ce cas il faudra alors passer par de l’électronique.
Nos trains électriques ont toujours fonctionnés pour du 12V sans modulation d’impulsion, je ne vois pas pourquoi on s’en passerai dès à présent.
Dans quelques temps, si j’aboutis à la réalisation de cette commande radio à main fonctionnelle je n’hésiterais pas à faire partager ce projet.
merci pour votre attention.
olivier-
1) C’est ce que l’on pense mais c’est inexact.
J’ai récemment branché un oscilloscope sur un transfo Arnold acheté au début des années 90. Jusqu’à mi-réglage la tension est une tension alternative redressée mono alternance dont l’amplitude augmente au fur et à mesure que l’on tourne le bouton. Au delà de mi-réglage ça passe en double alternance avec toujours augmentation de l’amplitude. Ce n’est donc pas du tout du continu, sinon les ralentis seraient très mauvais.
2) la PWM est plus efficace et demande moins d’électronique additionnelle.
Dans le montage avec le transistor en sortie, ce dernier va considérablement chauffer avec des pertes d’énergie importantes. Avec un hacheur, très peu d’énergie est perdue. Ça permet de plus des commandes sophistiquées avec mesure de vitesse et asservissement. Tous les décodeurs DCC commandent le moteur en PWM.
-
On peut bien sûr rester en 12 V sans modulation, mais la PWM apporte plus de souplesse à basse vitesse.
Apres, chacun fait comme il l’entend, mais quand une nouvelle technique fait son apparition pourquoi ne pas s’y intéresser ? Les Shields conçus pour commander des moteurs par Arduino font appel à la PWM, ce n’est sans doute pas pour rien…
-
-
-
-
-
Commande de moteur à courant continu 8 janvier 2018 11:50, par Quentin
Bonjour,
Je suis actuellement élève en terminale S, sciences de l’ingénieur et pour mon projet de fin d’année porte sur le fonctionnement d’un robot sans fil. En effet le robot existe mais il fonctionne avec une télécommande et il est branché sur secteur. Le but du projet est de reprendre le robot existant (créé l’année dernière) et de supprimer presque la totalité des câbles. J’ai créé l’application via AppInventor mais maintenant je dois programmer les 4 moteurs 12V CC pour que le robot avance, recule et tourne.
Je me suis renseigné sur divers codes et sur un fonctionnement PWM mais je n’ai pas beaucoup d’informations.
Serait-il possible d’obtenir de l’aide de votre part concernant le code Arduino ?
Merci d’avance
Cordialement
QuentinVoir en ligne : http://www.locoduino.org/spip.php?a…
-
Bonjour Quentin,
C’est bien tenté, mais cela n’ira pas très loin concernant notre aide… Tes devoirs ne sont pas nos devoirs ;-).
Bon, tout d’abord, félicitations pour être en terminale S, science de l’ingénieur : c’est du sérieux qui t’a déjà demandé pas mal d’efforts. Alors, bravo !
Pour l’équipe de LOCODUINO, c’est maintenant bien loin tout cela et nous avons enfin l’âge de jouer au train électrique (LOL). Et c’est justement de cela qu’il s’agit sur ce site, de train électrique et rien d’autre, pas de Robotique ou de Domotique ! Nous ne répondons donc pas aux demandes en Robotique ou autre, mais il y a des sites très bien faits dans ces domaines.
Tu peux aussi trouver beaucoup d’informations sur NOTRE site, car la PWM a été décrite dans de nombreux articles, ainsi que des techniques de programmation qui trouvent leur utilité dans d’autres domaines que le train miniature. Et cet article fait le point sur ce qu’il y a à savoir pour commander des moteurs continus (le L298 peut être remplacé par des circuits plus récent et plus performants).
Je suppose que ton projet se fait à plusieurs, alors répartissez-vous le travail de consultation, puis décidez de la bonne architecture. Un train, ce n’est jamais qu’un robot qu’on laisse sur des rails, non ?
Bon courage et bonne réalisation.Christian
-
-
Commande de moteur à courant continu 28 février 2018 02:43, par NANA
BONSOIR
Je voudrais utiliser une librairie déjà en place que d’utiliser chaque broche de la carte pour commander mes moteurs et j’aimerais savoir si quelqu’un connait une librairie à jour qui me permettrait de commander mes moteurs avec ma carte arduino shield REV 3.
merci,
Franck
-
Commande de moteur à courant continu 28 février 2018 10:57, par Christian
Bonjour,
Voici un lien mais je n’ai jamais testé :
https://github.com/hanseartic/MotorShield
Cordialement.Christian
-
Commande de moteur à courant continu + interaction 13 septembre 2018 14:00, par benjamin
Bonjour,
Dans mon projet, je fais tourner deux moteurs à vitesse constante mais differentes et j’aimerai que
Quand je freine un moteur ou le bloque, recuperer (une tension qui baisse ou monte ou le courant induit je ne sais pas)par le moteur freiné ou bloqué et envoyer cette info dans l’Arduino et augmenter la vitesse de l’autre moteur (en augmentant la PWM de l’Arduino).Est ce possible ?
(peut importe pour moi le moteur)
Dois je passer par des capteurs de positions ou moteur avec feed back ?
Merci d’avance.-
Bonjour,
Quel type de projet de modélisme ferroviaire faites-vous ?-
Ce n’est pas un projet de modelisme, mais une démarche artistique.
J’aimerai intergir avec des moteurs de tel manière que quand je freine ou bloque une helice reliéé à un moteur, cela entraine une acceleration sur un autre moteur.
Je pense que j’ai besoin de capter l’inductance du moteur puis la faire rentrer dans une entrée de l’Arduino, mais je sais pas comment la mesurer.
Merci de votre aide si vous pouvez.-
Bonjour,
Je vais répondre car bien que ça ne soit pas du modélisme ferroviaire, la question et la réponse ont une portée plus large que votre problème.
Tout d’abord, non, l’inductance du moteur ne vous renseignera pas sur sa vitesse de rotation puisqu’elle est une caractéristique intrinsèque du moteur.
Donc soit vous mesurez la vitesse de rotation du moteur, soit avec un encodeur (une roue avec des fentes et un capteur photoélectrique qui donne des top lorsque les fentes passent devant ou bien un aimant et un capteur à effet hall), soit en mesurant la force contre électromotrice (nécessite de l’électronique : ampli op). C’est précis mais compliqué. Soit vous mesurez le courant (si le moteur produit un effort supplémentaire le courant augmente). Il suffit de faire passer l’alimentation du moteur dans une résistance en série et de mesurer la chute de tension. Ça ne sera pas précis mais ça peut suffire pour ce que vous voulez faire. Pour cette dernière technique, il faut une résistance faible pour ne pas trop manger de puissance et qui dissipe suffisamment d’énergie (à voir selon la consommation du moteur). Il faut également synchroniser la mesure avec la PWM : si on mesure alors que la PWM est Off on trouve 0. Il faut également s’assurer que la PWM est On suffisamment longtemps au regard du temps de conversion analogique->numérique.
-
-
-
Bonjour benjamin,
Les solutions décrites par Jean-Luc vous permettront de résoudre votre problème, mais elles nécessitent de votre part un peu de mécanique (roue codeuse) et d’électronique (ampli-op) en plus du logiciel de traitement.
Comme vous voulez commander deux moteurs, je pense que le mieux est d’utiliser le shield Arduino Motor Shield qui est conçu pour deux moteurs et dispose d’une fonction permettant de mesurer une tension proportionnelle au courant consommé par le moteur. Il suffit de lire cette tension sur les pins A0 et A1 et de corriger en conséquence les PWM des moteurs. Je vous invite à consulter la documentation du shield sur le site arduino.cc.
Ce shield vous évite toute électronique et devrait vous permettre de mener votre projet simplement par logiciel.
Cordialement.Christian
-
-
Commande de moteur à courant continu 20 décembre 2018 16:03, par HEDI
j’aurai voulu un exemple de programme moteur courant continu
Merci
-
Si vous avez lu cet article, vous êtes capable d’écrire vous-même ce programme…
Et tout d’abord, cela dépend de ce que vous voulez faire et de l’électronique que vous voulez mettre derrière Arduino. Comme vous l’avez compris, les signaux d’Arduino sont trop faibles pour faire tourner un moteur. Il faut donc les amplifier, ce qui demande un peu d’électronique. La complexité de cette électronique dépend de plus du type de mouvement qu’on veut obtenir (un seul sens de rotation ou deux sens, vitesse constante ou variable).
J’ai publié un article sur ce sujet avec des exemples concrets dans Loco-Revue N°811 de février 2015. Je montre comment piloter un moteur à courant continu avec un CI ULN2803, ou bien avec des transistors NPN 2N2222. Aujourd’hui, je pense qu’il est préférable d’acheter un shield comme celui présenté dans l’article, ce qui évite justement d’avoir à fabriquer une interface électronique. Et là, vous pouvez piloter deux moteurs à courant continu dans leur deux sens de rotation et avec des vitesses variables. Cela permet déjà pas mal de choses comme animation de réseau (grue, pelleteuse, etc.)
Dès que j’aurai le temps, je compléterai cet article en décrivant une grue de déchargement à deux moteurs commandée par le Motor shield d’Arduino, mais ce ne sera pas pour tout de suite car j’ai déjà beaucoup de projets à terminer (pour LR Presse et pour Locoduino, et accessoirement pour moi-même…).
C’est pourquoi je suggérais au tout début de vous lancer à écrire ce programme vous-même (ou alors, il faudra attendre un peu…)
Cordialement.Christian
-
-
Commande de moteur à courant continu 11 janvier 12:09, par Tom Elbaz Wahl
bonjour je suis actuellement en terminale S SI et nous avons comme projet de réaliser une poubelle auto trieuse de bouteille et canettes donc nous avons 3 compartiments , 1 pour le verre ,1 pour le plastique et carton et 1 pour le métal donc les canettes. nous avons donc un plateau rotatif que ns devons faire tourner pour se diriger vers les 3 trappes des trois compartiments donc ma question c’est comment puis je faire pour faire un programme qui controlle le moteur et qu’il tourbe de 60 degré ou 180 degré en faisait un allé retour . en sachant que nous avons un moteur a courant continue .merci de votre réponse
-
Bonjour,
Désolé de te répondre qu’ici, nous ne traitons que ce qui concerne le train miniature et surtout pas les projets donnés aux étudiants.
Mais tu peux trouver sur ce site beaucoup d’informations et très certainement la réponse à ton problème.
Nous te souhaitons bon courage.Christian
-