{"id":5121,"date":"2023-12-19T01:42:26","date_gmt":"2023-12-19T00:42:26","guid":{"rendered":"http:\/\/www.blue-bears.com\/blog\/?p=5121"},"modified":"2024-02-04T19:07:00","modified_gmt":"2024-02-04T18:07:00","slug":"pilotage-servo-28byj-48-raspbian","status":"publish","type":"post","link":"http:\/\/www.blue-bears.com\/blog\/?p=5121","title":{"rendered":"Pilotage Servo 28byj-48 Raspbian"},"content":{"rendered":"<p>Pilotage Servo Moteur 28byj-48 depuis raspberry.<\/p>\n<p>&nbsp;<\/p>\n<p>Code exemple + montage :<br \/>\n<a href=\"https:\/\/ben.akrin.com\/driving-a-28byj-48-stepper-motor-uln2003-driver-with-a-raspberry-pi\/\">https:\/\/ben.akrin.com\/driving-a-28byj-48-stepper-motor-uln2003-driver-with-a-raspberry-pi\/<\/a><\/p>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-5125\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-1024x827.png\" alt=\"\" width=\"1024\" height=\"827\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-1024x827.png 1024w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-300x242.png 300w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-768x620.png 768w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-830x670.png 830w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-230x186.png 230w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-350x283.png 350w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/28BYJ-48_and_ULN2003-1-480x388.png 480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Liste des ports Raspberry =&gt; la commande python <span style=\"color: #0000ff;\">$ pinout<\/span> lance le descriptif dans la console.<\/p>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/GPIO_YS.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5129\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/GPIO_YS.jpg\" alt=\"\" width=\"214\" height=\"399\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/GPIO_YS.jpg 214w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/GPIO_YS-161x300.jpg 161w\" sizes=\"auto, (max-width: 214px) 100vw, 214px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.raspberrypi-france.fr\/comment-utiliser-les-port-gpio-raspberry-pi\/\">https:\/\/www.raspberrypi-france.fr\/comment-utiliser-les-port-gpio-raspberry-pi\/<\/a><\/p>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-5123\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-1024x1024.jpg\" alt=\"\" width=\"1024\" height=\"1024\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-1024x1024.jpg 1024w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-150x150.jpg 150w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-300x300.jpg 300w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-768x768.jpg 768w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-830x830.jpg 830w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-230x230.jpg 230w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-350x350.jpg 350w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15-480x480.jpg 480w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/capture-2-15.jpg 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Tout sur le moteur : 28BYJ-48 : <a href=\"http:\/\/www.loutrel.org\/Moteurpasapas.html\">http:\/\/www.loutrel.org\/Moteurpasapas.html<\/a><\/p>\n<p>La fr\u00e9quence d\u2019excitation maximale th\u00e9orique est 100 Hz, soit tE = 10ms.<br \/>\nPour un tour de moteur (Wave, Full Step) il faut donc au minimum 10 ms*32 = 320 ms, soit une vitesse maximale de 1\/0.32 = 3.12 t\/s ou 187 t\/mn.<br \/>\nApr\u00e8s r\u00e9duction m\u00e9canique de 64, l\u2019arbre de sortie a donc une vitesse maxi de 187\/60 = 3 t\/mn.<br \/>\nDans la pratique, j\u2019ai pu pousser la fr\u00e9quence d\u2019excitation \u00e0 500 Hz (voir 600 Hz ) , ce qui donne 15 t\/mn en sortie, sans garantie sur la dur\u00e9e de l\u2019exp\u00e9rience&#8230;<\/p>\n<h4>Capter signal bouton poussoir fin de course :<\/h4>\n<p>https:\/\/raspberry-lab.fr\/Composants\/Executer-script-pression-bouton-sur-Raspberry-Francais\/<\/p>\n<p>GPIO2 + GND<\/p>\n<ul>\n<li>En gros boucle permanente de test d&rsquo;\u00e9tat de GPIO2 (2 \u00e9tats 0 (contact) et 1 (rien))<\/li>\n<li>Lorsque le GPIO2 passe \u00e0 \u00e9tat 0 =&gt; signal capturable par Python \u00ab\u00a0<span class=\"pl-s1\">etat<\/span> <span class=\"pl-c1\">=<\/span> <span class=\"pl-v\">GPIO<\/span>.<span class=\"pl-en\">input<\/span>(<span class=\"pl-s1\">pinBtn<\/span>)\u00a0\u00bb<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Pilotage via ARDUINO DUE<\/h3>\n<p>Quand le Raspberry pilote le servo il devient indisponible pour autre chose =&gt; l&rsquo;id\u00e9e est d&rsquo;envoyer les instructions de positions via SerialUSB a l&rsquo;Arduino qui traitera les d\u00e9placement des servos.<\/p>\n<p>A SAVOIR :<\/p>\n<ul>\n<li>Une fois le programme charg\u00e9 depuis l&rsquo;IDE dans l&rsquo;Arduino, le code s&rsquo;active en boucle.<\/li>\n<li>Pour envoyer des commandes passer par l&rsquo;interface serial de l&rsquo;IDE (ou distante) =&gt; le pr\u00e9voir au d\u00e9part.<\/li>\n<li>L&rsquo;Arduino ne g\u00e8re qu&rsquo;un seul programme \u00e0 la fois =&gt; il faut TOUT embarquer dans 1 seul fichier.<\/li>\n<li>Les fichiers sont pr\u00e9par\u00e9s depuis l&rsquo;IDE et inject\u00e9 dans la carte.<\/li>\n<li>L&rsquo;IDE ne tourne pas sur le Raspberry : Linux+taille m\u00e9moire + pas de reconnaissance du DUE dans l&rsquo;IDE Linux \ud83d\ude41 =&gt; Pr\u00e9parer le code sous Windows (Port Programming) et faire tourner sous Raspberry avec un vison ReaVNC sur le PC.<\/li>\n<li>l&rsquo;injection d&rsquo;un ficher nouveau \u00e9crase le fichier pr\u00e9c\u00e9dent.<\/li>\n<li>Possible de simuler la compilation (pour v\u00e9rifier l&rsquo;absence d&rsquo;erreur de code)<\/li>\n<li>L&rsquo;injection est pr\u00e9c\u00e9d\u00e9e d&rsquo;une compilation.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5169\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg\" alt=\"\" width=\"2980\" height=\"2105\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout.jpg 2980w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-300x212.jpg 300w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-768x542.jpg 768w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-1024x723.jpg 1024w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-830x586.jpg 830w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-230x162.jpg 230w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-350x247.jpg 350w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2017\/01\/Due-pinout-480x339.jpg 480w\" sizes=\"auto, (max-width: 2980px) 100vw, 2980px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5173 size-full\" src=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE.jpg\" alt=\"\" width=\"1000\" height=\"542\" srcset=\"http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE.jpg 1000w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-300x163.jpg 300w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-768x416.jpg 768w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-830x450.jpg 830w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-230x125.jpg 230w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-350x190.jpg 350w, http:\/\/www.blue-bears.com\/blog\/wp-content\/uploads\/2023\/12\/ARDUINO_DUE-480x260.jpg 480w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/p>\n<p>Librairies Steppers Motors \u00e0 embarquer dans l\u2019Arduino :<\/p>\n<ul>\n<li>Standard <strong>Stepper<\/strong> : <a href=\"https:\/\/www.arduino.cc\/reference\/en\/libraries\/stepper\/\">https:\/\/www.arduino.cc\/reference\/en\/libraries\/stepper\/<\/a><\/li>\n<li><strong>AccelStepper<\/strong> <a href=\"https:\/\/www.airspayce.com\/mikem\/arduino\/AccelStepper\/index.html\">https:\/\/www.airspayce.com\/mikem\/arduino\/AccelStepper\/index.html<\/a> avec acc\u00e9l\u00e9ration et gestion position finale.\n<ul>\n<li><a href=\"https:\/\/www.arduino.cc\/reference\/en\/libraries\/accelstepper\/\">https:\/\/www.arduino.cc\/reference\/en\/libraries\/accelstepper\/<\/a><\/li>\n<li><a href=\"https:\/\/hackaday.io\/project\/183713-using-the-arduino-accelstepper-library\">https:\/\/hackaday.io\/project\/183713-using-the-arduino-accelstepper-library<\/a><\/li>\n<li><\/li>\n<\/ul>\n<\/li>\n<li><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pilotage Servo Moteur 28byj-48 depuis raspberry. &nbsp; Code exemple + montage : https:\/\/ben.akrin.com\/driving-a-28byj-48-stepper-motor-uln2003-driver-with-a-raspberry-pi\/ Liste des ports Raspberry =&gt; la commande python $ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[707,17],"tags":[],"class_list":["post-5121","post","type-post","status-publish","format-standard","hentry","category-dca_frelons","category-informatique"],"_links":{"self":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5121"}],"version-history":[{"count":10,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5121\/revisions"}],"predecessor-version":[{"id":5176,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5121\/revisions\/5176"}],"wp:attachment":[{"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5121"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blue-bears.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}