{"id":500,"date":"2013-01-05T12:37:36","date_gmt":"2013-01-05T16:37:36","guid":{"rendered":"http:\/\/nagashur.com\/blog\/?p=500"},"modified":"2015-08-05T18:22:44","modified_gmt":"2015-08-05T22:22:44","slug":"utilisation-dun-circuit-l293d-pour-commander-des-moteurs","status":"publish","type":"post","link":"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/","title":{"rendered":"Utilisation d&#8217;un circuit L293D pour commander des moteurs"},"content":{"rendered":"<div style=\"width: 239px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/commons.wikimedia.org\/wiki\/File:L293D_Motor_Driver.jpg\"><img loading=\"lazy\" class=\" \" title=\"L293D Motor Driver\" src=\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/e\/ec\/L293D_Motor_Driver.jpg\" alt=\"L293D Motor Driver\" width=\"229\" height=\"152\" \/><\/a><p class=\"wp-caption-text\">L293D Motor Driver<\/p><\/div>\n<p>Si l&#8217;on branche un moteur \u00e0 courant continu (DC Motor) \u00e0 une source de courant adapt\u00e9e, celui ci tournera. Si l&#8217;on veut inverser le sens de rotation, il suffit d&#8217;inverser le branchement. Cependant, inverser des branchements &#8220;\u00e0 la main&#8221; ne convient pas \u00e0 un robot. Nous verrons donc aujourd&#8217;hui comment\u00a0contr\u00f4ler\u00a0le sens et la vitesse de rotation d&#8217;un ou deux moteurs en utilisant un circuit int\u00e9gr\u00e9 <strong>L293D<\/strong>. Pour davantage de moteurs, il suffira de multiplier les puces L293D. Cette puce vaut environ 2.5$. Dans ce tutoriel, nous verrons comment interfacer cette puce avec un raspberry pi (les branchements). Ce tutoriel est \u00e9galement valable \u00a0pour un Arduino ou tout autre microcontr\u00f4leur ayant des sorties programmables <!--more-->En premier lieu, voyons la liste des composants dont nous aurons besoin:<\/p>\n<ul>\n<li>Un Raspberry Pi (ou un Arduino, ou autre microcontroleur)<\/li>\n<li>Une puce L293D ou L293<\/li>\n<li>Une breadboard (facultatif, mais bien pratique \ud83d\ude42 )<\/li>\n<li>Un ou deux moteurs consommant chacun moins de 600mA max.<\/li>\n<\/ul>\n<h2>Etape 1 : Alimentation\u00a0\u00e9lectrique<\/h2>\n<div>Le circuit int\u00e9gr\u00e9 (CI) <strong>L293D <\/strong>a tout d&#8217;abord besoin d&#8217;une alimentation \u00e9lectrique. Il faut donc connecter la broche 16 de la puce (tout en haut \u00e0 droite.\u00a0Sur le\u00a0sch\u00e9ma\u00a0il s&#8217;agit du fil rouge en haut \u00e0 droite, qui ressort sur du <strong>+5V<\/strong>.) \u00e0 une source de courant, en <strong>5V<\/strong>. Sur un\u00a0Raspberry\u00a0pi, si la carte SD est en haut, ce sera le pin en haut \u00e0 droite (<strong>P1-02<\/strong>).<\/div>\n<div>Pour que notre circuit soit ferm\u00e9, il faudra connecter la masse de notre puce (pin 4,5 12 ou 13 : \u00e0 savoir le 4 ou 5 eme pin en partant du haut \u00e0 gauche ou \u00e0 droite!, fil noir \u00e0 droite sur le\u00a0sch\u00e9ma) \u00e0 la masse de notre Raspberry pi, donc sur le port GPIO P1-06 (3 eme en partant du haut sur la colonne de droite, toujours avec la carte SD vers le haut).<\/div>\n<div>Maintenant, notre CI est aliment\u00e9. Nous devrons \u00e9galement alimenter nos moteurs, et pour cela il faudra connecter l&#8217;alimentation des moteurs (le + de la source d&#8217;alimentation, fil rouge en bas \u00e0 gauche du sch\u00e9ma) au pin 8 du CI, le 8eme en partant du haut dans la colonne de gauche.<\/div>\n<div>La masse (le &#8211; de notre source d&#8217;alimentation des moteurs) sera connect\u00e9e \u00e0 l&#8217;une des broches 0V du CI, soit les broches 4, 5, 12 ou 13 (fil noir en bas \u00e0 gauche).<\/div>\n<div>La masse du\u00a0Raspberry\u00a0et de l&#8217;alimentation des moteurs sont connect\u00e9es (le fil noir tout en bas qui va de gauche \u00e0 droite), mais attention \u00e0 ne surtout pas connecter le +5v du\u00a0Raspberry\u00a0et le + de la source d&#8217;alimentation des moteurs si celle ci est externe. En effet, vos moteurs peuvent \u00eatre aliment\u00e9s de<strong> 4 \u00e0 36v<\/strong> selon les sp\u00e9cifications, et le\u00a0Raspberry\u00a0n&#8217;aimerait sans doute pas recevoir des tensions bizarres sur son <strong>+5v<\/strong>! Toutefois, il est possible d&#8217;alimenter les moteurs via le <strong>5V <\/strong>du\u00a0Raspberry, m\u00eame si c&#8217;est\u00a0d\u00e9conseill\u00e9, car les moteurs peuvent g\u00e9n\u00e9rer du bruit \u00e9lectrique et perturber le fonctionnement du\u00a0Raspberry. En outre, il faudra s&#8217;assurer que le <strong>5V <\/strong>du\u00a0Raspberry\u00a0est assez puissant pour alimenter les moteurs : si l&#8217;adaptateur secteur utilis\u00e9 d\u00e9livre <strong>1000mA <\/strong>en 5V, et sachant que le\u00a0Raspberry\u00a0consomme jusqu&#8217;\u00e0 <strong>700mA<\/strong>, il ne reste donc que <strong>300mA <\/strong>potentiels pour les moteurs. Attention donc \u00e0 la valeur &#8220;stall current&#8221; de vos moteurs, si cette valeur est trop importante, vous pourriez griller quelque chose sur le\u00a0Raspberry\u00a0pi dans le cas ou les moteurs se retrouveraient bloqu\u00e9s. (S&#8217;ils n&#8217;ont aucune charge &#8211; s&#8217;ils tournent dans le vide par exemple- cela devrait aller sans soucis pour de petits moteurs).<\/div>\n<div>Comme source externe, le plus simple est de prendre des piles AA (4 piles AA\u00a0alcalines\u00a0donnent du 6V, 5 AA rechargeables du 6V). Il est cependant \u00e9galement possible d&#8217;utiliser un transformateur secteur qui donne du 5-6V. Pour les moteurs de lecteurs CD, j&#8217;ai pu utiliser des valeurs entre 6 et 10V (je n&#8217;ai pas essay\u00e9 plus haut). Le + des piles serait connect\u00e9 \u00e0 +VM et le &#8211; \u00e0 -VM sur le sch\u00e9ma.<\/div>\n<div><a href=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/powerlayer2.png\"><img data-attachment-id=\"567\" data-permalink=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/powerlayer2\/\" data-orig-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/powerlayer2.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"Alimentation \u00e9lectrique\" data-image-description=\"&lt;p&gt;Le CI et les moteurs sont aliment\u00e9s par deux sources s\u00e9par\u00e9es.&lt;\/p&gt;\n\" data-medium-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/powerlayer2.png\" data-large-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/powerlayer2.png\" loading=\"lazy\" class=\"size-thumbnail wp-image-567\" title=\"Alimentation \u00e9lectrique\" src=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/powerlayer2.png\" alt=\"L'alimentation \u00e9lectrique du CI et des moteurs est en place\" width=\"474\" height=\"239\" \/><\/a><\/div>\n<h2>Etape 2 : Connexion du premier moteur<\/h2>\n<div>Nous disposons maintenant d&#8217;un CI aliment\u00e9 et pr\u00eat \u00e0 contr\u00f4ler notre moteur. L&#8217;\u00e9tape suivante est de connecter les fils du moteur aux pins OUT1 et OUT2 (pins 3 et 6, 3\u00e8me et 6eme en partant du haut de la colonne de gauche du CI). Sur le\u00a0sch\u00e9ma, ce sont les fils jaunes, et M1 repr\u00e9sente le moteur 1. Ce sont ces pins qui enverront le courant au moteur. Attention donc \u00e0 ne pas les connecter aux pins GPIO du\u00a0Raspberry\u00a0par erreur!<\/div>\n<div>Il ne reste plus maintenant qu&#8217;a connecter pins de commande aux pins GPIO du\u00a0Raspberry.\u00a0En premier lieu, le pin <strong>Enable1<\/strong>, qui sert \u00e0 activer ou non le moteur (pin 1, en haut \u00e0 gauche sur le CI), sert \u00e0 activer\/d\u00e9sactiver le moteur. Il est repr\u00e9sent\u00e9 par le fil bleu &#8220;<strong>GPIO C(PWM)<\/strong>&#8220;. Quand le signal est haut, le moteur tourne, quand le signal est bas, le moteur est arr\u00eat\u00e9. Pour contr\u00f4ler la vitesse du moteur, il faudra donc brancher ce pin sur un port GPIO capable de PWM. En pratique, le seul capable de cela est le pin <strong>P1-12<\/strong>, ou <strong>GPIO18<\/strong> (le 6eme en partant du haut, sur la colonne de droite). Enfin on connectera les pins <strong>IN1<\/strong> et <strong>IN2<\/strong> (pins 2 et 7, 2eme et 7eme en partant du haut) du CI \u00e0 deux ports GPIO du raspberry, par exemple les pins <strong>P1-11 (GPIO 17)<\/strong> et\u00a0 <strong>P1-15 (GPIO22)<\/strong> du\u00a0Raspberry, afin de pouvoir envoyer les donn\u00e9es sur le sens de rotation du moteur. Ce seront les fils verts, <strong>GPIO A<\/strong> et <strong>GPIO B<\/strong>, sur le\u00a0sch\u00e9ma.<\/div>\n<div>En pratique, si le L293D re\u00e7oit un signal <em><strong>HIGH <\/strong><\/em>sur le pin <strong>IN1 <\/strong>et <strong><em>LOW <\/em><\/strong>sur le pin <strong>IN2<\/strong>, le moteur tournera dans un sens. Si il re\u00e7oit <strong><em>LOW <\/em><\/strong>sur le pin <strong>IN1 <\/strong>et <strong><em>HIGH<\/em><\/strong> sur le pin <strong>IN2<\/strong>, le moteur tournera dans l&#8217;autre sens.<\/div>\n<div>Il ne reste donc plus qu&#8217;\u00e0 \u00e9crire un programme pour contr\u00f4ler tout cela!<\/div>\n<div><a href=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor1.png\"><img data-attachment-id=\"573\" data-permalink=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/motor1\/\" data-orig-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor1.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"Le premier moteur connect\u00e9\" data-image-description=\"&lt;p&gt;3 broches du CI sont connect\u00e9es au circuit de commandes, et deux autres au moteur.&lt;\/p&gt;\n\" data-medium-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor1.png\" data-large-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor1.png\" loading=\"lazy\" class=\"alignnone size-thumbnail wp-image-573\" title=\"Le premier moteur connect\u00e9\" src=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor1.png\" alt=\"Le premier moteur connect\u00e9\" width=\"474\" height=\"239\" \/><\/a><\/div>\n<h2>Etape 3 : Connexion du second moteur<\/h2>\n<div>Ce c\u00e2blage permet de contr\u00f4ler un seul moteur (ou deux, mais qui font exactement la m\u00eame chose. V\u00e9rifiez toutefois si vos deux moteurs ne consomment pas trop avant de le faire.) Si l&#8217;on veut un second moteur, il faudra donc ajouter des connections. En pratique, il ne reste qu&#8217;\u00e0 c\u00e2bler les pins <strong>OUT3 <\/strong>et <strong>OUT4 <\/strong>(pins 11 et 14 du CI, 6eme et 3eme en partant du haut sur la colonne de droite &#8211; les fils jaunes fonc\u00e9s connect\u00e9s \u00e0 M2 sur le sch\u00e9ma.) pour les connecter sur le second moteur, puis c\u00e2bler les pins <strong>IN3 <\/strong>et <strong>IN4 <\/strong>(pins 10 et 15, 7eme et 2 eme en partant du haut sur la colonne de droite du CI), et \u00e0 les connecter \u00e0 des ports GPIO du\u00a0Raspberry\u00a0pi (par exemple les pins<strong> P1-16<\/strong> &#8211;<strong>GPIO23<\/strong>&#8211; et<strong> P1-18<\/strong> &#8211;<strong>GPIO24<\/strong>&#8211; du\u00a0Raspberry) pour contr\u00f4ler le moteur, de la m\u00eame fa\u00e7on que pour l&#8217;autre moteur (<strong><em>HIGH <\/em><\/strong>et <strong><em>LOW <\/em><\/strong>ou <strong><em>LOW <\/em><\/strong>et <strong><em>HIGH <\/em><\/strong>sur ces deux pins pour faire tourner dans un sens ou dans l&#8217;autre le moteur), et enfin \u00e0 connecter le pin <strong>ENABLE2 <\/strong>(<strong>EN2<\/strong>, pin 9 du circuit, \u00e0 savoir le 8eme de la colonne de droite en partant du haut) \u00e0 un pin PWM du\u00a0Raspberry\u00a0pi. Malheureusement, nous n&#8217;avons plus de pins PWM!\u00a0 Une solution serait donc de connecter cette broche du CI \u00e0 la broche <strong>EN1<\/strong>, qui elle m\u00eame est connect\u00e9e \u00e0 la broche PWM du\u00a0Raspberry\u00a0Sur le sch\u00e9ma, ce branchement est mat\u00e9rialis\u00e9 par le c\u00e2ble bleu fonc\u00e9..\u00a0L\u2019inconv\u00e9nient\u00a0est que du coup, il devient impossible de contr\u00f4ler la vitesse des moteurs de fa\u00e7on individuelle : ils tourneront \u00e0 la m\u00eame vitesse. En revanche, on peut toujours les faire tourner dans des sens contraires si on le souhaite.<\/div>\n<div><a href=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2b.png\"><img data-attachment-id=\"568\" data-permalink=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/motor2b\/\" data-orig-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2b.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e par une seule broche PWM\" data-image-description=\"&lt;p&gt;Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e par une seule broche PWM&lt;\/p&gt;\n\" data-medium-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2b.png\" data-large-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2b.png\" loading=\"lazy\" class=\"alignnone size-thumbnail wp-image-568\" title=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e par une seule broche PWM\" src=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2b.png\" alt=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e par une seule broche PWM\" width=\"474\" height=\"239\" \/><\/a><\/div>\n<div>\n<p>Cela suffira d\u00e9j\u00e0 \u00e0 faire un robot pouvant avancer (les deux moteurs tournent dans le m\u00eame sens), reculer (les deux moteurs tournent dans l&#8217;autre sens), ou tourner (un moteur tourne dans un sens, l&#8217;autre dans l&#8217;autre sens. Pour tourner dans l&#8217;autre sens, on inversera les sens de rotation des deux moteurs).<\/p>\n<\/div>\n<div>Si l&#8217;on dispose d&#8217;une seconde broche capable de PWM, ou s&#8217;il on utilise la PWM logicielle, on pourra toujours c\u00e2bler comme ceci :<\/div>\n<div><a href=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2a.png\"><img data-attachment-id=\"569\" data-permalink=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/motor2a\/\" data-orig-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2a.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e individuellement\" data-image-description=\"&lt;p&gt;Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e individuellement&lt;\/p&gt;\n\" data-medium-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2a.png\" data-large-file=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2a.png\" loading=\"lazy\" class=\"alignnone size-thumbnail wp-image-569\" title=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e individuellement\" src=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/motor2a.png\" alt=\"Les deux moteurs sont connect\u00e9s et leur vitesse est contr\u00f4l\u00e9e individuellement\" width=\"474\" height=\"239\" \/><\/a><\/div>\n<div>Cette fois ci, le pin EN2 sera connect\u00e9 \u00e0 une broche GPIO capable de PWM (ou non). Sur le sch\u00e9ma, il s&#8217;agit du c\u00e2ble bleu marine <strong>GPIO F (PWM)<\/strong>.<\/div>\n<div>On pourra \u00e9galement connecter les GPIO C et F (bleu et bleu fonc\u00e9) \u00e0 des GPIO classiques du raspberry et ne pas utiliser de contr\u00f4le fin de la vitesse, ou alors coder soir m\u00eame une PWM logicielle. Cependant, attention \u00e0 la consommation CPU d&#8217;une pwm software, si le processeur est surcharg\u00e9, la fr\u00e9quence des impulsions peut changer.<\/div>\n<h2>Notes et limitations<\/h2>\n<div>Cette puce est pr\u00e9vue pour alimenter des moteurs consommant jusqu&#8217;\u00e0 <strong>600mA <\/strong>par moteur. V\u00e9rifiez donc bien que le &#8220;stall current&#8221; de vos moteurs ne d\u00e9passe pas trop cette valeur, car il y a risque de surchauffe de la puce dans le cas contraire.<br \/>\nD&#8217;autre part, sur Adafruit, on indique que cette puce est pr\u00e9vue pour fonctionner en <strong>5V <\/strong>pour l&#8217;alimentation et les signaux logiques. Mais les datasheets indiquent que les signaux logiques peuvent aller de <strong>2.3V \u00e0 VCC1<\/strong> pour un signal <strong><em>HIGH<\/em><\/strong>, et de <strong>-0.3V \u00e0 1.5V<\/strong> pour un <strong><em>LOW<\/em><\/strong>. <strong><em>VCC1 <\/em><\/strong>est le courant d&#8217;alimentation de la puce, qui lui doit \u00eatre de <strong>4.5V <\/strong>\u00e0 <strong>7V<\/strong>. Dans tous les cas, comme nous alimentons la puce par du <strong>5V<\/strong>, le <strong><em>HIGH <\/em><\/strong>doit \u00eatre compris entre <strong>2.3V <\/strong>et <strong>5V<\/strong>, ce qui est bon, puisque le\u00a0Raspberry\u00a0enverra <strong>3.3V <\/strong>pour un <strong><em>HIGH<\/em><\/strong>. Le <strong><em>LOW <\/em><\/strong>sera \u00e0 0V, ce qui est conforme \u00e9galement.<br \/>\nSi on d\u00e9sire utiliser plus que 600mA par moteur, on peut utiliser plusieurs puces, en connectant toutes la pin 1 du premier CI \u00e0 la <strong>pin1 <\/strong>du second, la pin 2 du premier \u00e0 la pin 2 du second, et ainsi de suite, jusqu&#8217;\u00e0 ce qu&#8217;on aie connect\u00e9 la pin 16 du premier \u00e0 la <strong>pin16 <\/strong>du second. On doublera ainsi la puissance de sortie th\u00e9orique. On peut r\u00e9p\u00e9ter l&#8217;op\u00e9ration une troisi\u00e8me fois, et encore davantage, mais plus on rajoute des puces, moins cela est efficace. Dans tous les cas, la puce s&#8217;utilise toujours de la m\u00eame fa\u00e7on, le c\u00e2blage vers le\u00a0Raspberry\u00a0pi reste le m\u00eame, et le code source ne changera pas. D&#8217;autre par, la temp\u00e9rature de la puce influe sur ses performances : si elle surchauffe, elle se d\u00e9gradera plus vite. Un radiateur peut donc permettre d&#8217;exploiter la puce pour de plus forts courants.<\/div>\n<div>Documentation<\/div>\n<div>Voici quelques liens utiles pour se servir de cette puce, et aller plus loin :<\/div>\n<div>\n<ul>\n<li><a href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/l293d.pdf\" target=\"_blank\">La datasheet de la puce<\/a><\/li>\n<li><a href=\"http:\/\/learn.adafruit.com\/adafruit-arduino-lesson-15-dc-motor-reversing\/lm293d\" target=\"_blank\">Le sch\u00e9ma des entr\u00e9es sorties de la puce<\/a> &#8211; (le haut de la puce, ou il est \u00e9crit L293D sur le sch\u00e9ma correspond au cot\u00e9 ou il y a un demi cercle sur la puce physique, c&#8217;est tr\u00e8s important : ne vous trompez pas de sens!)<\/li>\n<li><a href=\"http:\/\/learn.adafruit.com\/adafruit-arduino-lesson-15-dc-motor-reversing\/overview\" target=\"_blank\">Le tutoriel pour commander un moteur via un arduino sur adafruit<\/a> &#8211; le principe reste le m\u00eame pour un\u00a0Raspberry!<\/li>\n<li><a href=\"http:\/\/learn.adafruit.com\/adafruit-arduino-lesson-16-stepper-motors\" target=\"_blank\">Le tutoriel pour commander un moteur pas \u00e0 pas (stepper motor) via un arduino sur adafruit<\/a> &#8211; idem, c&#8217;est adaptable \u00e0 un\u00a0Raspberry\u00a0pi!<\/li>\n<li><a href=\"http:\/\/elinux.org\/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29\" target=\"_blank\">Le sch\u00e9ma des pins GPIO du raspberry pi<\/a> &#8211;\u00a0v\u00e9rifiez\u00a0la version!<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Si l&#8217;on branche un moteur \u00e0 courant continu (DC Motor) \u00e0 une source de courant adapt\u00e9e, celui ci tournera. Si l&#8217;on veut inverser le sens de rotation, il suffit d&#8217;inverser le branchement. Cependant, inverser des branchements &#8220;\u00e0 la main&#8221; ne convient pas \u00e0 un robot. Nous verrons donc aujourd&#8217;hui comment\u00a0contr\u00f4ler\u00a0le sens et la vitesse de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1009,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":""},"categories":[140,168,144],"tags":[174,179,178,146,300,175,176,145,151,177,156,63],"jetpack_featured_media_url":"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/800px-L293D_Motor_Driver.jpg","jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tutoriel : commander des moteurs DC avec un L293D<\/title>\n<meta name=\"description\" content=\"Tutoriel sur l&#039;utilisation d&#039;un circuit int\u00e9gr\u00e9 L293D pour commander des moteurs \u00e0 courant continu.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutoriel : commander des moteurs DC avec un L293D\" \/>\n<meta property=\"og:description\" content=\"Tutoriel sur l&#039;utilisation d&#039;un circuit int\u00e9gr\u00e9 L293D pour commander des moteurs \u00e0 courant continu.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/\" \/>\n<meta property=\"og:site_name\" content=\"Nagashur\" \/>\n<meta property=\"article:published_time\" content=\"2013-01-05T16:37:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-05T22:22:44+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/800px-L293D_Motor_Driver.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"533\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@audreyrobinel\" \/>\n<meta name=\"twitter:site\" content=\"@audreyrobinel\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/nagashur.com\/blog\/#website\",\"url\":\"http:\/\/nagashur.com\/blog\/\",\"name\":\"Nagashur\",\"description\":\"raspi et arduino FTW :)\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/nagashur.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/#primaryimage\",\"inLanguage\":\"fr-FR\",\"url\":\"http:\/\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/800px-L293D_Motor_Driver.jpg\",\"width\":800,\"height\":533,\"caption\":\"L293D : contr\\u00f4leur de moteurs\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/#webpage\",\"url\":\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/\",\"name\":\"Tutoriel : commander des moteurs DC avec un L293D\",\"isPartOf\":{\"@id\":\"http:\/\/nagashur.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/#primaryimage\"},\"datePublished\":\"2013-01-05T16:37:36+00:00\",\"dateModified\":\"2015-08-05T22:22:44+00:00\",\"author\":{\"@id\":\"http:\/\/nagashur.com\/blog\/#\/schema\/person\/11a329fa33df4e94444716624beb8186\"},\"description\":\"Tutoriel sur l'utilisation d'un circuit int\\u00e9gr\\u00e9 L293D pour commander des moteurs \\u00e0 courant continu.\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/nagashur.com\/blog\/2013\/01\/05\/utilisation-dun-circuit-l293d-pour-commander-des-moteurs\/\"]}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/nagashur.com\/blog\/#\/schema\/person\/11a329fa33df4e94444716624beb8186\",\"name\":\"sky99\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6yqc2-84","jetpack-related-posts":[{"id":495,"url":"http:\/\/nagashur.com\/blog\/2013\/01\/01\/les-moteurs-electriques-ou-comment-faire-bouger-les-choses\/","url_meta":{"origin":500,"position":0},"title":"Les moteurs \u00e9lectriques ou comment faire bouger les choses","date":"1 janvier 2013","format":false,"excerpt":"Les 4 types de moteurs que nous utiliserons le plus souvent sont : -Les moteurs \u00e0 courant continu, les plus basiques. Ils tournent si on leur envoie du courant; -Les moteurs pas \u00e0 pas tournent d'un angle pr\u00e9cis \u00e0 chaque impulsion, mais sont plus complexes \u00e0 utiliser et n\u00e9cessitent un\u2026","rel":"","context":"Dans &quot;bricolo&quot;","img":{"alt_text":"routage des c\u00e2bles des moteurs","src":"https:\/\/i0.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2013\/08\/7-img_2293-e1438905670103.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1496,"url":"http:\/\/nagashur.com\/blog\/2016\/02\/26\/rea-controle-moteurs-pwm-choix-composant-adapte\/","url_meta":{"origin":500,"position":1},"title":"REA - contr\u00f4le des moteurs, PWM et choix du composant adapt\u00e9","date":"26 f\u00e9vrier 2016","format":false,"excerpt":"Dans le cadre du programme REA, nous d\u00e9veloppons un rover. Nous avons tout d'abord d\u00e9cid\u00e9 du mode de d\u00e9placement du robot, avant de nous pencher sur le type de moteurs \u00e0 utiliser, puis au choix des roues ou chenilles pour la propulsion. Nous disposons maintenant d'un groupe moto-propulseur, qu'il convient\u2026","rel":"","context":"Dans &quot;\u00e9lectronique&quot;","img":{"alt_text":"Arduino et contr\u00f4leur de moteurs DRV8835 sur R.Hasika","src":"https:\/\/i0.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2016\/02\/R.Hasika_arduino_drv8835_211714_800px_2.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1706,"url":"http:\/\/nagashur.com\/blog\/2016\/05\/02\/r-hasika-presentation-un-robot-raspberry-pi-precis-et-extensible\/","url_meta":{"origin":500,"position":2},"title":"R.Hasika - pr\u00e9sentation : un robot Raspberry pi pr\u00e9cis et extensible","date":"2 mai 2016","format":false,"excerpt":"R.Hasika - pr\u00e9sentation R.Hasika est le successeur de R.Cerda, un robot bas\u00e9 sur le Raspberry pi. Si \u00e0 l'\u00e9poque mon objectif \u00e9tait simplement de construire un robot bas\u00e9 sur le Raspberry pi, avec R.hasika, je suis plus ambitieux. En effet, il s'agit cette fois de concevoir enti\u00e8rement le robot, que\u2026","rel":"","context":"Dans &quot;Arduino&quot;","img":{"alt_text":"R.Hasika de profil, avec les c\u00e2bles rang\u00e9s","src":"https:\/\/i2.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2016\/04\/compacted_cables_5715b_800px.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":921,"url":"http:\/\/nagashur.com\/blog\/2015\/04\/14\/tutoriels-raspberry-pi\/","url_meta":{"origin":500,"position":3},"title":"Liste de tutoriels Raspberry pi sur le wiki","date":"14 avril 2015","format":false,"excerpt":"J'ai commenc\u00e9 \u00e0 porter les tutoriels Raspberry Pi sur le wiki. Je remets donc en forme, corrige, actualise et am\u00e9liore les anciens tutoriels, tout en ajoutant de nouvelles ressources. Si vous \u00eates donc int\u00e9ress\u00e9s par le Raspberry Pi, et vous demandez comment r\u00e9aliser une chose en particulier, n'h\u00e9sitez pas \u00e0\u2026","rel":"","context":"Dans &quot;annonces&quot;","img":{"alt_text":"wiki.nagashur.com : section raspi","src":"https:\/\/i0.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2015\/04\/wiki.nagashur_section_raspi.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1489,"url":"http:\/\/nagashur.com\/blog\/2015\/11\/19\/rea-motorisation-choix-composants\/","url_meta":{"origin":500,"position":4},"title":"REA - motorisation : choix des composants","date":"19 novembre 2015","format":false,"excerpt":"Pour notre programme REA, nous d\u00e9veloppons un Rover d'Exploration Autonome. A la pr\u00e9c\u00e9dente \u00e9tude, nous avons \u00e9tudi\u00e9 les modes de d\u00e9placement accessibles, avant d'opter pour un syst\u00e8me bas\u00e9 sur des roues\/chenilles, avec un syst\u00e8me de conduite diff\u00e9rentielle. L'objectif sera d'utiliser une source d'\u00e9nergie quelconque pour g\u00e9n\u00e9rer un\u00a0mouvement de rotation pour\u2026","rel":"","context":"Dans &quot;composants&quot;","img":{"alt_text":"moteur \u00e0 courant continu simple","src":"https:\/\/i0.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2015\/11\/moteur_DC_1533.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":584,"url":"http:\/\/nagashur.com\/blog\/2013\/01\/13\/lire-des-entrees-analogiques-sur-un-raspberry-avec-un-circuit-adc-le-mcp3008\/","url_meta":{"origin":500,"position":5},"title":"Lire des entr\u00e9es analogiques sur un Raspberry avec un circuit ADC : le MCP3008","date":"13 janvier 2013","format":false,"excerpt":"Nous connectons un circuit MCP3008 \u00e0 4 ports GPIO du Raspberry pi, et nous pouvons alors connecter divers capteurs \u00e0 l'une des 8 broches libres du MCP3008 pour lire les valeurs de divers capteurs analogiques. Un exemple de code python r\u00e9alisant cela est fourni, et les sch\u00e9mas de c\u00e2blage de\u2026","rel":"","context":"Dans &quot;capteurs&quot;","img":{"alt_text":"Convertisseur analogique-num\u00e9rique MCP3008","src":"https:\/\/i1.wp.com\/nagashur.com\/blog\/wp-content\/uploads\/2013\/01\/MCP3008-01.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/posts\/500"}],"collection":[{"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/comments?post=500"}],"version-history":[{"count":0,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/posts\/500\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/media\/1009"}],"wp:attachment":[{"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nagashur.com\/blog\/wp-json\/wp\/v2\/tags?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}