<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://modelleisenbahn.triskell.org/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>ModelleisenbahN</title>
	<link>https://modelleisenbahn.triskell.org/</link>
	<description>Modelleisenbahn traite de la construction de mon r&#233;seau &#171; Messingrohrstadt &#187;, r&#233;seau allemand de l'&#233;poque II. Des documents sur le th&#232;me de la SNCF et &#233;labor&#233;s par R&#233;my Fauvet sont &#233;galement h&#233;berg&#233;s.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://modelleisenbahn.triskell.org/spip.php?id_mot=7&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>ModelleisenbahN</title>
		<url>https://modelleisenbahn.triskell.org/local/cache-vignettes/L144xH144/siteon0-d64b7.png?1692197123</url>
		<link>https://modelleisenbahn.triskell.org/</link>
		<height>144</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>La carte de commande de pont tournant version Arduino (2)</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article80</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article80</guid>
		<dc:date>2014-02-06T19:40:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Le montage de la motorisation sous le pont est atypique. En effet, au lieu de s&#233;parer la partie m&#233;canique de la partie &#233;lectronique, j'ai choisi d'utiliser la carte &#233;lectronique comme support du moteur. Une plaque &#233;poxy de 1,6mm d'&#233;paisseur a une rigidit&#233; suffisante pour supporter le poids du moteur et comme on le verra dans l'article suivant, la hauteur du pont est r&#233;glable. &lt;br class='autobr' /&gt;
La carte doit s'inscrire dans le cercle du pont tournant PECO NB-55. Le diam&#232;tre externe de la fosse est de 154mm. (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique23" rel="directory"&gt;Le d&#233;p&#244;t&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Le montage de la motorisation sous le pont est atypique. En effet, au lieu de s&#233;parer la partie m&#233;canique de la partie &#233;lectronique, j'ai choisi d'utiliser la carte &#233;lectronique comme support du moteur. Une plaque &#233;poxy de 1,6mm d'&#233;paisseur a une rigidit&#233; suffisante pour supporter le poids du moteur et comme on le verra dans l'article suivant, la hauteur du pont est r&#233;glable.&lt;/p&gt;
&lt;p&gt;La carte doit s'inscrire dans le cercle du &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article75' class=&#034;spip_in&#034;&gt;pont tournant PECO NB-55&lt;/a&gt;. Le diam&#232;tre externe de la fosse est de 154mm. La dimension choisie est de 132mm x 80mm, ce qui correspond &#224; une diagonale de 154mm en limant un peu les coins. Ces dimensions permettent de placer un Arduino Nano entre le petit c&#244;t&#233; et le moteur pas-&#224;-pas ou bien, pour la version PIC + CAN pour mon r&#233;seau, un PIC en bo&#238;tier DIP 28 broches comme le 18F26K80 et le transcepteur CAN. Elle permet aussi d'utiliser une roue codeuse de grand diam&#232;tre sans placer les capteurs sur une diagonale.&lt;/p&gt;
&lt;div class='spip_document_403 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;29&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/png/implantationCarte.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH303/implantationCarte-c66db.png?1692197125' width='500' height='303' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-403 '&gt;&lt;strong&gt;Implantation des composants
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Vu c&#244;t&#233; composants, avec l'alimentation et &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;la DRV8824&lt;/a&gt; en haut et l'Arduino Nano en bas, la partie commande et l'alimentation sont plac&#233;es &#224; gauche, la partie relais pour l'alimentation traction et les capteurs de position sont plac&#233;s &#224; droite.&lt;/p&gt;
&lt;div class='spip_document_396 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;38&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/jpg/carteArduino1a.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH323/carteArduino1a-5d2aa.jpg?1692197125' width='500' height='323' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-396 '&gt;&lt;strong&gt;Carte vue c&#244;t&#233; composants et Arduino
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Lors du montage du prototype, il est apparu que le connecteur d'alimentation de &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;la DRV8824&lt;/a&gt;, en haut &#224; gauche sur la photo, &#233;tait mal plac&#233;. En effet, la prise qui vient se brancher dans le connecteur d&#233;passe un peu c&#244;t&#233; cuivre et g&#234;ne le mouvement de la roue. Une pi&#232;ce d'&#233;poxy de 1mm d'&#233;paisseur vient donc s'ins&#233;rer sous le connecteur sur la carte prototype. Dans la version d&#233;finitive, le connecteur sera d&#233;plac&#233; sur le petit c&#244;t&#233; de mani&#232;re &#224; ne pas g&#234;ner la rotation de la roue codeuse.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Supports de la DRV8824 et de l'Arduino Nano&lt;/h2&gt;
&lt;p&gt;Les deux modules sont mont&#233;s sur des barrettes &#224; broche femelle. L'espacement entre la carte et les modules est assez important, presque 10mm, et permet de monter des composants sous les modules. Cette caract&#233;ristique est assez peu exploit&#233;e sur la carte prototype mais pourrait permettre une conception plus compacte en implantant les transistors de commande des relais et des capteurs ainsi que les r&#233;sistances sous l'Arduino Nano.&lt;/p&gt;
&lt;div class='spip_document_397 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;38&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/jpg/carteArduino2a.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH321/carteArduino2a-60dd7.jpg?1692197125' width='500' height='321' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-397 '&gt;&lt;strong&gt;Carte vue c&#244;t&#233; composants et DRV8824
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Les capteurs IR par reflexion&lt;/h2&gt;
&lt;p&gt;Les capteurs sont les &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article76' class=&#034;spip_in&#034;&gt;OMRON EE-SY193 d&#233;j&#224; pr&#233;sent&#233;s&lt;/a&gt;. Ces capteurs sont en bo&#238;tier CMS et soud&#233;s c&#244;t&#233; cuivre. Contrairement &#224; des composants ordinaires qui peuvent &#234;tre soud&#233;s un peu n'importe comment pourvu qu'&#233;lectriquement tout soit correct, ces capteurs doivent &#234;tre soud&#233;s &#224; leur emplacement pr&#233;cis afin d'&#234;tre bien align&#233;s au centre des zones noires et blanches de la roue codeuse.&lt;/p&gt;
&lt;div class='spip_document_398 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;23&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/jpg/carteArduino3a.jpg' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/jpeg&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH255/carteArduino3a-e098e.jpg?1692197125' width='500' height='255' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-398 '&gt;&lt;strong&gt;Carte vue c&#244;t&#233; cuivre
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La technique pour souder correctement et rapidement ces composants consiste &#224; les coller &#224; la colle en bombe sur une barre de largeur &#233;quivalente &#224; celle du EE-SY193. En l'occurrence, une barre en laiton 3mm x 2mm a &#233;t&#233; utilis&#233;e. L'empreinte des composant est imprim&#233;e sur une feuille et coll&#233;e sur la barre. La barre est ensuite pass&#233;e &#224; la colle en bombe puis les composants sont dispos&#233;s &#224; la brucelle.&lt;/p&gt;
&lt;div class='spip_document_399 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;50&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH102/positionnementEESY193-d0bd6.jpg?1692197125' width='500' height='102' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-399 '&gt;&lt;strong&gt;Positionnement des capteurs sur leurs empreintes
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Il suffit ensuite de retourner et positionner l'ensemble sur la carte et de le maintenir avec une pince. Les deux mains restent libres pour les soudures.&lt;/p&gt;
&lt;div class='spip_document_400 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;61&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH242/positionnementEESY193-2-19e4a.jpg?1692197125' width='500' height='242' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-400 '&gt;&lt;strong&gt;Positionnement de l'ensemble sur la carte en vue du soudage
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;div class='spip_document_401 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;22&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH207/soudageEESY193-a1d76.jpg?1692197125' width='500' height='207' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-401 '&gt;&lt;strong&gt;Soudage des capteurs
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Les premier essais ont montr&#233; un fonctionnement tout &#224; fait satisfaisant de la commande du moteur. Notamment, le moteur ne rayonne pas au point de perturber l'&#233;lectronique. La r&#233;sistance en s&#233;rie avec les LED IR des capteurs ayant &#233;t&#233; mal calcul&#233;e (180&#937; au lieu des 90&#937; indiqu&#233;s dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article78' class=&#034;spip_in&#034;&gt;La carte de commande de pont tournant version Arduino (1)&lt;/a&gt; &#187;), le niveau bas, obtenu pour les zones blanches, &#233;tait insuffisant car le faisceau IR incident &#233;tait trop faible et engendrait parfois des lectures erron&#233;es. La qualit&#233; de r&#233;alisation de la premi&#232;re roue codeuse &#233;tait &#233;galement insuffisante&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Ce point sera trait&#233; dans le prochain article&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;. Le remplacement de la r&#233;sistance de 180&#937; en s&#233;rie avec les LED IR par une r&#233;sistance de 100&#937; a r&#233;solu les probl&#232;mes de niveau bas.&lt;/p&gt;
&lt;p&gt;Le prochain article traitera du montage de la motorisation sous le pont tournant.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Ce point sera trait&#233; dans le prochain article&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>La carte de commande de pont tournant version Arduino (1)</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article78</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article78</guid>
		<dc:date>2014-01-22T18:21:20Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Comme indiqu&#233; dans &#171; Une carte Arduino pour le pilotage du pont tournant &#187;, j'ai con&#231;u deux cartes de pilotage du pont tournant. La premi&#232;re, qui est d&#233;crite ici, int&#232;gre un Arduino Nano et une DRV8824 et est destin&#233; &#224; une commande manuelle. Par manuelle, j'entends que l'utilisateur, apr&#232;s avoir programm&#233; quelles sont les positions correspondant &#224; une voie, utilise des poussoirs pour demander l'alignement avec la voie correspondante. &lt;br class='autobr' /&gt;
L'alimentation &lt;br class='autobr' /&gt;
La carte est aliment&#233;e en 12V continu. (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique23" rel="directory"&gt;Le d&#233;p&#244;t&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Comme indiqu&#233; dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article77' class=&#034;spip_in&#034;&gt;Une carte Arduino pour le pilotage du pont tournant&lt;/a&gt; &#187;, j'ai con&#231;u deux cartes de pilotage du pont tournant. La premi&#232;re, qui est d&#233;crite ici, int&#232;gre un Arduino Nano et &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;une DRV8824&lt;/a&gt; et est destin&#233; &#224; une commande manuelle. Par manuelle, j'entends que l'utilisateur, apr&#232;s avoir programm&#233; quelles sont les positions correspondant &#224; une voie, utilise des poussoirs pour demander l'alignement avec la voie correspondante.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;L'alimentation&lt;/h2&gt;
&lt;p&gt;La carte est aliment&#233;e en 12V continu. Le courant n&#233;cessaire ne d&#233;passe pas les 500mA. On trouve facilement de petites alimentations industrielles &#224; d&#233;coupage pour une quinzaine d'Euros.&lt;/p&gt;
&lt;p&gt;Cette tension passe par une diode de protection. Cette diode, une 1N4007, &#233;vite de d&#233;truire l'&#233;lectronique par un branchement invers&#233; de l'alimentation.&lt;/p&gt;
&lt;p&gt;On trouve ensuite le sch&#233;ma classique des composants autour du r&#233;gulateur 7805 : deux condensateurs, un &#233;lectrochimique de 470&#181;F destiner &#224; filtrer les basses fr&#233;quences et notamment le pic de la mise sous tension et un polyester de 100nF destin&#233; &#224; filtrer les hautes fr&#233;quences. Le 7805 lui m&#234;me qui, &#224; partir du 12V rectifi&#233;, fabrique le 5V d'alimentation de l'Arduino Nano et des LED t&#233;moin. Enfin, deux condensateurs en sortie, un &#233;lectrochimique de 47&#181;F pour le filtrage basse fr&#233;quence du 5V et l'autre de 100nF pour le filtrage haute fr&#233;quence.&lt;/p&gt;
&lt;p&gt;On peut noter que sur le sch&#233;ma, le bo&#238;tier du moteur pas-&#224;-pas qui est fix&#233; &#224; la carte est reli&#233; &#224; la masse pour constituer une cage de Faraday et limiter l'&#233;mission de rayonnement &#233;lectromagn&#233;tique issu du moteur.&lt;/p&gt;
&lt;div class='spip_document_389 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;26&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH259/cptAlimentation-e9785.png?1692197125' width='500' height='259' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-389 '&gt;&lt;strong&gt;Alimentation de la carte
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La tension de 12V, rectifi&#233;e par la diode et appel&#233;e VMOT, sert directement pour l'alimentation moteur de la DRV8824, pour l'alimentation des bobines de 2 relais donc la fonction est d&#233;crite plus loin et pour l'alimentation des diodes IR des capteurs. Cette diode engendre une chute de tension de 1V. VMOT est donc de 11V et il faut en tenir compte. Ce n'est pas un probl&#232;me pour les relais qui collent &#224; partir de 9,6V maximum ou pour le moteur pas-&#224;-pas car avec les courants employ&#233;s, environ la moiti&#233; de ce que consomme le moteur sous 12V, il y a de la marge. Par contre, le calcul du courant dans les diodes IR doit &#234;tre effectivement fait avec une alimentation de 11V.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;L'int&#233;gration de la DRV8824&lt;/h2&gt;
&lt;p&gt;Le montage est repris de l'exp&#233;rimentation sur &lt;i&gt;breadboard&lt;/i&gt;. Les broches qui nous int&#233;ressent sont le RST (reset) qui permet d'initialiser la DRV8824 par programme, DIR qui permet de fixer la direction de rotation, STEP qui permet de franchir un micropas &#224; chaque transition de l'&#233;tat bas &#224; l'&#233;tat haut et FAULT qui permettra au programme de diagnostiquer un probl&#232;me sur la DRV8824. SLP est fix&#233; &#224; 5V pour que la DRV8824 ne soit jamais endormie, EN est laiss&#233; en l'air pour la m&#234;me raison. Les broches M0, M1 et M2 sont reli&#233;es &#224; 5V via un DIP-switch. Ceci n'est pas tr&#232;s utile car le mode 32&#181;Pas sera toujours s&#233;lectionn&#233; mais j'avais des DIP-switch 3 interrupteurs en stock. Le r&#244;le de chacune de ces broches est d&#233;crit plus pr&#233;cis&#233;ment dans &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;l'article sur de la DRV8824&lt;/a&gt;.&lt;/p&gt;
&lt;div class='spip_document_390 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;36&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH293/schdrv8824-1fef0.png?1692197125' width='500' height='293' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-390 '&gt;&lt;strong&gt;Sch&#233;ma d'int&#233;gration de la DRV8824
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;L'int&#233;gration de l'Arduino Nano v3.0&lt;/h2&gt;
&lt;p&gt;L'Arduino Nano v3.0 est une des incarnations de la famille Arduino. Il est &#233;quip&#233; du micro-contr&#244;leur AT-Mega 328. Il s'agit en fait d'une breakout board de 30 broches permettant le montage sur une breadboard mais aussi sur un support. C'est donc un bon choix pour int&#233;grer un Arduino sur une carte de votre conception. Le Nano dispose de 14 entr&#233;es/sorties num&#233;riques et de 8 entr&#233;es analogiques dont 6 peuvent &#234;tre aussi utilis&#233;es en entr&#233;es/sorties num&#233;riques. Il dispose &#233;galement d'une prise mini-USB pour le t&#233;l&#233;versement et la console. Il peut &#234;tre aliment&#233; via l'USB, via son entr&#233;e VIN et son r&#233;gulateur int&#233;gr&#233; ou via l'entr&#233;e 5V&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;qui peut &#234;tre une sortie si VIN est utilis&#233;&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;. J'ai choisi de l'alimenter via le 5V et de laisser VIN en l'air.&lt;/p&gt;
&lt;div class='spip_document_391 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;43&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH454/schnanov3-d0a31.png?1692197125' width='500' height='454' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-391 '&gt;&lt;strong&gt;Sch&#233;ma d'int&#233;gration de l'Arduino Nano v3
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;TON et REVERSE sont les commandes des relais, STEP et DIR permettent de piloter le moteur pas-&#224;-pas, RESET_DRV permet de faire une remise &#224; 0 du DRV8824, FAULT permet de d&#233;tecter d'&#233;ventuelles erreurs sur ce m&#234;me DRV8824, ENABLE_C active les capteurs de positions, enfin, b0 &#224; b6 sont les 6 bits lus des capteurs de position.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les capteurs de position&lt;/h2&gt;
&lt;p&gt;Il s'agit du capteur OMRON EE-SY193 &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article76' class=&#034;spip_in&#034;&gt;d&#233;j&#224; pr&#233;sent&#233;&lt;/a&gt;. Les LED IR des capteurs sont plac&#233;s en s&#233;rie. La tension de seuil typique avec un courant de 25mA est d'environ 1,25V. 7 capteurs en s&#233;rie donne donc une tension de seuil totale de 8,75V. Par cons&#233;quent, sous 11V, la r&#233;sistance de limitation du courant doit avoir une valeur de (11 - 8,75V) / 25mA = 90&#937;.&lt;/p&gt;
&lt;p&gt;Les LED IR des capteurs ne sont pas aliment&#233;es en permanence mais mises sous tension par programme. Ceci permet d'augmenter la dur&#233;e de vie du capteur qui n'est utilis&#233; que rarement&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Si on consid&#232;re qu'il faut moins d'une milliseconde pour lire les capteurs, (&#8230;)&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;. &#192; cet effet, un transistor NPN est mis en s&#233;rie avec les LED IR et sa base est attaqu&#233;e par la sortie D8 de l'Arduino au travers d'un r&#233;sistance de 10k&#937;.&lt;/p&gt;
&lt;p&gt;Les phototransistors sont mont&#233;s en &#233;metteur commun. L'&#233;metteur est &#224; la masse et le collecteur est tir&#233; &#224; 5V par une r&#233;sistance de 3,3k&#937; &#233;tablissant un niveau haut au niveau du collecteur lorsque la surface en vis-&#224;-vis du capteur est noire. Lorsque le phototransistor est passant de par la pr&#233;sence d'une surface blanche, le collecteur est au niveau bas.&lt;/p&gt;
&lt;div class='spip_document_394 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;31&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH509/schcapteurs-2-01aae.png?1692197125' width='500' height='509' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-394 '&gt;&lt;strong&gt;Sch&#233;ma du capteur de position
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Les relais d'alimentation traction et d'inversion de marche&lt;/h2&gt;
&lt;p&gt;On se place dans le cas d'un r&#233;seau analogique. Par s&#233;curit&#233;, on peut souhaiter couper l'alimentation traction lorsque le pont n'est pas align&#233; sur une des voies de sortie. &#192; cet effet, un relai DPDT est intercal&#233; entre l'alimentation du pont et l'alimentation traction. D'autre part, le pont peut aussi op&#233;rer une inversion de marche lors du passage d'une position &#224; une autre. Un second relai DPDT permet de d&#233;cider du sens de marche. Une inversion de marche m&#233;canique est pr&#233;vue sur le &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article75' class=&#034;spip_in&#034;&gt;pont PECO NB-55&lt;/a&gt; mais peut s'av&#233;rer peu pratique.&lt;/p&gt;
&lt;div class='spip_document_393 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;28&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH576/schtraction-8772b.png?1692197125' width='500' height='576' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-393 '&gt;&lt;strong&gt;Sch&#233;ma des relais traction
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La commande de ces relais est classique. Un transistor permet de commander le relai et une diode roue libre absorbe le courant r&#233;siduel de la bobine du relai. Les r&#233;sistances 47k&#937; assurent que le transistor reste bloqu&#233; &#224; la mise sous tension alors que le micro-contr&#244;leur ne pilote pas encore les bases des transistors.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;qui peut &#234;tre une sortie si VIN est utilis&#233;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;Si on consid&#232;re qu'il faut moins d'une milliseconde pour lire les capteurs, que le temps minimum entre deux lectures est le temps n&#233;cessaire pour avancer de 128&#181;Pas, soit plus de 2,3s, les capteurs ne sont utilis&#233;s que 1/2300e du temps&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Une carte Arduino pour le pilotage du pont tournant</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article77</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article77</guid>
		<dc:date>2014-01-18T11:26:20Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Comme le prototypage pour le pilotage du pont tournant a &#233;t&#233; fait avec un Arduino, j'ai d&#233;cid&#233; de faire 2 cartes de pilotage. Une premi&#232;re int&#233;grant un Arduino Nano et une DRV8824 et une seconde int&#233;grant un PIC 18F26K80 et la m&#234;me DRV8824. La premi&#232;re carte servira de carte de d&#233;veloppement des algorithmes et de mat&#233;riel p&#233;dagogique pour les Arduino. Elle sera command&#233;e via des poussoirs. Quand elle me sera devenue inutile, il est possible que je la vende. La seconde sera int&#233;gr&#233;e sur mon (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique17" rel="directory"&gt;Journal de bord&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Comme le prototypage pour le pilotage du pont tournant a &#233;t&#233; fait avec un Arduino, j'ai d&#233;cid&#233; de faire 2 cartes de pilotage. Une premi&#232;re int&#233;grant un &lt;a href=&#034;http://arduino.cc/en/Main/ArduinoBoardNano&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Arduino Nano&lt;/a&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;L'Arduino Uno est trop grand pour se loger sous un pont tournant en N &#224; c&#244;t&#233; (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; et une &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;DRV8824&lt;/a&gt; et une seconde int&#233;grant un PIC 18F26K80 et la m&#234;me DRV8824. La premi&#232;re carte servira de carte de d&#233;veloppement des algorithmes et de mat&#233;riel p&#233;dagogique pour les Arduino. Elle sera command&#233;e via des poussoirs. Quand elle me sera devenue inutile, il est possible que je la vende. La seconde sera int&#233;gr&#233;e sur mon r&#233;seau, permettant ainsi de piloter le pont via le bus CAN des accessoires.&lt;/p&gt;
&lt;div class='spip_document_388 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH305/carte-pont-drv8824-nano-8dca0.jpg?1692197125' width='500' height='305' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La carte est tir&#233;e et il me reste &#224; percer les trous pour placer et souder les composants. J'ai eu un petit soucis de gravure, j'utilise deux transparents superpos&#233;s qui malheureusement se sont mal superpos&#233;s sur cette insolation&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Il est pr&#233;f&#233;rable d'utiliser des transparents polyester qui ne se d&#233;forment (&#8230;)&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;, mais j'ai pu r&#233;cup&#233;rer les pistes coll&#233;es avec un couteau de mod&#233;liste. Ce n'est pas tr&#232;s joli mais l'isolation &#233;lectrique est bonne.&lt;/p&gt;
&lt;p&gt;Un article de description de cette carte suivra, bien entendu.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;L'Arduino Uno est trop grand pour se loger sous un pont tournant en N &#224; c&#244;t&#233; du moteur pas-&#224;-pas. L'Arduino Nano choisi est fabriqu&#233; par Funduino, (&lt;a href=&#034;http://dx.com/p/funduino-nano-3-0-controller-module-for-arduino-nano-blue-158307&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;voir le produit sur dx.com&lt;/a&gt;). La &lt;a href=&#034;http://www.gravitech.us/arna30wiatn.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;version officielle de Gravitech&lt;/a&gt; est hors de prix.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;Il est pr&#233;f&#233;rable d'utiliser des transparents polyester qui ne se d&#233;forment pas &#224; la chaleur de l'imprimante laser&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>L'algorithme de rotation du pont tournant</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article74</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article74</guid>
		<dc:date>2014-01-01T12:12:33Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Arduino</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Apr&#232;s avoir pr&#233;sent&#233; le mat&#233;riel n&#233;cessaire au pilotage du moteur pas-&#224;-pas par &#181;Pas et le choix de la DRV8824 de Pololu pour sa meilleure r&#233;solution et la fluidit&#233; de mouvement qui en r&#233;sulte, il est temps de se pencher sur l'algorithme qui permet de d&#233;cider du sens de rotation et de la d&#233;composition du mouvement en phase d'acc&#233;l&#233;ration, en r&#233;gime permanent et en phase de d&#233;c&#233;l&#233;ration. &lt;br class='autobr' /&gt;
Calcul du sens de rotation pour le plus court chemin &lt;br class='autobr' /&gt;
Le pont est bien &#233;videmment orient&#233;. C'est &#224; dire (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique19" rel="directory"&gt;La technologie&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot10" rel="tag"&gt;Arduino&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Apr&#232;s avoir pr&#233;sent&#233; le mat&#233;riel n&#233;cessaire au pilotage du moteur pas-&#224;-pas par &#181;Pas et le choix de la &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article72' class=&#034;spip_in&#034;&gt;DRV8824 de Pololu&lt;/a&gt; pour sa meilleure r&#233;solution et la fluidit&#233; de mouvement qui en r&#233;sulte, il est temps de se pencher sur l'algorithme qui permet de d&#233;cider du sens de rotation et de la d&#233;composition du mouvement en phase d'acc&#233;l&#233;ration, en r&#233;gime permanent et en phase de d&#233;c&#233;l&#233;ration.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Calcul du sens de rotation pour le plus court chemin&lt;/h2&gt;
&lt;p&gt;Le pont est bien &#233;videmment orient&#233;. C'est &#224; dire que les positions &lt;i&gt;p&lt;/i&gt; et &lt;i&gt;p&lt;/i&gt;+180&#176; sont diff&#233;rentes. Avec la DRV8824, nous avons 12800 positions possibles que nous allons num&#233;roter de 0 &#224; 12799. Partant de la position courante, le pont devant aller dans une nouvelle position, il faut d&#233;cider dans quel sens tourner pour minimiser la distance parcourue. C'est &#224; dire que partant de la position courante 12799 et allant &#224; la position 0, il n'y a qu'un &#181;Pas &#224; effectuer et non 12799.&lt;/p&gt;
&lt;p&gt;On va distinguer deux cas :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La position &#224; atteindre &#224; un num&#233;ro &gt; &#224; la position courante ;&lt;/li&gt;&lt;li&gt; La position &#224; atteindre &#224; un num&#233;ro &lt; &#224; la position courante.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Par convention, on va &#233;galement d&#233;cider qu'un d&#233;placement positif se fait dans le sens horaire et un d&#233;placement n&#233;gatif dans le sens trigonom&#233;trique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La position &#224; atteindre &#224; un num&#233;ro &lt;i&gt;sup&#233;rieur&lt;/i&gt; &#224; la position courante&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce cas correspond &#224; la figure ci-dessous :&lt;/p&gt;
&lt;div class='spip_document_375 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L469xH404/cheminsA-3-d7fd9.png?1692224381' width='469' height='404' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;chemin 1&lt;/i&gt; se calcule en soustrayant la position courante &#224; la position destination : &lt;i&gt;chemin 1&lt;/i&gt; = &lt;i&gt;position destination&lt;/i&gt; &#8212; &lt;i&gt;positition courante&lt;/i&gt;.&lt;br class='autobr' /&gt;
Il est bien positif, la rotation pour parcourir &lt;i&gt;chemin 1&lt;/i&gt; se fait dans le sens horaire.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;chemin 2&lt;/i&gt; doit &#234;tre n&#233;gatif puisque la rotation de fait dans le sens trigonom&#233;trique et il se d&#233;compose en deux : d'une part la portion entre la position courante et 0 et d'autre part la portion entre 12800 et la position destination.&lt;br/&gt;On a donc &lt;i&gt;chemin 2&lt;/i&gt; = &#8212; (&lt;i&gt;positition courante&lt;/i&gt; + 12800 &#8212; &lt;i&gt;position destination&lt;/i&gt;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La position &#224; atteindre &#224; un num&#233;ro &lt;i&gt;inf&#233;rieur&lt;/i&gt; &#224; la position courante&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ce cas correspond &#224; la figure ci-dessous :&lt;/p&gt;
&lt;div class='spip_document_376 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L433xH433/cheminsB-ea85d.png?1692224381' width='433' height='433' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;chemin 1&lt;/i&gt; se calcule &#233;galement en soustrayant la position courante &#224; la position destination : &lt;i&gt;chemin 1&lt;/i&gt; = &lt;i&gt;position destination&lt;/i&gt; &#8212; &lt;i&gt;positition courante&lt;/i&gt;.&lt;br class='autobr' /&gt;
Comme la position courante est plus grande que la position destination, il est bien n&#233;gatif, la rotation pour parcourir &lt;i&gt;chemin 1&lt;/i&gt; se fait dans le sens trigonom&#233;trique.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;chemin 2&lt;/i&gt; doit &#234;tre positif et se d&#233;compose en deux : d'une part la portion entre la position courante et 12800 et d'autre part la portion entre 0 et la position destination.&lt;br/&gt;On a donc &lt;i&gt;chemin 2&lt;/i&gt; = 12800 &#8212; &lt;i&gt;positition courante&lt;/i&gt; + &lt;i&gt;position destination&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Pour choisir le chemin, il suffit de comparer les valeurs absolues de &lt;i&gt;chemin 1&lt;/i&gt; et &lt;i&gt;chemin 2&lt;/i&gt; et de choisir le chemin ayant la plus petite. Le signe du chemin donne le sens de rotation.&lt;/p&gt;
&lt;p&gt;Le code correspondant est le suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;int chemin1 = positionDestination - positionCourante; int chemin2; if (positionDestination &gt; positionCourante) chemin2 = - (positionCourante + 12800 - positionDestination); else chemin2 = 12800 - positionCourante + positionDestination; int chemin; int dir; if (abs(chemin1) &gt; abs(chemin2)) chemin = chemin2; else chemin = chemin1; /* Si chemin &lt; 0, la direction est mise &#224; 1 */ if (chemin &lt; 0) dir = HIGH; else dir = LOW;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le nombre de &#181;Pas &#224; parcourir sera mis dans une variable &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;distance&lt;/code&gt; calcul&#233;e comme suit : &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;distance = abs(chemin);&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Vitesse de rotation, acc&#233;l&#233;ration et d&#233;c&#233;l&#233;ration&lt;/h2&gt;
&lt;p&gt;La vitesse de rotation d'un pont tournant est assez faible. On peut par exemple voir dans cette vid&#233;o qu'il faut environ 2 minutes (entre 45&#034; et 2'45&#034;) pour que la 141TD 740 fasse son demi-tour, ce qui donne 4 minutes pour un tour.&lt;/p&gt;
&lt;div class=&#034;spip_document_377 spip_document spip_documents spip_document_video spip_document_avec_legende&#034; data-legende-len=&#034;65&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;div class=&#034;video-intrinsic-wrapper&#034; style='height:0;width:640px;max-width:100%;padding-bottom:75%;position:relative;'&gt; &lt;div class=&#034;video-wrapper&#034; style=&#034;position: absolute;top:0;left:0;width:100%;height:100%;&#034;&gt; &lt;video class=&#034;mejs mejs-377&#034; data-id=&#034;a5e1f03175df6ffab285f4851903f38f&#034; data-mejsoptions='{&#034;iconSprite&#034;: &#034;plugins-dist/medias/lib/mejs/mejs-controls.svg&#034;,&#034;alwaysShowControls&#034;: true,&#034;pluginPath&#034;:&#034;plugins-dist/medias/lib/mejs/&#034;,&#034;loop&#034;:false,&#034;videoWidth&#034;:&#034;100%&#034;,&#034;videoHeight&#034;:&#034;100%&#034;}' width=&#034;100%&#034; height=&#034;100%&#034; controls=&#034;controls&#034; preload=&#034;none&#034; &gt; &lt;source type=&#034;application/x-shockwave-flash&#034; src=&#034;http://www.youtube.com/v/CYeE9b1WWqw?hl=fr_FR&amp;version=3&amp;rel=0&#034; /&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/swf-d2c4d-75a7b.svg?1779463451' width='64' height='64' alt='Impossible de lire la video' /&gt; &lt;/video&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-377 '&gt;&lt;strong&gt;La 141TD 740 s'engage sur le pont tournant et fait un demi-tour
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;
&lt;div class=&#034;base64javascript8619848166a377ceda86a92.73358507&#034; title=&#034;PHNjcmlwdD4gdmFyIG1lanNwYXRoPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcz8xNzc5NDQzNTM4JyxtZWpzY3NzPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudHBsYXllci5taW4uY3NzPzE3Nzk0NDM1MzgnOwp2YXIgbWVqc2xvYWRlcjsKKGZ1bmN0aW9uKCl7dmFyIGE9bWVqc2xvYWRlcjsidW5kZWZpbmVkIj09dHlwZW9mIGEmJihtZWpzbG9hZGVyPWE9e2dzOm51bGwscGx1Zzp7fSxjc3M6e30saW5pdDpudWxsLGM6MCxjc3Nsb2FkOm51bGx9KTthLmluaXR8fChhLmNzc2xvYWQ9ZnVuY3Rpb24oYyl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhLmNzc1tjXSl7YS5jc3NbY109ITA7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2IuaHJlZj1jO2IucmVsPSJzdHlsZXNoZWV0IjtiLnR5cGU9InRleHQvY3NzIjtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGIpfX0sYS5pbml0PWZ1bmN0aW9uKCl7ITA9PT1hLmdzJiZmdW5jdGlvbihjKXtqUXVlcnkoImF1ZGlvLm1lanMsdmlkZW8ubWVqcyIpLm5vdCgiLmRvbmUsLm1lanNfX3BsYXllciIpLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGU9ITAsaDtmb3IoaCBpbiBkLmNzcylhLmNzc2xvYWQoZC5jc3NbaF0pO2Zvcih2YXIgZiBpbiBkLnBsdWdpbnMpInVuZGVmaW5lZCI9PQp0eXBlb2YgYS5wbHVnW2ZdPyhlPSExLGEucGx1Z1tmXT0hMSxqUXVlcnkuZ2V0U2NyaXB0KGQucGx1Z2luc1tmXSxmdW5jdGlvbigpe2EucGx1Z1tmXT0hMDtiKCl9KSk6MD09YS5wbHVnW2ZdJiYoZT0hMSk7ZSYmalF1ZXJ5KCIjIitjKS5tZWRpYWVsZW1lbnRwbGF5ZXIoalF1ZXJ5LmV4dGVuZChkLm9wdGlvbnMse3N1Y2Nlc3M6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBiKCl7dmFyIGI9alF1ZXJ5KGEpLmNsb3Nlc3QoIi5tZWpzX19pbm5lciIpO2EucGF1c2VkPyhiLmFkZENsYXNzKCJwYXVzaW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2IuZmlsdGVyKCIucGF1c2luZyIpLnJlbW92ZUNsYXNzKCJwbGF5aW5nIikucmVtb3ZlQ2xhc3MoInBhdXNpbmciKS5hZGRDbGFzcygicGF1c2VkIil9LDEwMCkpOmIucmVtb3ZlQ2xhc3MoInBhdXNlZCIpLnJlbW92ZUNsYXNzKCJwYXVzaW5nIikuYWRkQ2xhc3MoInBsYXlpbmciKX1iKCk7YS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IixiLCExKTsKYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlZCIsYiwhMSk7Zy5hdHRyKCJhdXRvcGxheSIpJiZhLnBsYXkoKX19KSl9dmFyIGc9alF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJkb25lIiksYzsoYz1nLmF0dHIoImlkIikpfHwoYz0ibWVqcy0iK2cuYXR0cigiZGF0YS1pZCIpKyItIithLmMrKyxnLmF0dHIoImlkIixjKSk7dmFyIGQ9e29wdGlvbnM6e30scGx1Z2luczp7fSxjc3M6W119LGUsaDtmb3IoZSBpbiBkKWlmKGg9Zy5hdHRyKCJkYXRhLW1lanMiK2UpKWRbZV09alF1ZXJ5LnBhcnNlSlNPTihoKTtiKCl9KX0oalF1ZXJ5KX0pO2EuZ3N8fCgidW5kZWZpbmVkIiE9PXR5cGVvZiBtZWpzY3NzJiZhLmNzc2xvYWQobWVqc2NzcyksYS5ncz1qUXVlcnkuZ2V0U2NyaXB0KG1lanNwYXRoLGZ1bmN0aW9uKCl7YS5ncz0hMDthLmluaXQoKTtqUXVlcnkoYS5pbml0KTtvbkFqYXhMb2FkKGEuaW5pdCl9KSl9KSgpOzwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Dans notre cas, il faut donc passer 12800 &#181;Pas en 4 minutes soit 240s, ce qui donne un d&#233;lai de 18 &#224; 19ms entre deux &#181;Pas. Pour clarifier le code, ce d&#233;lai va &#234;tre mis dans une variable &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delaiInterMicropas&lt;/code&gt;, ce qui permettra aussi de changer la vitesse de rotation sans avoir &#224; modifier le code.&lt;/p&gt;
&lt;p&gt;Si on ne se soucie pas d'avoir des phases d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration, le code est tr&#232;s simple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;for (microPas = 0; microPas &lt; distance; microPas++) { digitalWrite(stepPin, LOW); delay(1); digitalWrite(stepPin, HIGH); delay(delaiInterMicroPas - 1); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Mais le mouvement a une allure artificielle. Il est donc pr&#233;f&#233;rable de simuler une petite phase d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration.&lt;/p&gt;
&lt;p&gt;Les phases d'acc&#233;l&#233;ration vont &#234;tre r&#233;gl&#233;es en nombre de &#181;Pas pass&#233;s &#224; acc&#233;l&#233;rer et &#224; d&#233;c&#233;l&#233;rer. On va donc avoir 2 variables &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasAcceleration&lt;/code&gt; et &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasDeceleration&lt;/code&gt; pour r&#233;gler ces phases.&lt;/p&gt;
&lt;p&gt;Un mouvement d'une position courante &#224; une position de destination consiste donc &#224; parcourir &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasAcceleration&lt;/code&gt; &#181;Pas avec un d&#233;lai variable et d&#233;croissant puis &#224; parcourir &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;distance - microPasAcceleration - microPasDeceleration&lt;/code&gt; &#181;Pas avec un d&#233;lai &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delaiInterMicropas&lt;/code&gt; et enfin parcourir &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasDeceleration&lt;/code&gt; &#181;Pas avec un d&#233;lai variable croissant.&lt;/p&gt;
&lt;p&gt;Bien entendu, il ne faut pas que &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasAcceleration + microPasDeceleration&lt;/code&gt; soit sup&#233;rieur &#224; &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;distance&lt;/code&gt;. En pratique les phases d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration seront courte et la distance est sup&#233;rieur &#224; l'&#233;cartement de la voie utilis&#233;e. Par exemple pour un pont en N de 150mm de diam&#232;tre, les 9mm d'&#233;cartement correspondent &#224; 245 &#181;Pas.&lt;/p&gt;
&lt;p&gt;Le d&#233;lai initial de la phase d'acc&#233;l&#233;ration est calcul&#233; est ajoutant &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasAcceleration&lt;/code&gt; &#224; &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delaiInterMicropas&lt;/code&gt;. On va ensuite boucler &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasAcceleration&lt;/code&gt; fois en diminuant le d&#233;lai de 1 &#224; chaque tour pour donc terminer sur un d&#233;lai &#233;gal &#224; &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delaiInterMicropas&lt;/code&gt;. Comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;int delai = delaiInterMicroPas - 1 + microPasAcceleration; for (microPas = 0; microPas &lt; microPasAcceleration; microPas++) { digitalWrite(stepPin, LOW); delay(1); digitalWrite(stepPin, HIGH); delay(delai); delai-- ; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le mouvement a vitesse maximum est accompli par la boucle suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;for (microPas = 0; microPas &lt; (distance - microPasAcceleration - microPasDeceleration); microPas++) { digitalWrite(stepPin, LOW); delay(1); digitalWrite(stepPin, HIGH); delay(delaiInterMicroPas - 1); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enfin, la phase de d&#233;c&#233;l&#233;ration consiste &#224; boucler &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;microPasDeceleration&lt;/code&gt; fois en augmentant le d&#233;lai de 1 &#224; chaque tour, &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delai&lt;/code&gt; est initialis&#233; &#224; la valeur &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;delaiInterMicropas&lt;/code&gt;. Comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;for (microPas = 0; microPas &lt; microPasDeceleration; microPas++) { digitalWrite(stepPin, LOW); delay(1); digitalWrite(stepPin, HIGH); delay(delai); delai ++; }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tout cela est mis dans une fonction &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;allerAPosition(...)&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Sketch de d&#233;monstration&lt;/h2&gt;
&lt;p&gt;Voici le c&#226;blage :&lt;/p&gt;
&lt;div class='spip_document_363 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/png/sketchDRV8824_bb.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH238/sketchDRV8824_bb-c7c7d.png?1692224381' width='500' height='238' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Et le sketch de l'application de d&#233;monstration. Il contient la fonction &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;allerAPosition(...)&lt;/code&gt; et l'ex&#233;cution d'un sc&#233;nario de mouvement.&lt;/p&gt;
&lt;div class='spip_document_378 spip_document spip_documents spip_document_file spip_document_avec_legende' data-legende-len=&#034;42&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://modelleisenbahn.triskell.org/IMG/zip/pont_tournant_demo-2.zip' class=&#034; spip_doc_lien&#034; title='Zip - 1.3 kio' type=&#034;application/zip&#034;&gt;&lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/zip-f045b.svg?1779519117' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-378 '&gt;&lt;strong&gt;Sketch de d&#233;monstration du pont tournant
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Mise en &#339;uvre de la DRV8824 pour un pont tournant</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article72</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article72</guid>
		<dc:date>2013-12-24T10:05:34Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Pour les essais de la DRV8824, le moteur reste le m&#234;me que celui employ&#233; dans &#171; Mise en &#339;uvre de l'EasyDriver v4.4 pour un pont tournant &#187; avec 400 pas par tour. La latte de bois a &#233;t&#233; remplac&#233;e par un tasseau d'un longueur un peu plus faible dans le but de pouvoir charger le pont avec une masse &#233;quivalente &#224; celle d'une locomotive en H0 afin d'observer le comportement en charge. &lt;br class='autobr' /&gt;
Les possibilit&#233;s offertes par la DRV8824 &lt;br class='autobr' /&gt;
En combinant les 400 pas par tour du moteur et les 32&#181;Pas du Ti (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique19" rel="directory"&gt;La technologie&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pour les essais de la DRV8824, le moteur reste le m&#234;me que celui employ&#233; dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article69' class=&#034;spip_in&#034;&gt;Mise en &#339;uvre de l'EasyDriver v4.4 pour un pont tournant&lt;/a&gt; &#187; avec 400 pas par tour. La latte de bois a &#233;t&#233; remplac&#233;e par un tasseau d'un longueur un peu plus faible dans le but de pouvoir charger le pont avec une masse &#233;quivalente &#224; celle d'une locomotive en H0&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Certes, je construis un r&#233;seau &#224; l'&#233;chelle N mais je pense aussi &#224; mes (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; afin d'observer le comportement en charge.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les possibilit&#233;s offertes par la DRV8824&lt;/h2&gt;
&lt;p&gt;En combinant les 400 pas par tour du moteur et les 32&#181;Pas du &lt;i&gt;Ti DRV8824&lt;/i&gt;, on arrive &#224; 12800 &#181;Pas par tour ce qui est consid&#233;rable. Pour un pont tournant &#224; l'&#233;chelle H0, disons de 30cm de diam&#232;tre, cela donne un d&#233;placement de moins de 0,075mm par &#181;Pas en bout de pont. Avec un pont &#224; l'&#233;chelle N on tombe &#224; 0,037mm en bout de pont. Un d&#233;placement de moins d'1/10e de millim&#232;tre est imperceptible.&lt;/p&gt;
&lt;p&gt;La connexion de la DRV8824 est presque aussi simple que celle de l'EasyDriver, il y a juste quelques broches suppl&#233;mentaires &#224; connecter &#224; la masse ou au +5V car l'&#233;tat par d&#233;faut qu'elles adoptent lorsqu'elles sont en l'air ne convient pas.&lt;/p&gt;
&lt;p&gt;Il faut donc connecter les broches DIR et STEP comme pour l'EasyDriver mais en plus connecter la broche SLEEP &#224; 5V, la broche ENABLE &#224; 0V et les broches M0, M1 et M2 &#224; 5V pour disposer de 32 &#181;Pas. J'ai choisi de piloter la broche RESET avec la broche 4 de l'Arduino. En effet, &#224; l'allumage du syst&#232;me, les entr&#233;es/sorties num&#233;riques de l'Arduino &#233;tant en entr&#233;e, RESET est en l'air et, par cons&#233;quent, le &lt;i&gt;Ti DRV8824&lt;/i&gt; est maintenu dans l'&#233;tat RESET. Cela &#233;vite de faire faire au moteur des mouvements involontaires dus aux transitoires sur les entr&#233;es DIR et STEP. Lorsque le programme d&#233;marre, la broche 4 est mise en sortie et RESET est mis &#224; l'&#233;tat haut apr&#232;s que les &#233;tats de DIR et STEP aient &#233;t&#233; fix&#233;s. De cette mani&#232;re le moteur ne bronche pas &#224; la mise sous tension.&lt;/p&gt;
&lt;p&gt;Un autre point important est le condensateur chimique qui permet d'absorber les transitoires de la mise sous tension. Transitoires qui &lt;a href=&#034;http://www.pololu.com/docs/pdf/0J16/destructive_LC_voltage_spikes.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pourraient d&#233;truire le composant&lt;/a&gt;. J'ai donc implant&#233; sur la &lt;i&gt;breadboard&lt;/i&gt; un condensateur de 470&#181;F 35V.&lt;/p&gt;
&lt;div class='spip_document_363 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://modelleisenbahn.triskell.org/IMG/png/sketchDRV8824_bb.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH238/sketchDRV8824_bb-c7c7d.png?1692224381' width='500' height='238' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La tension moteur est fix&#233;e &#224; 12V. Les alimentations sont s&#233;par&#233;es comme pour le montage de l'EasyDriver.&lt;/p&gt;
&lt;div class='spip_document_364 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH353/montageDRV8824-1c45f.jpg?1692343797' width='500' height='353' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;glages de la DRV8824&lt;/h2&gt;
&lt;p&gt;Le potentiom&#232;tre de montage sur la DRV8824 permet de r&#233;gler la tension &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; qui fixe le courant maximum. Comme &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; &#215;5&lt;i&gt;R&lt;sub&gt;s&lt;/sub&gt;&lt;/i&gt;, avec &lt;i&gt;R&lt;sub&gt;s&lt;/sub&gt;&lt;/i&gt; = 0,33&#937;, un &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; &#8804; 300mA donne un &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; &#8804; 0,5V. En t&#226;tonnant, une valeur de 0,47V donne le meilleur comportement&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Lorsque le Mixed Decay est s&#233;lectionn&#233;.&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Voici le r&#233;sultat obtenu avec ce r&#233;glage.&lt;/p&gt;
&lt;div class=&#034;spip_document_365 spip_document spip_documents spip_document_video&#034;&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;div class=&#034;video-intrinsic-wrapper&#034; style='height:0;width:640px;max-width:100%;padding-bottom:56.25%;position:relative;'&gt; &lt;div class=&#034;video-wrapper&#034; style=&#034;position: absolute;top:0;left:0;width:100%;height:100%;&#034;&gt; &lt;video class=&#034;mejs mejs-365&#034; data-id=&#034;bf578d0c063c51d6286a75ff18e96b18&#034; data-mejsoptions='{&#034;iconSprite&#034;: &#034;plugins-dist/medias/lib/mejs/mejs-controls.svg&#034;,&#034;alwaysShowControls&#034;: true,&#034;pluginPath&#034;:&#034;plugins-dist/medias/lib/mejs/&#034;,&#034;loop&#034;:false,&#034;videoWidth&#034;:&#034;100%&#034;,&#034;videoHeight&#034;:&#034;100%&#034;}' width=&#034;100%&#034; height=&#034;100%&#034; controls=&#034;controls&#034; preload=&#034;none&#034; &gt; &lt;source type=&#034;application/x-shockwave-flash&#034; src=&#034;http://www.youtube.com/v/opi2D4BsxPo?version=3&amp;hl=fr_FR&amp;rel=0&#034; /&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/swf-d2c4d-75a7b.svg?1779463451' width='64' height='64' alt='Impossible de lire la video' /&gt; &lt;/video&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#034;base64javascript8619848166a377ceda86a92.73358507&#034; title=&#034;PHNjcmlwdD4gdmFyIG1lanNwYXRoPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcz8xNzc5NDQzNTM4JyxtZWpzY3NzPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudHBsYXllci5taW4uY3NzPzE3Nzk0NDM1MzgnOwp2YXIgbWVqc2xvYWRlcjsKKGZ1bmN0aW9uKCl7dmFyIGE9bWVqc2xvYWRlcjsidW5kZWZpbmVkIj09dHlwZW9mIGEmJihtZWpzbG9hZGVyPWE9e2dzOm51bGwscGx1Zzp7fSxjc3M6e30saW5pdDpudWxsLGM6MCxjc3Nsb2FkOm51bGx9KTthLmluaXR8fChhLmNzc2xvYWQ9ZnVuY3Rpb24oYyl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhLmNzc1tjXSl7YS5jc3NbY109ITA7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2IuaHJlZj1jO2IucmVsPSJzdHlsZXNoZWV0IjtiLnR5cGU9InRleHQvY3NzIjtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGIpfX0sYS5pbml0PWZ1bmN0aW9uKCl7ITA9PT1hLmdzJiZmdW5jdGlvbihjKXtqUXVlcnkoImF1ZGlvLm1lanMsdmlkZW8ubWVqcyIpLm5vdCgiLmRvbmUsLm1lanNfX3BsYXllciIpLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGU9ITAsaDtmb3IoaCBpbiBkLmNzcylhLmNzc2xvYWQoZC5jc3NbaF0pO2Zvcih2YXIgZiBpbiBkLnBsdWdpbnMpInVuZGVmaW5lZCI9PQp0eXBlb2YgYS5wbHVnW2ZdPyhlPSExLGEucGx1Z1tmXT0hMSxqUXVlcnkuZ2V0U2NyaXB0KGQucGx1Z2luc1tmXSxmdW5jdGlvbigpe2EucGx1Z1tmXT0hMDtiKCl9KSk6MD09YS5wbHVnW2ZdJiYoZT0hMSk7ZSYmalF1ZXJ5KCIjIitjKS5tZWRpYWVsZW1lbnRwbGF5ZXIoalF1ZXJ5LmV4dGVuZChkLm9wdGlvbnMse3N1Y2Nlc3M6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBiKCl7dmFyIGI9alF1ZXJ5KGEpLmNsb3Nlc3QoIi5tZWpzX19pbm5lciIpO2EucGF1c2VkPyhiLmFkZENsYXNzKCJwYXVzaW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2IuZmlsdGVyKCIucGF1c2luZyIpLnJlbW92ZUNsYXNzKCJwbGF5aW5nIikucmVtb3ZlQ2xhc3MoInBhdXNpbmciKS5hZGRDbGFzcygicGF1c2VkIil9LDEwMCkpOmIucmVtb3ZlQ2xhc3MoInBhdXNlZCIpLnJlbW92ZUNsYXNzKCJwYXVzaW5nIikuYWRkQ2xhc3MoInBsYXlpbmciKX1iKCk7YS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IixiLCExKTsKYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlZCIsYiwhMSk7Zy5hdHRyKCJhdXRvcGxheSIpJiZhLnBsYXkoKX19KSl9dmFyIGc9alF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJkb25lIiksYzsoYz1nLmF0dHIoImlkIikpfHwoYz0ibWVqcy0iK2cuYXR0cigiZGF0YS1pZCIpKyItIithLmMrKyxnLmF0dHIoImlkIixjKSk7dmFyIGQ9e29wdGlvbnM6e30scGx1Z2luczp7fSxjc3M6W119LGUsaDtmb3IoZSBpbiBkKWlmKGg9Zy5hdHRyKCJkYXRhLW1lanMiK2UpKWRbZV09alF1ZXJ5LnBhcnNlSlNPTihoKTtiKCl9KX0oalF1ZXJ5KX0pO2EuZ3N8fCgidW5kZWZpbmVkIiE9PXR5cGVvZiBtZWpzY3NzJiZhLmNzc2xvYWQobWVqc2NzcyksYS5ncz1qUXVlcnkuZ2V0U2NyaXB0KG1lanNwYXRoLGZ1bmN0aW9uKCl7YS5ncz0hMDthLmluaXQoKTtqUXVlcnkoYS5pbml0KTtvbkFqYXhMb2FkKGEuaW5pdCl9KSl9KSgpOzwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;La plus haute r&#233;solution du &lt;i&gt;Ti DRV8824&lt;/i&gt; par rapport &#224; l'&lt;i&gt;Allegro A3967&lt;/i&gt; qui &#233;quipe l'EasyDriver donne un bien meilleur r&#233;sultat mais ce n'est pas encore parfait.&lt;/p&gt;
&lt;p&gt;Deux pistes d'am&#233;lioration existent. La premi&#232;re concerne le &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt;. En effet, la valeur de &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; n&#233;cessaire pour le moteur choisi est en de&#231;&#224; de ce qui est pr&#233;conis&#233; par &lt;i&gt;Texas Instruments&lt;/i&gt; mais augmenter &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; demanderait de remplacer les r&#233;sistance de capture de courant de 0,33&#937; pas des r&#233;sistances de 2,2&#937;. De cette mani&#232;re le &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; maximum de 3,3V correspondrait &#224; un courant maximum de 300mA.&lt;/p&gt;
&lt;p&gt;Se lancer dans cette modification est un peu risqu&#233; et une autre piste a &#233;t&#233; privil&#233;gi&#233;e : le changement du &lt;i&gt;DECAY&lt;/i&gt; car comme on avait pu le voir dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article69' class=&#034;spip_in&#034;&gt;Mise en &#339;uvre de l'EasyDriver v4.4 pour un pont tournant&lt;/a&gt; &#187;, son influence est importante. Malheureusement, comme on l'a vu dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article71' class=&#034;spip_in&#034;&gt;La DRV8824 de Pololu&lt;/a&gt; &#187;, le &lt;i&gt;DECAY&lt;/i&gt; n'est pas disponible sur les broches de la DRV8824. Il faut aller le chercher sur la broche 19 du &lt;i&gt;Ti DRV8824&lt;/i&gt;. En mettant cette broche &#224; la GND, on s&#233;lectionne le &lt;i&gt;Slow Decay&lt;/i&gt; et en la mettant &#224; +5V, on s&#233;lectionne le &lt;i&gt;Fast Decay&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;En &lt;i&gt;Slow Decay&lt;/i&gt; le comportement est moins bon avec un net pompage qui appara&#238;t.&lt;/p&gt;
&lt;p&gt;En &lt;i&gt;Fast Decay&lt;/i&gt; le comportement est bien meilleur. La vibration, pr&#233;sente quand le pont est charg&#233;, dispara&#238;t.&lt;/p&gt;
&lt;p&gt;Il se trouve que la broche 19 voisine avec la broche 18, FAULT, qui a l'&#233;norme avantage d'&#234;tre &#224; l'&#233;tat haut en temps normal&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Si FAULT passe &#224; l'&#233;tat bas, le composant est en erreur et la valeur &#224; (&#8230;)&#034; id=&#034;nh3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt;. Il suffit donc de d&#233;poser une goutte de soudure pour r&#233;unir ces deux broches et s&#233;lectionne le &lt;i&gt;Fast Decay&lt;/i&gt;. Relier &lt;i&gt;DECAY&lt;/i&gt; &#224; GND aurait &#233;t&#233; beaucoup plus sportif car il aurait fallu souder un fil volant entre &lt;i&gt;DECAY&lt;/i&gt; et le GND qui se trouve &#224; une dizaine de mm de l&#224;.&lt;/p&gt;
&lt;div class='spip_document_366 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;113&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH352/decay-bd5bb.jpg?1692343797' width='500' height='352' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-366 '&gt;&lt;strong&gt;Modification de la DRV8824
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif crayon document-descriptif-366 '&gt;Soudage des broches DECAY et FAULT ensemble de mani&#232;re &#224; mettre DECAY &#224; l'&#233;tat haut.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Il reste malgr&#233; tout un tr&#232;s l&#233;ger pompage qui est r&#233;solu par la diminution du &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; de mani&#232;re &#224; obtenir un courant entre 200mA (pont charg&#233; en H0) et 150mA (pont l&#232;ge en N). Le r&#233;sultat est excellent, m&#234;me dans les phases d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration, comme en atteste la vid&#233;o ci-dessous.&lt;/p&gt;
&lt;div class=&#034;spip_document_368 spip_document spip_documents spip_document_video&#034;&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;div class=&#034;video-intrinsic-wrapper&#034; style='height:0;width:640px;max-width:100%;padding-bottom:56.25%;position:relative;'&gt; &lt;div class=&#034;video-wrapper&#034; style=&#034;position: absolute;top:0;left:0;width:100%;height:100%;&#034;&gt; &lt;video class=&#034;mejs mejs-368&#034; data-id=&#034;a6276171b700728649cec60dba235400&#034; data-mejsoptions='{&#034;iconSprite&#034;: &#034;plugins-dist/medias/lib/mejs/mejs-controls.svg&#034;,&#034;alwaysShowControls&#034;: true,&#034;pluginPath&#034;:&#034;plugins-dist/medias/lib/mejs/&#034;,&#034;loop&#034;:false,&#034;videoWidth&#034;:&#034;100%&#034;,&#034;videoHeight&#034;:&#034;100%&#034;}' width=&#034;100%&#034; height=&#034;100%&#034; controls=&#034;controls&#034; preload=&#034;none&#034; &gt; &lt;source type=&#034;application/x-shockwave-flash&#034; src=&#034;http://www.youtube.com/v/Qi1aWqdYrn8?hl=fr_FR&amp;version=3&amp;rel=0&#034; /&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/swf-d2c4d-75a7b.svg?1779463451' width='64' height='64' alt='Impossible de lire la video' /&gt; &lt;/video&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#034;base64javascript8619848166a377ceda86a92.73358507&#034; title=&#034;PHNjcmlwdD4gdmFyIG1lanNwYXRoPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcz8xNzc5NDQzNTM4JyxtZWpzY3NzPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudHBsYXllci5taW4uY3NzPzE3Nzk0NDM1MzgnOwp2YXIgbWVqc2xvYWRlcjsKKGZ1bmN0aW9uKCl7dmFyIGE9bWVqc2xvYWRlcjsidW5kZWZpbmVkIj09dHlwZW9mIGEmJihtZWpzbG9hZGVyPWE9e2dzOm51bGwscGx1Zzp7fSxjc3M6e30saW5pdDpudWxsLGM6MCxjc3Nsb2FkOm51bGx9KTthLmluaXR8fChhLmNzc2xvYWQ9ZnVuY3Rpb24oYyl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhLmNzc1tjXSl7YS5jc3NbY109ITA7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2IuaHJlZj1jO2IucmVsPSJzdHlsZXNoZWV0IjtiLnR5cGU9InRleHQvY3NzIjtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGIpfX0sYS5pbml0PWZ1bmN0aW9uKCl7ITA9PT1hLmdzJiZmdW5jdGlvbihjKXtqUXVlcnkoImF1ZGlvLm1lanMsdmlkZW8ubWVqcyIpLm5vdCgiLmRvbmUsLm1lanNfX3BsYXllciIpLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGU9ITAsaDtmb3IoaCBpbiBkLmNzcylhLmNzc2xvYWQoZC5jc3NbaF0pO2Zvcih2YXIgZiBpbiBkLnBsdWdpbnMpInVuZGVmaW5lZCI9PQp0eXBlb2YgYS5wbHVnW2ZdPyhlPSExLGEucGx1Z1tmXT0hMSxqUXVlcnkuZ2V0U2NyaXB0KGQucGx1Z2luc1tmXSxmdW5jdGlvbigpe2EucGx1Z1tmXT0hMDtiKCl9KSk6MD09YS5wbHVnW2ZdJiYoZT0hMSk7ZSYmalF1ZXJ5KCIjIitjKS5tZWRpYWVsZW1lbnRwbGF5ZXIoalF1ZXJ5LmV4dGVuZChkLm9wdGlvbnMse3N1Y2Nlc3M6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBiKCl7dmFyIGI9alF1ZXJ5KGEpLmNsb3Nlc3QoIi5tZWpzX19pbm5lciIpO2EucGF1c2VkPyhiLmFkZENsYXNzKCJwYXVzaW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2IuZmlsdGVyKCIucGF1c2luZyIpLnJlbW92ZUNsYXNzKCJwbGF5aW5nIikucmVtb3ZlQ2xhc3MoInBhdXNpbmciKS5hZGRDbGFzcygicGF1c2VkIil9LDEwMCkpOmIucmVtb3ZlQ2xhc3MoInBhdXNlZCIpLnJlbW92ZUNsYXNzKCJwYXVzaW5nIikuYWRkQ2xhc3MoInBsYXlpbmciKX1iKCk7YS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IixiLCExKTsKYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlZCIsYiwhMSk7Zy5hdHRyKCJhdXRvcGxheSIpJiZhLnBsYXkoKX19KSl9dmFyIGc9alF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJkb25lIiksYzsoYz1nLmF0dHIoImlkIikpfHwoYz0ibWVqcy0iK2cuYXR0cigiZGF0YS1pZCIpKyItIithLmMrKyxnLmF0dHIoImlkIixjKSk7dmFyIGQ9e29wdGlvbnM6e30scGx1Z2luczp7fSxjc3M6W119LGUsaDtmb3IoZSBpbiBkKWlmKGg9Zy5hdHRyKCJkYXRhLW1lanMiK2UpKWRbZV09alF1ZXJ5LnBhcnNlSlNPTihoKTtiKCl9KX0oalF1ZXJ5KX0pO2EuZ3N8fCgidW5kZWZpbmVkIiE9PXR5cGVvZiBtZWpzY3NzJiZhLmNzc2xvYWQobWVqc2NzcyksYS5ncz1qUXVlcnkuZ2V0U2NyaXB0KG1lanNwYXRoLGZ1bmN0aW9uKCl7YS5ncz0hMDthLmluaXQoKTtqUXVlcnkoYS5pbml0KTtvbkFqYXhMb2FkKGEuaW5pdCl9KSl9KSgpOzwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/figure&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Le logiciel&lt;/h2&gt;
&lt;p&gt;La commande de la DRV8824 &#233;tant identique &#224; celle de l'EasyDriver le logiciel reste, dans les grandes lignes, identique &#224; celui d&#233;crit dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article69' class=&#034;spip_in&#034;&gt;Mise en &#339;uvre de l'EasyDriver v4.4 pour un pont tournant&lt;/a&gt; &#187;. Evidemment, comme il y a 4 fois plus de micro-pas il faut diminuer le d&#233;lai entre le passage de 2 micro-pas. Sur l'EasyDriver, le d&#233;lai avait &#233;t&#233; fix&#233; &#224; 37ms. Ici il est fix&#233; &#224; 16ms. Un tour est donc accompli en 12800 &#215; 16ms = 3 minutes et 25 secondes environ, ce qui est presque conforme &#224; la r&#233;alit&#233;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dur&#233;e du &lt;i&gt;STEP&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;i&gt;Ti DRV8824&lt;/i&gt; est moins tol&#233;rant que l'&lt;i&gt;Allegro A3967&lt;/i&gt;. &lt;i&gt;STEP&lt;/i&gt; doit rest&#233; au m&#234;me &#233;tat au moins 1,9&#181;s alors que sur le &lt;i&gt;A3967&lt;/i&gt; nous avions 1&#181;s. Si comme pr&#233;c&#233;demment, on &#233;crit :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;void loop() { digitalWrite(pinMicroPas, LOW); digitalWrite(pinMicroPas, HIGH); delay(16); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On risque de na pas satisfaire cette condition entre les deux &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;digitalWrite(...)&lt;/code&gt;. Les 16ms sont par exemple r&#233;partis comme ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;void loop() { digitalWrite(pinMicroPas, LOW); delay(8); digitalWrite(pinMicroPas, HIGH); delay(8); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;La DRV8824 de Pololu est donc retenue pour la mise en &#339;uvre du pont tournant. Le prochain article portera sur l'algorithme du choix du plus court chemin.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Certes, je construis un r&#233;seau &#224; l'&#233;chelle N mais je pense aussi &#224; mes petits camarades H0istes.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;Lorsque le &lt;i&gt;Mixed Decay&lt;/i&gt; est s&#233;lectionn&#233;.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3&#034; class=&#034;spip_note&#034; title=&#034;Notes 3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;Si &lt;i&gt;FAULT&lt;/i&gt; passe &#224; l'&#233;tat bas, le composant est en erreur et la valeur &#224; laquelle &lt;i&gt;DECAY&lt;/i&gt; est mis n'a pas d'importance.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Mise en &#339;uvre de l'EasyDriver v4.4 pour un pont tournant</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article69</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article69</guid>
		<dc:date>2013-12-09T12:33:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Arduino</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Voici le compte rendu de quelques essais de mise en &#339;uvre avec l'objectif de motoriser un pont tournant. &lt;br class='autobr' /&gt;
Le mat&#233;riel &lt;br class='autobr' /&gt;
Afin d'avoir la meilleure r&#233;solution possible, le moteur pas-&#224;-pas bipolaire choisi est un moteur 400 pas par tour vendu par Selectronic. Il s'agit de ce mod&#232;le. &lt;br class='autobr' /&gt;
Ce moteur est pr&#233;vu pour &#234;tre aliment&#233; en 12V. Les bobines ont une r&#233;sistance de 40&#937; et par cons&#233;quent chaque bobine consomme 300mA. Le couple de maintien est de 3,5 kg/cm. &lt;br class='autobr' /&gt;
J'ai fix&#233; sur l'arbre une latte en (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique19" rel="directory"&gt;La technologie&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot10" rel="tag"&gt;Arduino&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Voici le compte rendu de quelques essais de mise en &#339;uvre avec l'objectif de motoriser un pont tournant.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Le mat&#233;riel&lt;/h2&gt;
&lt;p&gt;Afin d'avoir la meilleure r&#233;solution possible, le moteur pas-&#224;-pas bipolaire choisi est un moteur 400 pas par tour vendu par Selectronic. Il s'agit de &lt;a href=&#034;http://www.selectronic.fr/moteur-pas-a-pas-modele-pap-2.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ce mod&#232;le&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ce moteur est pr&#233;vu pour &#234;tre aliment&#233; en 12V. Les bobines ont une r&#233;sistance de 40&#937; et par cons&#233;quent chaque bobine consomme 300mA. Le couple de maintien est de 3,5 kg/cm.&lt;/p&gt;
&lt;p&gt;J'ai fix&#233; sur l'arbre une latte en bois de 40 cm de longueur et donc un rayon de 20cm. Cette longueur est de 30% sup&#233;rieure &#224; la longueur d'un pont tournant en H0 et plus de 2 fois plus long qu'un pont tournant en N. Cela permet de visualiser la rotation et plus particuli&#232;rement les d&#233;fauts.&lt;/p&gt;
&lt;div class='spip_document_348 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;37&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH171/moteur_pap-b4e87.jpg?1692224381' width='500' height='171' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-348 '&gt;&lt;strong&gt;Montage d'essai du moteur pas-&#224;-pas
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;En combinant les 400 pas par tour du moteur et les 8 &#181;pas de l'EasyDriver, on arrive &#224; 3200 positions sur le cercle. Avec un diam&#232;tre de 30cm, typiquement un pont tournant en H0, cela nous donne un pas d'environ 0,3mm en bout de pont. Avec un diam&#232;tre de 15cm qui correspond au pont tournant PECO en N, cela nous donne un pas de 0,15mm en bout de pont.&lt;/p&gt;
&lt;p&gt;La connexion de l'Arduino &#224; l'EasyDriver est particuli&#232;rement simple. Comme on la vu dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article68' class=&#034;spip_in&#034;&gt;L'Easydriver v4.4&lt;/a&gt; &#187;, la plupart des broches de l'EasyDriver ont la configuration ad&#233;quate quand on les laisse tout simplement non connect&#233;es.&lt;/p&gt;
&lt;div class='spip_document_362 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH238/easydriver-c2cbd.png?1692224382' width='500' height='238' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Les sorties num&#233;riques 2 et 3 de l'Arduino sont employ&#233;es pour piloter le moteur. On garde les alimentations s&#233;par&#233;es. L'EasyDriver est aliment&#233; en 12V continu et, pour les essais, l'Arduino reste aliment&#233; via l'USB.&lt;/p&gt;
&lt;div class='spip_document_349 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;39&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH373/arduino_et_easy-6707b.jpg?1692224382' width='500' height='373' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre crayon document-titre-349 '&gt;&lt;strong&gt;Connexion de l'Arduino &#224; l'EasyDriver
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Influence de la limitation de courant&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Plus le courant maximum &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt;, c'est &#224; dire le courant correspondant &#224; 100% d'alimentation d'une bobine, est &#233;lev&#233; et plus le passage d'un &#181;Pas au suivant est rapide et franc. Comme on veut le passage le plus doux possible, il faut r&#233;gler le courant maximum &#224; la valeur la plus basse possible.&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;
&lt;strong&gt;Les indications de sens de rotation du potentiom&#232;tre sur l'EasyDriver 4.4 sont fausses.&lt;/strong&gt; La valeur minimum correspond en fait &#224; une rotation dans le sens trigonom&#233;trique (&#224; gauche) et la valeur maximum &#224; une rotation dans le sens horaire (&#224; droite).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D'apr&#232;s &lt;a href=&#034;http://www.schmalzhaus.com/EasyDriver/EasyDriver_v44/EasyDriver_v44_sch.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la sch&#233;matique&lt;/a&gt;, le &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; minimum possible est de 166mA pour &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = 1V, ce qui correspond &#224; la valeur minimum que l'on trouve dans la &lt;a href=&#034;http://www.allegromicro.com/~/media/Files/Datasheets/A3967-Datasheet.ashx&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;documentation de l'&lt;i&gt;Allegro A3967&lt;/i&gt;&lt;/a&gt;. En r&#233;alit&#233;, le &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; minimum mesur&#233; est de 1,59V au lieu des 1V annonc&#233;s. Par ailleurs, j'ai mesur&#233; une valeur de 1,2&#937; pour les r&#233;sistances de capture de courant au lieu des 0,75&#937; annonc&#233;s dans la sch&#233;matique. Le rapport &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; / &lt;i&gt;R&lt;sub&gt;s&lt;/sub&gt;&lt;/i&gt; est quasiment le m&#234;me et le &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; pour &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = 1,59V est donc bien de 166mA.&lt;/p&gt;
&lt;p&gt;Voici une vid&#233;o montrant l'influence de la limitation de courant sur la fluidit&#233; de la rotation pour les valeurs suivantes de &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; : 280mA (&lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = 2,69V), 224mA (&lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = 2,15V) et 166mA (&lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; = 1,59V). La vitesse de rotation est de 1 tour en 2 minutes.&lt;/p&gt;
&lt;div class=&#034;spip_document_352 spip_document spip_documents spip_document_video&#034;&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;div class=&#034;video-intrinsic-wrapper&#034; style='height:0;width:640px;max-width:100%;padding-bottom:56.25%;position:relative;'&gt; &lt;div class=&#034;video-wrapper&#034; style=&#034;position: absolute;top:0;left:0;width:100%;height:100%;&#034;&gt; &lt;video class=&#034;mejs mejs-352&#034; data-id=&#034;085b2ed9e754ac8b976180f80f056099&#034; data-mejsoptions='{&#034;iconSprite&#034;: &#034;plugins-dist/medias/lib/mejs/mejs-controls.svg&#034;,&#034;alwaysShowControls&#034;: true,&#034;pluginPath&#034;:&#034;plugins-dist/medias/lib/mejs/&#034;,&#034;loop&#034;:false,&#034;videoWidth&#034;:&#034;100%&#034;,&#034;videoHeight&#034;:&#034;100%&#034;}' width=&#034;100%&#034; height=&#034;100%&#034; controls=&#034;controls&#034; preload=&#034;none&#034; &gt; &lt;source type=&#034;application/x-shockwave-flash&#034; src=&#034;http://www.youtube.com/v/ZFFToe1mCec?version=3&amp;hl=fr_FR&amp;rel=0&#034; /&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/swf-d2c4d-75a7b.svg?1779463451' width='64' height='64' alt='Impossible de lire la video' /&gt; &lt;/video&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#034;base64javascript7308746026a3356b6bdd222.46801206&#034; title=&#034;PHNjcmlwdD4gdmFyIG1lanNwYXRoPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcz8xNzc5NDQzNTM4JyxtZWpzY3NzPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudHBsYXllci5taW4uY3NzPzE3Nzk0NDM1MzgnOwp2YXIgbWVqc2xvYWRlcjsKKGZ1bmN0aW9uKCl7dmFyIGE9bWVqc2xvYWRlcjsidW5kZWZpbmVkIj09dHlwZW9mIGEmJihtZWpzbG9hZGVyPWE9e2dzOm51bGwscGx1Zzp7fSxjc3M6e30saW5pdDpudWxsLGM6MCxjc3Nsb2FkOm51bGx9KTthLmluaXR8fChhLmNzc2xvYWQ9ZnVuY3Rpb24oYyl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhLmNzc1tjXSl7YS5jc3NbY109ITA7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2IuaHJlZj1jO2IucmVsPSJzdHlsZXNoZWV0IjtiLnR5cGU9InRleHQvY3NzIjtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGIpfX0sYS5pbml0PWZ1bmN0aW9uKCl7ITA9PT1hLmdzJiZmdW5jdGlvbihjKXtqUXVlcnkoImF1ZGlvLm1lanMsdmlkZW8ubWVqcyIpLm5vdCgiLmRvbmUsLm1lanNfX3BsYXllciIpLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGU9ITAsaDtmb3IoaCBpbiBkLmNzcylhLmNzc2xvYWQoZC5jc3NbaF0pO2Zvcih2YXIgZiBpbiBkLnBsdWdpbnMpInVuZGVmaW5lZCI9PQp0eXBlb2YgYS5wbHVnW2ZdPyhlPSExLGEucGx1Z1tmXT0hMSxqUXVlcnkuZ2V0U2NyaXB0KGQucGx1Z2luc1tmXSxmdW5jdGlvbigpe2EucGx1Z1tmXT0hMDtiKCl9KSk6MD09YS5wbHVnW2ZdJiYoZT0hMSk7ZSYmalF1ZXJ5KCIjIitjKS5tZWRpYWVsZW1lbnRwbGF5ZXIoalF1ZXJ5LmV4dGVuZChkLm9wdGlvbnMse3N1Y2Nlc3M6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBiKCl7dmFyIGI9alF1ZXJ5KGEpLmNsb3Nlc3QoIi5tZWpzX19pbm5lciIpO2EucGF1c2VkPyhiLmFkZENsYXNzKCJwYXVzaW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2IuZmlsdGVyKCIucGF1c2luZyIpLnJlbW92ZUNsYXNzKCJwbGF5aW5nIikucmVtb3ZlQ2xhc3MoInBhdXNpbmciKS5hZGRDbGFzcygicGF1c2VkIil9LDEwMCkpOmIucmVtb3ZlQ2xhc3MoInBhdXNlZCIpLnJlbW92ZUNsYXNzKCJwYXVzaW5nIikuYWRkQ2xhc3MoInBsYXlpbmciKX1iKCk7YS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IixiLCExKTsKYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlZCIsYiwhMSk7Zy5hdHRyKCJhdXRvcGxheSIpJiZhLnBsYXkoKX19KSl9dmFyIGc9alF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJkb25lIiksYzsoYz1nLmF0dHIoImlkIikpfHwoYz0ibWVqcy0iK2cuYXR0cigiZGF0YS1pZCIpKyItIithLmMrKyxnLmF0dHIoImlkIixjKSk7dmFyIGQ9e29wdGlvbnM6e30scGx1Z2luczp7fSxjc3M6W119LGUsaDtmb3IoZSBpbiBkKWlmKGg9Zy5hdHRyKCJkYXRhLW1lanMiK2UpKWRbZV09alF1ZXJ5LnBhcnNlSlNPTihoKTtiKCl9KX0oalF1ZXJ5KX0pO2EuZ3N8fCgidW5kZWZpbmVkIiE9PXR5cGVvZiBtZWpzY3NzJiZhLmNzc2xvYWQobWVqc2NzcyksYS5ncz1qUXVlcnkuZ2V0U2NyaXB0KG1lanNwYXRoLGZ1bmN0aW9uKCl7YS5ncz0hMDthLmluaXQoKTtqUXVlcnkoYS5pbml0KTtvbkFqYXhMb2FkKGEuaW5pdCl9KSl9KSgpOzwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;On voit effectivement que le r&#233;glage &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; au minimum donne le meilleur r&#233;sultat en terme de fluidit&#233; de mouvement m&#234;me si la vid&#233;o gomme les petites vibrations qui sont observables &#224; des &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; plus &#233;lev&#233;s. Le couple reste largement suffisant.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Le logiciel&lt;/h2&gt;
&lt;p&gt;La pilotage du moteur pas-&#224;-pas est tr&#232;s facile. La broche 2 de l'Arduino connect&#233;e &#224; l'entr&#233;e DIR de l'EasyDriver permet de fixer le sens de rotation et la broche 3 connect&#233;e &#224; l'entr&#233;e STEP de l'EasyDriver permet d'avancer d'un &#181;Pas. Ces deux broches sont donc mises en sortie dans &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;setup()&lt;/code&gt; comme ceci.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;const int pinSens = 2; const int pinMicroPas = 3; void setup() { pinMode(pinSens, OUTPUT); pinMode(pinMicroPas, OUTPUT); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le jeu consiste ensuite &#224; choisir un sens de rotation en mettant &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;pinSens&lt;/code&gt; &#224; HIGH ou LOW puis &#224; encha&#238;ner &#224; une certaine cadence des HIGH et des LOW sur &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;pinMicroPas&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La cadence est d&#233;termin&#233;e par le d&#233;lai d'attente entre deux bagottages sur &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;pinMicroPas&lt;/code&gt;. Par exemple, si l'on veut que le pont accomplisse un tour complet en 2 minutes, soit 120 s, on calcule ce temps d'attente de la mani&#232;re suivante : 3200 &#181;Pas en 120 s donne un d&#233;lai de 120/3200 = 37,5 ms &#8771; 37 ms.&lt;/p&gt;
&lt;p&gt;Ainsi le programme le plus simple possible consiste &#224; faire tourner le moteur en permanence dans &lt;code data-raccourci=&#034;code&#034; class='spip_code spip_code_inline' dir='ltr'&gt;loop()&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-raccourci=&#034;code&#034; data-language=&#034;C&#034; class='spip_code spip_code_block language-C' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;void loop() { digitalWrite(pinMicroPas, LOW); digitalWrite(pinMicroPas, HIGH); delay(37); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Voici une vid&#233;o qui montre l'ex&#233;cution d'une s&#233;quence de d&#233;placement : positionnement en 100, puis 300, puis 200, puis 800, puis 1600, puis 1000 et enfin 2400. Dans la premi&#232;re partie, un d&#233;lai de 36ms entre deux &#181;Pas est utilis&#233;. Les &#181;Pas ne sont pas visibles. Dans la seconde on passe &#224; un d&#233;lai de 99ms, les &#181;Pas deviennent visibles. Enfin dans la 3e partie, le mouvement d'une position &#224; l'autre a une phase d'acc&#233;l&#233;ration pendant 0,5s en passant d'un d&#233;lai de 78ms &#224; 36ms par d&#233;cr&#233;ment de 3ms et une phase de d&#233;c&#233;l&#233;ration pendant 0,75s en passant d'un d&#233;lai de 36ms &#224; 99ms par incr&#233;ment de 3. Les phases d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration sont l&#233;g&#232;rement hach&#233;es.&lt;/p&gt;
&lt;div class=&#034;spip_document_353 spip_document spip_documents spip_document_video&#034;&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;div class=&#034;video-intrinsic-wrapper&#034; style='height:0;width:640px;max-width:100%;padding-bottom:56.25%;position:relative;'&gt; &lt;div class=&#034;video-wrapper&#034; style=&#034;position: absolute;top:0;left:0;width:100%;height:100%;&#034;&gt; &lt;video class=&#034;mejs mejs-353&#034; data-id=&#034;d110361da115dd72f52c38af0431f1aa&#034; data-mejsoptions='{&#034;iconSprite&#034;: &#034;plugins-dist/medias/lib/mejs/mejs-controls.svg&#034;,&#034;alwaysShowControls&#034;: true,&#034;pluginPath&#034;:&#034;plugins-dist/medias/lib/mejs/&#034;,&#034;loop&#034;:false,&#034;videoWidth&#034;:&#034;100%&#034;,&#034;videoHeight&#034;:&#034;100%&#034;}' width=&#034;100%&#034; height=&#034;100%&#034; controls=&#034;controls&#034; preload=&#034;none&#034; &gt; &lt;source type=&#034;application/x-shockwave-flash&#034; src=&#034;http://www.youtube.com/v/XXFy7AJD_TA?version=3&amp;hl=fr_FR&amp;rel=0&#034; /&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L64xH64/swf-d2c4d-75a7b.svg?1779463451' width='64' height='64' alt='Impossible de lire la video' /&gt; &lt;/video&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#034;base64javascript7308746026a3356b6bdd222.46801206&#034; title=&#034;PHNjcmlwdD4gdmFyIG1lanNwYXRoPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcz8xNzc5NDQzNTM4JyxtZWpzY3NzPSdwbHVnaW5zLWRpc3QvbWVkaWFzL2xpYi9tZWpzL21lZGlhZWxlbWVudHBsYXllci5taW4uY3NzPzE3Nzk0NDM1MzgnOwp2YXIgbWVqc2xvYWRlcjsKKGZ1bmN0aW9uKCl7dmFyIGE9bWVqc2xvYWRlcjsidW5kZWZpbmVkIj09dHlwZW9mIGEmJihtZWpzbG9hZGVyPWE9e2dzOm51bGwscGx1Zzp7fSxjc3M6e30saW5pdDpudWxsLGM6MCxjc3Nsb2FkOm51bGx9KTthLmluaXR8fChhLmNzc2xvYWQ9ZnVuY3Rpb24oYyl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhLmNzc1tjXSl7YS5jc3NbY109ITA7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2IuaHJlZj1jO2IucmVsPSJzdHlsZXNoZWV0IjtiLnR5cGU9InRleHQvY3NzIjtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGIpfX0sYS5pbml0PWZ1bmN0aW9uKCl7ITA9PT1hLmdzJiZmdW5jdGlvbihjKXtqUXVlcnkoImF1ZGlvLm1lanMsdmlkZW8ubWVqcyIpLm5vdCgiLmRvbmUsLm1lanNfX3BsYXllciIpLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7dmFyIGU9ITAsaDtmb3IoaCBpbiBkLmNzcylhLmNzc2xvYWQoZC5jc3NbaF0pO2Zvcih2YXIgZiBpbiBkLnBsdWdpbnMpInVuZGVmaW5lZCI9PQp0eXBlb2YgYS5wbHVnW2ZdPyhlPSExLGEucGx1Z1tmXT0hMSxqUXVlcnkuZ2V0U2NyaXB0KGQucGx1Z2luc1tmXSxmdW5jdGlvbigpe2EucGx1Z1tmXT0hMDtiKCl9KSk6MD09YS5wbHVnW2ZdJiYoZT0hMSk7ZSYmalF1ZXJ5KCIjIitjKS5tZWRpYWVsZW1lbnRwbGF5ZXIoalF1ZXJ5LmV4dGVuZChkLm9wdGlvbnMse3N1Y2Nlc3M6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBiKCl7dmFyIGI9alF1ZXJ5KGEpLmNsb3Nlc3QoIi5tZWpzX19pbm5lciIpO2EucGF1c2VkPyhiLmFkZENsYXNzKCJwYXVzaW5nIiksc2V0VGltZW91dChmdW5jdGlvbigpe2IuZmlsdGVyKCIucGF1c2luZyIpLnJlbW92ZUNsYXNzKCJwbGF5aW5nIikucmVtb3ZlQ2xhc3MoInBhdXNpbmciKS5hZGRDbGFzcygicGF1c2VkIil9LDEwMCkpOmIucmVtb3ZlQ2xhc3MoInBhdXNlZCIpLnJlbW92ZUNsYXNzKCJwYXVzaW5nIikuYWRkQ2xhc3MoInBsYXlpbmciKX1iKCk7YS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IixiLCExKTsKYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixiLCExKTthLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlZCIsYiwhMSk7Zy5hdHRyKCJhdXRvcGxheSIpJiZhLnBsYXkoKX19KSl9dmFyIGc9alF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJkb25lIiksYzsoYz1nLmF0dHIoImlkIikpfHwoYz0ibWVqcy0iK2cuYXR0cigiZGF0YS1pZCIpKyItIithLmMrKyxnLmF0dHIoImlkIixjKSk7dmFyIGQ9e29wdGlvbnM6e30scGx1Z2luczp7fSxjc3M6W119LGUsaDtmb3IoZSBpbiBkKWlmKGg9Zy5hdHRyKCJkYXRhLW1lanMiK2UpKWRbZV09alF1ZXJ5LnBhcnNlSlNPTihoKTtiKCl9KX0oalF1ZXJ5KX0pO2EuZ3N8fCgidW5kZWZpbmVkIiE9PXR5cGVvZiBtZWpzY3NzJiZhLmNzc2xvYWQobWVqc2NzcyksYS5ncz1qUXVlcnkuZ2V0U2NyaXB0KG1lanNwYXRoLGZ1bmN0aW9uKCl7YS5ncz0hMDthLmluaXQoKTtqUXVlcnkoYS5pbml0KTtvbkFqYXhMb2FkKGEuaW5pdCl9KSl9KSgpOzwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;L'EasyDriver remplit son office mais montre quelques limites pour les tr&#232;s faibles vitesses qui sont utilis&#233;es dans les phases d'acc&#233;l&#233;ration et de d&#233;c&#233;l&#233;ration. D'autres &lt;i&gt;breakout boards&lt;/i&gt; existent et la prochaine fois, nous verrons celle d&#233;velopp&#233;e par &lt;a href=&#034;http://www.pololu.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Pololu&lt;/a&gt; qui utilise un &lt;i&gt;Texas Instruments&lt;/i&gt; DRV8824 permettant 32 &#181;Pas.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>L'Easydriver v4.4</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article68</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article68</guid>
		<dc:date>2013-12-07T15:25:42Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;Cet article fait suite &#224; mes premiers essais de pilotage des moteurs pas-&#224;-pas pour construire un point tournant qui n'avaient pas &#233;t&#233; couronn&#233;s de succ&#232;s. &lt;br class='autobr' /&gt;
Pour rappel, l'objectif est de mettre en &#339;uvre la motorisation d'un pont tournant avec un moteur pas-&#224;-pas bipolaire sans r&#233;duction m&#233;canique. On trouve dans le commerce des moteurs pas-&#224;-pas &#224; 200 pas ou 400 pas par tour. Vous trouverez les informations de base dans l'article Wikip&#233;dia mais surtout dans cet excellent article de Nicolas (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique19" rel="directory"&gt;La technologie&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Cet article fait suite &#224; mes &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article39' class=&#034;spip_in&#034;&gt;premiers essais de pilotage des moteurs pas-&#224;-pas pour construire un point tournant&lt;/a&gt; qui n'avaient pas &#233;t&#233; couronn&#233;s de succ&#232;s.&lt;/p&gt;
&lt;p&gt;Pour rappel, l'objectif est de mettre en &#339;uvre la motorisation d'un pont tournant avec un moteur pas-&#224;-pas bipolaire &lt;strong&gt;sans r&#233;duction m&#233;canique&lt;/strong&gt;. On trouve dans le commerce des moteurs pas-&#224;-pas &#224; 200 pas ou 400 pas par tour. Vous trouverez les informations de base dans l'&lt;a href=&#034;http://fr.wikipedia.org/wiki/Moteur_pas_&#224;_pas&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;article Wikip&#233;dia&lt;/a&gt; mais surtout &lt;a href=&#034;http://nicolas.marchildon.net/les-moteurs-pas-a-pas/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;dans cet excellent article de Nicolas Marchildon&lt;/a&gt; que je trouve particuli&#232;rement didactique. le pilotage de tels moteurs n'est pas compliqu&#233; &#224; condition de disposer d'un carte &#224; microcontr&#244;leur. En effet, passer d'un pas au suivant est r&#233;alis&#233; en envoyant une s&#233;quence de tensions sur les deux bobines du moteur. Plus les s&#233;quences sont rapides et plus le moteur tourne vite.&lt;/p&gt;
&lt;p&gt;Dans &#171; &lt;a href='https://modelleisenbahn.triskell.org/spip.php?article39' class=&#034;spip_in&#034;&gt;Moteur pas-&#224;-pas et pont tournant&lt;/a&gt; &#187;, j'avais essay&#233; de piloter le moteur par micro-pas en pilotant chaque bobine par une PWM &#224; 20KHz, dont la rapport cyclique &#233;voluait en sinus, les deux PWM &#233;tant d&#233;cal&#233;es de &#8719;/2. L'exp&#233;rience avait eu un succ&#232;s mitig&#233;. En effet, les micro-pas sont d&#233;finis par le courant dans chaque bobine du moteur pas-&#224;-pas et en pilotant via une PWM, on pilote le courant en aveugle sans aucune garantie que lui m&#234;me &#233;volue en sinus.&lt;/p&gt;
&lt;p&gt;Or, des circuits int&#233;gr&#233;s qui pilotent directement le courant, en le mesurant et en le r&#233;gulant afin de permettre un mouvement par micro-pas pr&#233;cis, existent. L'un des sp&#233;cialistes est &lt;i&gt;Allegro Microsystems&lt;/i&gt; qui propose &lt;a href=&#034;http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers.aspx&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;toute une gamme de circuits d&#233;di&#233;s au moteurs pas-&#224;-pas bipolaires&lt;/a&gt; avec un nombre de micro-pas pouvant aller jusqu'&#224; 16. Un deuxi&#232;me acteur majeur est &lt;i&gt;Texas Instruments&lt;/i&gt; avec la &lt;a href=&#034;http://www.ti.com/lsds/ti/amplifiers-linear/stepper-driver-products.page&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;gamme de circuits DRV88xx&lt;/a&gt; avec un nombre de micro-pas pouvant aller jusqu'&#224; 32. Enfin, &lt;i&gt;Toshiba&lt;/i&gt; propose &#233;galement des &lt;a href=&#034;http://www.toshiba.com/taec/Catalog/Line.do?familyid=15&amp;subfamilyid=7273&amp;lineid=382&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;composants dans la s&#233;rie TD65xx&lt;/a&gt; dont certains montent &#224; 32 micro-pas.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;sentation de l'EasyDriver v4.4&lt;/h2&gt;
&lt;p&gt;L'EasyDriver v4.4 est une &lt;i&gt;breakout board&lt;/i&gt; en OpenHardware con&#231;ue en coop&#233;ration entre &lt;a href=&#034;https://www.sparkfun.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SparkFun&lt;/a&gt; et &lt;a href=&#034;http://www.schmalzhaus.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Brian Schmalz&lt;/a&gt;. Une &lt;i&gt;breakout board&lt;/i&gt; est une carte minimaliste dont le but est de faciliter l'int&#233;gration d'un composant : alimentation, r&#233;sistances, condensateurs indispensables au fonctionnement et boches au pas de 2,54mm pour pouvoir la mettre en &#339;uvre sur une &lt;i&gt;breadboard&lt;/i&gt;. Elle est donc peu ch&#232;re, une dizaine d'Euros en France.&lt;/p&gt;
&lt;p&gt;Le composant central est un &lt;i&gt;Allegro A3967&lt;/i&gt;, dont &lt;a href=&#034;http://www.allegromicro.com/~/media/Files/Datasheets/A3967-Datasheet.ashx&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;voici la datasheet&lt;/a&gt;, qui permet 8 micro-pas. Ce n'est pas ce qui se fait de mieux et les essais montreront si, oui ou non, 8 micro-pas suffisent. Deux choses qu'il faut savoir :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Lorsque l'ensemble est sous tension, le moteur est aliment&#233; et sa position est fermement tenue ;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Il ne faut en aucun cas d&#233;brancher le moteur en laissant l'EasyDriver sous tension, il pourrait en r&#233;sulter la destruction de l'Allegro&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La carte mesure 49 mm sur 21 mm et se pr&#233;sente comme ceci :&lt;/p&gt;
&lt;div class='spip_document_343 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH356/easydriverv44_2-31b75.jpg?1692343798' width='500' height='356' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le r&#233;gulateur 5V fournit le 5V &#224; la logique de l'&lt;i&gt;Allegro&lt;/i&gt; &#224; partir de la tension d'alimentation du moteur ;&lt;/li&gt;&lt;li&gt; Le potentiom&#232;tre permet de r&#233;gler le courant maximum. Plus le courant est &#233;lev&#233; et plus le moteur a de couple mais moins le mouvement d'un micro-pas au suivant sera doux ;&lt;/li&gt;&lt;li&gt; Pour conna&#238;tre la valeur de ce courant, il suffit de mesurer la tension de r&#233;f&#233;rence &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; au point de mesure d'une part, et la r&#233;sistance de capture de courant &lt;i&gt;R&lt;sub&gt;s&lt;/sub&gt;&lt;/i&gt; d'autre part. Le courant maximum &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; est donn&#233; par la formule : &lt;i&gt;I&lt;sub&gt;max&lt;/sub&gt;&lt;/i&gt; = &lt;i&gt;V&lt;sub&gt;ref&lt;/sub&gt;&lt;/i&gt; / 8&lt;i&gt;R&lt;sub&gt;s&lt;/sub&gt;&lt;/i&gt; ;&lt;/li&gt;&lt;li&gt; Enfin la carte est munie d'un condensateur de filtrage de 47&#181;F qui prot&#232;ge l'&lt;i&gt;Allegro&lt;/i&gt; des transitoires lors de la mise sous tension.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La carte est pr&#233;vue pour s'enficher sur une carte m&#232;re o&#249; sur une &lt;i&gt;breadboard&lt;/i&gt;. Elle poss&#232;de 17 connexions dont le r&#244;le est donn&#233; &#224; la figure ci-dessous.&lt;/p&gt;
&lt;div class='spip_document_339 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH375/easydriverv44_1-2-fa88b.jpg?1692343798' width='500' height='375' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le moteur pas-&#224;-pas est connect&#233; via les 4 broches en haut &#224; gauche ;&lt;/li&gt;&lt;li&gt; L'alimentation du moteur est connect&#233;e sur les deux broches en haut &#224; droite (entre 7V et 30V). Il est possible d'alimenter le moteur avec une tension plus &#233;lev&#233;e que celle qu'il supporte &lt;strong&gt;&#224; condition de r&#233;gler le courant &#224; une valeur inf&#233;rieure ou &#233;gale au courant support&#233; par le moteur&lt;/strong&gt; ;&lt;/li&gt;&lt;li&gt; Les diff&#233;rentes masses sont reli&#233;es entre elles et l'une au moins devra &#234;tre connect&#233;e &#224; la masse de la carte microcontr&#244;leur employ&#233;e (Arduino ou autre) ;&lt;/li&gt;&lt;li&gt; RESET, ENABLE et SLP (pour SLEEP) permettent respectivement de faire une r&#233;initialisation de l'&lt;i&gt;Allegro&lt;/i&gt;, de l'activer ou de le mettre en veille ;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; RESET doit &#234;tre amen&#233; &#224; 0 puis &#224; 1 pour r&#233;initialiser l'&lt;i&gt;Allegro&lt;/i&gt;. Les deux bobines sont aliment&#233;es &#224; 70,71% et le rotor se place sur un demi-pas. L'EasyDriver tire le RESET &#224; 5V via une r&#233;sistance de 10k&#937;. On peut donc laisser cette broche en l'air sans soucis ;&lt;/li&gt;&lt;li&gt; ENABLE doit &#234;tre constamment &#224; l'&#233;tat 0 (bas) pour que l'&lt;i&gt;Allegro&lt;/i&gt; pilote les bobines du moteur. L'EasyDriver tire ENABLE &#224; 0V via une r&#233;sistance de 10k&#937;. On peut donc aussi laisser cette broche en l'air sans soucis ;&lt;/li&gt;&lt;li&gt; Enfin SLP peut &#234;tre mise &#224; l'&#233;tat bas pour d&#233;sactiver la majeure partie de la circuiterie interne de l'&lt;i&gt;Allegro&lt;/i&gt;. Ici encore, l'EasyDriver tire SLP &#224; 5V via une r&#233;sistance de 10k&#937;. On peut &#233;galement laisser cette broche en l'air sans soucis.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; MS1 et MS2 permettent de fixer le nombre de micro-pas entre 2 pas selon la table suivante. Ici aussi l'EasyDriver tire MS1 et MS2 &#224; 5V par l'interm&#233;diaire de r&#233;istances de 10k&#937;. Par cons&#233;quent, en laissant ces broches en l'air, la r&#233;solution de 8 micro-pas par pas est s&#233;lectionn&#233;e ;&lt;/li&gt;&lt;/ul&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;MS2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MS1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mode&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Pas entiers&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1/2 pas&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;4 micro-pas&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;8 micro-pas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; PFD r&#232;gle la vitesse &#224; laquelle le courant est r&#233;duit. Par d&#233;faut cette r&#233;duction est lente (slow decay). &#192; priori ce r&#233;glage convient aux vitesses lentes et d'apr&#232;s le sch&#233;ma du EasyDriver, il n'est n&#233;cessaire de s'en occuper que pour augmenter les performances dans le cas d'une vitesse de rotation &#233;lev&#233;e ;&lt;/li&gt;&lt;li&gt; DIR fixe le sens de rotation du moteur. Nous allons donc piloter cette broche pour notre application ;&lt;/li&gt;&lt;li&gt; STEP permet de faire avancer le moteur au micro-pas suivant. Une transition de 0 &#224; 1 provoque cette avance. Cette broche sera &#233;galement pilot&#233;e.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;&#201;quipons l'engin&lt;/h2&gt;
&lt;p&gt;L'EasyDriver arrive nu, il faut donc le munir de connecteurs pour l'utiliser. J'ai choisi des connecteurs avec d&#233;trompeurs et verrouillage pour le moteur et l'alimentation du moteur et des barrettes de broches pour les autres. Le tout au pas de 2,54mm. Utiliser un connecteur digne de ce nom pour la connexion vers le moteur garantit qu'il n'y aura pas de d&#233;connexion intempestive par arrachage de fil et donc pas de destruction de l'&lt;i&gt;Allegro&lt;/i&gt;.&lt;/p&gt;
&lt;div class='spip_document_344 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH301/connecteurs-fe848.jpg?1692343798' width='500' height='301' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;div class='spip_document_345 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH277/connecteurs2-04e79.jpg?1692343798' width='500' height='277' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;&lt;div class='spip_document_347 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://modelleisenbahn.triskell.org/local/cache-vignettes/L500xH360/connecteurs3-3b4f0.jpg?1692343798' width='500' height='360' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Il reste maintenant &#224; connecter tout cela &#224; un moteur et &#224; un Arduino pour faire quelques essais.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Moteur pas-&#224;-pas et pont tournant</title>
		<link>https://modelleisenbahn.triskell.org/spip.php?article39</link>
		<guid isPermaLink="true">https://modelleisenbahn.triskell.org/spip.php?article39</guid>
		<dc:date>2013-08-05T06:56:24Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jean-Luc</dc:creator>


		<dc:subject>Moteur pas-&#224;-pas</dc:subject>
		<dc:subject>Pont tournant</dc:subject>

		<description>
&lt;p&gt;J'ai commenc&#233; &#224; bricoler avec un moteur pas-&#224;-pas pr&#234;t&#233; par Philippe. Je ne vais pas entrer dans les d&#233;tails de fonctionnement de ce type de moteur, d'autres le font bien mieux que je ne le ferais. &lt;br class='autobr' /&gt;
Les moteurs pas-&#224;-pas sont typiquement employ&#233;s pour des applications qui n&#233;cessitent un positionnement pr&#233;cis et pour lesquelles on pr&#233;f&#232;re r&#233;aliser une commande en boucle ouverte g&#233;n&#233;ralement pour des raison &#233;conomiques. Par exemple, le positionnement d'un chariot d'imprimante entre dans cette (&#8230;)&lt;/p&gt;


-
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?rubrique17" rel="directory"&gt;Journal de bord&lt;/a&gt;

/ 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot7" rel="tag"&gt;Moteur pas-&#224;-pas&lt;/a&gt;, 
&lt;a href="https://modelleisenbahn.triskell.org/spip.php?mot11" rel="tag"&gt;Pont tournant&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;J'ai commenc&#233; &#224; bricoler avec un moteur pas-&#224;-pas pr&#234;t&#233; par Philippe&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Un de mes deux complices, Philippe est le roi de la r&#233;cup&#233;ration !&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;. Je ne vais pas entrer dans les d&#233;tails de fonctionnement de ce type de moteur, &lt;a href=&#034;http://chewbi1.free.fr/ftp/root/Boulot/physique/electrotechnique/enix/index.htm&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d'autres le font bien mieux que je ne le ferais&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les moteurs pas-&#224;-pas sont typiquement employ&#233;s pour des applications qui n&#233;cessitent un positionnement pr&#233;cis et pour lesquelles on pr&#233;f&#232;re r&#233;aliser une commande en boucle ouverte&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;C'est &#224; dire une commande qui est appliqu&#233;e sans mesurer la r&#233;action du (&#8230;)&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt; g&#233;n&#233;ralement pour des raison &#233;conomiques. Par exemple, le positionnement d'un chariot d'imprimante entre dans cette cat&#233;gorie.&lt;/p&gt;
&lt;p&gt;Classiquement, la commande d'un moteur pas-&#224;-pas se fait par pas entier ou par demi-pas. Dans mon cas, je ne veux pas mettre de r&#233;duction pour garder un syst&#232;me m&#233;caniquement simple et bon march&#233;. Dans ces conditions une rotation par pas entiers ou par demi-pas est inappropri&#233;e car la giration du pont tournant ressemblerait &#224; celle de l'aiguille des secondes sur une horloge comme pr&#233;sent&#233; dans la vid&#233;o ci dessous.&lt;/p&gt;
&lt;iframe width=&#034;560&#034; height=&#034;315&#034; src=&#034;https://www.youtube.com/embed/YFtCErJ3-wQ?si=Ff7iyK68_puy999E&#034; title=&#034;YouTube video player&#034; frameborder=&#034;0&#034; allow=&#034;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#034; referrerpolicy=&#034;strict-origin-when-cross-origin&#034; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Pour obtenir un mouvement doux, il faut faire ce que l'on appelle du microstepping. Au lieu de commander le passage d'un pas au suivant en &#171; tout ou rien &#187;, on va progressivement baisser la courant sur la bobine du pas que l'on quitte pendant qu'on l'augmente progressivement celui de la bobine du pas que l'on gagne. La loi qui gouverne l'&#233;volution du courant sur la bobine est un &lt;i&gt;sinus&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;En pratique, on applique sur les bobines une PWM dont le rapport cyclique &#233;volue en sinus et &#171; &#231;a devrait marcher &#187;.&lt;/p&gt;
&lt;iframe width=&#034;560&#034; height=&#034;315&#034; src=&#034;https://www.youtube.com/embed/hqAkDOOmpPY?si=hHQuE7VORUoDw1tl&#034; title=&#034;YouTube video player&#034; frameborder=&#034;0&#034; allow=&#034;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#034; referrerpolicy=&#034;strict-origin-when-cross-origin&#034; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Comme on le voit, &#231;a marche &lt;i&gt;presque&lt;/i&gt;. Il y a une petite pause &#224; chaque pas. &#192; suivre donc ...&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Un de mes deux complices, Philippe est le roi de la r&#233;cup&#233;ration !&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;C'est &#224; dire une commande qui est appliqu&#233;e sans mesurer la r&#233;action du syst&#232;me. En l'occurrence, la position n'est pas mesur&#233;e.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
