<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://robot.loamok.org/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Robots @ Loamok - Montages</title>
  <link>http://robot.loamok.org/index.php/</link>
  <description>Du Logiciel Libre sous Linux à la Robotique Libre il n'y as qu'un pas ...

Le voici franchit.</description>
  <language>fr</language>
  <pubDate>Thu, 03 Jul 2008 21:37:36 +0200</pubDate>
  <copyright>@loamok 2007</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Carte de commande &quot;Monty&quot; et adaptations diverses</title>
    <link>http://robot.loamok.org/index.php/post/2007/07/02/Carte-de-commande-Monty-et-adaptations-diverses</link>
    <guid isPermaLink="false">urn:md5:aa25d12b880f944a085673e530409cab</guid>
    <pubDate>Mon, 02 Jul 2007 07:48:00 +0200</pubDate>
    <dc:creator>symio</dc:creator>
        <category>Montages</category>
        <category>micro-controleurs</category><category>Microchip</category><category>Monty</category><category>pic</category><category>programmateur</category><category>Tait</category>    
    <description>    &lt;p&gt;&lt;br /&gt;
Comme vous pouvez le voir sur le site dédié au robot &lt;a href=&quot;http://robotmonty.ifrance.com/&quot; hreflang=&quot;fr&quot;&gt;Monty&lt;/a&gt;, la carte de commande principale sert à la fois de carte mère et de carte de programmation pour un pic 16f84.&lt;br /&gt;
Voici le schema de cette carte&amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://robot.loamok.org/public/schemas/plan_commande.jpg&quot;&gt;&lt;img src=&quot;http://robot.loamok.org/public/schemas/.plan_commande_m.jpg&quot; alt=&quot;Monty plan carte commande&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette carte a le désavantage d'intégrer toute l'électronique nécessaire à la programmation des pics.&lt;br /&gt;
Je dis désavantage car cette électronique n'est indispensable que pour les &quot;séances&quot; de programmation du pic. En mode &quot;fonctionnement&quot; cette électronique représente une pompe à courant et un surpoids inutile.&lt;br /&gt;
De plus cette partie de la carte a été particulièrement mal étudiée en termes de choix des valeurs des composants. Il n'est en effet pas possible, sans la modifier, d'utiliser d'autres logiciels de programmation que celui fournit. Et enfin de graves perturbations électro-magnétiques surviennent systèmatiquement lors des séquences de programmation rendant temporairement inutilisable le pic embarqué.&lt;br /&gt;
&lt;br /&gt;
Modifications notoires :&lt;br /&gt;
- Inversion des sorties de r12 et r13 respectivement vers les pattes 5 et 9 du buffer U3.&lt;br /&gt;
Cette modification permet d'apporter à la partie &quot;programmateur&quot; la compatibilité &quot;&lt;a href=&quot;http://robot.loamok.org/index.php/tag/Tait&quot;&gt;Tait&lt;/a&gt; Programmer&quot;.&lt;br /&gt;
&lt;em&gt;Après tout, s'adapter à un standard reconnu est une forme d'ouverture et ça ne peut pas faire de mal à une plateforme mal conçue.&lt;/em&gt; (&lt;strong&gt;NDLR&lt;/strong&gt;)&lt;br /&gt;
- Remplacement des résistances de &quot;Pull-up&quot; R2, R3, R4 de 10K par des résistances de 1K.&lt;br /&gt;
Cette modification notoire des composants est censée supprimer les problèmes de programmation dus aux perturbations électro-magnetiques induites par la fréquence (&lt;acronym&gt;élevée&lt;/acronym&gt;) présente sur les signaux &quot;datas&quot; et &quot;clock&quot; lors du transfert du code.&lt;br /&gt;
Je n'ai pas encore éffectué cette modification et subit toujours des erreurs quasi-systèmatiques lors de mes essais de programmation d'un pic 16f84.&lt;br /&gt;
Le plus comique lors de mes tests est que l'orsque je place un multimètre mesureur de tension entre la patte 6 du buffer (Data) et la masse du montage, la programmation s'effectue sans problème !!!&lt;br /&gt;
Ma conclusion est donc que mon multimètre (résistance interne de 10 MOhms) une fois placé en sortie du buffer data crée une sorte de pont diviseur de tension entre la résistance R4, la sortie du buffer et la masse stabilisant ainsi la sortie de données et permettant le bon déroulement de la programmation.&lt;br /&gt;
Je ne sais si le terme est &quot;électroniquement correct&quot; mais j'en conclut que mon multimétre ainsi placé se comporte en résistance &quot;Pull-down&quot;.&lt;br /&gt;
Voici le schéma résultant :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://robot.loamok.org/public/schemas/pont_prog.png&quot;&gt;&lt;img src=&quot;http://robot.loamok.org/public/schemas/.pont_prog_m.jpg&quot; alt=&quot;Pont sur broche Data&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Et les calculs en loi d'Ohms décrivant la tension présente en &quot;Data&quot; une fois le montage en place :&lt;br /&gt;
&lt;br /&gt;
Sachant que la broche RB7 (Data in) reçoit un &quot;1&quot; logique avec une tension de +5V et un &quot;0&quot; logique par une tension de 0V, le buffer avec sa résistance de pull-up est censé délivrer soit 5V soit rien (0V).&lt;br /&gt;
Un appareil de mesure placé entre la sortie du buffer et donc la masse indique bien des oscillations de 5V et 0V.&lt;br /&gt;
&lt;strong&gt; &lt;ins&gt; /!\ Oui mais voila le multimètre n'est pas neutre et contient sa propre résistance interne&amp;nbsp;! /!\ &lt;/ins&gt; &lt;/strong&gt;&lt;br /&gt;
L'orsque l'on enlève le multimètre on ne peut être certain de bien revenir à 0V quand c'est nécessaire. Le +5V est, quand à lui, assuré par la résistance de pull-up.&lt;br /&gt;
J'en déduit que l'orsque je place mon multimètre mon montage change pour de venir un &quot;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Diviseur_de_tension&quot; hreflang=&quot;fr&quot;&gt;Pont diviseur de tension&lt;/a&gt;&quot;. Dont les valeurs de sorties sont :&lt;br /&gt;
&lt;br /&gt;
Formule&amp;nbsp;: RB7 = BO + (5V*(10000000/(10000+10000000)))&lt;br /&gt;
A°)&amp;nbsp;: pour Buffer-Out = 5V&amp;nbsp;: RB7 = ~10V&lt;br /&gt;
B°)&amp;nbsp;: pour Buffer-Out = 0V&amp;nbsp;: RB7 = ~5V&lt;br /&gt;
&lt;br /&gt;
Ces résultats êtant parfaitement faux car ils ne tiennent pas compte de la résistance interne du pic entre RB7 et la masse du montage.&lt;br /&gt;
Ce qui transforme notre pont simple en &quot;Pont diviseur de tension chargé&quot;.&lt;br /&gt;
L'ajout de cette résistance &quot;enlevant&quot; ~5V au montage (étant donné que mes mesures au multimètre me donnent une oscillation entre 0 et 5V j'en déduit que la réduction voltaïque du pic est d'environ 5V) nous obtenons donc :&lt;br /&gt;
&lt;br /&gt;
Formule&amp;nbsp;: RB7 = (BO + (5V*(10000000/(10000+10000000)))) - 5V&lt;br /&gt;
A°)&amp;nbsp;: pour Buffer-out = 5V&amp;nbsp;: RB7 = ~5V&lt;br /&gt;
B°)&amp;nbsp;:  pour Buffer-out = 0V&amp;nbsp;: RB7 = ~0V&lt;br /&gt;
&lt;br /&gt;
Pour conclure sur les modification de la platine de &quot;Monty&quot;.&lt;br /&gt;
Je ne remplacerais sûrement pas les résistances de 10k par des 1K mais placerais, de préférence, une résistance de 10MOhms entre la sortie du buffer et la masse. Afin de stabiliser proprement et définitivement le signal de programmation.&lt;br /&gt;
&lt;br /&gt;
J'attends bien évidemment vos commentaires car je n'ai aucune confirmation ou infirmation de mes théories si ce ne sont les expérimentations que j'ai moi-même conduit. (en tout cas si mon montage explose une fois la résistance de pull-down en place je ne comprendrais pas pourquoi).&lt;br /&gt;
&lt;br /&gt;
Je placerais bientôt, ici-même, une vidéo démontrant ce bug étrange.&lt;/p&gt;</description>
    
    
    
          <comments>http://robot.loamok.org/index.php/post/2007/07/02/Carte-de-commande-Monty-et-adaptations-diverses#comment-form</comments>
      <wfw:comment>http://robot.loamok.org/index.php/post/2007/07/02/Carte-de-commande-Monty-et-adaptations-diverses#comment-form</wfw:comment>
      <wfw:commentRss>http://robot.loamok.org/index.php/feed/rss2/comments/3</wfw:commentRss>
      </item>
    
</channel>
</rss>