<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.civade.com/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/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Civade.com</title>
  <link>http://www.civade.com/</link>
  <atom:link href="http://www.civade.com/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Ce petit blog pour partager des réflexions, coups de cœurs, et passions: la musique et les logiciels libres. J'espère que vous y trouverez votre bonheur... Alors n'hésitez pas à réagir, c'est fait pour ca!</description>
  <language>fr</language>
  <pubDate>Fri, 18 May 2012 21:59:51 +0200</pubDate>
  <copyright>(c) Jean-Philippe Civade</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Hacking d'un chargeur LIPO Turnigy Accucell 6 pour ajouter la liaison USB et le capteur de température</title>
    <link>http://www.civade.com/post/2012/04/21/Hacking-d-un-chargeur-LIPO-Turnigy-Accucell-6-pour-ajouter-la-liaison-USB-et-le-capteur-de-temp%C3%A9rature</link>
    <guid isPermaLink="false">urn:md5:a636d79cc6693bb2c7120b7756b2ded3</guid>
    <pubDate>Sat, 21 Apr 2012 21:50:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
            
    <description>&lt;p&gt;Le chargeur Turnigy Accucell 6 de Turnigy (ou l'un de ses clones) est l'une des référence des modéliste pour charger les accumulateurs LIPO/LIFE/Nimh/NiCD et même les batteries au plomb.
Il est disponible sous de nombreuses autres marques et références (Imax B6, etc.) à partir de 15 USD. Bien que le logiciel soit rigoureusement identique sur tous, l’équipement matériel peut ne pas être le même. Sur les Turnigy, la sortie USB manque. Nous allons voir comment l'ajouter, et accessoirement comment ajouter un capteur de température de charge batterie, et comment étalonner le chargeur.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/ACC6_2_.jpg&quot; title=&quot;ACC6_2_.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.ACC6_2__m.jpg&quot; alt=&quot;ACC6_2_.jpg&quot; title=&quot;ACC6_2_.jpg, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Ajout de la liaison USB&lt;/h2&gt;

&lt;p&gt;Le chargeur Accucell 6 dispose dans on logiciel d'une fonction USB. Curieux j'ai cherché à quoi cela pouvoir bien faire référence. En le démontant il apparaît qu'un emplacement pour un connecteur USB est bien présent, mais pas équipé. Dans cette zone il y a d'ailleurs plusieurs autres composants non équipés dont 2 circuits intégrés.&lt;/p&gt;


&lt;h2&gt;Première étape: la modification du chargeur&lt;/h2&gt;

&lt;p&gt;Un article sur le forum de RC group m'a donné la solution ( &lt;a href=&quot;http://www.rcgroups.com/forums/showthread.php?t=1046318&quot;&gt;http://www.rcgroups.com/forums/showthread.php?t=1046318&lt;/a&gt; ). L'interface USB est en fait un convertisseur série vers USB à base de CI Prolific PL2303, qui n'est pas équipé sur les modèles les moins chers. Un seul signal de la liaison série est utilisé&amp;nbsp;: le TX Data. Le chargeur transmet par ce signal des informations régulièrement (à peu près toutes les secondes).&lt;/p&gt;


&lt;p&gt;Sur les plus anciens modèles la liaison USB n'est pas prévue sur le circuit imprimé, et la sortie TTL  sort directement sur la broche du milieu du connecteur. Dans ce cas, le circuit imprimé ressemble à cela&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/photo_018.jpg&quot; title=&quot;photo_018.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.photo_018_m.jpg&quot; alt=&quot;photo_018.jpg&quot; title=&quot;photo_018.jpg, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Si vous avez des composants CMS non équipés près du connecteur d'alimentation, alors il va vous falloir modifier votre carte.  Cette modification est à base de 2 résistances, une diode et un fil suffit à rétablir une sortie série TTL sur le connecteur de sortie comme sur les premiers modèles de TURNIGY. La modification décrite sur RCgroup utilisait des CMS, mais je l'ai faite avec des composants traditionnels, ne disposant pas de CMS de ces valeurs.&lt;/p&gt;


&lt;p&gt;En voici le câblage&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.P1030599_m.jpg&quot; alt=&quot;P1030599.JPG&quot; title=&quot;P1030599.JPG, avr. 2012&quot; /&gt;&lt;/p&gt;


&lt;p&gt;La résistance du haut est une 10K, celle du bas une 100K. La diode est une 1N4148, dont la cathode (l'anneau) est à droite.  Le fil permet de ramener le signal sur la broche de sortie.&lt;/p&gt;


&lt;p&gt;La zone du dessous, avec tous les composants non équipés est la sortie USB.&lt;/p&gt;


&lt;p&gt;Le remontage du boîtier de protection ne pose pas de problème particulier.&lt;/p&gt;


&lt;p&gt;A noter que certains on fait la modification en ré-équipant complètement les composants CMS d'origine (voir&amp;nbsp;: &lt;a href=&quot;http://www.rcgroups.com/forums/showthread.php?t=1046318&amp;amp;page=4&quot;&gt;http://www.rcgroups.com/forums/showthread.php?t=1046318&amp;amp;page=4&lt;/a&gt; post #47 ). Ceci évite l'étape suivante, puisque la sortie USB est directement sur la carte ensuite. Par contre, il faut faire une découpe sur le boîtier pour faire passer la nouvelle prise USB dans ce cas...&lt;/p&gt;


&lt;h3&gt;Deuxième étape, trouver un câble série TTL vers USB&lt;/h3&gt;

&lt;p&gt;La sortie ramenée sur la broche centrale du connecteur n'est pas une vraie RS232 qui délivre un signal entre +12V et -12V, mais une liaison série TTL (5V).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Attention!!! Il ne faut en aucun cas tenter de raccorder un convertisseur USB &amp;lt;&amp;gt; RS232 ou une sortie RS232 directement sur le chargeur. Ceci peut s'avérer destructif pour le micro contrôleur du chargeur...&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Il existe des adaptateurs série TTL vers USB, ou des adaptateurs qui font RS232/TTL/RS485 &amp;gt; USB. Ebay en est rempli.
Toutefois, je n'avais pas l'envie d'attendre et disposait d'un câble RS232 &amp;gt; USB que je n’utilisais pas. Je me suis mis en tête de le modifier pour le transformer en câble TTL &amp;gt; USB.&lt;/p&gt;


&lt;p&gt;Ce câble dispose d'une sorte de boîtier au milieu, qui contient l'électronique. Le démontage de l'électronique révèle un petit circuit imprimé, équipé de 2 circuits intégrés&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un PL2303 sur une face&lt;/li&gt;
&lt;li&gt;Un convertisseur de niveaux TTL &amp;lt;&amp;gt; RS 232, sur l'autre face&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La suite devient simple&amp;nbsp;:  supprimer le convertisseur RS232 (le dessouder), et repérer sur le PL2303 ou mettre  mon signal (le RX du 2303 sr lequel nous raccorderons TX du chargeur).&lt;/p&gt;


&lt;p&gt;Voici le circuit imprimé coté transceiver RS232 après démontage de celui-ci et du connecteur de sortie&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/P1030603.JPG&quot; title=&quot;P1030603.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.P1030603_m.jpg&quot; alt=&quot;P1030603.JPG&quot; title=&quot;P1030603.JPG, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Sur l'autre face du circuit, ill reste ensuite à repérer la masse, le tx (ca peut servir ...) et le rx du pl2303 et y souder 3 fils.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/P1030601.JPG&quot; title=&quot;P1030601.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.P1030601_m.jpg&quot; alt=&quot;P1030601.JPG&quot; title=&quot;P1030601.JPG, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le TX est sur la broche1 du pl2303 et le RX sur la broche 5, et la masse est disponible sur l'ancien connecteur. Ici, le TX est sur le fil rouge, le RX sur le fil vert, et la masse sur le fil noir.&lt;/p&gt;


&lt;p&gt;Il ne reste plus qu'à raccorder le RX  et la masse sur un connecteur de servo Futaba (qui dispose de la même prise que la sortie série). Ne disposant pas de connecteur servo sous la main, j'ai récupéré un connecteur à 3 broches au pas de 2.54mm que l'on trouve sur les PC pour lier le boîtier à la  carte mère. La sérigraphie me servira de détrompage, si je la vois c'est que je suis dans le bon sens...&lt;/p&gt;


&lt;p&gt;Voici l’adaptateur câblé sur le chargeur&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/P1030608.JPG&quot; title=&quot;P1030608.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.P1030608_m.jpg&quot; alt=&quot;P1030608.JPG&quot; title=&quot;P1030608.JPG, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Coté logiciel, j'ai utilisé un logiciel allemand en shareware qui se nomme &quot;Logview&quot;. Il est disponible sur&amp;nbsp;: &lt;a href=&quot;http://www.logview.info/vBulletin/&quot;&gt;http://www.logview.info/vBulletin/&lt;/a&gt; . Il est capable de tracer les courbes de charge / décharge, dispose d'afficheurs instantanés, etc.. Mais pour activer la sortie, il vous faut d'abord paramétrer le chargeur en allant dans USB/Temp Select  et en sélectionnant USB.  A noter également que le chargeur ne transmet de données que pendant la charge. Il vous faudra donc raccorder une batterie et la mettre en charge pour avoir une lecture des données tant attendues. De plus, le logiciel doit être mis en acquisition. Vous devriez vois les leds en bas du logiciel &quot;capture' et &quot;RX&quot; clignoter en vert.&lt;/p&gt;


&lt;p&gt;En voici des copies d'écran:&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/logview.jpg&quot; title=&quot;logview.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.logview_m.jpg&quot; alt=&quot;logview.jpg&quot; title=&quot;logview.jpg, avr. 2012&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/logviw2.jpg&quot; title=&quot;logviw2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.logviw2_m.jpg&quot; alt=&quot;logviw2.jpg&quot; title=&quot;logviw2.jpg, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Ajout du capteur de température&lt;/h2&gt;

&lt;p&gt;Le chargeur Accucell 6 dispose d'une entrée température afin de surveiller les accus pendant la charge. Cette sonde doit être placée contre les accus afin de bien prendre la température.
Tout est prévu pour mesurer la température, sauf.... la sonde. L'ajouter est un jeu d'enfant. Il suffit de vous procurer un LM35Z (1,5€ les deux sur Ebay) et de le câbler comme suit&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/turnigy_accucell_6/P1030606.JPG&quot; title=&quot;P1030606.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/turnigy_accucell_6/.P1030606_m.jpg&quot; alt=&quot;P1030606.JPG&quot; title=&quot;P1030606.JPG, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;N'oubliez pas d'activer la sonde en allant dans le menu USB/Temp Select du chargeur, et en le mettant sur &quot;Temp Cutoff&quot;. Vous pourrez alors régler la température d’arrêt du chargeur (réglage usine&amp;nbsp;: 80 degrés celcius).&lt;/p&gt;


&lt;p&gt;Lors de l'appui sur Dec/Inc PENDANT la charge, vous aurez accès aux différents status dont l'affichage de la température. Ceci ne fonctionne QUE pendant la charge....&lt;/p&gt;


&lt;h2&gt;Étalonnage du chargeur&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prenez une lipo chargée (la tension est + stable), et non connectée au chargeur&lt;/li&gt;
&lt;li&gt;mesurez la tension au bornes + et - (pas à la prise d'équilibrage) avec un multimètre.&lt;/li&gt;
&lt;li&gt;Débranchez l’alimentation du chargeur&lt;/li&gt;
&lt;li&gt;Connectez la LIPO au chargeur&lt;/li&gt;
&lt;li&gt;Maintenez les touches &quot;Start&quot; et &quot;-&quot; ou &quot;Dec&quot;  enfoncées sur le chargeur&lt;/li&gt;
&lt;li&gt;Branchez le chargeur en maintenant ces touches enfoncées&lt;/li&gt;
&lt;li&gt;Un triple bip rapide se fait entendre et le message d'accueil s'affiche&lt;/li&gt;
&lt;li&gt;Au bout de 5 secondes, un nouvel écran s'affiche. Vous pouvez relâcher les touches.&lt;/li&gt;
&lt;li&gt;L'écran affiche la procédure de calibration&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;+05      VOL:11.07V
CANCEL(STOP) SAVE(ENTER&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Avec les touches &quot;+&quot; (inc) et &quot;-&quot; (dev), réglez la tension affichée pour qu'elle corresponde à celle mesurée. Chaque pression correspond à 1/10e de volt.&lt;/li&gt;
&lt;li&gt;Pour sauver la valeur, appuyez sur &quot;Start/Enter&quot;, pour ne pas sauver et garder l'ancienne, tapez sur &quot;Type/Stop&quot;.&lt;/li&gt;
&lt;li&gt;Lors de la sauvegarde (si c'est le choix que vous avez fait) , l'afficheur indiquera 'SAVE&quot; et une série de bips vous indiquera la progression.&lt;/li&gt;
&lt;li&gt;A l'issue, le chargeur redémarre et se mettra prêt à l'emploi.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour rendre à César, je ne suis pas l'auteur de ces modifications. On les trouve sur de nombreux sites,  mas pas toutes à la fois. Je les ai donc regroupées...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2012/04/21/Hacking-d-un-chargeur-LIPO-Turnigy-Accucell-6-pour-ajouter-la-liaison-USB-et-le-capteur-de-temp%C3%A9rature#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2012/04/21/Hacking-d-un-chargeur-LIPO-Turnigy-Accucell-6-pour-ajouter-la-liaison-USB-et-le-capteur-de-temp%C3%A9rature#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/71</wfw:commentRss>
      </item>
    
  <item>
    <title>Remplacement du moteur d'origine d'un tour EMCO UNIMAT 3 par un moteur CC 24V de trottinette  électrique</title>
    <link>http://www.civade.com/post/2012/02/27/remplacement-moteur-origine-tour-EMCO-UNIMAT-3-moteur-CC-24V-trottinette</link>
    <guid isPermaLink="false">urn:md5:aeeb7210fe052c892eeaa9eecf790a1e</guid>
    <pubDate>Mon, 27 Feb 2012 21:53:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;L'EMCO Unimat 3 est un mini (micro?) tour de fabrication autrichienne. C'est une jolie petite machine qui n'est malheureusement plus fabriquée. On ne trouve plus certaines pièces détachées d'origine, et d'autres sont hors de prix.
Confronté, comme beaucoup apparemment à des problèmes de surchauffe du moteur, et surtout à des problèmes de bruit important liés au décès (au moins)  d'un des paliers en bonze, j'ai cherché une solution de remplacement.&lt;/p&gt;


&lt;p&gt;La solution vint du groupe Yahoo spécialisé sur ce tour (http://groups.yahoo.com/group/unimat3/) ou plusieurs propositions de remplacement de moteur ont été faites par des membres. L'une d'entre elle m'a particulièrement interpellée, puisqu'il s'agit d'employer un moteur à courant continu de 120W, provenant d'une trottinette électrique. Basse tension (24V), silencieuse,  assez facile à réguler à l'aide d'un contrôleur PWM, et surtout très très peu chère...&lt;/p&gt;


&lt;p&gt;Mais à faire cette modification, j'ai souhaité garder intacte la structure de la machine, c'est à dire ne faire aucune modification sur la mécanique d'origine.&lt;/p&gt;


&lt;p&gt;Voyons donc en détail cette transformation.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/emco_unimat_3.jpg&quot; title=&quot;emco_unimat_3.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.emco_unimat_3_m.jpg&quot; alt=&quot;emco_unimat_3.jpg&quot; title=&quot;emco_unimat_3.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;CHOIX DU MOTEUR&lt;/h2&gt;

&lt;p&gt;Le choix du moteur pour se remplacement a été assez difficile, car il n'est pas simple de trouver les documentations mécaniques des moteurs chinois. j'ai finalement opté pour un MY6812, moteur existant en 100W, et en 120W et assez facile à trouver sur Ebay ou le bon coin. Son axe de sortie de 8mm, fait le même diamètre que l'axe d'origine, bien qu'un peu plus court.  Il est fabriqué par la société chinoise Unite Motors (http://www.unitemotor.com/ProductView_34.html) . J'en ai trouvé 2 pour la modique somme de 30 euros. La bonne affaire.....&lt;/p&gt;


&lt;p&gt;Les trous de fixation permettent de monter le moteur sans aucune modification, les 3 trous taraudés correspondant parfaitement aux 2 lumières de fixation sur le support moteur de la machine. Ceci permet donc de l'installer sans aucune modification de la plaque support moteur.&lt;/p&gt;


&lt;p&gt;Les principales différences entre le moteur d'origine, et ce nouveau moteur sont les suivantes&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Moteur d'origine :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alimentation 220V&lt;/li&gt;
&lt;li&gt;Puissance 95W&lt;/li&gt;
&lt;li&gt;Vitesse de rotation 10000 tr/min.&lt;/li&gt;
&lt;li&gt;2 vitesses par un interrupteur&lt;/li&gt;
&lt;li&gt;Chauffe (nécessité d'arrêter la machine au bout d'une vingtaine de minutes).&lt;/li&gt;
&lt;li&gt;Bruyant.&lt;/li&gt;
&lt;li&gt;Solution de remplacement officielle&amp;nbsp;: mettre un groupe moteur d'EMCO UNIMAT 4, à près de 250 euros livré.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Moteur de remplacement :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alimentation 24V&lt;/li&gt;
&lt;li&gt;Avantage&amp;nbsp;: Puissance 120W (+20%)&lt;/li&gt;
&lt;li&gt;Vitesse de rotation 3750 tr/min @24V (et 4000 tr/min @28V)&lt;/li&gt;
&lt;li&gt;Avantage:  Possibilité de réguler la vitesse à l'aide d'un contrôleur PWM à bas coût&lt;/li&gt;
&lt;li&gt;Inconvénient&amp;nbsp;: Nécessité de mettre une alimentation 24V...&lt;/li&gt;
&lt;li&gt;Avantage&amp;nbsp;: l'inconvénient précédent est à mon avis compensé par la possibilité de régler la vitesse de façon continue à l'aide d'un potentiomètre, et ne plus avoir à démonter les courroies pour faire un changement de vitesse....&lt;/li&gt;
&lt;li&gt;Avantage&amp;nbsp;: Encombrement intérieur au moteur d'origine&lt;/li&gt;
&lt;li&gt;Ne chauffe pas.&lt;/li&gt;
&lt;li&gt;Avantage&amp;nbsp;: beaucoup plus silencieux que le moteur d'origine.&lt;/li&gt;
&lt;li&gt;Avantage&amp;nbsp;: Cout tr!ès bas&amp;nbsp;: 30 euros pour 2 moteurs, 9 euros pour le régulateur PWM, et une vingtaine d'euros pour l'alimentation 24V 10A.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/moteur-non-modifie.jpg&quot; title=&quot;moteur-non-modifie.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.moteur-non-modifie_m.jpg&quot; alt=&quot;moteur-non-modifie.jpg&quot; title=&quot;moteur-non-modifie.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;ÉTUDE DU MONTAGE DU MOTEUR&lt;/h2&gt;


&lt;p&gt;Le moteur d'origine, dispose d'un trou taraudé dans l'axe du moteur d'une part, et d'une goupille transversale à l'axe d'autre part, qui sert à entraîner la poulie d'origine. Cette dernière dispose en effet d'une fente ayant pour double rôle de faire une butée mécanique de positionnement de la poulie, et d’entrainement.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/poulie-moteur.jpg&quot; title=&quot;poulie-moteur.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.poulie-moteur_m.jpg&quot; alt=&quot;poulie-moteur.jpg&quot; title=&quot;poulie-moteur.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le nouveau moteur est livré avec une poulie pour courroie crantée en plastique chargé (probablement de particules métalliques). Après démontage en coupant l'ancienne poulie à la Dremel, l'axe du moteur révèle un  méplat sur l'axe.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/moteur-sans-poulie1.jpg&quot; title=&quot;moteur-sans-poulie1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.moteur-sans-poulie1_m.jpg&quot; alt=&quot;moteur-sans-poulie1.jpg&quot; title=&quot;moteur-sans-poulie1.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Il va donc falloir restaurer la double fonction réalisée par cette goupille sur le nouveau moteur et tirer partie de ce méplat....&lt;/p&gt;


&lt;p&gt;Pour ce faire, j'ai étudié une petite pièce qui vient s'insérer sur l'axe, vient en butée sur le méplat, et émule au travers de 2 épaulements la fonction de la goupille. Elle servira également d'entretoise pour mettre la polie à l'exacte position de l'ancienne, afin que le réducteur à poulies ait toutes les poulies alignées...&lt;/p&gt;


&lt;p&gt;Étudiée sous Google Sketchup (&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/MOTEUR.skp&quot;&gt;MOTEUR.skp&lt;/a&gt;) la pièce ressemble à ceci&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/moteur_tour.jpg&quot; title=&quot;moteur_tour.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.moteur_tour_m.jpg&quot; alt=&quot;moteur_tour.jpg&quot; title=&quot;moteur_tour.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;RÉALISATION&lt;/h2&gt;


&lt;p&gt;La  réalisation du gcode  est faite sous Cambam (&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/MOTEUR.cb&quot;&gt;MOTEUR.cb&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;La pièce est usinée sur ma CNC, à partir d'un brut de 10mm d'épaisseur en aluminium 2024, plus dur que de l'AU4G grâce à son dopage en cuivre. Il est usiné avec une fraise carbure de 3mm à 10000 tr/min, avec une avance de 600 mm/min et des passes de 0.2mm.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/adaptateur3.jpg&quot; title=&quot;adaptateur3.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.adaptateur3_m.jpg&quot; alt=&quot;adaptateur3.jpg&quot; title=&quot;adaptateur3.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Elle se monte très bien sur l'axe moteur, et vient se caler sur le fond du méplat&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/adaptateur-sur-moteur.jpg&quot; title=&quot;adaptateur-sur-moteur.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.adaptateur-sur-moteur_m.jpg&quot; alt=&quot;adaptateur-sur-moteur.jpg&quot; title=&quot;adaptateur-sur-moteur.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Il suffit ensuite d'insérer la poulie d'origine de l'EMCO en mettant en face rainure et épaulement&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/poulie-sur-adaptateur.jpg&quot; title=&quot;poulie-sur-adaptateur.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.poulie-sur-adaptateur_m.jpg&quot; alt=&quot;poulie-sur-adaptateur.jpg&quot; title=&quot;poulie-sur-adaptateur.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Une fois montée, la fonction d'entrainement est bien réalisée par l’épaulement de l'adaptateur, qui rentre parfaitement dans la gorge de la poulie d'origine&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/poulie-adaptateur-moteur2.jpg&quot; title=&quot;poulie-adaptateur-moteur2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.poulie-adaptateur-moteur2_m.jpg&quot; alt=&quot;poulie-adaptateur-moteur2.jpg&quot; title=&quot;poulie-adaptateur-moteur2.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Dernière opération, le perçage et le taraudage d'un trou dans l'axe moteur, qui va servir à remettre la vis d'origine du moteur qui fixera solidement le tout&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/fixation-finale-poulie-adaptateur-moteur.jpg&quot; title=&quot;fixation-finale-poulie-adaptateur-moteur.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.fixation-finale-poulie-adaptateur-moteur_m.jpg&quot; alt=&quot;fixation-finale-poulie-adaptateur-moteur.jpg&quot; title=&quot;fixation-finale-poulie-adaptateur-moteur.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;REMONTAGE DE LA MACHINE:&lt;/h2&gt;


&lt;p&gt;Une fois la machine remontée, les poulies sont bien en face, et permettent de restaurer la transmission d'origine avec ses 2 courroies&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/detail-reduction.jpg&quot; title=&quot;detail-reduction.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.detail-reduction_m.jpg&quot; alt=&quot;detail-reduction.jpg&quot; title=&quot;detail-reduction.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le bandes blanches sur les poulies sont des bandes réfléchissantes permettant de faire des mesures avec un tachymètre laser.&lt;/p&gt;


&lt;p&gt;Le moteur ne prend que peu de place, comme on le voit sur la vue d'ensemble (comparer avec la première photo)&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/vue-ensemble1.jpg&quot; title=&quot;vue-ensemble1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.vue-ensemble1_m.jpg&quot; alt=&quot;vue-ensemble1.jpg&quot; title=&quot;vue-ensemble1.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/vue-ensemble2.jpg&quot; title=&quot;vue-ensemble2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.vue-ensemble2_m.jpg&quot; alt=&quot;vue-ensemble2.jpg&quot; title=&quot;vue-ensemble2.jpg, fév. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Il ne reste plus qu'à faire un test du moteur et en écouter son doux bruit. Une petite vidéo peut être?&lt;/p&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/860EN8ptcCw?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/860EN8ptcCw?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;




&lt;h2&gt;ÉLECTRONIQUE&lt;/h2&gt;


&lt;p&gt;Dernière étape: la mise en place de la régulation de vitesse. J'ai trouvé sur Ebay des &lt;a href=&quot;http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&amp;amp;item=180749001892&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;_trksid=p3984.m1439.l2649&quot;&gt;contrôleurs PWM fonctionnant de 12 à 36V&lt;/a&gt;, acceptant jusqu’à 10A pour moins 9 euros .&lt;/p&gt;


&lt;p&gt;En attente de réception de la pièce, j'en reste pour le moment là... je compléterai l'article dès réception de cette petite carte, qui sera montée dans un boitier au dessus du moteur;&lt;/p&gt;


&lt;h2&gt;EDIT&lt;/h2&gt;

&lt;p&gt;J'ai ajouté un variateur PWM 10A ampères 24/40V acheté 8,50 euros sur Ebay, et ça marche d'enfer. Possibilité de réduire considérablement la vitesse (de qq centaines de tr/min à 3000 tr/min). Le pwm permet de n'avoir que peu de perte de couple, par rapport à une seule variation de tension.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/emco-unimat-3/dc-motor-speed-control-switch.jpg&quot; title=&quot;dc-motor-speed-control-switch.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/emco-unimat-3/.dc-motor-speed-control-switch_m.jpg&quot; alt=&quot;dc-motor-speed-control-switch.jpg&quot; title=&quot;dc-motor-speed-control-switch.jpg, avr. 2012&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Caractéristiques&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;   Control the speed of a DC motor with this controller.
   High efficiency, high torque, low heat generating.
   With reverse polarity protection, high current protection.
   Working Voltage: DC 12V - DC 40V.
   Control Power:0.01 - 400W.
   Static Current:0.02 A ( Standby ).
   PWM Duty Cycle:10% -100%.
   PWM Frequency:13 KHz.
   Material: Plastic, metal.
   Size:6cm x 7.5cm x 2.8cm - 2.36inch x 2.95inch x 1.1inch.&lt;/pre&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2012/02/27/remplacement-moteur-origine-tour-EMCO-UNIMAT-3-moteur-CC-24V-trottinette#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2012/02/27/remplacement-moteur-origine-tour-EMCO-UNIMAT-3-moteur-CC-24V-trottinette#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/70</wfw:commentRss>
      </item>
    
  <item>
    <title>Tuto : exporter en DXF sur un logiciel qui n'a qu'une fonction imprimer</title>
    <link>http://www.civade.com/post/2011/12/30/exporter-en-DXF-sur-un-logiciel-qui-n-a-qu-une-fonction-imprimer</link>
    <guid isPermaLink="false">urn:md5:274474f22cadc6a30fe1fa0312b26118</guid>
    <pubDate>Fri, 30 Dec 2011 23:57:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
        <category>cnc</category><category>linux</category><category>logiciels libres</category><category>osx</category>    
    <description>&lt;p&gt;Certains logiciels, ne possèdent pas de fonction d'export (DXF, SVG, etc..) permettant d'utiliser le résultat de leurs travaux pour importer dans un logiciel de dessin ou pour faire des parcours d'usinages. C'est par exemple le cas de FrontPanel express, qui est prévu pour faire des face avant d'appareils. Il est conçu pour permettre la commande directe des faces avant réalisées dans le logiciel, ou leur impression et c'est tout.. Point de fonction d'export... Nous allons voir une petite astuce permettant d'exporter en DXF à partir de la fonction d'impression.&lt;/p&gt;


&lt;p&gt;Cette astuce est multiplateforme. je l'ai testée sur PC et Mac. Elle devrait également fonctionner sous Linux, le coeur de l'astuce étant basé sur le logiciel Inkscape, qui tourne sur ces 3 environnements.&lt;/p&gt;    &lt;p&gt;Tout d'abord,&lt;/p&gt;


&lt;h2&gt;Pré requis&amp;nbsp;:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Un pilote d'impression PDF (inclus sur Mac, à installer sur PC comme par exemple avec &lt;a href=&quot;http://sourceforge.net/projects/pdfcreator/&quot;&gt;PDF Creator&lt;/a&gt; ou Adobe Acrobat pro)&lt;/li&gt;
&lt;li&gt;Le logiciel open source &lt;a href=&quot;http://inkscape.org/?lang=fr&quot;&gt;Inkscape&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Mode opératoire&amp;nbsp;:&lt;/h2&gt;

&lt;p&gt;L'astuce est très simple à mettre en œuvre puisqu'il suffit d'imprimer dans le logiciel source, en choisissant l'imprimante PDF comme destination.&lt;/p&gt;


&lt;p&gt;Charger ensuite Inkscape, et ouvrir le document PDF. Dans les préférences d'ouverture, mettre le curseur de &quot;préférences d'importation&quot;  sur &quot;très fin&quot; afin de bénéficier de la meilleure précision.&lt;/p&gt;


&lt;p&gt;Toujours dans Inkscape, faire ensuite &quot;Enregistrer sous&quot;, et choisir le format PDF. Dans un premier temps, ne cocher aucune case dans les préférences d'exportation afin de maximiser la compatibilité.&lt;/p&gt;


&lt;h2&gt;Conclusion&amp;nbsp;:&lt;/h2&gt;

&lt;p&gt;Ce fichier PDF pourra être ensuite ouvert sous CAMBAM ou tout autre logiciel de votre choix, afin de générer le Gcode qui permettra d'usiner la face avant tant convoitée. Les cotes sont préservées, dans la mesire ou le design passe sur une feuille A4.&lt;/p&gt;


&lt;p&gt;A noter que ceci fonctionne également sous d'autres logiciels que Frontpanel Express, et rendra de grands services...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/12/30/exporter-en-DXF-sur-un-logiciel-qui-n-a-qu-une-fonction-imprimer#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/12/30/exporter-en-DXF-sur-un-logiciel-qui-n-a-qu-une-fonction-imprimer#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/68</wfw:commentRss>
      </item>
    
  <item>
    <title>Kit Arduino Snootlab Rotoshield : contrôle de moteurs CC ou pas à pas avec Arduino</title>
    <link>http://www.civade.com/post/2011/11/06/Kit-Arduino-Snootlab-Rotoshield-controle-de-moteurs-courant-continu-ou-pas-a-pas-avec-Arduino</link>
    <guid isPermaLink="false">urn:md5:9802212cd9d971d9618645f1ba56fd0b</guid>
    <pubDate>Sun, 06 Nov 2011 06:50:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>arduino</category>    
    <description>&lt;p&gt;La sympathique société Toulousaine Snootlab développe et commercialise de nombreux shields pour Arduino.  Avec le &lt;a href=&quot;http://shop.snootlab.com/shields-snootlab/87-rotoshield.html&quot;&gt;Rotoshiled&lt;/a&gt;, voici le désormais traditionnel contrôle moteur revu et corrigé par Snootlab.&lt;/p&gt;


&lt;p&gt;Au menu&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt; Économies d'entrées sorties de l'Arduino grâce à l'utilisation de l'I2C&lt;/strong&gt;. Il faut seulement 2 sorties analog (I2C) et 4 PWM pour piloter cette carte.&lt;/li&gt;
&lt;li&gt;Contrôle de 2 moteurs pas à pas ou 4 moteurs à courant continu&lt;/li&gt;
&lt;li&gt;Utilisation du L293 (Quadruple demi pont en H) qui fournit &lt;strong&gt;0,6A par pont&lt;/strong&gt; (1,2A en crête) avec protection thermique et diodes kickback intégrés.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Borniers à vis&lt;/strong&gt; pour faciliter le raccordement des moteurs&lt;/li&gt;
&lt;li&gt;Séparation des alimentations moteurs et logique&lt;/li&gt;
&lt;li&gt;Possibilité d'utiliser un &lt;strong&gt;connecteur d'alimentation ATX&lt;/strong&gt; ou un bornier à vis pour l'alimentation de la puissance du shiled (sélectionnable par Jumper soudable)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4 Leds bicolores&lt;/strong&gt; pour indiquer le sens de rotation de chaque moteur&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Partons à la découverte du kit...&lt;/p&gt;    &lt;p&gt;Le Rotoshiled est disponible en 2 niveaux de montage&amp;nbsp;: totalement montée ou seulement les CMS. C'est à cette dernière version que je vais m'intéresser.&lt;/p&gt;


&lt;p&gt;Le Kit est fourni dans une pochette antistatique réutilisable, avec tous les composants requis pour le montage. Les circuits intégrés sont même placés sur une mousse antistatique.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/kit.jpg&quot; title=&quot;kit.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.kit_m.jpg&quot; alt=&quot;kit.jpg&quot; title=&quot;kit.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le circuit imprimé est très beau, avec une sérigraphie très claire. Voici une vue  coté composants.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/cote-composants1.jpg&quot; title=&quot;cote-composants1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.cote-composants1_m.jpg&quot; alt=&quot;cote-composants1.jpg&quot; title=&quot;cote-composants1.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Les pads sont aussi larges que possibles afin de faciliter la soudure.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/cote-composants2.jpg&quot; title=&quot;cote-composants2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.cote-composants2_m.jpg&quot; alt=&quot;cote-composants2.jpg&quot; title=&quot;cote-composants2.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Coté soudures et CMS, on distingue le circuit I2C déjà monté ainsi que quelques autres CMS (résistances et condensateurs).&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/cote-soudures1.jpg&quot; title=&quot;cote-soudures1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.cote-soudures1_m.jpg&quot; alt=&quot;cote-soudures1.jpg&quot; title=&quot;cote-soudures1.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Rien à dire, c'est propre. Il est vrai que souder le contrôleur I2C à la main aurait été un calvaire...&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/cote-soudures2.jpg&quot; title=&quot;cote-soudures2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.cote-soudures2_m.jpg&quot; alt=&quot;cote-soudures2.jpg&quot; title=&quot;cote-soudures2.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le montage du kit est d'une très grande simplicité grâce à une &lt;a href=&quot;http://shop.snootlab.com/attachment.php?id_attachment=31&quot;&gt;notice de montage PDF très détaillée&lt;/a&gt; façon 'roman photo'.&lt;/p&gt;


&lt;p&gt;Quelque temps plus tard, voici ce que l'on obtient&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/monte1.jpg&quot; title=&quot;monte1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.monte1_m.jpg&quot; alt=&quot;monte1.jpg&quot; title=&quot;monte1.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Coté alimentation, rien à dire, le choix est là. Un strap à souder permet de choisir entre le connecteur ATX (format PC) et un bornier à vis. Attention toutefois à ne pas dépasser 20V.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/monte2.jpg&quot; title=&quot;monte2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.monte2_m.jpg&quot; alt=&quot;monte2.jpg&quot; title=&quot;monte2.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Coté moteurs, leur raccordement est facilité par des borniers à vis. On distingue en avant plan (petits rectangle blancs) les 4 leds bicolores CMS.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/monte3.jpg&quot; title=&quot;monte3.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.monte3_m.jpg&quot; alt=&quot;monte3.jpg&quot; title=&quot;monte3.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le poussoir de reset est très accessible. Une led permet également de visualiser que la carte est alimentée.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/rotoshield/monte5.jpg&quot; title=&quot;monte5.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/rotoshield/.monte5_m.jpg&quot; alt=&quot;monte5.jpg&quot; title=&quot;monte5.jpg, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Voici donc pour ce premier tour du kit, qui se poursuivra par une petite réalisation surprise....&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/11/06/Kit-Arduino-Snootlab-Rotoshield-controle-de-moteurs-courant-continu-ou-pas-a-pas-avec-Arduino#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/11/06/Kit-Arduino-Snootlab-Rotoshield-controle-de-moteurs-courant-continu-ou-pas-a-pas-avec-Arduino#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/67</wfw:commentRss>
      </item>
    
  <item>
    <title>Adaptation d'un porte lame Roland pour faire de la découpe vinyl avec une CNC</title>
    <link>http://www.civade.com/post/2011/10/23/adaptation-porte-lame-Roland-decoupe-vinyl-CNC</link>
    <guid isPermaLink="false">urn:md5:28bdcb697e3a8c8ab19f6ceaaa3a65f7</guid>
    <pubDate>Sun, 23 Oct 2011 07:57:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;Les enseignistes connaissent bien la découpe vinyl qui leur permet de faire de nombreux marquages. Le principe est simple&amp;nbsp;: Une feuille de vinyle autocollante est découpée à l'aide d'un plotter de découpe spécialisé, et l'opération est répétée pour chacune des couleurs nécessaires. Les découpes inutiles sont ensuite 'pelées', et collées à l'envers sur une feuille qui va servir de support pour le transfert sur le support final.&lt;/p&gt;


&lt;p&gt;Le support final sera ensuite nettoyé et humidifié avec un agent mouillant (eau + produit vaisselle...), qui facilitera le repositionnement de l'autocollant, puis lorsque tout est en place, il suffit de chasser les bulles (et l'eau) avec une raclette.&lt;/p&gt;


&lt;p&gt;Les plotters de découpe spécialisés sont des machines relativement simples, puisqu'il s'agit d'une mécanique de genre 'traceur à rouleaux' (un axe sur un rouleau avec des galets presseurs, l'autre sur une translation), dont la plume est remplacée par un outil muni d'un lame  montée sur roulement à bille, montée dans un porte outil dont il est possible de régler la pression (de 30 grammes à 150  grammes).&lt;/p&gt;


&lt;p&gt;Certes, ces machines sont peu couteuses (à partir de quelque centaines d'euros), mais  leur achat n'est envisageable que si l'utilisation est récurrente.&lt;/p&gt;


&lt;p&gt;Je me suis donc intéressé à la façon dont il serait possible d'adapter une machine de CNC 'portique' pour pouvoir découper du Vinyle... Découvrons comment dans la suite.&lt;/p&gt;    &lt;h2&gt;Le porte lame&lt;/h2&gt;

&lt;p&gt;On trouve aujourd'hui sur Ebay pour une dizaine d'euros avec le port des porte lames pour découpe vinyl, conçus pour les plotters Roland, Graphtec, etc.. Ils sont d'ailleurs souvent livrés avec plusieurs lames. (chercher &quot;Roland Blade Holder&quot;)&lt;/p&gt;


&lt;p&gt;J'ai donc fait l'acquisition d'un porte lame compatible Roland, avec 3 lames que voici&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/roland-blade-holder.jpg&quot; alt=&quot;roland-blade-holder.jpg&quot; title=&quot;roland-blade-holder.jpg, sept. 2011&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Description porte lame&lt;/h2&gt;

&lt;p&gt;La partie noire, reçoit en son centre une lame, qui est maintenue par un aimant en terres rare situé dans le corps du porte lame. Cette lame est guidée par des micro roulements, de façon à permettre une rotation libre pour suivre le trajet du traceur.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/roland-blade-holder-ejecteur.jpg&quot; alt=&quot;roland-blade-holder-ejecteur.jpg&quot; title=&quot;roland-blade-holder-ejecteur.jpg, sept. 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;L'autre extrémité est munie d'une tige métallique de 1mm de diamètre, qu'il suffit de pousser pour éjecter la lame à l'autre bout. Un ressort à l'intérieur du porte lame ramène l'éjecteur en position de repos.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/roland-blade-holder-ensemble2.jpg&quot; alt=&quot;roland-blade-holder-ensemble2.jpg&quot; title=&quot;roland-blade-holder-ensemble2.jpg, sept. 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Ce porte lame est destiné à être monté dans une fourche sur un traceur Roland. La collerette de grand diamètre se vissant sur le corps, permettant de régler la hauteur de la lame.  La bague moletée au dessus permet de bloquer la collerette (contre écrou) après avoir trouvé la position désirée.&lt;/p&gt;


&lt;p&gt;Le mécanisme de fixation du porte lame sur le plotter de découpe est monté dans un dispositif qui permet de régler la pression (usuellement d'une dizaine de grammes à plus d'une centaine), afin de bien marquer le trait de coupe sans endommager le support du vinyl.&lt;/p&gt;


&lt;h2&gt;Description du problème pour l'adaptation CNC&lt;/h2&gt;

&lt;p&gt;Adapter ce porte lame sur un portique CNC va poser plusieurs problèmes&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixer le porte lame sur le chariot Z&lt;/li&gt;
&lt;li&gt;Trouver une solution pour régler la pression.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Solution apportée pour la gestion de la pression&lt;/h2&gt;

&lt;p&gt;En surfant sur le web, j'ai trouvé sur Wood Work une solution proposée par un dénommé Greg&amp;nbsp;:
http://www.woodworkforums.com/f170/cutting-sign-vinyl-cnc-router-90421/ . La solution repose en un ajout d'un ressort de compensation  à l'arrière du porte lame, permettant d'appliquer une pression sur celle-ci. Malheureusement, il faut un tour pour réaliser le corps de la pièce principale... N'en disposant pas, j'ai utilisé un bas de stylo bille promotionnel, choisi dans un lot pour qu'il réponde aux caractéristiques demandées. Ceci permet d'utiliser une pièce de récup ou les adaptations mécaniques seront minimales.&lt;/p&gt;


&lt;p&gt;Voici le principe de fonctionnement de l'ensemble&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/eclate.png&quot; title=&quot;eclate.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.eclate_m.jpg&quot; alt=&quot;eclate.png&quot; title=&quot;eclate.png, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;En réglant le bouton de manœuvre (en jaune), cela permet de pousser le ressors et d'appliquer une précontrainte sur la tige de l'éjecteur. Comme le ressort intégré à l'éjecteur pourrs vers le haut celui-ci, le bouton de manœuvre dans un premier temps ne permet que de compenser le ressort intégré. Puis dans un 2e temps (avec une pression encore plus importante), le ressort du stylo applique une pression positive, qui va faire sortir un peu le couteau. C'est l'effet recherché.&lt;/p&gt;


&lt;p&gt;Le choix du stylo est déterminant. Il faut&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Que la matière soit suffisamment rigide&lt;/li&gt;
&lt;li&gt;Qu'elle soit travaillable à chaud aussi bien qu'usinable (point important, on verra par la suite...)&lt;/li&gt;
&lt;li&gt;Que son diamètre extérieur au niveau du pas de vis, soit légèrement plus gros que le diamètre intérieur de la partie supérieure du porte lame.&lt;/li&gt;
&lt;li&gt;Ne pas oublier de récupérer également le ressort&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;ins&gt;&lt;strong&gt;Mode opératoire :&lt;/strong&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chauffer délicatement la partie basse du stylo avec le pas de vis (pas trop chaud pour ne pas la bruler... et homogène)&lt;/li&gt;
&lt;li&gt;La visser à l'intérieur de la partie haute du porte lame avant qu'elle refroidisse&lt;/li&gt;
&lt;li&gt;Répéter l’opération autant de fois que nécessaire pour avoir un pas de vis qui fonctionne bien sur une longueur suffisante (3 à 4 mm).&lt;/li&gt;
&lt;li&gt;Repercer au diamètre 2.5 et tarauder en M3 l'orifice ou sortait la point bille&lt;/li&gt;
&lt;li&gt;Entrer une vis M3 de grand longueur après avoir meulé la tête de vis pour qu'elle passe dans le corps du stylo&lt;/li&gt;
&lt;li&gt;Fabriquer à l'aide d'une autre vis M3 courte la pièce qui sera en contact avec l'éjecteur. Il faut  remeuler également l'extérieur pour qu'elle rentre dans le corps du stylo, raccourcir la vis, et meuler la tête pour qu'elle fasse un appui plan avec l'éjecteur (voir schéma ci dessus).&lt;/li&gt;
&lt;li&gt;Fabriquer un bouton de manœuvre, qui sera repercé et taraudé M3 (non débouchant si possible...).&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Solution apportée pour le support sur la machine&lt;/h2&gt;

&lt;p&gt;Fixer le porte lame sur la machine peut être compliqué. Il faut en effet que le support soit rigide, et trouver une solution pour tenir le porte lame. J'ai conçu une pièce en PVC qui va permettre de 'clipser' le porte lame dedans. Il restera ensuite à fixer cette pièce en PVC sur un un support rigide, solidaire de l'axe Z de la machine. J'ai percé et taraudé 2 trous sur le bâti de l'axe Z de la machine, permettant de rendre le système démontable, et lui restaurer sa fonction de portique cnc.&lt;/p&gt;


&lt;p&gt;Voici le support PVC du porte lame (sans les fixations) (&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/blade.skp&quot;&gt;plan sketchup&lt;/a&gt;)&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/support-porte-lame.png&quot; title=&quot;support-porte-lame.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.support-porte-lame_m.jpg&quot; alt=&quot;support-porte-lame.png&quot; title=&quot;support-porte-lame.png, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Cette pièce est ensuite fixée sur une pièce en aluminium aero de 10mm d'épaisseur, qui est elle même fixée sur l'axe Z de la machine. Je ne met pas les plans car cette pièce est spécifique à ma CNC (une BORCH 9060 de Cncdiy.org).&lt;/p&gt;



&lt;h2&gt;L'ensemble monté en photo&lt;/h2&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/P1030044.JPG&quot; title=&quot;P1030044.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.P1030044_t.jpg&quot; alt=&quot;P1030044.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;P1030044.JPG, oct. 2011&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/P1030042.JPG&quot; title=&quot;P1030042.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.P1030042_t.jpg&quot; alt=&quot;P1030042.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;P1030042.JPG, oct. 2011&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/P1030041.JPG&quot; title=&quot;P1030041.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.P1030041_t.jpg&quot; alt=&quot;P1030041.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;P1030041.JPG, oct. 2011&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.civade.com/images/decoupe-vinyl/P1030043.JPG&quot; title=&quot;P1030043.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/decoupe-vinyl/.P1030043_t.jpg&quot; alt=&quot;P1030043.JPG&quot; title=&quot;P1030043.JPG, oct. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;(cliquer pour zoomer)&lt;/p&gt;





&lt;h2&gt;Premiers essais&lt;/h2&gt;

&lt;p&gt;Les premiers essais sont très encourageants. Je publierai plus tard des photos de réalisations terminées...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/10/23/adaptation-porte-lame-Roland-decoupe-vinyl-CNC#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/10/23/adaptation-porte-lame-Roland-decoupe-vinyl-CNC#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/63</wfw:commentRss>
      </item>
    
  <item>
    <title>Astuces et configurations pour Ubuntu 10.04 avec EMC2</title>
    <link>http://www.civade.com/post/2011/10/12/Astuces-et-configurations-pour-Ubuntu-10.04-avec-EMC2</link>
    <guid isPermaLink="false">urn:md5:09cb64e736b5779b2a4c4890bf8ad8a7</guid>
    <pubDate>Wed, 12 Oct 2011 22:30:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
        <category>administration système</category><category>logiciels libres</category>    
    <description>&lt;p&gt;Un petit post pour noter trucs et astuces pour Ubuntu 10.04 et plus particulièrement dans un environnement de pilotage de CNC avec EMC2. Rien d'extraordinaire, seulement une collection de choses qui sont soit dans la doc (mais bien au fond &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; ), soit des colectées sur Internet. Rien de révolutionnaire, seulement de quoi les avoir sous la main...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mettre la dernière version de Firefox à la mode Ubuntu&lt;/li&gt;
&lt;li&gt;Installer flash et autres goodies&lt;/li&gt;
&lt;li&gt;Installer Teamviewer pour la télémaintenance&lt;/li&gt;
&lt;li&gt;Installer Cairo&amp;nbsp;: un dock à la OSX&lt;/li&gt;
&lt;li&gt;Forcer la carte graphique en mode VESA&lt;/li&gt;
&lt;li&gt;Installer le patch SMI pour corriger les pb de temps réel sur EMC2&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/.linuxcnc_logo_t.jpg&quot; alt=&quot;linuxcnc_logo.png&quot; title=&quot;linuxcnc_logo.png, oct. 2011&quot; /&gt; EMC2: Logiciel open source de pilotage de machine à commande numérique.&lt;/p&gt;


&lt;h2&gt;Installer la dernière version de FIrefox&lt;/h2&gt;

&lt;p&gt;Avec la cadence de mise à jour de Firefox qui s'accélère, il devient difficile de disposer d ela dernière version sur Ubuntu. D'autant que la version livrée ne dispose pas de la synchronisation des bookmarks (&lt;a href=&quot;http://www.civade.com/post/2011/09/02/Firefox-Synchroniser-marque-pages-mots-de-navigateurs-sur-son-propre-serveur-weave&quot;&gt;objet d'un précédent article&lt;/a&gt;). Pour l'installer&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade
sudo apt-get install firefox-locale-fr
&lt;/pre&gt;



&lt;h2&gt;Installer Flash et autres contribs propriétaires&lt;/h2&gt;
&lt;pre&gt;
sudo apt-get install ubuntu-restricted-extras
&lt;/pre&gt;


&lt;h2&gt;Méthode simple pour installer Flash et seulement Flash&lt;/h2&gt;

&lt;p&gt;Dans 'Applications' / 'Logitheque Ubuntu', rechercher et installer flash&lt;/p&gt;


&lt;h2&gt;Installer le logiciel de télémaintenance propriétaire Teamviewer&lt;/h2&gt;
&lt;pre&gt;
wget http://www.teamviewer.com/download/teamviewer_linux.deb
dpkg -i teamviewer_linux.deb
&lt;/pre&gt;


&lt;h2&gt;Installer un Dock 'à la OSX'&lt;/h2&gt;

&lt;p&gt;(source: &lt;a href=&quot;http://glx-dock.org/bg_topic.php?t=5646&quot;&gt;http://glx-dock.org/bg_topic.php?t=5646&lt;/a&gt; )&lt;/p&gt;
&lt;pre&gt;
sudo add-apt-repository ppa:cairo-dock-team
sudo apt-get update[|http://glx-dock.org/ww_page.php?p=First%20Steps&amp;amp;lang=en]
sudo apt-get install cairo-dock cairo-dock-plug-ins
&lt;/pre&gt;

&lt;p&gt;Tester son fonctionnement, puis rendre éventuellement le démarrage permanent si ok: http://glx-dock.org/ww_page.php?p=First%20Steps&amp;amp;lang=en&lt;/p&gt;


&lt;h2&gt;Forcer la carte graphique en mode VESA&lt;/h2&gt;

&lt;p&gt;Sur Ubuntu, le plug and play marche tellement bien, qu'il est difficile de spécifier sa carte graphique manuellement. Ceci est très utile lorsque que l'on a une carte graphique qui pose problème au temps réel de RTLinux intégré dans Ubuntu 10.04 Emc2. Il faut dans ce cas passer en mode VESA pour désactiver toute accélération graphique. Mais ce n'est pas si simple.....&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dans les options de démarrage du  noyai courant, enlever l'utilisation du mode VESA pour le mode texte du noyau (vous savez, 50 lignes par page en mode texte). Pour ce faire, editer grub.cfg et ajouter 'nomodeset' en option de kernel&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
sudo vi /boot/grub/grub.cfg
&lt;/pre&gt;

&lt;p&gt;(sur la ligne &quot;&lt;em&gt;linux /boot/.... ro quiet splash&lt;/em&gt;&quot; de la permière entrée bootable, ajouter &lt;strong&gt;nomodeset&lt;/strong&gt; à la fin)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Redémarrer la machine&lt;/li&gt;
&lt;li&gt;Apres le redémarage, ne pas ouvrir de session, et faire CTRL + ALT + F1 pour passer en console et se logger&lt;/li&gt;
&lt;li&gt;Arreter GDM, le gestionnaire de login graphique&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
sudo service gdm stop
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Lancer la configuration de X&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
sudo Xorg -configure
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Si la fin de la configuration s'est bien passée, Xorg vous dit qu'il a placé un fichier xorg.conf.new dans la racine de votre compte.&lt;/li&gt;
&lt;li&gt;Éditer ce fichier de config, et changer dans la section &quot;Device&quot; le driver par&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt; 
Driver &amp;quot;vesa&amp;quot;
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Tester la configuration comme indiqué à l'écran&lt;/li&gt;
&lt;li&gt;Si tout est ok, l'activer en copiant ce fichier de config dans /etc/X11&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
sudo cp /home/userxxx/xorg.conf.new /etc/X11/xorg.conf
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Tester une dernière fois&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
startx
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Si tout est ok, redémarrer. Ce changements sont maintenant permanents.&lt;/li&gt;
&lt;li&gt;A noter que pour revenir à une configuration autodétectée, il suffit de supprimer (en root) le fichier /etc/X11/xorg.conf&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.vesa
&lt;/pre&gt;



&lt;h2&gt;Installer un serveur ssh&lt;/h2&gt;

&lt;p&gt;SSH n'est pas installé par défaut sur l'Ubuntu 10.04 d'EMC2.&lt;/p&gt;
&lt;pre&gt;
sudo apt-get openssh-server
&lt;/pre&gt;


&lt;h2&gt;Optimisation des performances temps réel pour EMC2&lt;/h2&gt;


&lt;p&gt;La distribution Ubuntu 10.04 pour EMC2 contient un patch temps réel, qui permet lorsque tout est bien réglé de faire fonctionner une machine de CNC sans perte de pas. Toutefois, ce patch temps réel n'est pas tout terrain. Il convient souvent (toujours?) d'optimiser la configuration de la machine pour que cela fonctionne. EMC2 contient un utilitaire ('CNC' / 'Latency test') permettant de tester le comportement de la machine. Pour que tout fonctionne convenablement il faudrait avoir une valeur finale inférieure ou égale à 25000.&lt;/p&gt;


&lt;p&gt;J'ai déjà configuré plus d'une dizaine de machine pour EMC2 et voici mes conclusions&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cela n'est &lt;ins&gt;&lt;strong&gt;jamais&lt;/strong&gt;&lt;/ins&gt; optimisé sans rien faire. N'espérez donc pas avoir la config de la mort qui tue 'out of the box', c'est un fantasme :).  Il va falloir bosser un peu...&lt;/li&gt;
&lt;li&gt;Cela provient &lt;strong&gt;souvent&lt;/strong&gt; de la carte graphique (et notamment les cartes NVIDIA, qui s'avèrent particulièrement catastrophiques...), mais cela se corrige aisément, soit en changeant la carte graphique, soit en passant en VESA&lt;/li&gt;
&lt;li&gt;Cela provient &lt;strong&gt;souvent&lt;/strong&gt; des interruptions SMI (interruptions destinées à gérer les fonctions bas niveau de la machine, voir http://en.wikipedia.org/wiki/System_Management_Mode ), et pas que sur les ordinateurs portables ...&lt;/li&gt;
&lt;li&gt;Cela provient &lt;strong&gt;parfois&lt;/strong&gt; (notez la nuance..) de la configuration du BIOS (et notamment l'APM ou l'ACPI)&lt;/li&gt;
&lt;li&gt;Parfois, il n'y a vraiment rien a faire... La machine en peut pas être utilsée sous EMC2. J'ai eu un cas avec un Acer avec processeur Core 2, dont la pauvreté des settings du BIOS ne m'a pas permis d'avoir ue config fonctionnelle. Ceci dit, cla ne m'est arrivé qu'une fois.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A titre d'exemple, voici quelques comptes rendus d'installation.&lt;/p&gt;


&lt;p&gt;Son mon pc fixe (récent), j'ai du&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configurer dans le bios  Speedstep&amp;nbsp;: Disabled (dévalide le changement de vitesse de processeur en fonction de la charge)&lt;/li&gt;
&lt;li&gt;Configurer dans le bios C1E Support&amp;nbsp;: Disabled (plus de suspend to ram)&lt;/li&gt;
&lt;li&gt;Configurer dans le bios Southbridge&amp;nbsp;: Disable audio controller&lt;/li&gt;
&lt;li&gt;Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)&lt;/li&gt;
&lt;li&gt;Appliquer le patch SMI aux fichier de config EMC2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Temps de latence Max: 10 000&lt;/p&gt;


&lt;p&gt;Sur un vieux portable ACER à base de Pentium Mobile 1.7Ghz, j'ai du&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mettre à jour le Bios&lt;/li&gt;
&lt;li&gt;Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)&lt;/li&gt;
&lt;li&gt;Mettre l'option 'lapic' sur la ligne de démarrage du kernel&lt;/li&gt;
&lt;li&gt;Appliquer le patch SMI aux fichier de config EMC2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Temps de latence Max: 10 000&lt;/p&gt;


&lt;p&gt;Sur un vieux portable IBM R31, à base de Pentium mobile 1.4Ghz, j'ai du&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mettre à jour le BIOS&lt;/li&gt;
&lt;li&gt;Configurer dans le bios Speedstep&amp;nbsp;: Disabled (dévalide le changement de vitesse de processeur en fonction de la charge)&lt;/li&gt;
&lt;li&gt;Dans le bios, désactiver les profils de gestion d'énergie en mettant le processeur toujours au maximum de sa fréquence&lt;/li&gt;
&lt;li&gt;Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)&lt;/li&gt;
&lt;li&gt;Appliquer le patch SMI aux fichier de config EMC2&lt;/li&gt;
&lt;li&gt;Passer en VESA&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Temps de latence Max: 25000&lt;/p&gt;


&lt;h3&gt;Carte graphique&lt;/h3&gt;

&lt;p&gt;Si &quot;latency test&quot; chargé, vous constatez que vous passez d'une valeur faible (&amp;lt; 20000) à une valeur très grande (&amp;gt;&amp;gt;&amp;gt;2 000 ) en attrapant une grande fenètre et en la secouant avec la souris, alors c'est que votre carte graphique est l'un des problèmes. Pour corriger ce point, passer en mode VESA (décrit ci dessus). Cela ne corrigera probablement pas tout, mais vous devriez au moins pouvoir à nouveau secouer vos fenêtres ... sans faire augmenter le temps de latence. A noter que vous pouvez également tenter de changer la carte graphique si vous en avez une en stock, mais à votre place je ferai ceci qu'à la fin, une fois que tout marche, pour optimiser. En effet, la désactivation du VESA et le changement de la carte graphique feront soit 'tout macher', soit 'retomber en panne' un système fonctionnel. De plus, le passage en mode VESA corrige à tous es coups les problèmes graphiques...&lt;/p&gt;



&lt;h3&gt;Optimisation du BIOS&lt;/h3&gt;

&lt;p&gt;Je n'ai que peu creusé cette piste, mais un ami a eu un certain succès en le faisant. Néanmoins, je met les informations ci dessous 'sous toute réserve' et me ferai un plaisir de compléter avec vos commentaires.&lt;/p&gt;


&lt;p&gt;Il est possible que la désactivation de l'ACPI , ou de l'APM, ou des deux corrige le problème. Il faut essayer.... et relancer le &quot;latency test&quot;. Il faut aussi creuser les pistes de la désactivation des fonctions de suspension, de changement dynamique de la fréquence du processeur, etC.. La doc d'EMC2 se révèle précieuse&amp;nbsp;: &lt;a href=&quot;http://wiki.linuxcnc.org/emcinfo.pl?TroubleShooting&quot;&gt;http://wiki.linuxcnc.org/emcinfo.pl?TroubleShooting&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Apparemment, il est serait possible de le faire également sans changer les paramètres du BIOS, seulement en passant des options sur la ligne de démarrage du noyau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;acpi=off  ou noacpi pour désactiver l'acpi,&lt;/li&gt;
&lt;li&gt;apm=off ou noapm pour d'ésactiver l'Advanced Power Management&lt;/li&gt;
&lt;li&gt;noapic pour désactiver l'Advanced Priority Interrupt Controller&lt;/li&gt;
&lt;li&gt;nolapic pour désactiver le local APIC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plus d'info sur les options kernel de la 10.04 ici: [https://help.ubuntu.com/community/BootOptions#Common_Kernel_Options
|https://help.ubuntu.com/community/BootOptions#Common_Kernel_Options]&lt;/p&gt;



&lt;h3&gt;Installation du patch SMI&lt;/h3&gt;

&lt;p&gt;La désactivation des interruptions SMI est considérée comme dangereuse. Je l'ai toutefois pratiquée de façon systématique sans aucun problème (sauf sur une seule machine, un serveur Supermicro qui n'avait tout simplement pas de SMI...). A chaque fois l'amélioration a été spectaculaire.&lt;/p&gt;


&lt;p&gt;Installer le patch SMI pour corriger les problèmes de temps réel sur EMC2. Attention, ceci n'est pas pour toutes les configs.. (source&amp;nbsp;: &lt;a href=&quot;http://wiki.linuxcnc.org/emcinfo.pl?FixingSMIIssues&quot;&gt;http://wiki.linuxcnc.org/emcinfo.pl?FixingSMIIssues&lt;/a&gt; )&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editer /etc/emc2/rtapi.conf et remplacer&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
# List of realtime kernel modules to be loaded
if [ &amp;quot;3&amp;quot; = &amp;quot;3&amp;quot; ] ; then \
    MODULES=&amp;quot;adeos rtai_hal rtai_ksched rtai_fifos rtai_shm rtai_sem rtai_math&amp;quot;
    RTAI=3
    MODPATH_adeos=
    MODPATH_rtai_hal=/usr/realtime-$(uname -r)/modules/rtai_hal.ko
    MODPATH_rtai_ksched=/usr/realtime-$(uname -r)/modules/rtai_ksched.ko
    MODPATH_rtai_fifos=/usr/realtime-$(uname -r)/modules/rtai_fifos.ko
    MODPATH_rtai_shm=
    MODPATH_rtai_sem=/usr/realtime-$(uname -r)/modules/rtai_sem.ko
    MODPATH_rtai_math=/usr/realtime-$(uname -r)/modules/rtai_math.ko
&lt;/pre&gt;


&lt;p&gt;Par:&lt;/p&gt;

&lt;pre&gt;
# List of realtime kernel modules to be loaded
if [ &amp;quot;3&amp;quot; = &amp;quot;3&amp;quot; ] ; then \
    MODULES=&amp;quot;adeos rtai_hal rtai_ksched rtai_fifos rtai_shm rtai_sem rtai_math rtai_smi&amp;quot;
    RTAI=3
    MODPATH_adeos=
    MODPATH_rtai_smi=/usr/realtime-$(uname -r)/modules/rtai_smi.ko
    MODPATH_rtai_hal=/usr/realtime-$(uname -r)/modules/rtai_hal.ko
    MODPATH_rtai_ksched=/usr/realtime-$(uname -r)/modules/rtai_ksched.ko
    MODPATH_rtai_fifos=/usr/realtime-$(uname -r)/modules/rtai_fifos.ko
    MODPATH_rtai_shm=
    MODPATH_rtai_sem=/usr/realtime-$(uname -r)/modules/rtai_sem.ko
    MODPATH_rtai_math=/usr/realtime-$(uname -r)/modules/rtai_math.ko
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Lancer ensuite l'EMC2 Latency test&lt;/li&gt;
&lt;li&gt;Vérifier que le module est bien chargé. Vous devriez voir un rtai_smi dans la sortie suivante&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
lsmod | grep rtai

rtai_smi                2057  0 
rtai_math              21406  0 
rtai_sem               21551  1 rtapi
rtai_fifos             20988  1 rtapi
rtai_sched            156719  3 rtapi,rtai_sem,rtai_fifos
rtai_hal              186236  4 rtapi,rtai_sem,rtai_fifos,rtai_sched
&lt;/pre&gt;


&lt;h2&gt;Outils additionnels&lt;/h2&gt;

&lt;p&gt;vi en mode couleur&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;apt-get install vim&lt;/pre&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/10/12/Astuces-et-configurations-pour-Ubuntu-10.04-avec-EMC2#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/10/12/Astuces-et-configurations-pour-Ubuntu-10.04-avec-EMC2#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/65</wfw:commentRss>
      </item>
    
  <item>
    <title>Tuto : Exporter un itinéraire de Google Maps vers un GPS Garmin avec GPSBABEL et Basecamp</title>
    <link>http://www.civade.com/post/2011/09/12/Tuto-Exporter-itineraire-Google-Maps-vers-GPS-Garmin-GPSBABEL-Basecamp</link>
    <guid isPermaLink="false">urn:md5:6199eeb79c2018dd2903cba9b9186217</guid>
    <pubDate>Mon, 12 Sep 2011 07:47:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>osx</category><category>snow leopard</category>    
    <description>&lt;p&gt;Voila, vous avez préparé un itinéraire sur Google Maps (ou on vous a envoyé un lien vers..) et vous voulez le charger sur votre GPS Garmin. Vous avez un peu cherché sur Interner et trouvé le plugin &quot;&lt;a href=&quot;http://www8.garmin.com/products/communicator/&quot; title=&quot;Garmin Communicator&quot;&gt;Garmin Communicator&lt;/a&gt;&quot; qui semble faire le boulot. Mais au moment d’essayer, vous découvrez que seuls les POI sont envoyés vers le GPS, mais pas la trace... Après de multiples recherches j'ai trouvé la parade. Nécessitant le logiciel additionnel  (open source) &lt;a href=&quot;http://www.gpsbabel.org&quot;&gt;GPSBABEL&lt;/a&gt;, qui fonctionne sur PC et Mac, cette solution va permettre d'envoyer sous forme de trace l'itinéraire détaillé vers votre GPS. Découvrons comment le faire que ce soit sur mac (OSX) ou PC (Windows)...&lt;/p&gt;    &lt;h2&gt;Pré requis&amp;nbsp;:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Un navigateur Web avec Google Maps&lt;/li&gt;
&lt;li&gt;Un compte Google Maps pour pouvoir sauvegarder ses cartes&lt;/li&gt;
&lt;li&gt;Le logiciel GPSBabel ( &lt;a href=&quot;http://www.gpsbabel.org/&quot;&gt;http://www.gpsbabel.org/&lt;/a&gt; ), Open Source et disponible pour Windows, OSX ou Linux.&lt;/li&gt;
&lt;li&gt;Le logiciel Garmin Basecamp ( &lt;a href=&quot;http://www.garmin.com/us/products/onthetrail/basecamp&quot;&gt;http://www.garmin.com/us/products/onthetrail/basecamp&lt;/a&gt; ) gratuit également.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/gps/basecamp.png&quot; alt=&quot;basecamp.png&quot; title=&quot;basecamp.png, sept. 2011&quot; /&gt; L'icone de Garmin Basecamp....&lt;/p&gt;


&lt;h2&gt;Mode opératoire&lt;/h2&gt;


&lt;h3&gt;Première étape&amp;nbsp;: Obtenir un fichier KML de Google Maps&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Faire son itinéraire sur Google Maps, éventuellement en le personnalisant&lt;/li&gt;
&lt;li&gt;Dans Google Maps, dans l'onglet itinéraire, aller en bas de la liste des étapes et cliquer sur le bouton &quot;Ajouter à mes cartes&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/gps/liste-options.png&quot; title=&quot;liste-options.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/gps/.liste-options_m.jpg&quot; alt=&quot;liste-options.png&quot; title=&quot;liste-options.png, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dans la liste des cartes, sélectionner &quot;créer une nouvelle carte&quot;, puis enregistrer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/gps/ajouter-mes-cartes.png&quot; title=&quot;ajouter-mes-cartes.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/gps/ajouter-mes-cartes.png&quot; alt=&quot;ajouter-mes-cartes.png&quot; title=&quot;ajouter-mes-cartes.png, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La carte sauvegardée possède maintenant un lien &quot;KML&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/gps/kml.png&quot; title=&quot;kml.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/gps/kml.png&quot; alt=&quot;kml.png&quot; title=&quot;kml.png, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquez sur ce lien et enregistrez le fichier&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/gps/save-kml.png&quot; title=&quot;save-kml.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/gps/save-kml.png&quot; alt=&quot;save-kml.png&quot; title=&quot;save-kml.png, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Deuxième étape&amp;nbsp;: Convertir ce fichier KML en format GPX (Gps exchange)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Lancer le logiciel GPS Babel précédemment téléchargé&lt;/li&gt;
&lt;li&gt;Dans la partie supérieure du logiciel, dans la zone &quot;input&quot;, sélectionnez &quot;Fichier&quot; et &quot;Google Earth (Keyhole) Markup language&quot; comme format d'entrée.&lt;/li&gt;
&lt;li&gt;Cliquez sur le bouton &quot;file name&quot; et pointez le fichier KML précédemment téléchargé&lt;/li&gt;
&lt;li&gt;Dans 'Tranlations options&quot;, cocher &quot;Waypoints&quot;, &quot;Routes&quot; et &quot;Tracks&quot;. Cocher également en appuyant sur le bouton &quot;filtres&quot; la case &quot;Tracks&quot;, et remplacer le label &quot;ACTIVE LOG #%Y%m%d&quot; par &quot;ACTIVE LOG 001&quot;&lt;/li&gt;
&lt;li&gt;Dans la partie inférieure du logiciel, dans la boite de format de sortie, cliquez &quot;fichier&quot; et sélectionnez le format de sortie comme &quot;GPX XML&quot;.&lt;/li&gt;
&lt;li&gt;Appuyez sur le bouton &quot;file name&quot; et désignez le nom du fichier de sortie&lt;/li&gt;
&lt;li&gt;Cliquez sur le bouton &quot;Appliquer pour réaliser la conversion&lt;/li&gt;
&lt;li&gt;Un fichier d'extension &quot;.GPX&quot; sera généré à l'endroit de votre choix.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Importer la trace dans Garmin BaseCamp&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Lancer Basecamp&lt;/li&gt;
&lt;li&gt;Faire &quot;Fichier&quot;, &quot;Importer&quot;, et désigner le fichier &quot;GPX&quot;.&lt;/li&gt;
&lt;li&gt;Dans &quot;Récemment importé&quot;, 2 points ont étés importés (origine et destination) et la trace.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt; Point important, cette trace doit se nommer &quot;ACTIVE LOG 001&quot;.&lt;/strong&gt; E&lt;strong&gt;n effet, les GPS Garmin ne peuvent importer de trace de plus de 500 points...&lt;/strong&gt; sauf si celles-ci se nomment justement &quot;ACTIVE LOG&quot;, qui est le nom d'une trace générée par le Garmin. Nous allons utiliser cette caractéristique pour contourner la limitation imposée à l'import, mais qui n'a pas cours lors de la sauvegarde d'une trace active. C'est très précisément pour cela que dans l'étape précédent, nous avons exporté la trace sous ce nom si particulier. Si vous avez oublié de le faire, pas de problème. Il suffit dans BaseCamp de renommer la trace (double clic dessus) en &quot;ACTIVE LOG 001&quot;.&lt;/li&gt;
&lt;li&gt;Brancher le GPS en USB à l'ordinateur&lt;/li&gt;
&lt;li&gt;Vider la mémoire de traces non sauvegardées sur le GPS (consulter le notice...)&lt;/li&gt;
&lt;li&gt;Dans Basecamp, sélectionner les 3 éléments (2 waypoints et une trace) et faites bouton de droite + &quot;Envoyer au GPS&quot;)&lt;/li&gt;
&lt;li&gt;Le GPS contient maintenant dans sa mémoire de traces votre nouvelle trace... et les 2 waypoints. Il n'affiche pour autant rien de particulier. C'est normal.&lt;/li&gt;
&lt;li&gt;Utiliser la fonction de sauvegarde de la trace active de votre GPS&lt;/li&gt;
&lt;li&gt;Nommer votre trace comme bon vous semble&lt;/li&gt;
&lt;li&gt;Vérifier que la trace que vous venez de sauvegarder contient bien le périple que vous venez de générer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voila&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/09/12/Tuto-Exporter-itineraire-Google-Maps-vers-GPS-Garmin-GPSBABEL-Basecamp#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/09/12/Tuto-Exporter-itineraire-Google-Maps-vers-GPS-Garmin-GPSBABEL-Basecamp#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/64</wfw:commentRss>
      </item>
    
  <item>
    <title>Firefox- Synchroniser ses marque pages, mots de passes entre plusieurs navigateurs sur son propre serveur des synchro</title>
    <link>http://www.civade.com/post/2011/09/02/Firefox-Synchroniser-marque-pages-mots-de-navigateurs-sur-son-propre-serveur-weave</link>
    <guid isPermaLink="false">urn:md5:09b7aa075178cf86f40b0ede390819ed</guid>
    <pubDate>Fri, 02 Sep 2011 12:09:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
            
    <description>&lt;p&gt;Depuis la version 4, Firefox intègre une fonctionnalité de synchronisation de marque pages, disponible auparavant uniquement sous forme de plugin.
Bien qu'il existe d'autre solutions de synchronisation, j'ai souhaité utiliser celle-ci, car&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Elle est intégrée à Firefox, et fonctionne sur tous types de plateformes (j'ai du mac, du pc et du linux...)&lt;/li&gt;
&lt;li&gt;Elle chiffre les données avant de les transmette dans une password store distante&lt;/li&gt;
&lt;li&gt;La &quot;password store&quot; distante est de plus protégée par login / password qui sont échangés en https (ssl)&lt;/li&gt;
&lt;li&gt;Il est possible d'utiliser le service de stockage de Firefox, ou de mettre en place le sien.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voyons voir comment procéder pour installer le tout avec son propre serveur de synchro.&lt;/p&gt;    &lt;h2&gt;Choix de la techno&lt;/h2&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ffsync_t.jpg&quot; alt=&quot;ffsync.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;ffsync.png, sept. 2011&quot; /&gt;Pour mettre en place un serveur de stockage de marque-pages compatible avec la fonction de Synchro intégrée à Firefox 4(et+), il existe au moins 2 possibilités&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;L'une consistant en la mise en place d'un serveur en grande partie écrit en Python 2.6 ( http://docs.services.mozilla.com/howtos/run-sync.html )&lt;/li&gt;
&lt;li&gt;Une autre consistant en un ensemble de scripts PHP qui réalisent un serveur 'light': Le Weave Minimal Server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La première possiblité nécessite sur le serveur qui va recevoir l'installation&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python 2.6&lt;/li&gt;
&lt;li&gt;Virtualenv&lt;/li&gt;
&lt;li&gt;Open LDAP ou MySQL ou SQLite pour stocker les utilisateurs&lt;/li&gt;
&lt;li&gt;Un serveur web (Apache ou Lighthttpd)&lt;/li&gt;
&lt;li&gt;Une technologie permettant de faire fonctionner du Python sur le serveur web (fcgi, mod_wsgi)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le problème est que mon serveur est installé en Redhat Enterprise 5, et ne dispose que de Python 2.4. Comme beaucoup de scripts du système (et notamment le mécanisme de mise à jour par yum) sont très fortement liés à Python 2.4, il faudrait installer un Python 2.6 'à coté', et le faire fonctionner avec Virtualenv. Ce n'est pas insoluble, mais c'est beaucoup de travail pour une utilisation personnelle. Ce serait tout à fait justifié pour installer un serveur pour des centaines d'utilisateurs dans une entreprise, mais pas ici;&lt;/p&gt;


&lt;p&gt;je me suis donc concentré sur la 2e possibilité: le serveur écrit en PHP. Bien qu'il ne soit plus développé depuis le 25/03/2011 (sauf pour des correctifs de sécurité), il reste tout à fait d'actualité pour ce genre d'utilisation.&lt;/p&gt;





&lt;h2&gt;Méthodologie d'installation&amp;nbsp;:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mettre en place un virtual host sous Apache avec les ssl validés&lt;/li&gt;
&lt;li&gt;Télécharger l'archive http://people.mozilla.com/~telliott/weave_minimal.tgz et la décompresser dans un répertoire en dehors de l'espace web. Ici nous le ferons sur &quot;/home/webs/monsite.com/weave&quot;, sachant que les pages web de ce site sont dans &quot;/home/webs/monsite.com/html&quot;&lt;/li&gt;
&lt;li&gt;Mettre les droits d'écriture apache à ce répertoire&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;chown -R apache:apache /home/webs/monsite.com/weave&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Intégrer dans la config apache le bloc de config suivant pour ce virtual host:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;Alias /weave /home/webs/monsite.com/weave/index.php&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Note importante&amp;nbsp;: &lt;strong&gt;Attention à bien mettre /index.php à la fin du répertoire, c'est ce qui va permettre de gérer la redirection d'url....&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Phase de couplage&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Il est supposé que weave soit visible de l'extérieur par &quot;https://monsite.com/weave&quot;&lt;/li&gt;
&lt;li&gt;Ouvrir Firefox,&lt;/li&gt;
&lt;li&gt;Se connecter à &quot;https://monsite.com/weave&quot; et accepter le certificat de sécurité autosigné&lt;/li&gt;
&lt;li&gt;Paramétrer comme suit la synchro (dans &quot;Outils&quot;, &quot;Configurer Sync&quot;&amp;nbsp;:&lt;/li&gt;
&lt;li&gt;Cliquer sur &quot;j'ai déjà un compte Firefox Sync&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/firefox-sync/ff-sync1.jpg&quot; title=&quot;ff-sync1.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ff-sync1_m.jpg&quot; alt=&quot;ff-sync1.jpg&quot; title=&quot;ff-sync1.jpg, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer sur le lien &quot;je n'ai pas l'appareil avec moi&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/firefox-sync/ff-sync2.jpg&quot; title=&quot;ff-sync2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ff-sync2_m.jpg&quot; alt=&quot;ff-sync2.jpg&quot; title=&quot;ff-sync2.jpg, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Renseigner la boite de dialogue en mettant votre adresse email dans le compte, un mot de passe de votre choix, une clé de synchronisation de votre choix, et l'adresse du serveur précédemment installé&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/firefox-sync/ff-sync3.jpg&quot; title=&quot;ff-sync3.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ff-sync3_m.jpg&quot; alt=&quot;ff-sync3.jpg&quot; title=&quot;ff-sync3.jpg, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faire &quot;Suivant&quot; une fois.&lt;/li&gt;
&lt;li&gt;Un message d'erreur indique que cela n'a pas fonctionné. C'est normal, le but de ce premier accès est de faire créer la base de données vide au programme.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/firefox-sync/ff-sync4.jpg&quot; title=&quot;ff-sync4.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ff-sync4_m.jpg&quot; alt=&quot;ff-sync4.jpg&quot; title=&quot;ff-sync4.jpg, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se connecter sur le serveur via SSH, et aller dans le répertoire de weave ( /home/webs/monsite.com/weave). Vérifier que le fichier &quot;weave_db&quot; a bien été créé&lt;/li&gt;
&lt;li&gt;Toujours sous ssh, faire &quot;php create_user&quot;. Choisir l'option (c) create user, et renseigner la même adresse email et le même mot de passe que précédemment.  Après la création, le script rend la main. Il y a d'autres options dans ce script écrit en php et utilisable en ligne de commande. Je vous laisse les visiter...&lt;/li&gt;
&lt;li&gt;Revenir sous Firefox et ré appuyer sur &quot;Suivant&quot;. Cette fois ci l'assistant devrait se terminer.&lt;/li&gt;
&lt;li&gt;Voila, c'est fini!!!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour raccorder d'autres ordinateurs sur le même compte, il suffit de refaire les phases de couplage, mais sans la phase de création de l'utilisateur dans la base de données.&lt;/p&gt;


&lt;p&gt;Cette base de données peut contenir les marque pages de plusieurs utilisateurs. Dans ce cas, refaire la procédure complète, avec la création d' l'utilisateur.&lt;/p&gt;


&lt;p&gt;A noter également que dans &quot;Options&quot;, onglet &quot;Sync&quot;, il est possible de voir l'état du compte, ses réglages. La dernière version de Weaver permet de visualiser les quotas (&quot;Gestion du compte&quot;, &quot;Afficher le quota&quot;.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/firefox-sync/ff-sync5.jpg&quot; title=&quot;ff-sync5.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/firefox-sync/.ff-sync5_m.jpg&quot; alt=&quot;ff-sync5.jpg&quot; title=&quot;ff-sync5.jpg, sept. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le produit et rapide et ne mange pas 100 % de CPU comme Xmarks. Il a pour seul inconvénient de ne pas sauver les favicons avec les marque pages, mais ce n'est pas trop grave...&lt;/p&gt;


&lt;p&gt;De plus, avec son propre serveur, les paranos pourront vérifier que leur données sont stockées en environnement connu...&lt;/p&gt;


&lt;p&gt;Bonne installation.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/09/02/Firefox-Synchroniser-marque-pages-mots-de-navigateurs-sur-son-propre-serveur-weave#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/09/02/Firefox-Synchroniser-marque-pages-mots-de-navigateurs-sur-son-propre-serveur-weave#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/62</wfw:commentRss>
      </item>
    
  <item>
    <title>Piloter une CNC par une Arduino avec Grbl : multiplateforme et USB !</title>
    <link>http://www.civade.com/post/2011/06/15/piloter-une-CNC-avec-Arduino-GRBL-moteurs-pas-a-pas</link>
    <guid isPermaLink="false">urn:md5:1021d53f484835abf6061a4c2076905b</guid>
    <pubDate>Wed, 15 Jun 2011 23:32:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>arduino</category><category>cnc</category><category>embarqué</category><category>firmware</category>    
    <description>&lt;p&gt;Les &lt;strong&gt;imprimantes 3D&lt;/strong&gt; (Reprap, dérivés de Reprap, Makerbot) utilisent l'&lt;strong&gt;Arduino&lt;/strong&gt; comme contrôleur embarqué. Ce choix avait été fait pour des raisons de simplicité technique (faible cout d'une Arduino, connexion USB, facilité de programmation, etc.). Plusieurs années plus tard, cela a donné lieu à tout un écosystème de variantes, re-développement, ou nouvelles implémentations d'un micrologiciel pour Arduino ayant toujours le même objectif&amp;nbsp;: Interpréter du Gcode et piloter des moteurs pas à pas.&lt;/p&gt;


&lt;p&gt;Du coup cela offrirait la possibilité de piloter une &lt;strong&gt;CNC&lt;/strong&gt; par un micro ordinateur qui n'est pas nécessairement un PC, et ne dispose en  aucun cas de port parallèle. Le mac devient donc un candidat idéal...&lt;/p&gt;


&lt;p&gt;Toutefois, les imprimantes 3D n'ont pas besoin de rapidité, et un très petit sous ensemble du langage est implémenté, et il n'y a souvent rien pour faire des arcs de cercle.... De plus, ces micrologiciel souffre de gros problèmes de performance, car il ne sont pas optimisé pour tirer parti des fonctionnalités matérielles du processeur de l'Arduino. Ce ne sont donc à priori pas des candidat idéaux pour la réalisation de l'électronique d'une &lt;strong&gt;CNC&lt;/strong&gt; un tant soit peu rapide. Mais nous allons tenter de montrer le contraire....&lt;/p&gt;    &lt;h2&gt;Introduction: la CNC sur arduino&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/freeduino_proto0603-2.jpg&quot; title=&quot;freeduino_proto0603-2.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/.freeduino_proto0603-2_s.jpg&quot; alt=&quot;freeduino_proto0603-2.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;freeduino_proto0603-2.jpg, sept. 2010&quot; /&gt;&lt;/a&gt;Arduino est une petite carte électronique open hardware, avec son environnement de développement open source, qui permet très simplement de développer en C et de tester en envoyant par un lien USB sur la plateforme. Déjà abordée à plusieurs reprises dans ce blog ( &lt;a href=&quot;http://www.civade.com/tag/arduino&quot;&gt;http://www.civade.com/tag/arduino&lt;/a&gt; ), cette plateforme permet très facilement, grâce à une fantastique bibliothèque de code, de faire pratiquement n'importe quoi ... a condition de faire tenir son programme dans les 32Ko de flash  et les 2Ko du processeur ATMEGA368.&lt;/p&gt;


&lt;p&gt;C'est aussi facilement abordable pour un programmeur qui veut se mettre au 'matériel' grâce à la simplicité de mise en œuvre des entrées sorties, qu'à un électronicien qui veut se mettre au logiciel grâce aux nombreux exemples livrés ou disponibles sur l'Arduino Playground ( &lt;a href=&quot;http://www.arduino.cc/playground/&quot;&gt;http://www.arduino.cc/playground/&lt;/a&gt; ).&lt;/p&gt;


&lt;p&gt;Petite visite en vidéo avant de voir le détail:&lt;/p&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/HqvdJVGWfvk?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/HqvdJVGWfvk?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;



&lt;h2&gt;Choix du micrologiciel&amp;nbsp;:&lt;/h2&gt;


&lt;p&gt;Bien sur dans un aussi petit processeur, il n'est pas question de disposer d'une interpolateur de Gcode haut de gamme comme celui intégré dans EMC2 ou Mach3, mais plus d'avoir un compromis acceptable. Par contre, cela permettrait de s'affranchir des contraintes de temps réel, si difficile à obtenir sur PC. En effet, tout le calcul de pas et d'accélération étant confié à un processeur dédié, indépendant, et n'ayant pas à gérer l'environnement graphique de l'utilisateur, cela simplifier l'approche.&lt;/p&gt;


&lt;p&gt;J'ai testé plusieurs solutions d'interpolateur de Gcode pour Arduino, et la plus rapide et fonctionnelle semble Grbl (&lt;a href=&quot;http://dank.bengler.no/-/page/show/5470_grbl&quot;&gt;http://dank.bengler.no/-/page/show/5470_grbl&lt;/a&gt; ).&lt;/p&gt;


&lt;p&gt;Entièrement écrit en C , et optimisé pour tenir parti de fonctionnalités intégrées à l'ATMEGA368 (timers, pwm, etc..),  Il est paramétrable par la liaison série (accélération, nombre de pas par mm pour chaque axe, etc..) et reçoit le Gcode par le même canal.&lt;/p&gt;


&lt;p&gt;Il a été sélectionné par Jonathan Ward, du département 'Machines That Make' du MIT pour son projet 'MTM Snap' ( &lt;a href=&quot;http://mtm.cba.mit.edu/machines/mtm_snap-lock/&quot;&gt;http://mtm.cba.mit.edu/machines/mtm_snap-lock/&lt;/a&gt; ) et par Synthetos comme moteur d'une shield commerciale de moteurs pas à pas nommée Grblshield  ( &lt;a href=&quot;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&quot;&gt;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&lt;/a&gt; ).&lt;/p&gt;


&lt;p&gt;Simen Svale Skogsrud, l'auteur du logiciel, a fait un travail remarquable d'optimisation. Il est toutefois à l'heure de l'écriture de cet article, en plein déménagement (info Twitter!), et ne peut travailler sur le projet depuis une paire de mois. Cette info serait anodine si il n'y avait pas quelques bugs bloquants dans la dernière version, seule à supporter les arcs de cercles.&lt;/p&gt;


&lt;p&gt;Heureusement Riley Porter et Alden Hart (Synthetos) ont apporté les corrections requises au logiciel et les ont proposées à Simen pour intégration. Il y a donc fort à parier que les prochaines versions 'Officielles' de Grbl intègreront ces correctifs.&lt;/p&gt;


&lt;p&gt;Dans les corrections faites&amp;nbsp;;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L'accélération&amp;nbsp;: très buggée sur Grbl 0.6b, et très fonctionnelle sur la version de Synthetos&lt;/li&gt;
&lt;li&gt;Une assignation des broches légèrement différente;&lt;/li&gt;
&lt;li&gt;La gestion de la désactivation des moteurs lorsqu'il n'y a pas de commandes en cours d'exécution (enable);&lt;/li&gt;
&lt;li&gt;Une gestion de polarité de la broche enable inversée (et cela ne vas pas nécessairement nous rendre service... voir plus loin);&lt;/li&gt;
&lt;li&gt;Une gestion des broches 'step' inversée également (même remarque que précédemment);&lt;/li&gt;
&lt;li&gt;Divers petits 'bug fxes'.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Pré requis&amp;nbsp;:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Un PC sous Windows ou Linux, ou un MAC&lt;/li&gt;
&lt;li&gt;L'environnement de développement Arduino&lt;/li&gt;
&lt;li&gt;Un port USB de libre, pour connecter l'Arduino&lt;/li&gt;
&lt;li&gt;3 contrôleurs pour moteurs pas à pas ou une shield Arduino spécialisée (ex:  &lt;a href=&quot;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&quot;&gt;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&lt;/a&gt; ). Dans mon cas, je vais utiliser 3 petits contrôleurs à base de contrôleurs Toshiba TB6560&amp;nbsp;: les PUTB6560 de hwml.com, montés à partir d'un CI acheté chez MCWidgets ( &lt;a href=&quot;http://www.mcwidgets.com/PUTB6560-PCB&quot;&gt;http://www.mcwidgets.com/PUTB6560-PCB&lt;/a&gt; ).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Configuration&amp;nbsp;:&lt;/h2&gt;


&lt;p&gt;Il va tout d'abord falloir récupérer la dernière version de l'environnement de développement Arduino sur le site officiel (http://arduino.cc/en/Main/Software) et l'installer. Je ne donne pas de mode opératoire détaillé, celui-ci étant déjà très largement documenté.&lt;/p&gt;


&lt;p&gt;L'environnement étant installé, nous allons ensuite paramétrer l'ordinateur pour pouvoir utiliser le compilateur C pour AVR en ligne de commande. Cette manipulation est nécessaire, car le programme que nous allons envoyer à l'Arduino n'est pas un sketch Arduino, mais bien un programme en C AVR, optimisé pour le processeur. Mais afin de nous éviter d'installer une chaine de compilation complète, nous allons utiliser cette qui est installée dans l'environnement Arduino, et qui est utilisée lors de la compilation de Sketches de façon transparente par celui-ci.&lt;/p&gt;


&lt;p&gt;Pour ce faire, il va nous falloir ajouter ce chemin à la variable d'environnement $PATH de notre OS.&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;&lt;strong&gt;Sur Mac&lt;/strong&gt;&lt;/ins&gt;, éditer le ficher .bash_profile dans la racine de votre compte et ajouter les lignes suivantes&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# pour utiliser l'environnement Arduino comme compilateur avr
export PATH=$PATH:/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
&lt;/pre&gt;


&lt;p&gt;puis lancer la main la commande pour éviter de relancer un shell&lt;/p&gt;
&lt;pre&gt;
export PATH=$PATH:/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
&lt;/pre&gt;


&lt;p&gt;&lt;ins&gt;&lt;strong&gt;Sur Windows&lt;/strong&gt;&lt;/ins&gt;, faire&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Appuyer simultanément sur les touches &quot;Windows&quot; + &quot;Pause&quot;&lt;/li&gt;
&lt;li&gt;aller dans l'onglet &quot;Avancé&quot;,&lt;/li&gt;
&lt;li&gt;cliquez sur le bouton &quot;variables d'environnement&quot;&lt;/li&gt;
&lt;li&gt;Modifier la variable d'environnement PATH pour ajouter &quot;;C:\Program Files\arduino-0022\hardware\tools\avr\bin;C:\Program Files\arduino-0022\hardware\tools\avr\utils\bin&quot; à la fin.&lt;/li&gt;
&lt;li&gt;Noubliez pas le ';' de séparation&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;ins&gt;&lt;strong&gt;Sur Linux&lt;/strong&gt;&lt;/ins&gt; éditer le ficher .bash_profile dans la racine de votre compte et ajouter de quoi appeler le sous répertoire bin contenant les exe du compilateur AVR.&lt;/p&gt;



&lt;h2&gt;Récupération du firmware&lt;/h2&gt;


&lt;p&gt;Le firmware choisi est le fork réalisé par Synthetos de Grbl. La page d'accueil du projet est ici&amp;nbsp;: &lt;a href=&quot;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&quot;&gt;https://www.synthetos.com/wiki/index.php?title=Projects:grblShield&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Les sources du projet sont à récupérer sur GITHub&amp;nbsp;: &lt;a href=&quot;https://github.com/synthetos/grblShield&quot;&gt;https://github.com/synthetos/grblShield&lt;/a&gt;. Prendre l'archive TGZ disponible. Le fichier ressemblera à ceci&amp;nbsp;: synthetos-grblShield-bc5e96e.tar.gz. Le décompresser.&lt;/p&gt;


&lt;h2&gt;Configuration du firmware&lt;/h2&gt;


&lt;p&gt;Le micrologiciel que nous allons envoyer sur l'Arduino est dans le sous répertoire synthetos-grblShield-bc5e96e/firmware . Nous allons procéder à quelques modifications / configurations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Éditer le fichier &lt;em&gt;config.h&lt;/em&gt;, passer le baudrate à 38400 bauds&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Avant:&lt;/p&gt;

&lt;pre&gt;#define BAUD_RATE 9600&lt;/pre&gt;


&lt;p&gt;Après:&lt;/p&gt;

&lt;pre&gt;#define BAUD_RATE 38400&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Éditer le fichier &lt;em&gt;settings.c&lt;/em&gt; pour réactiver l'invert mask par défaut. Pour ce faire, commenter la ligne&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;//#define DEFAULT_STEPPING_INVERT_MASK 0x1C     //@grblshield/&lt;/pre&gt;


&lt;p&gt;et décommenter la ligne&lt;/p&gt;

&lt;pre&gt;#define DEFAULT_STEPPING_INVERT_MASK 0&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Éditer le fichier &lt;em&gt;protocol.c&lt;/em&gt; afin de mettre en place un hack (affichage de la ligne start) afin de rendre grbl compatible avec replicatorG, Cela nous sera utile lors des tests. (en gras, l'ajout)&lt;/li&gt;
&lt;/ul&gt;
 &lt;pre&gt;
 void protocol_init()
 {
   beginSerial(BAUD_RATE);
   printPgmString(PSTR(&quot;\r\nGrbl &quot; GRBL_VERSION));
   &lt;strong&gt;printPgmString(PSTR(&quot;\r\nstart&quot;));&lt;/strong&gt;
   printPgmString(PSTR(&quot;\r\n&quot;));
 }
 &lt;/pre&gt;



&lt;p&gt;Et enfin, pour faire en sorte que le signal enable soit actif à 1, dans stepper.c, remplacer&amp;nbsp;:&lt;/p&gt;

 &lt;pre&gt;
 static void set_step_events_per_minute(uint32_t steps_per_minute);
 void st_wake_up() {
   STEPPERS_ENABLE_PORT &amp;= ~(1&amp;lt;&amp;lt;STEPPERS_ENABLE_BIT);
   ENABLE_STEPPER_DRIVER_INTERRUPT();
 }
 void st_disable_steppers() {    //@grblshield/
   STEPPERS_ENABLE_PORT |= (1&amp;lt;&amp;lt;STEPPERS_ENABLE_BIT);
   DISABLE_STEPPER_DRIVER_INTERRUPT();
 }
 &lt;/pre&gt;



&lt;p&gt;Par&amp;nbsp;:&lt;/p&gt;

 &lt;pre&gt;
 static void set_step_events_per_minute(uint32_t steps_per_minute);
 void st_wake_up() {
   STEPPERS_ENABLE_PORT |= (1&amp;lt;&amp;lt;STEPPERS_ENABLE_BIT);
   ENABLE_STEPPER_DRIVER_INTERRUPT();
 }
 void st_disable_steppers() {    //@grblshield/
   STEPPERS_ENABLE_PORT &amp;= ~(1&amp;lt;&amp;lt;STEPPERS_ENABLE_BIT);
   DISABLE_STEPPER_DRIVER_INTERRUPT();
 }
&lt;/pre&gt;


&lt;ul&gt;
&lt;li&gt;Enfin, il va nous falloir paramétrer notre &lt;em&gt;Makefile&lt;/em&gt; afin qu'il sache sur quel port série sera vue l'Arduino. Pour ce faire, il va nous falloir&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Remplacer la ligne&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;PROGRAMMER = -c avrisp2 -P usb&lt;/pre&gt;


&lt;p&gt;par (sous windows)&lt;/p&gt;

&lt;pre&gt;PROGRAMMER = -C &quot;C:\Program Files\arduino-0022\hardware\tools\avr\etc\avrdude.conf&quot; -c stk500v1 -P COM5 -b57600&lt;/pre&gt;


&lt;p&gt;ou (sous OSX)&lt;/p&gt;

&lt;pre&gt;PROGRAMMER = -c stk500v1 -P /dev/tty.usbserial-A7006R7r -b57600&lt;/pre&gt;


&lt;p&gt;Bien sur le nom du port série (derrière option -P) est à remplacer en fonction de votre config...&lt;/p&gt;



&lt;h2&gt;Build et programmation du firmware&lt;/h2&gt;


&lt;p&gt;Nettoyer les résultats d'une éventuelle précédente compilation&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;make clean&lt;/pre&gt;


&lt;p&gt;Compiler et programmer à la volée&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;make flash&lt;/pre&gt;


&lt;p&gt;Ceci nous donne le résultat suivant (ici, sous windows), ou l'on voit la copmpilation puis la programmation de l'Arduino, ert enfin la vérification:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/grbl/compilation.jpg&quot; title=&quot;compilation.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/.compilation_m.jpg&quot; alt=&quot;compilation.jpg&quot; title=&quot;compilation.jpg, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Connexions et Tests&lt;/h2&gt;


&lt;h3&gt;Premiers tests et paramétrage de l'Arduino&amp;nbsp;:&lt;/h3&gt;

&lt;p&gt;Pour ces premiers tests, il va nous falloir raccorder l'Arduino au micro ordinateur. Le plus simple est ensuite de lancer l'environnement de développement Arduino, et sélectionner le port série sur lequel est raccordé la carte dans le menu &quot;Tools/Serial port&quot;.&lt;/p&gt;


&lt;p&gt;Nous allons ensuite cliquer sur l'icone &quot;serial monitor&quot; (à droite) et changer la vitesse de connexion pour mettre 38400 bauds (en bas à droite du serial monitor), valeur que nous avons changé avant la recompilation.&lt;/p&gt;


&lt;p&gt;L'écran nous affiche&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;Grbl 0.6b
start
'$' to dump current settings&lt;/pre&gt;



&lt;p&gt;La carte est prête à recevoir des commandes. Nous allons maintenant examiner les paramètres de la carte. Pour ce faire, il suffit de lancer la commande &quot;$&quot; et de faire entrée. Un liste des variables avec les paramètres courants est affichée:&lt;/p&gt;


&lt;pre&gt;$0 = 640.0 (steps/mm x)
$1 = 640.0 (steps/mm y)
$2 = 640.0 (steps/mm z)
$3 = 3 (microseconds step pulse)
$4 = 480.0 (mm/min default feed rate)
$5 = 480.0 (mm/min default seek rate)
$6 = 0.100 (mm/arc segment)
$7 = 0 (step port invert mask. binary = 0)
$8 = 100.0 (acceleration in mm/sec^2)
$9 = 300.0 (max instant cornering speed change in delta mm/min)
'$x=value' to set parameter or just '$' to dump current settings
ok&lt;/pre&gt;


&lt;p&gt;Grbl fonctionne avec un certain nombre de variables internes, qui sont sauvegardées en e2prom, de façon à résister à l'extinction. Pour changer la valeur d'une variable, c'est simple. Il suffit de taper &quot;nom de la variable&quot;=valeur. Le séparateur décimal est un '.' ainsi, pour indiquer que la résolution de l'axe X est de 220,5 pas par millimètre, il suffit de taper&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$0=220.5&lt;/pre&gt;


&lt;p&gt;Ici, j'ai programmé la carte pour gérer une vis sans fin de 5mm / tour, des moteurs à 200 pas par tour, et un contrôleur fonctionnant en micropas (1/16e de pas). Dans ce cas, il faudra 200 x 16 = 3200 pas pour faire 5mm. La valeur à indiquer en résolution des axes est donc de 3200 /  5mm = 640 pas / mm (paramètres $0 $1 $2).&lt;/p&gt;


&lt;p&gt;La largeur d’impulsion de pas est réglable également. Ici, j'ai indiqué 3 microsecondes par impulsion ($3)&lt;/p&gt;


&lt;p&gt;$4 et $5 sont réservés pour régler les vitesses par défaut en usinage ($4) et en déplacement rapide ($5);&lt;/p&gt;


&lt;p&gt;$6 sert à régler la résolution des arcs. Ceux ci sont en effet rendus comme de petits segments de droite. La taille de ces segments est indiquée ici`;&lt;/p&gt;


&lt;p&gt;$7 permet de mettre un masque d'inversion des signaux de pas et de direction pour chaque axe. Pour chacun d'entre eux devant être inversé, prendre la valeur ci dessous, en faire la somme et l'assigner à $7:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pas X&amp;nbsp;: 1&lt;/li&gt;
&lt;li&gt;Pas Y&amp;nbsp;: 2&lt;/li&gt;
&lt;li&gt;Pas Z&amp;nbsp;: 4&lt;/li&gt;
&lt;li&gt;Direction X&amp;nbsp;: 8&lt;/li&gt;
&lt;li&gt;Direction Y&amp;nbsp;: 16&lt;/li&gt;
&lt;li&gt;Direction Z&amp;nbsp;: 32&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ainsi pour inverser la direction de X et Y, il suffirait de mettre 24 (16+8) dans $7.&lt;/p&gt;


&lt;p&gt;$8 permet de régler l'accélération MAX.&lt;/p&gt;


&lt;p&gt;Et enfin, $9 permet de régler la valeur au dessus de laquelle, lors du passage d'une vitesse à une autre, on passera par le gestionnaire d'accélération au lieu de faire un changement de vitesse instantané.&lt;/p&gt;


&lt;p&gt;Après avoir paramétré la carte avec vos valeurs, nous voila prêts pour la suite.&lt;/p&gt;


&lt;h3&gt;Câblage de la carte aux contrôleurs pas à pas&lt;/h3&gt;

&lt;p&gt;Tel que le code a été modifié puis compilé, tous les signaux sont en logique positive, c'est à dire que les impulsions de pas sont données à l'état 1 (5V), idem pour le signal enable, qui valide avec un 5V les déplacements du moteur. Il va donc falloir maintenant raccorder notre carte arduino à un contrôleur pas à pas qui va gérer la puissance . Voici la fonction des différentes broches de l'Arduino (réglages par défaut de la version 0.6b modifiée par Synthetos)&amp;nbsp;:&lt;/p&gt;

&lt;table&gt;
&lt;tr&gt;&lt;td&gt; Fonction &lt;/td&gt;&lt;td&gt; Broche Arduino &lt;/td&gt;&lt;td&gt; Commentaire

&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Step X &lt;/td&gt;&lt;td&gt; Digital 2 &lt;/td&gt;&lt;td&gt; Impulsion de pas axe X 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Dir X  &lt;/td&gt;&lt;td&gt; Digital 5 &lt;/td&gt;&lt;td&gt; Direction axe X 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Step Y &lt;/td&gt;&lt;td&gt; Digital 3 &lt;/td&gt;&lt;td&gt; &quot; &quot; Y 

&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Dir Y  &lt;/td&gt;&lt;td&gt; Digital 6 &lt;/td&gt;&lt;td&gt; &quot; &quot; Y 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Step Z &lt;/td&gt;&lt;td&gt; Digital 4 &lt;/td&gt;&lt;td&gt; &quot; &quot; Z 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Dir Z  &lt;/td&gt;&lt;td&gt; Digital 7 &lt;/td&gt;&lt;td&gt; &quot; &quot; Z 

&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Stepper enable &lt;/td&gt;&lt;td&gt; Digital 8 &lt;/td&gt;&lt;td&gt; Activation des tous les axes 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Limite X &lt;/td&gt;&lt;td&gt; Digital 9 &lt;/td&gt;&lt;td&gt;  Contact de limite d'axe X 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Limite Y &lt;/td&gt;&lt;td&gt; Digital 10 &lt;/td&gt;&lt;td&gt; Contact de limite d'axe Y 

&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Limite Z &lt;/td&gt;&lt;td&gt; Digital 11 &lt;/td&gt;&lt;td&gt; Contact de limite d'axe Z 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Broche active &lt;/td&gt;&lt;td&gt; Digital 12 &lt;/td&gt;&lt;td&gt; Démarre la broche 
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Direction Broche &lt;/td&gt;&lt;td&gt; Digital 13 &lt;/td&gt;&lt;td&gt; Change le sens de rotation de la broche 

&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;



&lt;h3&gt;Tests avec le serial monitor&lt;/h3&gt;

&lt;p&gt;Après avoir raccordé nos contrôleurs à l'Arduino (ne pas oublier de raccorder aussi une masse!), les moteurs aux contrôleurs, et alimenté le tout, on va pouvoir passer aux essais. Le plus simple est de la faire toujours avec l'environnement Arduino et le serial monitor. Taper les commandes suivantes pour vérifier le bon fonctionnement&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;G90
G00 X100 F50&lt;/pre&gt;


&lt;p&gt;Le moteur de l'axe X va faire un déplacement de 100mm à 50 mm / minutes... Pour tester l'axe Y&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;G00 Y100.0 F400&lt;/pre&gt;


&lt;p&gt;Cette fois c'est le moteur de l'axe Y qui va se déplacer de 100mm, mais à 400 mm par minute. En ainsi de suite pour l'axe Z. Il est ainsi possible de tester la vitesse max, la vitesse d'accélératon, etc..&lt;/p&gt;


&lt;p&gt;A noter que l'Arduino répond &quot;ok&quot; a chaque fois qu'une commande a été comprise et exécuté. La faible quantité de mémoire ram disponible sur le processeur de l'Arduino ne permet que de mettre une ligne de Gcode en tampon.&lt;/p&gt;


&lt;p&gt;Il est donc nécessaire de 'streamer' le gcode à l'aide d'un programme, qui devra attendre le retour de l'Arduino ('ok') avant de renvoyer une autre commande. Pas pratique... Un script Ryby est livré avec la version originale de Grbl, qui a cet usage.&lt;/p&gt;


&lt;h3&gt;Tests avec ReplicatorG&lt;/h3&gt;

&lt;p&gt;Une autre méthode de test est d'utiliser ReplicatorG, le logiciel conçu pour piloter les imprimantes 3D Makerbot. Écrit en Java, et basé sur le code de l'environnement de l'Arduino, ce programme a le bon gout de fonctionner aussi bien sur Windows, Linux et OSX.&lt;/p&gt;


&lt;p&gt;La première choses à faire est de le télécharger et l'installer à partir de &lt;a href=&quot;http://code.google.com/p/replicatorg/downloads/list&quot;&gt;http://code.google.com/p/replicatorg/downloads/list&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Après l'avoir installé, il va nous falloir créer une configuration spécifique pour l'Arduino. Il existe plusieurs 'drivers' dans ReplicatorG. L'un d'entre eux nous intéresse particulièrement puisqu'il est conçu pour passer le Gcode au port série ligne par ligne, en attendant de recevoir le message &quot;ok&quot; avant d'envoyer la ligne suivante.&lt;/p&gt;


&lt;p&gt;C'est ce driver que nous allons exploiter. Mais pour cela il va nous falloir créer une config de machine. Sur ReplicatorG, elles sont stockées dans le sous répertoire machines, sous forme de fichier XML.&lt;/p&gt;


&lt;p&gt;A cet effet, j'ai créé une config&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/grbl/arduino-grbl.xml&quot;&gt;arduino-grbl.xml&lt;/a&gt;. Il suffit de copier ce ficher dans le sous répertoire &quot;Machines et lancer ReplicatorG.&lt;/p&gt;


&lt;p&gt;Lors du 1er lancement, ReplicatorG indique qu'aucune machine n'est connectée&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/grbl/not-connected.png&quot; title=&quot;not-connected.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/.not-connected_m.jpg&quot; alt=&quot;not-connected.png&quot; title=&quot;not-connected.png, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Nous allons ensuite sélectionner le pilote que nous venons tout juste d'installer. Pour ce faire, aller dans le menu &quot;Machine&quot;, puis &quot;Driver&quot;, et sélectionner &quot;Grbl 38400 bauds&quot;&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/grbl/choix-driver.png&quot; title=&quot;choix-driver.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/.choix-driver_m.jpg&quot; alt=&quot;choix-driver.png&quot; title=&quot;choix-driver.png, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Enfin, la dernière étape consiste à sélectionner le port série sur lequel votre arduino est connectée dans le menu &quot;Machine&quot; puis &quot;Serial Port&quot;.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/connect.png&quot; alt=&quot;connect.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;connect.png, juin 2011&quot; /&gt;Cliquer ensuite sur le bouton &quot;connect&quot; (avant dernier à droite) afin d'initialiser la connexion avec la machine.&lt;/p&gt;


&lt;p&gt;La machine est alors connectée et le bandeau supérieur passe en vert&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/grbl/grbl.jpg&quot; title=&quot;grbl.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/.grbl_m.jpg&quot; alt=&quot;grbl.jpg&quot; title=&quot;grbl.jpg, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;L'icone de control panel (les 4 fleches) vous permet ensuite d'accéder à un panneau de contrôle autorisant la commande manuelle de  la machine.
&lt;a href=&quot;http://www.civade.com/images/grbl/panel.jpg&quot; title=&quot;panel.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/.panel_m.jpg&quot; alt=&quot;panel.jpg&quot; title=&quot;panel.jpg, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Il y a plus d'explications en images dans la vidéo ci dessus...&lt;/p&gt;


&lt;h2&gt;Envoi de programme Gcode en production&amp;nbsp;: solution performante et rapide en python&lt;/h2&gt;

&lt;p&gt;Comme on l'a vu, si c'est simple de tester du gcode soit en tapant des commandes à la main dans un terminal série, soit en l'envoyant avec ReplicatorG, il va néanmoins nous falloir trouver une solution plus pratique pour la mise en production. Cette solution doit être simple, multiplateforme, et ne nécessiter que peu de connaissance en informatique.&lt;/p&gt;


&lt;p&gt;J'ai clairement abandonné le script écrit en Ruby livré avec Grbl. En effet, si Ruby fonctionne nativement sur Mac et Linux, il est très lent sous windows et il n'y a aucune façon simple d'installer la librairie 'serial' nécessaire pour la communication avec l'Arduino. Je suis arrivé au bout, mais quelle galère et quel manque de perf....&lt;/p&gt;


&lt;p&gt;Sur le site Contraptor, j'ai trouvé une un script nommé 'stream.py' sur &lt;a href=&quot;http://www.contraptor.org/motion-control&quot;&gt;cette page&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Python est natif sur mac et Linux, et assez facile à installer sous Windows. De plus, la librairie serial s'installe très facilement sous Windows puisqu'il s'agit d'un install.exe. Python est donc un bon choix.&lt;/p&gt;


&lt;p&gt;Sous Windows, il faut l'installer à partir de &lt;a href=&quot;http://www.python.org/download/&quot;&gt;http://www.python.org/download/&lt;/a&gt;. Il va également nous falloir installer la librairie serial ( &lt;a href=&quot;http://sourceforge.net/projects/pyserial/&quot;&gt;http://sourceforge.net/projects/pyserial/&lt;/a&gt; ) qui va assurer la communication avec l'Arduino.&lt;/p&gt;


&lt;p&gt;Après l'installation sous Windows, les fichiers .py sont automatiquement associés à Python.&lt;/p&gt;


&lt;p&gt;J'ai modifié le script stream.py décrit ci dessus afin&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;De supporter le passage d'un paramètre&amp;nbsp;: le nom du fichier à streamer&lt;/li&gt;
&lt;li&gt;De sortir un message d'information quand le fichier n'est pas passé en paramètres&lt;/li&gt;
&lt;li&gt;De revoir les temps de timeout lors de la connexion à l'Arduino, et la boucle qui vide le buffer de réception du port série.&lt;/li&gt;
&lt;li&gt;De demander l'appui sur une touche à la fin du streaming du fichier afin de pouvoir lire le résultat de l'exécution du programme Gcode&lt;/li&gt;
&lt;li&gt;D'ajouter des commentaires et exemples de paramétrage de la variable 'port_id' pour mieux comprendre comment utiliser ce script sur PC/Mac/Linux&lt;/li&gt;
&lt;li&gt;De traiter le cas d'un gcode non supporté (&quot;error: Unsupported statement&quot;), qui n'était pas traité dans la version initiale. Quand on rencontre une erreur, désormais on continue l'exécution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ma version du stream.py peut être téléchargée ici&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/grbl/stream.py&quot;&gt;stream.py&lt;/a&gt;.
Voici également un petit fichier gcode pour faire des tests&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/grbl/test.gcode&quot;&gt;test.gcode&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Avant utilisation, le fichier stream.py doit être paramétré pour refléter le port série sur lequel est branché l'arduino, et le type de plateforme. Tout est dans les commentaires.&lt;/p&gt;


&lt;p&gt;Ensuite, il est très facile à utiliser. Sous linux ou mac, il suffit de lancer la commande suivante pour lancer le streaming&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;stream.py nom_du_fichier_a_streamer.gcode&lt;/pre&gt;


&lt;p&gt;Su PC c'est désormais encore plus simple puisqu'il suffit de placer le script python sur le bureau, et de drag'n dropper le fichier gcode dessus... (voir vidéo ci dessus).  Le script prendra automatiquement en paramètre le fichier Gcode qu'on lui soumet par ce biais. L'attente d'appui d'une touche à la fin permettra de lire le résultat d’exécution avant la fermeture de la fenêtre.&lt;/p&gt;


&lt;p&gt;Il y a une démo de fonctionnement sous Linux et Windows dans la vidéo en début d'article.&lt;/p&gt;



&lt;h2&gt;Envoi de programme Gcode en production&amp;nbsp;: solution utilisant processing&lt;/h2&gt;


&lt;p&gt;Jonathan Ward, du MIT, propose une application en Processing pour faire le boulot (http://mtm.cba.mit.edu/machines/mtm_snap-lock/build/software.html ).
Cela nécessite d'installer tout d'abord Processing, opération simple à partir des archives disponibles sur l'espace de télépchargement du site éponyme&amp;nbsp;: &lt;a href=&quot;http://processing.org/download/&quot;&gt;http://processing.org/download/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;L'interface est décevante, en mode texte, aussi ais-je rapidement laissé tombé.
&lt;img src=&quot;http://www.civade.com/images/grbl/gctrl.png&quot; alt=&quot;gctrl.png&quot; title=&quot;gctrl.png, juil. 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Un lecteur du blog, m'a toutefois signalé une article sur une conversion de MF70 réalisée avec GRBL: &lt;a href=&quot;http://www.thebox.myzen.co.uk/Hardware/CNC_Conversion.html&quot;&gt;http://www.thebox.myzen.co.uk/Hardware/CNC_Conversion.html&lt;/a&gt;. L'auteur a notamment eu la bonne idée de développer un panneau de contrôle également écrit en processing.&lt;/p&gt;


&lt;p&gt;Les sources sont disponibles ici: &lt;a href=&quot;http://www.thebox.myzen.co.uk/Hardware/CNC_Conversion_files/Processing_CNC.zip&quot;&gt;http://www.thebox.myzen.co.uk/Hardware/CNC_Conversion_files/Processing_CNC.zip&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Celui-ci est assez complet et ergonomiquement plaisant à utiliser. Il dispose de contrôles manuels et d'une fonction de streaming de Gcode.&lt;/p&gt;


&lt;p&gt;En voici une copie d'écran&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/grbl/cnc_controller.png&quot; alt=&quot;cnc_controller.png&quot; title=&quot;cnc_controller.png, juil. 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Sa compilation sous processing ne pose qu'un seul probleme&amp;nbsp;: il faut préalablement avoir téléchargé la librairie ControlIP5 à partir de &lt;a href=&quot;http://www.sojamo.de/controlP5&quot;&gt;http://www.sojamo.de/controlP5&lt;/a&gt;, et l'avoir décompressé dans un sous dossier 'libraries' du dossier de projets Processing. C'est cette librairie qui va gérer l'affichage graphique du control panel.&lt;/p&gt;


&lt;p&gt;Je ne l'ai pas encore testé en conditions réelles, je le ferai dès que je serai à proximité de ma maquette...&lt;/p&gt;



&lt;p&gt;D'ici là, bonne bidouille...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/06/15/piloter-une-CNC-avec-Arduino-GRBL-moteurs-pas-a-pas#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/06/15/piloter-une-CNC-avec-Arduino-GRBL-moteurs-pas-a-pas#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/61</wfw:commentRss>
      </item>
    
  <item>
    <title>DIY: Réalisation d'un éclairage de broche VFD à LED pour une CNC</title>
    <link>http://www.civade.com/post/2011/06/07/DIY-Realisation-eclairage-broche-VFD-LED-pour-une-CNC</link>
    <guid isPermaLink="false">urn:md5:3aae7cb2024c43b5ab408a1c7ce7f49e</guid>
    <pubDate>Tue, 07 Jun 2011 00:12:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;Une petite réalisation rapide pour une machine de CNC: un éclairage de broche. En effet, il n'est pas toujours facile de voir ce qui se passe sous l'outil... Avec de la lumière, c'est mieux!&lt;/p&gt;    &lt;p&gt;La broche de la CNC fait 80 mm de diamètre. Afin de simplifier la fixation, j'ai pris un raccord femelle pour tube PVC 80mm. Il se fixe pile poil sur la broche, avec un léger serrage qui fait que cela tient tout seul et est démontable.&lt;/p&gt;


&lt;p&gt;J'ai acheté 100 leds blanches de 17000 mcd à 5,50 euros chez Sure Electronics. Celles-ci s'alimentent en 3V, et nécessitent un courant de 20 ma.&lt;/p&gt;


&lt;p&gt;Je souhaite alimenter le tout en 12V.  Je vais ici  alimenter les leds en 2.95V, en les mettant en série 4 par 4, ce qui fait une chute de tension aux bornes de la résistance de 12-(2.95*4)= 200 mV. La résistance R de limitation de courant devra donc faire U/I = 0.2/0.02 = 10 ohms. La puissance de la résistance sera de P=UI=4mW. 10 groupes de 4 leds consommeront 40mW. Je vais donc mettre en commun la résistance comme ceci&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/eclairage-broche/schema-eagle.png&quot; title=&quot;schema-eagle.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/eclairage-broche/.schema-eagle_m.jpg&quot; alt=&quot;schema-eagle.png&quot; title=&quot;schema-eagle.png, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Les 40 leds, devront être réparties uniformément en cercle, ce qui nous donne un angle de 360/400 = 9 degrés.&lt;/p&gt;


&lt;p&gt;Le circuit imprimé devra rentrer très exactement dans le tube PVC, et donc faire un diamètre extérieur de 80mm.&lt;/p&gt;


&lt;p&gt;J'ai utilisé Eagle light pour faire le circuit imprimé. Le placement en coordonnées polaires va permettre de placer les leds simplement. Pour ce faire, il faut matérialiser un centre avec la commande suivante (ici, le centre est à x=40, Y=40):&lt;/p&gt;

&lt;pre&gt;
mark (40 40)
&lt;/pre&gt;


&lt;p&gt;Ensuite, pour chaque led, il suffit de la placer de 9 en 9 degrés... puis de la tourner de 90 degrés + le nombre de fois 9 degrés correspondant à la position de la led&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
move LED1 (P 35 0); rotate R90 LED1;
move LED2 (P 35 9); rotate R99 LED2;
move LED3 (P 35 18); rotate R108 LED3;
move LED4 (P 35 27); rotate R117 LED4;
...
&lt;/pre&gt;


&lt;p&gt;Le routage circulaire n'est pas une partie de plaisir. En effet, il n'y a pas de fonction a proprement parler pour faire des pistes circulaires.. Il faut donc tracer un cercle de construction, puis suivre ce cercle avec de petits segments de piste coté soudures (bleu). Pour ce faire, autant passer en as 0.635mm sur la grille.. Laborieux, mais bon.&lt;/p&gt;


&lt;p&gt;La résistance et le connecteur vers le 12V ont étés placés en périphérie. Ils peuvent être montés indifféremment côté composant ou côté soudures.&lt;/p&gt;


&lt;p&gt;Le résultat donne ceci&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/eclairage-broche/routage-eagle.png&quot; title=&quot;routage-eagle.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/eclairage-broche/.routage-eagle_m.jpg&quot; alt=&quot;routage-eagle.png&quot; title=&quot;routage-eagle.png, juin 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le CI a ensuite été préparé avec le plugin PCBGCODE, puis usiné avec EMC2. A noter que la génération d'un contour de découpe circulaire ne peut pas être faite avec un cercle, mais avec 2 demi cercles (arcs); En effet, un bug dans la passerelle ne prend pas en compte les cercles dessinés sur la couche 'milling'...&lt;/p&gt;


&lt;p&gt;Les fichiers sont préparés avec une point à 45 degrés de 0.3mm pour les traces, et une fraise à bout plat de 1mm pour la découpe de la carte. Pour l'usinage, la coller au scotch double face sur le martyr, car pcbgcode a décidé de découper d'abord l'extérieur, puis l'intérieur, ce qui ne va pas faire ns affaires si la pièce est bridée...&lt;/p&gt;


&lt;p&gt;Voici une archive qui contient les fichiers du projet Eagle (schema + PCB) , les fichiers Gcode (usinage + percage + découpe). Le fichier excel contient la liste des ordres de placement: &lt;a href=&quot;http://www.civade.com/images/cnc/eclairage-broche/spindle-led.zip&quot;&gt;spindle-led.zip&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Enfin, j'ai réalisé une petite couronne circulaire en plastique blanc, qui fait aussi très exactement 80mm de diamètre. Elle assure la diffusion de la lumière et la fixation de l'ensemble, étant emmanché en force dans le tube PVC par dessus les leds.&lt;/p&gt;


&lt;p&gt;La lumière est ainsi uniformément répartie autour de la fraise, et permet de bien voir l'usinage en cours.&lt;/p&gt;


&lt;p&gt;Comme des images valent mieux qu'un long discours, une petite video Youtube permettra de faire le tour  de la chose:&lt;/p&gt;
&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/yHhVDQTfMlQ?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/yHhVDQTfMlQ?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;
</description>
    
    
    
          <comments>http://www.civade.com/post/2011/06/07/DIY-Realisation-eclairage-broche-VFD-LED-pour-une-CNC#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/06/07/DIY-Realisation-eclairage-broche-VFD-LED-pour-une-CNC#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>Contrôleur pas à pas Toshiba TB6560 et pilotage micropas: Pertes de pas et problèmes de fréquence d'horloge</title>
    <link>http://www.civade.com/post/2011/05/27/Controleur-pas-a-pas-Toshiba-TB6560-datasheet-probleme-horlogue-haute-vitesse-perte-pas</link>
    <guid isPermaLink="false">urn:md5:b397cd69a8527e8284ebdd76b2c08523</guid>
    <pubDate>Fri, 27 May 2011 22:48:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;Après avoir travaillé sur &lt;a href=&quot;http://www.civade.com/post/2010/10/04/Faut-il-jeter-votre-controleur-pas-%C3%A0-pas-chinois-pour-CNC-%C3%A0-base-de-TB6560-achet%C3%A9-%C3%A0-50%24-sur-Ebay-TB3-TB4&quot;&gt;une première correction d'un contrôleur pas à pas chinois acheté sur Ebay&lt;/a&gt;, j'ai acheté un autre contrôleur pour une autre machine, qui ne m'a pas entièrement donné satisfaction. En effet, bien qu'il ne rate pas de pas en basse vitesse, ses performances ne permettaient pas d'aller aussi vite que celui que j'avais modifié. J'ai donc creusé la question et trouvé l'origine du problème, qui touche la plupart des contrôleurs du marché...
Voyons comment, après une lecture attentive de la documentation du composant TB6560, on apprend comment -  en changeant un simple condensateur -  multiplier les performances par 4... voir plus.&lt;/p&gt;    &lt;h2&gt;INTRO&lt;/h2&gt;

&lt;p&gt;Le précédent article sur le sujet visait à corriger des défauts de conception sur un contrôleur chinois. Pour la machine suivante j'ai acheté un contrôleur supposé bien mieux fonctionner.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/tb6560.jpg&quot; title=&quot;tb6560.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.tb6560_m.jpg&quot; alt=&quot;tb6560.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;tb6560.jpg, mai 2011&quot; /&gt;&lt;/a&gt;
Celui-ci corrige effectivement bien des défauts de l'autre&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;4 axes intégrés&lt;/li&gt;
&lt;li&gt;Connecteur pour l'extension à un 5e axe, ou pour disposer des 2 sorties et de l'enable pour un autre usage (ex: commande de broche VFD);&lt;/li&gt;
&lt;li&gt;Connecteur pour 4 entrées fin de course, optocouplées;&lt;/li&gt;
&lt;li&gt;Large dissipateur, pour un refroidissement totalement passif;&lt;/li&gt;
&lt;li&gt;Opto isolation du port parallèle complète et fonctionnelle&lt;/li&gt;
&lt;li&gt;Régulateur 5V à découpage&amp;nbsp;: ne chauffe pas;&lt;/li&gt;
&lt;li&gt;Commande de broche sur relais, avec diode d'anti-retour et relais 220V 6A;&lt;/li&gt;
&lt;li&gt;Leds de témoin d'alimentation et d'activité sur chaque axe;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voici le synoptique de la carte&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/tb6560-diagram.jpg&quot; title=&quot;tb6560-diagram.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.tb6560-diagram_m.jpg&quot; alt=&quot;tb6560-diagram.jpg&quot; title=&quot;tb6560-diagram.jpg, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le fabriquant de la carte annonce d'ailleurs avoir corrigé bien des défauts de l'autre carte et se permet même une petite publicité comparative&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/tb6560-comparison.jpg&quot; title=&quot;tb6560-comparison.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.tb6560-comparison_m.jpg&quot; alt=&quot;tb6560-comparison.jpg&quot; title=&quot;tb6560-comparison.jpg, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;LE PROBLÈME ET THÉORIE&lt;/h2&gt;


&lt;p&gt;La carte dispose de 3 réglages par moteur&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le courant de pilotage du moteur, qui est une donnée constructeur. Il ne sert à rien de piloter un moteur 3A à 4A, cat il est conçu pour fonctionner à 3A. Les ciruits magnétiques seront saturés, ce qui aura pour effet de chauffer. Mettre donc la valeur s'approchant le plus du moteur sans la dépasser.&lt;/li&gt;
&lt;li&gt;Le mode de pilotage (pas pleins, demi pas, etc..). C'est un compromis entre la précision espérée, et la vitesse max espérée. Plus on met de micro pas et moins on va vite... Il faut donc partir de la précision souhaitée, afin de déterminer le nombre de micro pas souhaité. Voir ci dessous les calculs.&lt;/li&gt;
&lt;li&gt;Le réglage de decay (ou décroissement du courant après le pic d'attaque).  En décroissant rapidement le courant, on limite le bruit, mais on a moins de couple. Compromis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lors des séances d'essais, et alimentée sous 24V, cette carte s'est révélée bien fonctionner à de faibles vitesses, et sans faire de micro pas. Mais dès que l'on essaye d'aller soit vite, soit en pilotage micro-pas, les moteurs font un grognement annonciateur de perte de pas bien avant avoir quitté le domaine de fonctionnement du moteur.&lt;/p&gt;


&lt;p&gt;Il est possible de repousser un peu les limites de l'apparition de ce grognement en jouant avec le réglage de  decay, mais alors les moteurs deviennent très bruyants (sifflement) à basse vitesse ce qui est très désagréable. On a donc le choix entre un pilotage favorisant les hautes vitesses, mais qui siffle à basse vitesse (en forçant sur le decay), et un qui ne siffle pas à basse vitesse, mais grigne à haute vitesse et perd des pas...&lt;/p&gt;


&lt;p&gt;Les 2 bruits distincts, sont une très bonne indication de ce qui se passe&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grognement:  annonce un glissement de pas, c'est à dire une perte de pas. Pas bon .&lt;/li&gt;
&lt;li&gt;Sifflement&amp;nbsp;: Annonce que les bobines des moteurs entrent en résonance à cause d'un courant trop fort, ou d'un pilotage incorrect. Ca marche, mais c'est très désagréable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le même test effectué avec la carte 'bleue', montre un fonctionnement plus fluide, et rentre un peu plus dans le domaine de fonctionnement, sans pour autant que cela soit parfait. Apparemment, ce serait lié aux disparités de valeurs sur les condensateurs, dont la tolérance est de 20 % (oui, c'est énorme...).&lt;/p&gt;


&lt;p&gt;La lecture du datasheet du composant TB6560 s'est révélée des plus instructives. En effet, on voit notamment que le composant dispose d'une horloge interne qui sert à générer les timings de micro-pas. Plus on demande de micro-pas par tour, et plus il faut de coups d'horloge pour les générer.&lt;/p&gt;


&lt;p&gt;Ainsi, en 16e de pas, il ne faut pas moins de 64 coups d'horloge pour générer un tour complet, comme le témoigne la figure suivante&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/16e-pas.png&quot; title=&quot;16e-pas.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.16e-pas_m.jpg&quot; alt=&quot;16e-pas.png&quot; title=&quot;16e-pas.png, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Un autre chapitre du datasheet concerne cette génération d'horloge justement. Il y est dit que la fréquence d'horloge est fixée par un condensateur connecté entre la broche 'OSC' (3) et la masse. Un petit tableau nous indique les valeurs possibles&amp;nbsp;:
&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/horloge.png&quot; title=&quot;horloge.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.horloge_m.jpg&quot; alt=&quot;horloge.png&quot; title=&quot;horloge.png, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Et c'est justement là que le bas blesse. En effet, dans beaucoup d'implémentations du schéma de référence sur des cartes commerciales, la note 2 (voir tableau ci dessus) a conduit les designers à choisir la valeur médiane (330 Pf) du tableau, qui donne 130 kHz comme fréquence d’horloge. Or, à 130 kHz justement, et en 1/16e de pas, la fréquence de pas ne pourrait dépasser 130/64= &lt;strong&gt;2.03 kHz&lt;/strong&gt;. Avec un moteur à 200 pas par tour et toujours en 16e de pas, ceci nous ferait donc &lt;strong&gt;1 tour = 200x16= 3200 pas&lt;/strong&gt;. La vitesse maximum du moteur serait donc de 2030/3200=0.635 tour / seconde, soit &lt;strong&gt;38 tours / minute&lt;/strong&gt;...  Sur ma machine de CNC qui dispose d'une vis avec un pas de 5mm par tour, &lt;strong&gt;la vitesse max serait donc de 190mm / minute en 16e de pas&lt;/strong&gt;. Cette vitesse augmente en 1/4 de pas, augmente encore en 1/2 pas et encore en plein pas, mais au détriment de la précision. En effet, sur ma machine, toujours en 5mm/tour de vis, la précision serait donc de 5/3200= 0.0015mm (1.5 millièmes de mm), alors qu'elle descend à 0.00625mm en 1/4 de pas (six  millièmes). Bien qu'une précision d el'ordre du centième soit déjà très excessive, je vais rester en 16e de pas.&lt;/p&gt;


&lt;p&gt;La note 1 donne la piste de solution&amp;nbsp;: Si on veut une fréquence de pas plus importante, il faut augmenter la fréquence de l'oscillateur interne.  &lt;strong&gt;En passant le condensateur à 100pF&lt;/strong&gt;, la fréquence interne augmente et passe à 400 kHz. En refaisant les calculs ci dessus, la fréquence de pas augmente à&lt;strong&gt; 6.25 Khz&lt;/strong&gt;. Toujours à 200 pas par tout en 16e de pas, la vitesse max passe à 6025/3200=1.95tour /seconde, soit &lt;strong&gt;117 tour / minute&lt;/strong&gt;. Avec une vis au pas de 5mm / tour,&lt;strong&gt; c'est donc une vitesse théorique max de 585 mm / minute&lt;/strong&gt;, c'est à dire &lt;ins&gt;&lt;strong&gt;plus de trois fois la vitesse max atteignable par défaut....&lt;/strong&gt;&lt;/ins&gt;&lt;/p&gt;


&lt;p&gt;Toujours avec un condensateur à 100pF, mais en 1/4 de pas, la vitesse théorique de déplacement doublerait, soit 1170 mm / minutes.&lt;/p&gt;


&lt;h2&gt;EN PRATIQUE&lt;/h2&gt;

&lt;p&gt;Il est clair que d'après ce calculs (et si ils sont justes... si vous voyez une erreur, n'hésitez pas à me corriger), il est illusoire d'atteindre des vitesses de Jog de 2500 millimètres par minute, en 16e de pas, et avec une vis mère de 5  avec ce type de contrôleur...&lt;/p&gt;


&lt;p&gt;Nous allons donc modifier la fréquence d'horloge de la carte en changeant les 4 condensateurs. Il nous faut donc 4 condos de 100pF cms (chez votre détaillant électronique...).&lt;/p&gt;


&lt;p&gt;Pour modifier la carte rouge, il faut démonter le radiateur de refroidissement, car les condensateurs qui règlent la fréquence d'horloge sont juste en dessous.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/IMG_0156.JPG&quot; title=&quot;IMG_0156.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.IMG_0156_m.jpg&quot; alt=&quot;IMG_0156.JPG&quot; title=&quot;IMG_0156.JPG, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Sur ma carte (référencée 6B6560-4V3 sur la sérigraphie), les condensateurs sont nommés C39, C40, C41 et C40 (un par axe). Ils font 330 pF par défaut, ce qui confirme la thèse évoquée dans le paragraphe &quot;Théorie&quot;. Leur dessoudage ne pose pas de problème car il y a la place. Idem pour la mise en place des nouveaux condensateurs. Il faut quand même de bon yeux, et ne pas trembler..&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;&amp;nbsp;: Sur le contrôleur 3 axes, grâce à SETH qui a eu la gentillesse de publier &lt;a href=&quot;http://www.usinages.com//files/tb6560_3v2_red_107.jpg&quot;&gt;une photo sur usinage&lt;/a&gt;s , on voit que la disposition est la même. Les 3 condensateurs sont sérigraphies C39, C40 et C41.&lt;/p&gt;


&lt;p&gt;Vue d'ensemble de plusieurs étages&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.IMG_0155_m.jpg&quot; alt=&quot;IMG_0155.JPG&quot; title=&quot;IMG_0155.JPG, mai 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Le condensateur à dessouder est celui de gauche dans le groupe de 3 composants à droite sous le circuit (ici, C42)&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/IMG_0157.JPG&quot; title=&quot;IMG_0157.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.IMG_0157_m.jpg&quot; alt=&quot;IMG_0157.JPG&quot; title=&quot;IMG_0157.JPG, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;TESTS&lt;/h2&gt;

&lt;p&gt;Après avoir modifié la carte en changeant les 4 condensateurs (un par axe), c'est le jour et la nuit. Les moteurs ne grognent plus, et il n'est plus nécessaire de booster le decay pour garder du couple. En gardant le réglage minimum, c'est parfait. Les moteurs sont silencieux, coupleux, et les déplacements sont fluides. Il faut bien sur rester dans le domaine de fonctionnement qui a été calculé ci dessus. Je suis même passé un peu au dessus en passant à 1100 mm / minute, sans problème. A cette vitesse, je n'ai pas mis de decay, ce qui fait un pilotage moteur très sliencieux (pas de sifflement) à toute vitesse. On a bien sur le phénomène de résonance en vitesse médiane, mais c'est un phénomène normal et inhérent aux moteurs eux même. Il est impossible de le corriger avec ce type de carte.&lt;/p&gt;


&lt;p&gt;Bien sur, on ne peut pas faire fonctionner les moteurs à n'importe quelle vitesse. Il faut se référer aux courbes des documentations techniques.
&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/graphe_de_couple.png&quot; title=&quot;graphe_de_couple.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560rouge/.graphe_de_couple_m.jpg&quot; alt=&quot;graphe_de_couple.png&quot; title=&quot;graphe_de_couple.png, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Sur ce graphe, on voit que le couple maximum est atteint à 250 à 300 pas par secondes (Hz). PSi cela se maintient à peu près jusqu'à 2000 pas par secondes,  à 7000 pas par seconde le couple n'est plus que de la moitié, et du quart à 10000 pas par secondes.&lt;/p&gt;


&lt;p&gt;Sur ce moteur, en partant du principe que 2/3 du couple max seraient acceptables, il ne faudrait pas dépasser les 4kHz en fréquence de pas... Autre phénomène, c'est que plus on va vite avec une charge (les vis, les chariots, tout ca...) plus la résistance augmente à cause des différents frottements. Et ce facteur ne va pas non plus dans le bon sens...&lt;/p&gt;


&lt;pre&gt;A méditer, donc avant de décider que la carte n'est pas bonne après modification, car on ne pourra pas atteindre de grandes vitesses en charge... Et ne pas prendre ces valeurs comme paroles d'évangile, il vous faut vos graphes moteur et refaire les calculs...&lt;/pre&gt;


&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;J'ai également travaillé en montant un peu le decay, et cela m'a permis d'accélérer jusqu'à 1800 mm / minutes, sans perte de pas.
J'ai pu pousser les vitesses jusqu'à   3500 millimètres par minute à vide (c'est à dire le moteur sur table d'essais mais non relié à la CNC) sans perte de pas apparente  avec une carte modifiée, c'est à dire 6 fois la vitesse max calculée...&lt;/p&gt;


&lt;p&gt;Il faut par contre mettre le decay à fond pour avoir ces résultats (sinon grognement = perte de pas), et cela redevient bruyant à l'arrêt ou à basse vitesse (sifflements). Cela ne fonctionne bien sur pas en charge sur la machine, car la vitesse atteinte par le moteur est telle qu'il n'a plus de couple. C'est normal, car c'est une caractéristique physique du moteur (et qui dépend de votre moteur...). On peut néanmoins atteindre des 1800 à 2000 mm / minute en charge sur la machine dans les mêmes conditions de test (c'est à dire avec decay).&lt;/p&gt;


&lt;p&gt;Mais alors pourquoi, après tous ces calculs, ca marche encore à plus de 6 fois la vitesse calculée??? En  haute vitesse, le moteur se comporterait comme si seuls les 'pas pleins' (200 pas  / tour) étaient importants, Physiquement, le moteur travaille en pas pleins. Les micro-pas ne sont que des états intermédiaires générés par l'électronique de commande en faisant varier le courant sur les 2 bobines. La puissance sur ces pas intermédiaires n'est que de 70 % (1/racine de 2) de la puissance sur les pas pleins.&lt;/p&gt;


&lt;p&gt;En pas plein, les 2 bobines sont alimentées à 100 %, ce qui permet  une attraction suffisante pour attirer le rotor vers cet état. Le 'ratage' de micro-pas en haute vitesse n'est donc pas grave  et n’empêche pas le moteur de ne pas perdre de pas pleins, ce qui nous intéresse pour le pilotage de CNC (perte de pas = pièce foirée!). Ceci explique pourquoi on peut dépasser la fréquence de pilotage théorique imposée par le contrôleur, mais cela se fait au détriment de la précision (car les micro pas deviennent 'approximatifs'). Ce n'est pas nécessairement dérangeant pour du Jog, et même pour de l'usinage à grande vitesse, puisque lors d'un arrêt il y aura une décélération qui passera nécessairement par le point que nous avons calculé et qui redonnera toute sa précision en micropas au moteur... lors de son arrêt et son redémarrage.&lt;/p&gt;


&lt;p&gt;Par contre, le point de non retour est la perte de pas pleins. Si on tire trop sur le moteur, l'alliance des frottements sur la machine et de l'abaissement du couple moteur à haute vitesse suffit à rendre la chose inutilisable; Il convient donc de déterminer des vitesses max par expérimentation, et de prendre un coefficient de sécurité dessus avant de paramétrer le logiciel. Car sur notre machine d'usinage, ce qui nous intéresse reste quand même d'usiner et non pas de faire des concours de vitesse de déplacement de broche :).&lt;/p&gt;


&lt;p&gt;Bien utilisée, cette carte permet donc de faire des choses, et à 50 USD pour 4 axes, c'est une aubaine. Mais n'espérez pas piloter une grosse CNC très vite... Il faudra passer sur des solutions plus sérieuses, ou 50 USD n'est même pas le prix du contrôle d'un axe.&lt;/p&gt;


&lt;p&gt;Je m'interroge notamment sur les drivers chinois de type '2M542' qui annoncent une fréquence de pas à 200 Khz. Dans les mêmes conditions, cela voudrait dire qu'il serait possible d’atteindre ( 200 000 / 3200 pas par tour * 60 secondes) =  3750 tours minutes. Pas mal.&lt;/p&gt;


&lt;p&gt;A essayer....&lt;/p&gt;


&lt;p&gt;Edit: La doc de la carte&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560rouge/MANUAL_OF_IFS-6560T4-N.doc&quot;&gt;MANUAL_OF_IFS-6560T4-N.doc&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/05/27/Controleur-pas-a-pas-Toshiba-TB6560-datasheet-probleme-horlogue-haute-vitesse-perte-pas#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/05/27/Controleur-pas-a-pas-Toshiba-TB6560-datasheet-probleme-horlogue-haute-vitesse-perte-pas#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>Snootlab - Essai de l'Arduino i2C Power proto shield : Controlleur PWM de ventilateurs asservis à la température avec des capteurs 1Wire DS1820</title>
    <link>http://www.civade.com/post/2011/05/25/Snootlab-Essai-de-l-Arduino-i2C-Power-proto-shield-ventilateurs-pwm-ds1820-fanduino</link>
    <guid isPermaLink="false">urn:md5:3e66c9c36da8257f78399fac535b2109</guid>
    <pubDate>Wed, 25 May 2011 06:51:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>arduino</category><category>diy</category>    
    <description>&lt;p&gt;Nouveau venu sur la scène des développeurs de shields arduino, la société Toulousaine &lt;a href=&quot;http://www.snootlab.com/&quot;&gt;Snootlab&lt;/a&gt; arrive sur le marché avec plusieurs interfaces intéressantes&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.snootlab.com/lang-fr/powerduino/87-rotoshield.html&quot;&gt;Rotoshield&lt;/a&gt;&amp;nbsp;: Interface 2 moteurs pas à pas ou 4 moteurs à courant continus&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.snootlab.com/powerduino/86-memoire.html&quot;&gt;Mémoire&lt;/a&gt;&amp;nbsp;: Interface carte SD et horloge temps réel sauvegardée par batterie&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.snootlab.com/ethernet/85-gate.html&quot;&gt;Gate 0.5&lt;/a&gt;&amp;nbsp;: Autre contrôleur ethernet à base de Microchip ENC28J60&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.snootlab.com/powerduino/55-power-screwshield.html&quot;&gt;Power ScrewShield&lt;/a&gt;&amp;nbsp;: Le prototypage sur borniers et avec CMS facile sur Arduino&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.snootlab.com/powerduino/11-i2c-power-protoshield.html&quot;&gt;I2C Power Proto Shield&lt;/a&gt;&amp;nbsp;: Shield de prototytpage i2C et d'alimentation alternative&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Snootlab m'a fourni cette dernière pour tests, alors découvrons la ensemble... en réalisant un contrôleur de ventilation asservi à la température à l'aide de capteurs 1 Wire Dallas DS1820, et d'une commande moteur en PWM.&lt;/p&gt;    &lt;h2&gt;Intro&lt;/h2&gt;

&lt;p&gt;Je sais à quel point il est difficile de monter une entreprise et d'avoir tout à faire au début&amp;nbsp;: produits, clients, démarches administrative, bancaires, création de l'identité graphique, de la communication.... Que d'énergie...&lt;/p&gt;


&lt;p&gt;Snootlab tape fort, surtout pour une entrée en scène. Un kit de communication Web 2.0 complet, site web, blog, boutique, et une superbe identité graphique.  Chaque shield dispose de son propre lien web, de sa documentation PDF complète, et d'exemples de réalisations sur le blog.&lt;/p&gt;



&lt;p&gt;Après quelques échanges de mail, Snootlab m'a fait parvenir le shield &lt;a href=&quot;http://shop.snootlab.com/powerduino/11-i2c-power-protoshield.html&quot;&gt;i2C Power Proto Shield&lt;/a&gt;. Ce shield intègre&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Une duplication du bouton Reset&lt;/li&gt;
&lt;li&gt;Un voyant d'alimentation bleu du plus bel effet,&lt;/li&gt;
&lt;li&gt;Un connecteur d'alimentation PC (Molex)&lt;/li&gt;
&lt;li&gt;Un connecteur HE10 pour raccorder un bs i2C&lt;/li&gt;
&lt;li&gt;Une alimentation 3.3V boostée, qui peut être mise en ou hors service&lt;/li&gt;
&lt;li&gt;Une zone pastillée permettant le prototypage, pouvant utiliser le 5V, le 3.3V et le 12V fournit par l'alimentation PC.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;/pre&gt;

&lt;h2&gt;Déballage&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0138.JPG&quot; title=&quot;IMG_0138.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0138_m.jpg&quot; alt=&quot;IMG_0138.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0138.JPG, mai 2011&quot; /&gt;&lt;/a&gt; L'ouverture du colis laisse apparaitre un sachet  antistatique très sympa avec une étiquette qui ne laisse pas sans penser à celles de Lady Ada. Celle-ci précise  l'adresse web ou trouver la doc de montage du shield, et possède même un code barre QR pour aller directement sur le site web...&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0143.JPG&quot; title=&quot;IMG_0143.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0143_m.jpg&quot; alt=&quot;IMG_0143.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0143.JPG, mai 2011&quot; /&gt;&lt;/a&gt; Vue de détail de l'étiquette.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0139.JPG&quot; title=&quot;IMG_0139.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0139_m.jpg&quot; alt=&quot;IMG_0139.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0139.JPG, mai 2011&quot; /&gt;&lt;/a&gt; Le sachet contient le circuit imprimé, les composants, et plusieurs beaux autocollants Snootlab. Quel sens du détail&amp;nbsp;! Il en existe également une version avec Breadboard et des cordons :&lt;a href=&quot;http://shop.snootlab.com/powerduino/39-snootlab-test-kit.html&quot;&gt; Le Kit de prototype Snootlab&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/post/2011/05/25/&quot; title=&quot;/images/i2c-power-protoshield/IMG_0140.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0140_m.jpg&quot; alt=&quot;((/images/i2c-power-protoshield/.IMG_0140_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0142.JPG&quot; title=&quot;IMG_0142.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0142_m.jpg&quot; alt=&quot;IMG_0142.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0142.JPG, mai 2011&quot; /&gt;&lt;/a&gt; Le circuit imprimé est très bien réalisé, avec une sérigraphie très claire.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0141.JPG&quot; title=&quot;IMG_0141.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0141_m.jpg&quot; alt=&quot;IMG_0141.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0141.JPG, mai 2011&quot; /&gt;&lt;/a&gt; L'unique CMS de la carte (le régulateur 3.3V) est déjà monté.&lt;/p&gt;



&lt;h2&gt;Montage&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0144.JPG&quot; title=&quot;IMG_0144.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0148_m.jpg&quot; alt=&quot;IMG_0144.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0184.JPG, mai 2011&quot; /&gt;&lt;/a&gt;L'assemblage de la carte ne pose pas de problème particulier. La documentation est abondamment illustrée et il sera facile même pour un débutant de monter la carte.&lt;/p&gt;


&lt;p&gt;Certaines fonctions nécessitent toutefois des précisions. L'alimentation 12V fournie par le connecteur Molex est routée sur une paire de pastilles permettant la configuration. Par défaut, cette alimentation n'est pas connectée, ce qui évite de faire des bêtises. Si on désire disposer du 12V, il faut déposer une goutte de soudure entre les 2 pastilles pour configurer la carte. L'alimentation est alors disponible à la fois dans la zone de prototypage (voir sérigraphie) et sur une broche en haut à gauche (12V PWR).&lt;/p&gt;


&lt;p&gt;Si on suit le schéma, on s'aperçoit que le cavalier de configuration de l'alimentation 3V3, soit être mise sur 1+2 si on veut que l'alimentation soit fabriquée localement (à l'aide du régulateur), ou 2+3 si on souhaite qu'elle soit prélevée de l'extérieur (Arduino). La sérigraphie (INT/EXT) ne tombe pas en face, EXT étant en face de 1+2, cela porte à confusion. Il eut été souhaitable que cette sérigraphie soit labellisée EXT/INT pour ne pas induire d'erreur.&lt;/p&gt;



&lt;h2&gt;Premiers essais&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0146_m.jpg&quot; alt=&quot;IMG_0146.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0146.JPG, mai 2011&quot; /&gt;Nous allons en premier tester la carte avec l’alimentation en provenance de l'Arduino. ll faut tout d'abord configurer celle-ci pour indiquer que l'alimentation sera prélevée du bus USB.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0144.JPG&quot; title=&quot;IMG_0144.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0144_m.jpg&quot; alt=&quot;IMG_0144.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0144.JPG, mai 2011&quot; /&gt;&lt;/a&gt;Après avoir positionné le cavalier de config de la shield sur 1+2 (le 3V3 est donc généré par la carte), on plugge la carte sur l'Arduino et... Ca s'allume en en bleu, montrant que la carte est correctement alimenté.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0147.JPG&quot; title=&quot;IMG_0147.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0147_m.jpg&quot; alt=&quot;IMG_0147.JPG&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;IMG_0147.JPG, mai 2011&quot; /&gt;&lt;/a&gt; Dans ce deuxième test, nous allons tester l'ensemble avec une alimentation externe. Pour ce faire, il faut enlever le jumper de configuration de l'alimentation de l'Arduino. En effet, l'alim ne sera fournie ni par le régulateur 5V, ni par l'USB mais bien par le shiled lui même. A noter que cette précision n'est pas dans la doc.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0149.JPG&quot; title=&quot;IMG_0149.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0149_m.jpg&quot; alt=&quot;IMG_0149.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0149.JPG, mai 2011&quot; /&gt;&lt;/a&gt; On peut ensuite brancher le connecteur Molex sur une alimentation de PC. Cela s'allume toujours, et permet de garder l'Arduino branchée sur le bus USB pour la programmer. L’alimentation ne sera pas prélevée du bus, mais bien du Molex. Dans ce mode, on peut également débrancher l'USB, et la carte restera alimentée. Pratique.. Elle pourra également être intégrée dans un PC ou il suffira de trouver un Molex disponible.&lt;/p&gt;


&lt;h2&gt;Un petit test&amp;nbsp;: un contrôleur de ventilateur 12V, asservi à la température&lt;/h2&gt;

&lt;p&gt;On va maintenant faire autre chose que seulement l'alimenter. J'ai besoin pour ma CNC, d'asservir les ventilateurs de refroidissement du watercooling de la broche car 2 ventilateurs de 120 mm en 12V, c'est vraiment trop bruyant.&lt;/p&gt;


&lt;p&gt;Je vais contrôler les ventilateurs en PWM (modulation de largeur d'impulsion), à l'aide d'un MOSFET. Pour la température, je dégotte 2 capteurs DS1820 de Dallas dans mes archives (Merci Eric pour les échantillons...). Ca fera l'affaire.&lt;/p&gt;


&lt;p&gt;Un petit coup de Google me permet de dénicher plusieurs liens intéressants&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OneWire library for Arduino&amp;nbsp;: &lt;a href=&quot;http://www.pjrc.com/teensy/td_libs_OneWire.html&quot;&gt;http://www.pjrc.com/teensy/td_libs_OneWire.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;DallasTemperature, lecture directe de la température en oneWire&amp;nbsp;: &lt;a href=&quot;http://www.milesburton.com/?title=Dallas_Temperature_Control_Library&quot;&gt;http://www.milesburton.com/?title=Dallas_Temperature_Control_Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Gestion du PWM en haute fréquence sur l'Arduino: &lt;a href=&quot;http://www.embedded.arch.ethz.ch/Examples/PWMTimer231kHz&quot;&gt;http://www.embedded.arch.ethz.ch/Examples/PWMTimer231kHz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mon cahier des charges est assez simple. Je souhaite commander 2 ventilateurs indépendamment, qui soient asservis à la température. Comme il faut pour qu'un ventilateur tourne, qu'il y ait un minimum de tension (de l'ordre de 5 volts), il va falloir faire varier le PWM d'une valeur mini (environ 50/60) à la valeur max (255). Je souhaite que le ventilo ne tourne pas en dessous de 25 degrés, puis commence progressivement à fonctionner jusqu'à la valeur de température max que j'ai déterminé (50 degrés). Au delà des 50 degrés, le ventilateur restera à fond.
Il y a peu d'électronique à ajouter à l'arduino et à l'I2C Power shield pour faire fonctionner le tout. Le Power shiled m'aidera à gérer le +12V.
&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/schema.png&quot; title=&quot;schema.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.schema_m.jpg&quot; alt=&quot;schema.png&quot; title=&quot;schema.png, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0154.JPG&quot; title=&quot;IMG_0154.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0154_m.jpg&quot; alt=&quot;IMG_0154.JPG&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;IMG_0154.JPG, mai 2011&quot; /&gt;&lt;/a&gt;Un petit peu de cablage plus tard, voici ce que cela donne. A noter que n'ayant pas reçu le breadboard, j'ai prototypé à coté. On voit ici très clairement l'intéret de la breadboard intégrée. Je ne voulais pas souder sur la carte pour ce premier test.  Les photos représentent le test avec un seul ventilo, mais le programme ci dessous et le schéma en utilisent 2.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/IMG_0150.JPG&quot; title=&quot;IMG_0150.JPG&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/i2c-power-protoshield/.IMG_0150_m.jpg&quot; alt=&quot;IMG_0150.JPG&quot; title=&quot;IMG_0150.JPG, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Voici un petit programme Arduino qui va faire fonctionner le tout, que j'ai baptisé Fanduino:  &lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/fanduino.pde&quot;&gt;fanduino.pde&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Au début du programme, plusieurs constantes permettent de définir le domaine de fonctionnement de chaque canal, et notamment, la température min à partir de laquelle le ventilo commencera à tourner, la température à partir de laquelle il sera au max, et les valeurs mini et maxi correspondantes du PWM.&lt;/p&gt;


&lt;p&gt;A noter que le PWM est commandé à 31Khz, pour éviter que les ventilateurs résonnent (par défaut la fréquence de pilotage du PWM est dans le domaine audible, c'est très dérangeant).&lt;/p&gt;


&lt;p&gt;Une petite fonction de debug affiche sur la liaison série la température et les valeurs PWM pour chacun des canaux. Le calcul et le rafraichissement est effectué toute les secondes.&lt;/p&gt;


&lt;p&gt;Les capteurs de température pouvant être déportés, des erreurs de lecture peuvent apparaitre. Dans ce cas, la librairie de lecture renvoie &quot;-127.00' degrés. Ceci explique le test dans la boucle principale pour éviter les erreurs de lecture.&lt;/p&gt;

&lt;pre&gt;
Fanduino: DS1820 based temperature fan controller
Temp1: 24.00 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 23.94 Temp2: 24.00 PWM1: 50.00 PWM2: 50.00
Temp1: 23.94 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 24.00 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 23.94 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 23.94 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 24.00 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 24.00 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
Temp1: 23.94 Temp2: 24.12 PWM1: 50.00 PWM2: 50.00
&lt;/pre&gt;



&lt;h3&gt;Edit...&lt;/h3&gt;

&lt;p&gt;J'ai un peu modifié le script initial de fanduino qui passe en version 1.1&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les ventilateurs sont éteints, et plus au minimum, lorsque la température mesurée est inférieure à la température de consigne mini&lt;/li&gt;
&lt;li&gt;Un 'Soft Start', envoie un petit coup de boost aux ventilateurs pendant 750 millisecondes lorsqu'ils démarrent. En effet, il faut plus d'énergie pour démarrer le ventilateur, que pour continuer à le faire tourner.&lt;/li&gt;
&lt;li&gt;Un hystérésis, permet d'éviter que le ventilateur n'oscille entre on et off, lorsque l'on est prêt de la température mini. Le ventilateur démarre lorsqu'il passe au dessus de Tmini + une certaine valeur (fixée dans le sketch, actuellement  0.3 degrés), et s’arrête quand il passe strictement en dessous de Tmin.&lt;/li&gt;
&lt;li&gt;Affichade deu numéro de série des capteurs&lt;/li&gt;
&lt;li&gt;Debuggage des timings pour permettre le fonctionnement en alimentation parasite  (c'est à dire broche 3,VCC déconnectée)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le sketch ici: &lt;a href=&quot;http://www.civade.com/images/i2c-power-protoshield/fanduino_V1.1.pde&quot;&gt;fanduino_V1.2.pde&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;Conclusion&lt;/h2&gt;


&lt;p&gt;Bravo à Snootlab pour son initiative, et la qualité de ses shields. L'accueil a également été sympathique...&lt;/p&gt;


&lt;p&gt;La documentation aurait pu préciser le point concernant la configuration du jumper d'alimentation sur l'Arduino (l'enlever!) si on veut utiliser simultanément la prise USB et alimentation PC Molex.  La sérigraphie du cavalier de configuration de l'alimentation 3.3V pourrait être inversée pour plus de clarté. Mais ce ne sont que de petits détails au regard de l'important effort de documentation déjà effectué.&lt;/p&gt;


&lt;p&gt;J'ai hâte d'en tester d'autres....&lt;/p&gt;


&lt;p&gt;Smootlab sera présent au Toulouse Hacker Space Festival - Tetalab - du 27 au 29 mai 2011 à Toulouse, ou ils assurerons  un stand/workshop sur les 3 jours.&lt;/p&gt;


&lt;p&gt;Massimo BANZI co-fondateur d'Arduino fait le déplacement, pour la première fois en France, pour une conférence le samedi et un atelier le dimanche.&lt;/p&gt;


&lt;p&gt;Le programme complet au format pdf &lt;a href=&quot;http://wiki.snootlab.com/uploads/Divers/TETA_BOOKLET_V9.pdf&quot;&gt;ici&lt;/a&gt;
Plus d'informations sur l'évènement&amp;nbsp;: &lt;a href=&quot;http://tetalab.org/&quot;&gt;http://tetalab.org/&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/05/25/Snootlab-Essai-de-l-Arduino-i2C-Power-proto-shield-ventilateurs-pwm-ds1820-fanduino#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/05/25/Snootlab-Essai-de-l-Arduino-i2C-Power-proto-shield-ventilateurs-pwm-ds1820-fanduino#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>Découverte en vidéo de ma fraiseuse Proxxon MF70 CNC fonctionnant sous EMC2</title>
    <link>http://www.civade.com/post/2011/04/11/fraiseuse-conversion-cnc-proxxon-mf70-emc2-linux-video</link>
    <guid isPermaLink="false">urn:md5:77c933c1ae2d59561a1b2d5abf025316</guid>
    <pubDate>Mon, 11 Apr 2011 09:32:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;Un petit tour d'horizon en vidéo de ma fraiseuse Proxxon MF70, convertie à la CNC, et raccordée à un contrôleur 3 axes 2.5A.&lt;/p&gt;    &lt;p&gt;J'avais déjà publié mes recherches sur la numérisation d'une  MF70 dans un &lt;a href=&quot;http://www.civade.com/post/2008/05/10/32-conversion-cnc-cam-d-une-micro-fraiseuse-proxxon-mf-70&quot; hreflang=&quot;fr&quot; title=&quot;CNC MF70 proxxon&quot;&gt;article précédent&lt;/a&gt;. Voici la bête terminée.&lt;/p&gt;


&lt;p&gt;Côté Soft, un vieux portable (Xbook CL56, Pentium mobile 1.7Ghz avec 1Go de Ram) équipé de EMC2 ( &lt;a href=&quot;http://www.linuxcnc.org&quot; hreflang=&quot;fr&quot; title=&quot;EMC2&quot;&gt;http://www.linuxcnc.org&lt;/a&gt; ) motorise le tout.&lt;/p&gt;


&lt;p&gt;Il est raccordé à un contrôleur pas à pas basé sur des composants Allegro A3977, des drivers PWM tout intégrés fournissant jusqu'à 2.5 ampères par axe. Le driver fonctionne en micro pas. Une carte de commande relais est également ajoutée pour permettre la commande de la broche par la machine, préalable à des usinages longs et automatiques... Une alimentation 24V 6A alimente les moteurs, qui sont eux même des 2A / phase.  Le boitier n'est pas très joli car c'est une récupération, mais ce sera revu par la suite.&lt;/p&gt;


&lt;p&gt;La fraiseuse elle même s'est vue greffée les moteurs via des coupleurs d'axes en aluminium. Des roulements permettent de limiter les frictions qui sur la fraiseuse non modifiée sont assez importantes. La précision est bonne, puisque les moteurs sont commandés en 1/4 de pas, à 200 pas par tour. Un tour faisant 1 millimètre, la précision théorique est donc de 1/800e de millimètre...  En pratique, bien sur, à cause du jeu sur les axes, c'est bien moins que cela.&lt;/p&gt;


&lt;p&gt;Une autre modification sur la fraiseuse consiste en l'ajout d'une LED haute luminosité (3W)  sur le point d'usinage. L'électronique de pilotage de la LED est directement intégrée dans le bloc moteur, à l'aide d'une alimentation  220V pour led qui fait taille d'un morceau de sucre en longueur et largeur, et la moitié de sa hauteur. Les deux éléments ont étés achetés chez Deal Extreme.&lt;/p&gt;


&lt;p&gt;Je vous laisse découvrir le tout sur une vidéo commentée en audio..&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/.youtube_m.jpg&quot; alt=&quot;youtube.png&quot; title=&quot;youtube.png, déc. 2010&quot; /&gt;&lt;/p&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/_ugUGobcPec?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/_ugUGobcPec?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;
</description>
    
    
    
          <comments>http://www.civade.com/post/2011/04/11/fraiseuse-conversion-cnc-proxxon-mf70-emc2-linux-video#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/04/11/fraiseuse-conversion-cnc-proxxon-mf70-emc2-linux-video#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>DIY: Réalisation d'un séparateur cyclonique (cyclone dust separator) pour aspirateur d'atelier et CNC</title>
    <link>http://www.civade.com/post/2011/03/21/diy-cnc-cyclone-separateur-cyclonique-poussiere-copeaux-aspirateur-atelier</link>
    <guid isPermaLink="false">urn:md5:b902d50286ac91916bad261c9b69545d</guid>
    <pubDate>Mon, 21 Mar 2011 07:16:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;L'usinage à commande numérique, c'est bien mais selon les matières usinées, cela peut faire pas mal de déchets et de poussière. Disposant d'un aspirateur eau et poussières Kascher WD3300, j'ai vite vu que le sac se colmate assez rapidement lors de l'utilisation en environnement CNC, notamment lors de l'aspiration de copeaux de MDF. J'ai donc cherché une solution et trouvé les séparateurs de poussière de type 'cyclone'. Malheureusement, ces solutions sont soit très chères et de grande taille, soit pas disponibles en France. J'ai donc entrepris d'en construire un.. Voyons comment.&lt;/p&gt;    &lt;h2&gt;Démo&lt;/h2&gt;

&lt;p&gt;Pour commencer, une petite vidéo s'impose. Voici un système intéressant car assez petit. La transparence du bocal permet de bien voir l'effet cyclone et la séparation qui en découle&amp;nbsp;:&lt;/p&gt;
&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/9NXZKYWpMbE?fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/9NXZKYWpMbE?fs=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9NXZKYWpMbE&quot; target=&quot;_blank&quot;&gt;Voir sur Youtube.com&lt;/a&gt;
&lt;/div&gt;




&lt;h2&gt;La technique&amp;nbsp;:&lt;/h2&gt;


&lt;p&gt;Un article sur Wikipedia France explique très bien la technique de séparation par cyclone: &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cyclone_%28s%C3%A9paration%29&quot;&gt;http://fr.wikipedia.org/wiki/Cyclone_%28s%C3%A9paration%29&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Exemples de réalisations&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://billpentz.com//woodworking/cyclone/index.cfm&quot;&gt;http://billpentz.com//woodworking/cyclone/index.cfm&lt;/a&gt; (et notamment un calculateur pour la taille du cyclone)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ablett.jp/workshop/cyclone.htm&quot;&gt;http://www.ablett.jp/workshop/cyclone.htm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Pré-Étude&lt;/h2&gt;


&lt;h3&gt;Taille du cyclone&lt;/h3&gt;

&lt;p&gt;Ne produisant pas des quantités industrielles de copeaux, nécessitant un grand cyclone comme ceux utilisés dans les ateliers bois (jusqu'à 2 mètres de haut!), J'ai privilégié une solution portable comme celle montrée dans la première vidéo. Je m'en suis d'ailleurs très inspiré sur le plan des cotes.&lt;/p&gt;


&lt;h3&gt;Choix des matériaux&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Corps du cyclone&lt;/strong&gt;&amp;nbsp;: J'aurais aimé le réaliser en plastique transparent, mais il est difficile de trouver des feuilles de matière plastique qui soient à la fois facilement travaillables pour en faire un cône, et suffisamment rigides pour qu'elles ne s'écrasent à cause de la dépression produite par l'aspirateur. Je suis donc parti sur de la tôle de 0.5mm, qui présente presque toutes les bonnes caractéristiques, sauf la transparence... De plus, cela se découpe très bien à la Dremel munie d'un disque.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Pièces planes (dessus, dessous)&lt;/strong&gt;&amp;nbsp;:  Elles seront réalisées en bois, car cela facilitera l'assemblage (vis + joint silicones pour l'étanchéité).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Raccords&lt;/strong&gt;&amp;nbsp;: Les tubes PVC  diamètre 40 font un diamètre intérieur de 35m, ce qui correspond exactement au diamètre extérieur de la buse de l'aspirateur.  Par ailleurs, pour le tube situé dans la partie supérieure, il est censé entrer dans le cyclone. Sur différents modèles, ce tube descend jusqu'en dessous de l'arrivée d'air tangentielle. Mais cette implémentation est également contestée dans différents posts...  Il me paraissait donc utile de faire quelque chose de réglable, et étanche. Pour ce faire, j'ai pris un raccord femelle / femelle droit pour tube de 40mm, dont j'ai fait sauter l'épaulement interne à la Dremel. Ainsi le tube de 40mm coulisse en force dans le raccord femelle, procurant à la fois la fonction de réglage et l'étanchéité. Bien sur c'est donc le raccord femelle qui est collé dans la partie supérieure du Cyclone.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Récipient du dessous&lt;/strong&gt;&amp;nbsp;: Pas facile de trouver des seaux avec couvercles... Il n'y en a pas dans les magasins de bricolage locaux.  Pour le moment il est réalisé avec un seau de produit piscine. Mais le plastique est trop fin et le seau a tendance à s'écraser si la dépression est trop forte. Il sera remplacé par un seau de 15 litres pour l'agroalimentaire avec couvercle étanche, dont le volume est plus en rapport avec l'utilisation.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Assemblage&lt;/strong&gt;&amp;nbsp;: L'assemblage sera réalisé avec des rivets pop pour la tôle, des vis et du mastic silicones pour la partie supérieure, et de l'Araldite pour les collages des tuyaux et de la partie inférieure.&lt;/p&gt;


&lt;h2&gt;Étude&lt;/h2&gt;

&lt;h3&gt;Plan sous Sketchup&lt;/h3&gt;

&lt;p&gt;La conception a été fait sous Google Sketchup. La version gratuite ne permet pas en standard d'exporter en DXF ou STL.
Ceci est contournable en installant le plugin suivant&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.guitar-list.com/download-software/convert-sketchup-skp-files-dxf-or-stl&quot;&gt;http://www.guitar-list.com/download-software/convert-sketchup-skp-files-dxf-or-stl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une vue du design sous Sketchup&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/cyclone.png&quot; title=&quot;Cyclone, sous Sketchup&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.cyclone_m.jpg&quot; alt=&quot;Cyclone, sous Sketchup&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Cyclone, sous Sketchup, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le fichier Sketchup&amp;nbsp;:  &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/1-cyclone.skp&quot;&gt;1-cyclone.skp&lt;/a&gt;
L'export 3DS: &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/2_cyclone.3ds&quot;&gt;2_cyclone.3ds&lt;/a&gt;&lt;/p&gt;



&lt;h3&gt;Et ensuite?&lt;/h3&gt;


&lt;p&gt;La difficulté ensuite est de faire un 'éclaté' du cône pour pouvoir le tracer sur un plaque de tôle. J'ai trouvé une solution rigolote sous la forme du logiciel &quot;Prepakura Designer&quot;. Ce logiciel est initialement conçu pour faire des 'cocottes en papier' à partir de modèles 3D au format 3DS. On lui indique le plan de coupe, et il génère automatiquement la mise à plat en insérant les pattes servant au collage. On peut ensuite exporter le résultat au format DXF.&lt;/p&gt;


&lt;p&gt;Voici une vue du travail réalisé par Prepakura&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/cyclone-flat.png&quot; title=&quot;cyclone-flat.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.cyclone-flat_m.jpg&quot; alt=&quot;cyclone-flat.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;cyclone-flat.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le fichier Prepakura&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/3-cyclone-flat.pdo&quot;&gt;3-cyclone-flat.pdo&lt;/a&gt;
L'export du résultat au format DXF&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/4-cyclone-flat.dxf&quot;&gt;4-cyclone-flat.dxf&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Mais ce plan n'est pas directement utilisable. En effet, Prepakura a détruit l'échelle, et il reste de nombreux traits de construction. De plus, il va falloir nettoyer  (sur les cercles qui seront réalisés en bois) ou adapter  les pattes réservées au collage. Nous les conserverons sur le cone en tôle en vue de garder un débord qui servira à l'assemblage par rivets pop.&lt;/p&gt;


&lt;p&gt;Ceci va être fait sous Sketchup, en procédant d'abord à un nettoyage des pattes, puis à une mise à l'échelle.&lt;/p&gt;


&lt;p&gt;En voici un aperçu&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/cyclone-flat-edite.png&quot; title=&quot;cyclone-flat-edite.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.cyclone-flat-edite_m.jpg&quot; alt=&quot;cyclone-flat-edite.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;cyclone-flat-edite.png, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Le fichier Sketchup après retraitement&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/5-cyclone-flat-edite.skp&quot;&gt;5-cyclone-flat-edite.skp&lt;/a&gt;
Et son export DXF&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/6-cyclone-flat-edite.dxf&quot;&gt;6-cyclone-flat-edite.dxf&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Gabararits&lt;/h3&gt;

&lt;p&gt;Ne disposant pas d'une imprimante A3 ou A2 qui aurait permis de sortir un gabarit du cône à l'échelle sur papier, j'ai donc refait le tracé de celui-ci, en prolongeant les segments de droite, et pris les mesures avec  sketchup. Du coup le tracé sur la tôle se résume à 2 arcs de cercles et 2 droites... Fastoche.&lt;/p&gt;


&lt;p&gt;Le tracé sur la tôle&amp;nbsp;:
&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/trace-cone.png&quot; alt=&quot;trace-cone.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;trace-cone.png, mar. 2011&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Le trou oblong, correspondant à la projection du tuyau PVC sur le cône sera lui imprimé sur papier, découpé, puis le tracé sera reporté sur la tôle et découpé à la dremel.&lt;/p&gt;


&lt;p&gt;Les 2 pièces rondes en bois pourront être soit tracées, soit découpées d'après le gabarit imprimé (car eux passent sur une imprimante A4...).&lt;/p&gt;


&lt;p&gt;Enfin, le tuyau PVC qui doit être découpé pour venir se plaquer sur le cône se verra habillé d'un gabarit papier issu directement de la projection faite par Prepakura, et découpé à la Dremel.&lt;/p&gt;


&lt;h3&gt;Résultat final&lt;/h3&gt;

&lt;p&gt;Voici quelques photos du cyclone terminé. A noter que sur ces images, le cyclone a été monté sur un seau de 5L de produits de piscine a des fins de test. Il sera remonté sur un seau de 16 litres, plus adapté. Cliquer sur les photos pour les voir en grand format&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/vue-ensemble.jpg&quot; title=&quot;vue-ensemble.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.vue-ensemble_s.jpg&quot; alt=&quot;vue-ensemble.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;vue-ensemble.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/vue-dessus.jpg&quot; title=&quot;vue-dessus.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.vue-dessus_s.jpg&quot; alt=&quot;vue-dessus.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;vue-dessus.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/sortie-ajustable.jpg&quot; title=&quot;sortie-ajustable.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.sortie-ajustable_s.jpg&quot; alt=&quot;sortie-ajustable.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;sortie-ajustable.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/vue-base.jpg&quot; title=&quot;vue-base.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.vue-base_s.jpg&quot; alt=&quot;vue-base.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;vue-base.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/vue-dessous.jpg&quot; title=&quot;vue-dessous.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.vue-dessous_s.jpg&quot; alt=&quot;vue-dessous.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;vue-dessous.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/cyclone/vue-interieure.jpg&quot; title=&quot;vue-interieure.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/cyclone/.vue-interieure_s.jpg&quot; alt=&quot;vue-interieure.jpg&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;vue-interieure.jpg, mar. 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Fournitures&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Feuille de tôle, épaisseur indifférente, mais suffisamment faible pour être travaillée.&lt;/li&gt;
&lt;li&gt;2 chutes de contreplaqué 8mm&lt;/li&gt;
&lt;li&gt;raccord femelle femelle droit pour tubes PVC 40mm&lt;/li&gt;
&lt;li&gt;1 mètre de tube PVC 40mm&lt;/li&gt;
&lt;li&gt;Un seau avec couvercle de 16 litres.&lt;/li&gt;
&lt;li&gt;Colle Araldite ou équivalente.&lt;/li&gt;
&lt;li&gt;Rivets POP&lt;/li&gt;
&lt;li&gt;Mastique Silicones&lt;/li&gt;
&lt;li&gt;Dremel avec disque à tronçonner speedclic&lt;/li&gt;
&lt;li&gt;Quelques vis...&lt;/li&gt;
&lt;li&gt;Un peu de temps &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2011/03/21/diy-cnc-cyclone-separateur-cyclonique-poussiere-copeaux-aspirateur-atelier#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2011/03/21/diy-cnc-cyclone-separateur-cyclonique-poussiere-copeaux-aspirateur-atelier#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Ajouter le support de l'export DXF à Inkscape sous OSX</title>
    <link>http://www.civade.com/post/2010/12/27/Ajouter-le-support-de-l-export-DXF-%C3%A0-Inkscape-sous-OSX</link>
    <guid isPermaLink="false">urn:md5:1b4624950c3167522371575213bbe666</guid>
    <pubDate>Mon, 27 Dec 2010 08:31:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
        <category>administration système</category><category>cnc</category><category>osx</category>    
    <description>&lt;p&gt;Inkscape, le logiciel open source de dessin vectoriel est disponible pour OSX. Il possède de nombreuses caractéristiques intéressantes, notamment celle - à l'instar de Corel Draw qui lui est payant - de permettre la vectorisation de bitmaps.  Toutefois, dans mon utilisation, cette fonction n'est utile que si combinée à l'export DXF, qui permettra ensuite de retraiter ces fichiers vectorisés pour les importer dans un logiciel de CAO / CFAO afin de poursuivre le traitement (et notamment la génération de GCODE pour permettre le pilotage d'une CNC avec EMC2).  L'installation de 2 bibliothèques Python permet d'éviter les vilains warnings lors de l'export DXF et les fichiers vides en sortie... Voyons comment faire.&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/.inkscape-logo_m.jpg&quot; alt=&quot;Logo Inkscape&quot; title=&quot;Logo Inkscape, déc. 2010&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Installer Inkscape&amp;nbsp;:&lt;/h2&gt;

&lt;p&gt;Télécharger et installer Inkscape à partir de http://inkscape.org/download/?lang=fr&lt;/p&gt;


&lt;h2&gt;Installer LXML&amp;nbsp;:&lt;/h2&gt;
&lt;pre&gt;
osx-jpc:~$ sudo easy_install lxml
Password: xxxx
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3beta1
Downloading http://pypi.python.org/packages/source/l/lxml/lxml-2.3beta1.tar.gz
Processing lxml-2.3beta1.tar.gz
Running lxml-2.3beta1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-BycucT/lxml-2.3beta1/egg-dist-tmp-hggWpj
Building lxml version 2.3.beta1.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
Using build configuration of libxslt 1.1.24
Adding lxml 2.3beta1 to easy-install.pth file

Installed /Library/Python/2.6/site-packages/lxml-2.3beta1-py2.6-macosx-10.6-universal.egg
Processing dependencies for lxml
Finished processing dependencies for lxml
&lt;/pre&gt;



&lt;h2&gt;Installation de numpy:&lt;/h2&gt;

&lt;pre&gt;
osx-jpc:~$ sudo easy_install numpy
Adding numpy 1.5.1 to easy-install.pth file
Installing f2py script to /usr/local/bin
...
...
Installed /Library/Python/2.6/site-packages/numpy-1.5.1-py2.6-macosx-10.6-universal.egg
Processing dependencies for numpy
Finished processing dependencies for numpy
&lt;/pre&gt;



&lt;p&gt;Vous pourrez ensuite profiter de l'export DXF, sans warning associé...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/12/27/Ajouter-le-support-de-l-export-DXF-%C3%A0-Inkscape-sous-OSX#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/12/27/Ajouter-le-support-de-l-export-DXF-%C3%A0-Inkscape-sous-OSX#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Rack de commande CNC à base de TB6560 : vidéos de présentation</title>
    <link>http://www.civade.com/post/2010/12/20/Rack-de-commande-CNC-%C3%A0-base-de-TB6560-%3A-vid%C3%A9os-de-pr%C3%A9sentation</link>
    <guid isPermaLink="false">urn:md5:4931d907563bd67aaabbac39abec0be1</guid>
    <pubDate>Mon, 20 Dec 2010 23:15:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category><category>logiciels libres</category>    
    <description>&lt;p&gt;Un précédent article présentait les modifications à réaliser sur une carte TB6560 chinoise. Découvrez en vidéo l'ensemble monté... Il est destiné à piloter deux fraiseuses&amp;nbsp;: une Proxxon MF70, et une KT150+ BFB2000.&lt;/p&gt;    &lt;h2&gt;Réalisation&lt;/h2&gt;


&lt;p&gt;Une grosse partie du matériel provient d'Ebay, principalement de Chine&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La carte TB6560 (modifiée selon &lt;a href=&quot;http://www.civade.com/post/2010/10/04/Faut-il-jeter-votre-controleur-pas-%C3%A0-pas-chinois-pour-CNC-%C3%A0-base-de-TB6560-achet%C3%A9-%C3%A0-50%24-sur-Ebay-TB3-TB4&quot;&gt;l'article précédent&lt;/a&gt; ). Existe sur de nombreuses boutiques Ebay.&lt;/li&gt;
&lt;li&gt;L'alimentation à découpage 24V / 10 A ( http://stores.ebay.fr/Jingsam-LED-Lighting, 23 euros port inclus)&lt;/li&gt;
&lt;li&gt;Le relais statique 20 A (boutique http://shop.ebay.fr/electradecentre/m.html, 4,60 euros port inclus)&lt;/li&gt;
&lt;li&gt;Le boitier (boutique http://stores.ebay.fr/wonderco-buy79 sur ebay, 17 euros port en sus, référence du rack&amp;nbsp;: HB-630 )&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le reste provient de mes tiroirs ... (switch, portes fusibles, prises, etc..).&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/youtube.png&quot; alt=&quot;youtube.png&quot; title=&quot;youtube.png, déc. 2010&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Et maintenant, les vidéos&lt;/h2&gt;

&lt;p&gt;N'hésitez à mettre en plein écran pour voir les commentaires):&lt;/p&gt;

&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/9bzg5WAwUS8?fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/9bzg5WAwUS8?fs=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9bzg5WAwUS8&quot;&gt;Voir sur Youtube.com&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/rZhNl58c2Hw?fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/rZhNl58c2Hw?fs=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=rZhNl58c2Hw&quot;&gt;Voir sur Youtube.com&lt;/a&gt;
&lt;/div&gt;



&lt;p&gt;Pour la petite histoire, les vidéos ont été tournées sur iPhone 4, éditées sur iMovie pour iPhone, puis mises en ligne sur Youtube directement par l'iPhone. Ne restait plus qu'à ajouter quelques mots clés et descriptions dans l'interface de publication de Youtube, quelques annotations et le tour est joué..
Par contre, une lampe fluorescente lumière du jour de 60W (équivalent de 300 W à incandescence) a été utilisée pour éclairer la scène.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/12/20/Rack-de-commande-CNC-%C3%A0-base-de-TB6560-%3A-vid%C3%A9os-de-pr%C3%A9sentation#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/12/20/Rack-de-commande-CNC-%C3%A0-base-de-TB6560-%3A-vid%C3%A9os-de-pr%C3%A9sentation#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/54</wfw:commentRss>
      </item>
    
  <item>
    <title>Installer un afficheur LCD 44780 avec lcd4linux sur un NAS ReadyNAS de Netgear</title>
    <link>http://www.civade.com/post/2010/11/10/Installer-afficheur-LCD-44780-lcd4linux-NAS-ReadyNAS-Netgear</link>
    <guid isPermaLink="false">urn:md5:9864d5dd0975f3efc1305f1bd557979c</guid>
    <pubDate>Wed, 10 Nov 2010 23:31:00 +0100</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>administration système</category><category>diy</category><category>embarqué</category><category>firmware</category><category>logiciels libres</category><category>osx</category><category>snow leopard</category>    
    <description>&lt;p&gt;J'aime cette petite machine qu'est le ReadyNAS. Bien sur, c'est avant tout un serveur de fichiers, en raid et qui en met plein les mains pour pas cher&amp;nbsp;: 350 euros pour 2x1To. Mais il peut aussi servir à bien d'autres choses... Serveur média, serveur iTunes, serveur de sauvegarde, serveur Time Machine, serveur domotique, mini serveur web... Et à ce prix là, c'est vraiment imbattable.
Mais cette petite boite ne dispose d'aucun affichage. Alors pourquoi pas essayer de lui en greffer un sur la base d'un afficheur LCD 2 lignes de 16 caractères (voir plus...) raccordé en USB... D'autant que bien qu'il soit facile d'en réaliser un, on peut également en trouver pour une poignée de $$ qui soit supporté par de nombreux logiciels (ex: &lt;a href=&quot;http://www.cwlinux.com/index.php?page=shop.product_details&amp;amp;flypage=shop.flypage&amp;amp;product_id=24&amp;amp;category_id=6&amp;amp;manufacturer_id=0&amp;amp;option=com_virtuemart&amp;amp;Itemid=33&quot;&gt;cwlinux usb&lt;/a&gt; = 37$)... Ceci nous permettra d'un seul coup d'oeuil de surveiller les paramètres vitaux de la machine, sans connecter d'interface web.
Malheureusement, il n'existe pas de paquet permettant une installation directe sur le readynas. Nous allons voir ici comment compiler les sources du logiciel et faire fonctionner le tout...&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/irlcd/irlcd.jpg&quot; title=&quot;irlcd.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/irlcd/.irlcd_m.jpg&quot; alt=&quot;irlcd.jpg&quot; title=&quot;irlcd.jpg, sept. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Pré requis matériel:&lt;/h2&gt;


&lt;p&gt;Dans un &lt;a href=&quot;http://www.civade.com/post/2008/07/06/35-irlcd-lcd4linux-lcdsmartie-realisation-d-une-interface-usb-avec-afficheur-lcd-recepteur-infrarouge-compatible-lirc-pour-linux-ou-windows-avec-un-attiny-2313&quot; hreflang=&quot;fr&quot;&gt;précédent billet&lt;/a&gt;, j'avais montré comment réaliser un afficheur LCD connecté en USB sur la base d'un afficheur à bas coût et d'une poignée de composants. C'est ce même afficheur que je vais utiliser ici bien que vous puissiez installer pratiquement n'importe quel autre afficheur avec connectivité USB.&lt;/p&gt;


&lt;p&gt;Je vais également utiliser le logiciel LCD4Linux ( &lt;a href=&quot;http://ssl.bulix.org/projects/lcd4linux&quot; hreflang=&quot;en&quot;&gt;http://ssl.bulix.org/projects/lcd4linux&lt;/a&gt; ).
Ce logiciel support une liste impressionnante d'afficheurs LCD que vous trouverez sur la page &lt;a href=&quot;http://ssl.bulix.org/projects/lcd4linux/wiki/Displays&quot; hreflang=&quot;en&quot;&gt;Supported DIsplays&lt;/a&gt; du Wiki du site officiel. L'utilisation de la librairie serdispllib (option) permet encore d'en ajouter une bonne couche.&lt;/p&gt;


&lt;p&gt;Vous pouvez sélectionner un afficheur de votre choix, mais pensez toutefois à en prendre un se connectant en USB, le port parallèle n'étant pas de mise sur le ReadyNAS. Potentiellement, un afficheur série pourrait marcher, bien que je ne l'ai pas testé. Il faudrait dans ce cas munir le ReadyNAS d'un câble convertisseur USB / série, et bien vérifier avant d'acheter l'afficheur que les pilotes pour le composant convertisseur soient intégrés au noyau linux du ReadyNAS (dmesg est ton ami..).&lt;/p&gt;


&lt;h2&gt;Pré requis logiciel:&lt;/h2&gt;

&lt;p&gt;Dans la mesure ou nous allons compiler sur le ReadyNAS directement, il va nous falloir répondre à  un certain nombre de pré requis. En effet, je n'ai pas jugé utile pour compiler un seul logiciel de mettre en place un environnement de compilation croisée pour compiler sur PC ou Mac des paquets pour le ReadyNAS.  Le compilateur sera donc installé sur le ReadyNASs lui même.&lt;/p&gt;


&lt;p&gt;Tout d'abord, le NAS doit être préparé pour&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Permettre un accès SSH en root&lt;/li&gt;
&lt;li&gt;Permettre l'installation de packages debian&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ce faire, il nous faut installer les deux extensions suivantes (avec l'interface web de gestion...):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(&lt;a href=&quot;http://www.readynas.com/download/addons/4.00/EnableRootSSH_1.0.bin&quot; hreflang=&quot;en&quot;&gt;http://www.readynas.com/download/addons/4.00/EnableRootSSH_1.0.bin&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(&lt;a href=&quot;http://www.readynas.com/download/addons/4.00/APT_1.0.bin&quot; hreflang=&quot;en&quot;&gt;http://www.readynas.com/download/addons/4.00/APT_1.0.bin&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rebooter ensuite le NAS puis se connecter en SSH. Le mot de passe root pas défaut est le mot de passe du compte admin.&lt;/p&gt;


&lt;p&gt;Il va ensuite nous falloir installer diverses choses. Pour se faire, se connecter sous shell, en root et exécuter le script suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# Installation des librairies libc, compilateur et entête kernel
apt-get install libc6-dev linux-kernel-headers gcc-3.4-base 
# Installation de la librairie usb, qui permet de dialoguer avec l'afficheur
apt-get install libusb-dev&lt;/pre&gt;


&lt;p&gt;Et éventuellement installer la librairie ncurses. Cela peut s'avérer pratique pour pouvoir tester lcd4linux en mode console texte (c'est à dire sans afficheur...).&lt;/p&gt;

&lt;pre&gt;apt-get install ncurses-dev&lt;/pre&gt;


&lt;p&gt;Et quelques utilitaires, qui serviront pour la suite de ce tutorial&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# nécessaire pour décompresser le package lcd4linux
apt-get install bzip2
# pour disposer de la commande lsusb, qui nous permettra de détecter que notre afficheur usb est bien reconnu :
apt-get install usbutils&lt;/pre&gt;


&lt;p&gt;Et enfin la librairie gd2 nous sera utile si l'afficheur LCD est graphique&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# Librairie GD
apt-get install libgd2 libgd2-dev&lt;/pre&gt;


&lt;h2&gt;Compilation de la librairie serdispllib&lt;/h2&gt;

&lt;p&gt;Cette étape est optionnelle, mais permettra d'ajouter un support sur d'autres périphériques LCD qui seront pris en charge directement par la librairie (voir la liste sur &lt;a href=&quot;http://serdisplib.sourceforge.net/#displays&quot; hreflang=&quot;en&quot;&gt;http://serdisplib.sourceforge.net/#displays&lt;/a&gt; ).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se placer dans /usr/src&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;cd /usr/src&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Récupérer la librairie en source (tar.gr) à partir de la page sourceforce du projet&amp;nbsp;: http://sourceforge.net/projects/serdisplib/&lt;/li&gt;
&lt;li&gt;Décompresser la librairie récupérée&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;tar xvfz serdisplib-1.97.9.tar.gz&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Configurer le makefile. Noter le switch pour forcer la plateforme sparc, l'auto-configuration étant incapable de le détecter.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;cd serdisplib-1.97.9
./configure --enable-libusb --build=sparc-linux&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Compiler et installer la librairie&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;make
make install&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Créer le fichier /etc/ld.so.conf et ajouter la ligne&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;/usr/local/lib&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Mettre à jour les chemins des bibliothèques&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;ldconfig&lt;/pre&gt;


&lt;p&gt;Ces deux dernières étapes ont pour objectif d'indiquer au système le chemin d'accès au bibliothèques complilées dans /usr/local/lib, sinon ... erreur au chargement de lcd4linux:&lt;/p&gt;

&lt;pre&gt;Starting lcd4linux: /usr/local/bin/lcd4linux: error while loading shared libraries: libserdisp.so.1: cannot open shared object file: No such file or directory&lt;/pre&gt;



&lt;h2&gt;Récupération du package lcd4linux et compilation&lt;/h2&gt;

&lt;p&gt;Il va nous falloir récupérer le package lcd4linux sur le site officiel&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;cd /usr/src
wget http://ssl.bulix.org/projects/lcd4linux/attachment/wiki/Download/lcd4linux-0.11.0-SVN.tar.bz2&lt;/pre&gt;


&lt;p&gt;Nous allons ensuite le décompresser.&lt;/p&gt;

&lt;pre&gt;tar xvjf lcd4linux-0.11.0-SVN.tar.bz2
cd lcd4linux-0.11.0-SVN/&lt;/pre&gt;


&lt;p&gt;Vient ensuite l'étape de la configuration. Il est impératif de préciser à l'aide du switch '--build' la plateforme de destination, car le package n'est pas capable de l'auto-détecter.&lt;/p&gt;


&lt;p&gt;Autre point que le configure n'est pas capable d'auto-détecter&amp;nbsp;: l'absence de port parallèle. La compilation échoue sur celle-ci. Il va donc nous falloir désactiver tous les divers qui l'utilisent afin d'éviter les plantages de compilation. Le flag '--with-drivers' est là pour cela. Bien penser à encadrer les paramètres avec des simples quotes, sinon cela ne marche pas. Il est possible en préfixant le nom du driver par un point d'exclamation, de préciser de l'exclure de la compilation.&lt;/p&gt;


&lt;p&gt;La page &lt;a href=&quot;http://ssl.bulix.org/projects/lcd4linux/wiki/driverOverview&quot; hreflang=&quot;en&quot;&gt;Driver Overview&lt;/a&gt; du wiki nous permet d'identifier les drivers conçus pour le port parallèle. A noter que le driver 'Sample', n'est pas mentionné dans cette liste, et que lui aussi utilises le port parallèle...&lt;/p&gt;


&lt;p&gt;Pour réaliser une compilation avec tous les drivers supportés sauf ceux nécessitant le port parallèle, voici la commande&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;./configure --with-drivers='all,!HD44780,!LPH7508,!M50530,!Noritake,!T6963,!Sample' --build=sparc-linux&lt;/pre&gt;


&lt;p&gt;Il est également possible de n'inclure que le driver dont vous avez besoin, ici, la même configuration, mais seulement avec  IRLCD, le driver que j'ai écrit pour l'interface LCD que j'ai réalisée et qui a été intégrée par le développeur de lcd4linux dans la dernière version. Ne mettre que le driver nécessaire à clairement un impact sur le poids de l'exécutable. Ainsi, en intégrant tous les drivers et le support ncurses, il pèse 1.3Mo. Après compilation à l'aide de la ligne suivante, il ne pèse plus que 790Ko.&lt;/p&gt;


&lt;pre&gt;./configure --with-drivers='IRLCD' --build=sparc-linux&lt;/pre&gt;


&lt;p&gt;Puis vient ensuite la compilation et l'installation...&lt;/p&gt;

&lt;pre&gt;make&lt;/pre&gt;


&lt;p&gt;Et si tout s'est bien passé ...&lt;/p&gt;

&lt;pre&gt;make install&lt;/pre&gt;


&lt;h2&gt;Paramétrage et test&lt;/h2&gt;

&lt;p&gt;Il va tout d'abord nous falloir générer un fichier de configuration. Pour ce faire nous allons copier celui livré dans /etc&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;cp lcd4linux.conf.sample /etc/lcd4linux.conf&lt;/pre&gt;


&lt;p&gt;Ensuite, nous allons procéder à une petite adaptation pour que la configuration reflète l'afficheur que nous avons choisi. Ici, je vais configurer pour IRLCD. Editer /etc/lcd4linux.conf et commenter&lt;/p&gt;


&lt;pre&gt;# Display 'picoLCD'&lt;/pre&gt;


&lt;p&gt;Et dé-commenter le driver de l'afficheur sélectionné, pour moi IRLCD&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;Display 'IRLCD'&lt;/pre&gt;


&lt;p&gt;Ensuite, paramétrer l'aspect (Layout) en commentant celui par défaut&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# Layout 'L20x2'&lt;/pre&gt;


&lt;p&gt;Et en dé-commentant celui requis, pour moi 16 caractères par 2 lignes&lt;/p&gt;

&lt;pre&gt;Layout 'L16x2'&lt;/pre&gt;


&lt;p&gt;Brancher l'afficheur LCD USB, et vérifier qu'il est bien détecté&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
 readynas:~# lsusb
 __Bus 003 Device 003: ID 03eb:0002 Atmel Corp.__  ''&lt;&lt; mon afficheur lcd'' 
 Bus 003 Device 001: ID 0000:0000  
 Bus 002 Device 003: ID 051d:0002 American Power Conversion Back-UPS Pro 500/1000/1500
 Bus 002 Device 001: ID 0000:0000  
 Bus 001 Device 001: ID 0000:0000  
&lt;/pre&gt;



&lt;p&gt;Vous pouvez ensuite lancer lcd4linux, qui devrait afficher sur votre afficheur. Il vous restera à configurer l'affichage pour afficher les informations de votre choix, mais là, je vous laisse lire la doc sur le site officiel....&lt;/p&gt;


&lt;h2&gt;Finalisation de l'installation&lt;/h2&gt;

&lt;p&gt;Il est ensuite possible de démarrer automatiquement lcd4linux avec le readnas comme c'est expliqué &lt;a href=&quot;http://ssl.bulix.org/projects/lcd4linux/wiki/Howto&quot; hreflang=&quot;en&quot;&gt;à la fin des howtos&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Je conseille toutefois de 'nicer' lcd4linux à une priorité la plus faible possible. De la doc de la commande nice&amp;nbsp;:  `nice' signifie `gentil', la valeur de priorité considérée est une valeur de gentillesse. Plus celle-ci est élévée, plus le processus est gentil vis à vis des autres, leur laissant un accès plus fréquent à l'ordonnanceur. En effet, le programme a tendance à manger un peu de CPU. J'ai donc a cet effet, j'ai légèrement modifié le script de démarrage proposé:&lt;/p&gt;
&lt;pre&gt; #!/bin/sh -e
 ### BEGIN INIT INFO
 # Provides:          lcd4linux
 # Required-Start:    
 # Required-Stop:    
 # Default-Start:     2 3 4 5
 # Default-Stop:      1
 ### END INIT INFO
 #
 # lcd4linux               This init.d script is used to start lcd4linux.
 #
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
 DAEMON=/usr/local/bin/lcd4linux
 NAME=lcd4linux
 DESC=lcd4linux
 test -f $DAEMON || exit 0
 set -e
 case &quot;$1&quot; in
  start)
        echo -n &quot;Starting $DESC: &quot;
        start-stop-daemon __\--nicelevel +19__ \--start \--quiet \--pidfile /var/run/$NAME.pid \--exec $DAEMON
        echo &quot;$NAME.&quot;
        ;;
  stop)
        echo -n &quot;Stopping $DESC: &quot;
        start-stop-daemon \--oknodo \--stop \--quiet \--pidfile /var/run/$NAME.pid \--exec $DAEMON
        echo &quot;$NAME.&quot;
        ;;
  reload)
        start-stop-daemon __\--nicelevel +19__ \--stop \--signal 1 \--quiet \--pidfile /var/run/$NAME.pid \--exec $DAEMON
        ;;
  restart|force-reload)
        echo -n &quot;Restarting $DESC: &quot;
        start-stop-daemon \--stop \--quiet \--pidfile /var/run/$NAME.pid \--exec $DAEMON
        sleep 1
        start-stop-daemon __\--nicelevel +19__ \--start \--quiet \--pidfile /var/run/$NAME.pid \--exec $DAEMON
        echo &quot;$NAME.&quot;
        ;;
  *)
        N=/etc/init.d/$NAME
        echo &quot;Usage: $N {start|stop|restart|reload|force-reload}&quot; &gt;&amp;2
        exit 1
        ;;
 esac
 exit 0
&lt;/pre&gt;



&lt;p&gt;Il faut ensuite activer ce script à l'aide des commandes suivantes&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
 ln -s /etc/init.d/lcd4linux /etc/rc1.d/K01zlcd4linux
 ln -s /etc/init.d/lcd4linux /etc/rc2.d/S99zlcd4linux
 ln -s /etc/init.d/lcd4linux /etc/rc3.d/S99zlcd4linux
 ln -s /etc/init.d/lcd4linux /etc/rc4.d/S99zlcd4linux
 ln -s /etc/init.d/lcd4linux /etc/rc5.d/S99zlcd4linux
&lt;/pre&gt;



&lt;h2&gt;Annexe: Tester sa configuration lcd4linux sur Mac&lt;/h2&gt;

&lt;p&gt;Sur mac, paradoxalement c'est assez complexe. En effet, la compilation de la librairie libusb échoue en 64 bits sur Snow Leopard. Il aurait été possible de la prélever à partir de macports, mais J'ai plutôt fait le choix (quick &amp;amp; dirty hack...) d'installer libusb et le SDK à partir des packages disponibles pour l'installation de l'interface scanner Twain&amp;nbsp;:  http://www.ellert.se/twain-sane/.&lt;/p&gt;


&lt;p&gt;Une fois ceci réalisé, il faut télécharger et décompresser lcd4linux, ce qui est déjà indiqué plus haut.&lt;/p&gt;


&lt;p&gt;La configuration s'effectue cette fois par la commande&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;./configure --with-drivers=&quot;IRLCD&quot; --with-plugins='all,!netinfo,!i2c_sensors'&lt;/pre&gt;


&lt;p&gt;La compilation et l'installation s'effectue ensuite comme d'habitude&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;make
make install&lt;/pre&gt;


&lt;p&gt;L'étape configuration est également à reprendre de la partie précédente du billet.&lt;/p&gt;


&lt;p&gt;Notez que ceci ne permettra pas de tester tous les plugins. Certains en effet ne fonctionneront pas, OSX ne gérant pas certaines ressources de la même façon qu'un unix standard. C'est le cas par exemple de l'utilisation du processeur. L'afficheur toutefois devrait se réveiller et se peupler des informations voulues...&lt;/p&gt;


&lt;p&gt;Bonne bidouille,
JPC&lt;/p&gt;



&lt;h2&gt;Edit&amp;nbsp;: ajout d'autres techniques de gestion du LCD.&lt;/h2&gt;


&lt;p&gt;J'ai soumis cette modification sur le forum Netgear, et cela a alimenté quelques discussions (&lt;a href=&quot;http://www.readynas.com/forum/viewtopic.php?f=34&amp;amp;t=47372&amp;amp;p=271847&quot;&gt;http://www.readynas.com/forum/viewtopic.php?f=34&amp;amp;t=47372&amp;amp;p=271847&lt;/a&gt; )
Une idée intéressante est d'installer l'afficheur LCD qui est intégré sur les plus gros modèles. En effet, le connecteur permettant la connexion d'un LCD serait présent sur la carte mère du Readynas Duo.&lt;/p&gt;


&lt;p&gt;L'intérêt de cette technique est de restaurer une fonctionnalité qui est supportée par un driver intégré au noyau du nas. Du coup, l'afficheur se peuplera automatiquement des informations affichées par le firmware, sans effort.
Un post en allemand (&lt;a href=&quot;http://www.readynas.com/forum/viewtopic.php?f=29&amp;amp;t=40117&quot;&gt;http://www.readynas.com/forum/viewtopic.php?f=29&amp;amp;t=40117&lt;/a&gt; ) explique comment faire. En synthèse, il faut créer une carte  embarquant un W83601G (i2c -&amp;gt; entrées sorties TTL) raccordé à l'afficheur LCD 44780. Je n'ai pas creusé plus avant.&lt;/p&gt;


&lt;p&gt;D'autres réactions m'ont donnée des pistes d'investigation. En effet, le firmware du readynas duo, intègre tout le logiciel pour piloter le LCD. Soit. Mais est il possible de modifier les appels au driver ou le driver lui même pour afficher sur autre chose que le lcd interne?&lt;/p&gt;


&lt;p&gt;Tout d'abord, il faut voir comment est piloté le lcd interne. Apparemment un périphérique /dev/lcd permet l'écriture du texte, tandis que /proc/sys/dev/lcd/cmd permet d'envoyer des commandes (numéro de ligne, soit 2 pour la ligne 1, soit 192 pour la ligne 2), et /proc/sys/dev/lcd/backlight permet d'allumer et éteindre le backlight (en écrivant 0 ou 1 dessus). C'est simple, et efficace. D'après le code, les écritures sont formatées à 2 lignes de 16 caractères.&lt;/p&gt;


&lt;p&gt;Malheureusement, le driver lcd (padre_lcd.ko) n'est pas livré en source dans la partie GPL du readynas. Il est donc difficile de l'adapter pour piloter un autre lcd.&lt;/p&gt;


&lt;p&gt;J'ai donc regardé si il était possible de remplacer les appels à /dev/lcd par autre chose.  Plusieurs programmes font un appel à ce driver&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/frontview/bin/functions&amp;nbsp;: Script shell. fonctions d'affichage utilisées par Frontview&lt;/li&gt;
&lt;li&gt;/frontview/lib/LCD.pl&amp;nbsp;: Script perl. Je n'ai pas trouvé ou cette librairie était appelée... Un reste d'un ancien développement?&lt;/li&gt;
&lt;li&gt;/frontview/bin/monitor_enclosure&amp;nbsp;: binaire, aparemment contient des appels à /dev/lcd. Les sources ne sont pas livrés.&lt;/li&gt;
&lt;li&gt;/frontview/bin/monitor_lcd&amp;nbsp;: companion script.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Afin d'interfacer l'afficheur USB précédemment décrit, j'ai écrit un programme C qui permet en ligne de commande de piloter le LCD.
En voici le fonctionnement&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
 readylcd [-v] [-h] [-u] [-c] [-x=nn] [-y=nn] ['text to display']
 -v : verbose
 -h : this help screen
 -u : check for lcd presence on usb bus
 -c : clear screen
 -x=nn : go to column x before print (from 0 to 15, default 0)
 -y=nn : go to line y before print (from 0 to 1, default to 0)
 'text to display' (with quotes..)
&lt;/pre&gt;



&lt;p&gt;Et le source  (compilé sur le readynas lui même...). Il doit être linké avec la librairie libusb, qui doit préalablement être installée sur le readynas:&lt;/p&gt;

&lt;pre&gt;/*
* readylcd : Interface program for Frontview / ReadyNAS&lt;br&gt;
* Needs libusb 0.1 and minor modifications to LCD.pl
*
* Copyright (C) 2010 Jean-Philippe CIVADE &amp;lt;jp@civade.com&amp;gt;
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;sys/types.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;strings.h&amp;gt;

#include &amp;lt;usb.h&amp;gt;

/* Verbose mode? */
int verbose = 0;

/* vid/pid of IRLCD */
#define LCD_USB_VENDOR 0x03EB   /* for Atmel device */
#define LCD_USB_DEVICE 0x0002

/* LCD Caracteristics */
#define LCD_NBLINES 2
#define LCD_NBCOLS 16
/* Protocole IR/LCD */
#define LCD_INSTR      20
#define LCD_DATA       21

static char *device_id = NULL, *bus_id = NULL;
static usb_dev_handle *lcd;

int irlcd_open()
{
    struct usb_bus *busses, *bus;
    struct usb_device *dev;

    lcd = NULL;
    if (verbose==1) printf(&quot;Scanning USB for IRLCD interface ...\n&quot;);
    usb_set_debug(0);
    usb_init();
    usb_find_busses();
    usb_find_devices();
    busses = usb_get_busses();

    for (bus = busses; bus; bus = bus-&gt;next) {
        /* search this bus if no bus id was given or if this is the given bus id */
        if (!bus_id || (bus_id &amp;&amp; !strcasecmp(bus-&gt;dirname, bus_id))) {

            for (dev = bus-&gt;devices; dev; dev = dev-&gt;next) {
                /* search this device if no device id was given or if this is the given device id */
                if (!device_id || (device_id &amp;&amp; !strcasecmp(dev-&gt;filename, device_id))) {

                    if ((dev-&gt;descriptor.idVendor == LCD_USB_VENDOR) &amp;&amp; (dev-&gt;descriptor.idProduct == LCD_USB_DEVICE)) {
                        if (verbose==1) printf(&quot;Found IRLCD interface on bus %s device %s\n&quot;, bus-&gt;dirname, dev-&gt;filename);
                        lcd = usb_open(dev);
                        if (usb_claim_interface(lcd, 0) &lt; 0) {
                            if (verbose==1) printf(&quot;--&gt; ERROR : usb_claim_interface() failed on readylcd! Device already used ?\n&quot;);
                            return -1;
                        }
                        return 0;
                    }
                }
            }
        }
    }
  return -1;
}

void irlcd_close()
{
    usb_release_interface(lcd, 0);
    usb_close(lcd);

    return ;
}

/* Send a buffer to lcd via a control message */
static int drv_IRLCD_send(int request, unsigned char *buffer, int size)
{
    if (usb_control_msg(lcd, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT,     /* bRequestType */
                        request,        /* bRequest (LCD_INSTR / LCD_DATA) */
                        0,      /* wValue (0) */
                        0,      /* wIndex (0) */
                        (char *) buffer,        /* pointer to destination buffer */
                        size,   /* wLength */
                        1000) &lt; 0) {    /* Timeout in millisectonds */
        if (verbose==1) printf(&quot;IRLCD: USB request failed! Trying to reconnect device.&quot;);

        usb_release_interface(lcd, 0);
        usb_close(lcd);

        /* try to close and reopen connection */
        if (irlcd_open() &lt; 0) {
            if (verbose==1) printf(&quot;IRLCD: could not re-detect IRLCD USB LCD&quot;);
            return -1;
        }
        /* and try to re-send command */
        if (usb_control_msg(lcd, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, /* bRequestType  */
                            request,    /* bRequest (LCD_INSTR / LCD_DATA) */
                            0,  /* wValue (0) */
                            0,  /* wIndex (0) */
                            (char *) buffer,    /* pointer to destination buffer */
                            size,       /* wLength */
                            1000) &lt; 0) {        /* Timeout in millisectonds */
            if (verbose==1) printf(&quot;IRLCD: retried USB request failed, aborting!&quot;);
            return -1;
        }

        if (verbose==1) printf (&quot;IRLCD: Device successfully reconnected.&quot;);
    }

    return 0;
}

/* text mode displays only */
static void drv_IRLCD_clear(void)
{
    unsigned char cmd[1];

    cmd[0] = 0x01;              /* clear */
    drv_IRLCD_send(LCD_INSTR, cmd, 1);
    cmd[0] = 0x03;              /* home */
    drv_IRLCD_send(LCD_INSTR, cmd, 1);
}
/* Write a string of n chars to row, line. Line and row numbering starting at 0 */
static void drv_IRLCD_write(const int row, const int col, const char *data, int len)
{
    unsigned char cmd[1];
    static int pos;

    /* for 2 or 4 lines display */
    pos = (row % 2) * 64 + (row / 2) * 20 + col;

    /* do the cursor positioning here */
    cmd[0] = 0x80 | pos;

    /* do positionning */
    drv_IRLCD_send(LCD_INSTR, cmd, 1);

    /* send string to the display */
    drv_IRLCD_send(LCD_DATA, (unsigned char *) data, len);

}

/* Define spectial char. Matrix is an arrayt of 8 bytes (lines) each byte only used for the 5 less significant bits */
/* this allows defin of 1 char of 5x8 dots */
static void drv_IRLCD_defchar(const int ascii, const unsigned char *matrix)
{
    unsigned char cmd[10];
    int i;

    /* Write to CGRAM */
    cmd[0] = 0x40 | 8 * ascii;
    drv_IRLCD_send(LCD_INSTR, cmd, 1);


    /* send bitmap to the display */
    for (i = 0; i &lt; 8; i++) {
        cmd[i] = matrix[i] &amp; 0x1f;
    }
    drv_IRLCD_send(LCD_DATA, cmd, 8);
}
int main(int argc, char *argv[])
{
  int chr;
  int x=0;
  int y=0;
  char buffer[40];

  while ( --argc &gt; 0 &amp;&amp;  (*++argv)[0] == '-' )
        while ( chr = *++argv[0] )
                switch (chr) {
                        case 'v':
                                verbose = 1;
                                if (verbose==1) printf (&quot;IRLCD Verbose activated\n&quot;);
                                break;
                        case 'h' :
                                printf (&quot;readylcd [-v] [-h] [-u] [-c] [-x=nn] [-y=nn] [-t='text to display']\n&quot;);
                                printf (&quot; -v :     verbose\n&quot;);
                                printf (&quot; -h :     this help screen\n&quot;);
                                printf (&quot; -u :     check for lcd presence on usb bus\n&quot;);
                                printf (&quot; -c :     clear screen\n&quot;);
                                printf (&quot; -x=nn :  go to column x before  print (from 0 to 15, default 0)\n&quot;);
                                printf (&quot; -y=nn :  go to line y before print (from 0 to 1, default to 0)\n&quot;);
                                printf (&quot; 'text to display' (with quotes..)\n&quot;);
                                break;
                        case 'u' :
                                if (irlcd_open() != -1) {
                                        if (verbose==1) printf (&quot;IRLCD Successfully detected\n&quot;);
                                        return 0;
                                        }
                                // no lcd detected
                                else return (-1);
                        case 'c' :
                                if (irlcd_open() != -1) {
                                        if (verbose==1) printf (&quot;IRLCD Successfully detected\n&quot;);
                                        drv_IRLCD_clear();
                                        if (verbose==1) printf (&quot;IRLCD Successfully cleared\n&quot;);
                                        return 0;
                                        }
                                // no lcd detected : can't clear...
                                else return (-1);
                        case 'x' :
                                // read x value
                                sscanf(argv[0],&quot;x=%d&quot;,&amp;amp;x);
                                if (verbose==1) printf (&quot;IRLCD: requested X=%d\n&quot;,x);
                                break;
                        case 'y' :
                                // read y value
                                sscanf(argv[0],&quot;y=%d&quot;,&amp;amp;y);
                                if (verbose==1) printf (&quot;IRLCD: requested Y=%d\n&quot;,y);
                                break;
                        }
  // read text
  if (argc) {
        strcpy (buffer,argv[0]);
        if (verbose==1) printf (&quot;IRLCD: writing text '%s' on line=%d col=%d\n&quot;,buffer,y,x);
        // sanitize args
        if (x&gt;=LCD_NBCOLS ) x=LCD_NBCOLS -1;
        if (y&gt;=LCD_NBLINES) y=LCD_NBLINES-1;
        buffer[LCD_NBCOLS]='\0'; // 16 chars max...
        irlcd_open();
        drv_IRLCD_write(y,x, buffer, strlen(buffer));
        }
  else
        printf (&quot;Nothing done. Please consult help with 'readylcd -h'\n&quot;);

  return 0;
}
&lt;/pre&gt;



&lt;p&gt;Ensuite, j'ai modifié les programmes appelant le LCD interne pour qu'ils utilisent la commande précédemment écrite et fassent vivre le LCD USB.&lt;/p&gt;


&lt;p&gt;Dans /frontview/bin/functions , réécriture de la fonction &quot;print_lcd_line:&lt;/p&gt;
&lt;pre&gt;function print_lcd_line()
{
line=$1
line=$(( line - 1 ))
cmd=$(printf &quot;/usr/local/bin/readylcd -y=%d '%-16s'&quot; $line &quot;$2&quot;)
eval &quot;$cmd&quot;
}
&lt;/pre&gt;



&lt;p&gt;Dans /frontview/lib/LCD.pl, remplacement du script complet par&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;#!/usr/bin/perl
#-------------------------------------------------------------------------
#  Copyright 2007, NETGEAR
#  All rights reserved.
#-------------------------------------------------------------------------

sub lcd_is_supported
{
  # try to initialize
  my $ret = ( system(&quot;/usr/local/bin/readylcd -u&quot;)==0  ? 1  : 0);
  # if ok, clear screen
  if ($ret)
   {
     system(&quot;/usr/local/bin/readylcd -c&quot;);
   }
  return $ret;
}

sub print_lcd_line
{
  my $line      = shift;
  my $lcd_mesg  = substr(shift,0,16);
  my $cmd;
  $cmd=sprintf(&quot;/usr/local/bin/readylcd -x=%d '%-16s'&quot;, $line-1, $lcd_mesg);
  system($cmd);
}

sub hotplug_lcd
{
  my $mesg = shift;
  my $mon_pid;
  # Try to locate monitor_enclosure PID via .pid file
  if( open(PID, &quot;/var/run/monitor_enclosure.pid&quot;) )
  {
    $mon_pid = (&lt;PID&gt;)[0];
    close PID;
  }
  print_lcd_line(&quot;2&quot;, $mesg);
  kill(USR1, $mon_pid) if($mon_pid);
}

sub turnon_lcd
{
  $LCD_ON = 1;
}

sub turnoff_lcd
{
  return if( pgrep(&quot;LCD_ALWAYS_ON=1&quot;, &quot;/etc/default/services&quot;) );
  $LCD_ON = 0;
}

sub pgrep
{
  my $string = shift;
  my $infile = shift;
  my $result;

  open(INFILE, &quot;$infile&quot;);
  while( &lt;INFILE&gt; )
  {
    if( /$string/ )
    {
      chomp;
      $result = $_;
      last;
    }
  }
  close(INFILE);

  return $result;
}


1;
&lt;/pre&gt;



&lt;p&gt;Et enfin, le script /frontview/bin/monitor_lcd (annule et remplace) dans lequel au passage j'ai corrigé un bug sur la détection d'adresse ip (voir if addr):&lt;/p&gt;
&lt;pre&gt;#!/usr/bin/perl

my $ret = ( system(&quot;/usr/local/bin/readylcd -u&quot;)==0  ? 1  : 0);
if ($ret) {
   $| = 1;# set autoflush
} else {
   exit;
}
sub LCD_MOVE {
  my $x=$_[0];
  my $y=$_[1];
  return 128+($y&amp;1)*64+$x;
}


system(&quot;/usr/local/bin/readylcd -c&quot;);

#Display IP address
$ip=0;
ioctl FH, $IOCTL_LCD_CMD, pack(&quot;L&quot;, $LCD_HOME);
open IF, &quot;/sbin/ifconfig |&quot;;
while (&lt;IF&gt;) {
      chomp;
# was inet\addr. On readynas is inet\adr (one d..)
      if (/ \s+ inet\sadr:(\S+) /x) {
        if ($1) {
           $ip = $1;
        } else {
           $ip = &quot;Check Network...&quot;;
        }
        last;
      }
}
close IF;
if ($ip == 0) {
  $ip = &quot;No Network link&quot;;
}
$cmd=sprintf(&quot;/usr/local/bin/readylcd -x=0 -y=0 '%-16s'&quot;, $ip);
system ($cmd);
#Display Hostname on second line
open(HN, &quot;/proc/sys/kernel/hostname&quot;);
chomp( $hostname = (&lt;HN&gt;)[0] );
close(HN);
$cmd=sprintf(&quot;/usr/local/bin/readylcd -x=0 -y=1 '%-16s'&quot;, $hostname);
system ($cmd);

#Wait for 150 sec to get updated enclosure.log
sleep 150;
#get failure info from enclosure.log
$enclosure_file = &quot;/var/log/frontview/enclosure.log&quot;;
$fail_descr = &quot; &quot;x16;
$alert = 0;
open (IN, $enclosure_file) or die &quot;Couldn't open $enclosure_file: $!&quot;;
while (&lt;IN&gt;) {
    if(/=fail/) {
       ($tmp, $descr) = split /descr=/, $_;
       $fail_descr .= $descr;
       $fail_descr .= &quot; &quot;;
       $fail_descr .= &quot; &quot;x8;
       $alert = 1;
    }
}
close ( IN );
$fail_descr .= &quot; &quot;x16;

if ($alert == 1) {
  $i=0;
  while (1) {
    $lcd_msg = substr($fail_descr, $i, 16);
    $cmd=sprintf(&quot;/usr/local/bin/readylcd -x=0 -y=1 '%-16s'&quot;, $lcd_mesg);
    system ($cmd);
    $tick=0.5;
    if ($i++==(length($fail_descr) -16)) {$i=0;}
    sleepx(&quot;$tick&quot;);
  }
} else {
  # no backlight support
  $i=0;
  $i=0;
}

# Internal functions
sub sleepx {
  my $dur = shift;
  select(undef, undef, undef, $dur);
}

sub echo {
  my $content = shift;
  my $output = shift || &quot;&gt;/dev/null&quot;;
  open(ECHO, &quot;$output&quot;);
  print ECHO &quot;$content\n&quot;;
  close(ECHO);
}
&lt;/pre&gt;




&lt;p&gt;Ca fait le boulot, mais l'affichage est pauvre. Pas d'usage disque, etc.. car cela est géré par monitor_enclosure, binaire dont les sources ne sont pas livrés... De plus, cela ne résistera pas à une mise à jour du firmware du readynas:  il faudra tout repatcher...&lt;/p&gt;


&lt;p&gt;Suite à cette remarque, chirpa m'a fait remarquer qu'un autre membre du forum avait créé un script pour afficher sur le lcd interne plus d'informations sur le système (post d'origine&amp;nbsp;: http://www.readynas.com/forum/viewtopic.php?p=166817#p166817 ). Je l'ai donc adapté pour qu'il utilise ma commande pour écrire sur le LCD USB.&lt;/p&gt;


&lt;p&gt;Le script &quot;readysysinfo&quot;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;#!/bin/bash
#
# System Info Script for ReadyNAS NV+ 16x2 LCD display.
# Cycles a selection of system information over LCD.
# 0.2a by rxbyte@gmail.com

# ---- Global Variables ----
# No need to alter unless debugging on non-ReadyNAS platform
ROTATION_DELAY=3
NET_INT=eth0
HDD_DEV=/dev/hdc1
RAID_DEV=/dev/c/c
# LCD Flags
LCD_SHOW_MEM=1
LCD_SHOW_CPU=1
LCD_SHOW_SYS=1
LCD_SHOW_NET=1
LCD_SHOW_IP=1
LCD_SHOW_TIME=1
LCD_SHOW_HDD=1

# ---- LCD Management Functions ----
# Change state of LCD backlight
function set_backlight
    {
i=0
    # none supported

    }
# Write string to LCD device
function print_lcd
    {
        line=$1
        line=$(( line - 1 ))
        cmd=$(printf &quot;/usr/local/bin/readylcd -y=%d '%-16s'&quot; $line &quot;$2&quot;)
        eval &quot;$cmd&quot;
    }
function reset_lcd
    {
        cmd=$(printf &quot;/usr/local/bin/readylcd -c&quot;)
        eval &quot;$cmd&quot;
    }
# ---- Statistics Generation Functions ----
# Each function below produces a string of information for display on one line of the LCD.
# Generate memory usage info
function get_meminfo
    {
           local s=&quot;&quot;
           sMemUsed=$(free -m | awk 'NR == 2 {print $3;}')
           sMemTotal=$(free -m | awk 'NR == 2 {print $2;}')
           s=&quot;RAM:&quot;$sMemUsed&quot;MB/&quot;$sMemTotal&quot;MB&quot;
           echo $s
    }
# Generate swap usage info
function get_swapinfo
    {
           local s=&quot;&quot;
           sSwapUsed=$(free -m | awk 'NR == 4 {print $3;}')
           sSwapTotal=$(free -m | awk 'NR == 4 {print $2;}')
           s=&quot;Swap:&quot;$sSwapUsed&quot;MB/&quot;$sSwapTotal&quot;MB&quot;
           echo $s
    }
# Generate system availability info
function get_uptimeinfo
    {
           local s=&quot;&quot;
           sUp=$(cat /proc/uptime | awk '{print $1;}' | cut -f1 -d.)
           let &quot;sUp /= 3600&quot;
           # sUnit=$(uptime | awk '{print $4;}' | cut -b1)
           sUsers=$(uptime | awk '{print $4;}')
           s=&quot;Up:&quot;$sUp&quot;h/Users:&quot;$sUsers
           echo $s
    }
# Generate domain name info
function get_hostnameinfo
    {
           local s=&quot;&quot;
           sHostname=$(hostname -f)
           s=$sHostname
           echo $s
    }
# Generate CPU load average info
function get_loadinfo
    {
           local s=&quot;&quot;
           sOneLoad=$(uptime | awk '{print $8;}' | cut -d, -f1)
           sFifteenLoad=$(uptime | awk '{print $10;}' | cut -d, -f1)
           s=&quot;Load:&quot;$sOneLoad&quot;/&quot;$sFifteenLoad
           echo $s
    }
# Generate CPU processes info
function get_procinfo
    {
           local s=&quot;&quot;
           sProcs=$(ps ax | wc -l | awk '{print $1}')
           s=&quot;Processes:&quot;$sProcs
           echo $s
    }
# Generate network interface received data info
function get_ethrxinfo
    {
           local s=&quot;&quot;
           sRX=$(ifconfig $NET_INT | grep &quot;RX bytes:&quot; | awk '{print $2}' | cut -b7-64)
           let &quot;sRX /= 1048576&quot;
           s=&quot;Rcvd:&quot;$sRX&quot;MB&quot;
           echo $s
    }
# Generate network interface sent data info
function get_ethtxinfo
    {
           local s=&quot;&quot;
           sTX=$(ifconfig $NET_INT | grep &quot;RX bytes:&quot; | awk '{print $6}' | cut -b7-64)
           let &quot;sTX /= 1048576&quot;
           s=&quot;Sent:&quot;$sTX&quot;MB&quot;
           echo $s
    }
# Generate network interface IP address info
function get_ipinfo
    {
           local s=&quot;&quot;
           sIPV4=$(ifconfig $NET_INT | awk 'NR == 2 {print $2;}' | cut -b6-20)
           s=&quot;IP:&quot;$sIPV4
           echo $s
    }
# Generate network interface MTU info
function get_mtuinfo
    {
           local s=&quot;&quot;
           sMTU=$(ifconfig -s $NET_INT | awk 'NR == 2 {print $2}')
           s=&quot;MTU:&quot;$sMTU
           echo $s
    }
# Generate system date info
function get_dateinfo
    {
           local s=&quot;&quot;
           sDate=$(date +%a-%d/%m/%Y)
           s=$sDate
           echo $s
    }
# Generate system time info
function get_timeinfo
    {
           local s=&quot;&quot;
           sTime=$(date +%H:%M)
           s=$sTime
           echo $s
    }
# Generate free disc info for system partition
function get_syshdinfo
    {
           local s=&quot;&quot;
           sUsedSys=$(df -h $HDD_DEV | awk 'NR == 2 {print $3}')
           sTotalSys=$(df -h $HDD_DEV | awk 'NR == 2 {print $2}')
           s=&quot;Sys:&quot;$sUsedSys&quot;/&quot;$sTotalSys
           echo $s
    }
# Generate free disc info for raid array partition
function get_raidhdinfo
    {
           local s=&quot;&quot;
           sUsedRaid=$(df -h $RAID_DEV | awk 'NR == 2 {print $3}')
           sTotalRaid=$(df -h $RAID_DEV | awk 'NR == 2 {print $2}')
           s=&quot;RAID:&quot;$sUsedRaid&quot;/&quot;$sTotalRaid
           echo $s
    }

# ---- Main Function ----
# Display a series of statistics on the LCD
reset_lcd
set_backlight 1
while [ &quot;1&quot; -eq &quot;1&quot; ]; do
# Display Memory Information
    if [ $LCD_SHOW_MEM = 1 ]; then
           print_lcd 0 `get_meminfo`
           print_lcd 1 `get_swapinfo`
           sleep $ROTATION_DELAY
    fi
# Display Disk Space Information
    if [ $LCD_SHOW_HDD = 1 ]; then
           print_lcd 0 `get_syshdinfo`
           print_lcd 1 `get_raidhdinfo`
           sleep $ROTATION_DELAY
    fi

# Display CPU Information
    if [ $LCD_SHOW_CPU = 1 ]; then
           print_lcd 0 `get_procinfo`
           print_lcd 1 `get_loadinfo`
           sleep $ROTATION_DELAY
    fi

# Display System Information
    if [ $LCD_SHOW_SYS = 1 ]; then
           print_lcd 0 `get_hostnameinfo`
           print_lcd 1 `get_uptimeinfo`
           sleep $ROTATION_DELAY
    fi

# Display Network Transport Information
    if [ $LCD_SHOW_NET = 1 ]; then
           print_lcd 0 `get_ethtxinfo`
           print_lcd 1 `get_ethrxinfo`
           sleep $ROTATION_DELAY
    fi

# Display Network IP Information
    if [ $LCD_SHOW_IP = 1 ]; then
           print_lcd 0 `get_ipinfo`
           print_lcd 1 `get_mtuinfo`
           sleep $ROTATION_DELAY
    fi

# Display Date and Time Information
    if [ $LCD_SHOW_TIME = 1 ]; then
           print_lcd 0 `get_dateinfo`
           print_lcd 1 `get_timeinfo`
           sleep $ROTATION_DELAY
    fi
done
reset_lcd
exit 0
&lt;/pre&gt;



&lt;p&gt;La, c'est beaucoup mieux: affichage cyclique des informations essentielles du readynas.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/11/10/Installer-afficheur-LCD-44780-lcd4linux-NAS-ReadyNAS-Netgear#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/11/10/Installer-afficheur-LCD-44780-lcd4linux-NAS-ReadyNAS-Netgear#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/53</wfw:commentRss>
      </item>
    
  <item>
    <title>Quel est le rapport entre Douglas Adams et un jailbreak iphone 4.1 par Geohot?</title>
    <link>http://www.civade.com/post/2010/10/14/Douglas-Adams-jailbreak-iphone-4.1-limera1n-Geohot</link>
    <guid isPermaLink="false">urn:md5:75a06c8cf3d434bfc7666047393222bf</guid>
    <pubDate>Thu, 14 Oct 2010 21:52:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
            
    <description>&lt;p&gt;Drôle de question ...&lt;/p&gt;


&lt;p&gt;En fait, le rapport est 42, mais cela mérite certainement une petite explication...&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/42/Answer_to_Life.png&quot; title=&quot;Answer_to_Life.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/42/.Answer_to_Life_t.jpg&quot; alt=&quot;Answer_to_Life.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Answer_to_Life.png, oct. 2010&quot; /&gt;&lt;/a&gt;42 est en effet la réponse ultime à la question ultime sur la vie,, l'univers et le reste (du moins d'après Douglas Adams, voir: &lt;a href=&quot;http://fr.wikipedia.org/wiki/La_grande_question_sur_la_vie,_l%27univers_et_le_reste&quot;&gt;Wikipedia&lt;/a&gt; ).&lt;/p&gt;


&lt;p&gt;Mais c'est également 101010 en binaire, c'est à dire le 10/10/10 ou également la date théorique de sortie du Jailbreak pour iphones en version 4.1&amp;nbsp;:  Greenpois0n.&lt;/p&gt;


&lt;p&gt;Geohot lui a grillé la politesse en publiant la nuit précédente LimeRa1n, exploitant une toute nouvelle faille...&lt;/p&gt;


&lt;p&gt;42 est aussi le numéro série de la zone localhost sur les systèmes  &quot;Unix like&quot; (Mac y compris) comme en témoigne, la copie de la zone suivante, extraite d'un mac OSX snow Leopard...)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;$TTL    86400
$ORIGIN localhost.
@         1D IN SOA       @ root (
                 &lt;strong&gt;42              ; serial (d. adams)&lt;/strong&gt;
                 3H                 ; refresh
                 15M              ; retry
                 1W                ; expiry
                 1D )              ; minimum
            1D IN NS        @
            1D IN A         127.0.0.1}}&lt;/pre&gt;


&lt;p&gt;Et encore&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La date de sortie de la version 10.10 d'Ubuntu (10/10/10)&lt;/li&gt;
&lt;li&gt;Le surnon de KDE 4.2 (The Answer)&lt;/li&gt;
&lt;li&gt;Un émoticone spécial sur FaceBook ( :42 )&lt;/li&gt;
&lt;li&gt;Le nom d'un groupe de musique (Level 42)&lt;/li&gt;
&lt;li&gt;et bien d'autres choses encore....&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A noter que vous n'êtes plus seul maintenant à connaitre la réponse...  &lt;a href=&quot;http://www.fnac.com/help/A08-1.asp&quot;&gt;Interrogez la conseillère virtuelle sur le site de la FNAC&lt;/a&gt; et posez lui la question &quot;La réponse sur la vie, l'univers et le reste&quot;. Vous verrez qu'elle aussi connait la réponse...&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/42/fnac.png&quot; title=&quot;fnac.png&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/42/.fnac_m.jpg&quot; alt=&quot;fnac.png&quot; title=&quot;fnac.png, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.google.fr/search?hl=fr&amp;amp;client=firefox-a&amp;amp;hs=odx&amp;amp;rls=org.mozilla%3Afr%3Aofficial&amp;amp;q=the+answer+to+life%2C+the+universe+and+everything&amp;amp;aq=f&amp;amp;aqi=g4&amp;amp;aql=&amp;amp;oq=&amp;amp;gs_rfai=&quot;&gt;Même Google connait la réponse&lt;/a&gt; comme en témoigne l'image suivante&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/42/google42.png&quot; alt=&quot;google42.png&quot; title=&quot;google42.png, oct. 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/42/thefilm.jpg&quot; title=&quot;thefilm.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/42/.thefilm_s.jpg&quot; alt=&quot;thefilm.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;thefilm.jpg, oct. 2010&quot; /&gt;&lt;/a&gt;PS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Merci Geohot pour le Jailbreak, il marche très bien sur mon iphone 4...&lt;/li&gt;
&lt;li&gt;Merci à Jean-Paul qui m'a offert il y a près de 25 ans &quot;Le guide du Routard Galactique&quot; (H2G2) de D.Adams, et m'a fait connaitre cette fabuleuse trilogie en.. 5 volumes. Ce fut la première du genre, suivie de loin par Star Wars, autre trilogie en 5 volumes... Mais je ne suis pas sur que Georges Lukas ait fait 5 volumes pour faire de l'humour anglais.... alors que dans le cas de Douglas Adams, il n'y a pas de doute...&lt;/li&gt;
&lt;li&gt;Au fait, quelle sera la prochaine version de l'iphone? 42, ou plutôt 4.2 &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/10/14/Douglas-Adams-jailbreak-iphone-4.1-limera1n-Geohot#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/10/14/Douglas-Adams-jailbreak-iphone-4.1-limera1n-Geohot#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/52</wfw:commentRss>
      </item>
    
  <item>
    <title>Faut il jeter votre contrôleur pas à pas chinois pour CNC  à base de TB6560 acheté à 50$ sur Ebay?</title>
    <link>http://www.civade.com/post/2010/10/04/Faut-il-jeter-votre-controleur-pas-%C3%A0-pas-chinois-pour-CNC-%C3%A0-base-de-TB6560-achet%C3%A9-%C3%A0-50%24-sur-Ebay-TB3-TB4</link>
    <guid isPermaLink="false">urn:md5:32d4a7abfa79a754ba79556c8cf404c4</guid>
    <pubDate>Mon, 04 Oct 2010 00:22:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>cnc</category><category>diy</category>    
    <description>&lt;p&gt;Derrière ce titre pour le moins bizarre, une vraie question. En effet, certains d'entre vous, en quête d'une carte contrôleur CNC ont probablement découvert sur Ebay une carte très alléchante et commercialisée par de nombreux vendeurs.  Vous avez d'ailleurs du reconnaitre la photo que l'on trouve sur toutes les descriptions Ebay...&lt;/p&gt;


&lt;p&gt;Sur le papier, elle est en effet très intéressante&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un prix défiant toute concurrence&lt;/li&gt;
&lt;li&gt;Contrôle de 3 à 6 axes selon la version&lt;/li&gt;
&lt;li&gt;Jusqu'à 3.5A par axe (36V max)&lt;/li&gt;
&lt;li&gt;Fait les micropas jusqu'au 16e de pas&lt;/li&gt;
&lt;li&gt;Une seule tension d'alimentation, les 12V et 5V sont générées directement sur la carte à partir de celle-ci.&lt;/li&gt;
&lt;li&gt;Entrées / sorties opto isolées pour protéger le port parallèle du PC&lt;/li&gt;
&lt;li&gt;Leds de contrôle d'activité sur les axes&lt;/li&gt;
&lt;li&gt;Leds de témoin d'alimentation 5V et 12V&lt;/li&gt;
&lt;li&gt;Relais de commande de broche intégré&lt;/li&gt;
&lt;li&gt;Toutes les sorties sont sur connecteurs débrochables&lt;/li&gt;
&lt;li&gt;Entrées fin de course et arrêt d'urgence sur connecteur SUBD à 9 broches pour câblage externe ET mini connecteur pour câblage interne. Plus de souplesse.&lt;/li&gt;
&lt;li&gt;Interface de pilotage manuelle sur connecteur SUBD 15 broches pour câblage externet ET mini connecteur pour câblage interne.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;J'en ai donc achetée une pour piloter une table Proxxon KT 150 (qui fera l'objet d'un prochain article). Mais lors des tests sur banc d'essai, c'est le drame&amp;nbsp;: les moteurs ratent des pas et font un bruit de casserole...&lt;/p&gt;


&lt;p&gt;J'ai bien sur tout vérifié plusieurs fois: courants moteurs, fréquence de pilotage, etc..  En désespoir de cause, je suis allé sur le forum américain CNCZone pour découvrir un thread nommé &quot;How I fixed my Chinese TB6560 controller&quot;...&lt;/p&gt;


&lt;p&gt;Alors venez lire la suite pour voir si ca marche... ou si il faut la jeter&amp;nbsp;!&lt;/p&gt;    &lt;h3&gt;La coupable&lt;/h3&gt;

&lt;p&gt;Si vous reconnaissez la photo de la carte ci dessous, pou l'avoir vue sur la page des description sur Ebay de la superbe carte que vous vous apprêtiez à acheter, alors lisez bien l'article ci dessous avant de dégainer votre CB, sous peine de mauvaises surprises....&lt;/p&gt;


&lt;p&gt;Et si vous l'avez achetée, alors faites chauffer le fer a souder car va faire des travaux pratiques &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/tb6560_4axis.jpg&quot; title=&quot;tb6560_4axis.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560/.tb6560_4axis_m.jpg&quot; alt=&quot;tb6560_4axis.jpg&quot; title=&quot;tb6560_4axis.jpg, oct. 2010&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Le problème&lt;/h3&gt;

&lt;p&gt;Sur CNCZone, le sujet &quot;&lt;a href=&quot;http://www.cnczone.com/forums/general_electronics_discussion/110986-how_i_fixed_my_chinese_tb6560_controller_updated.html&quot;&gt;How I fixed my Chinese TB6560 controller&lt;/a&gt;&quot; fourmille d'informations.&lt;/p&gt;


&lt;p&gt;De nombreux internautes ont en effet constaté comme moi le phénomène de perte de pas, matérialisé par un bruit irrégulier sur les moteurs, et un décrochage à des vitesses auxquelles le moteur aurait du normalement fonctionner.&lt;/p&gt;


&lt;p&gt;A ce jour (octobre 2010), le thread démarré en aout 2010 fait 6 pages... Il il faut malheureusement les lire pour bien comprendre ce qui se passe.  Il y a aussi plusieurs corrections des schémas tout au log du thread, et une solution simple de modification à la fin.&lt;/p&gt;


&lt;p&gt;Tout d'abord, toutes les cartes sont impactées; Une usine chinoise a apparemment fait une grosse cadence de production et a inondé le marché de carte certes peu chères, mais qui ne marchent pas; Doc ridicule, schéma inexistant, il y a du travail. Il semblerait également qu'il y ait plusieurs versions. Je m'attache ici aux modifications de la version N des modèles TB3 / TB4 / TB5. La version de la carte ne semble pas marquée sur le circuit imprimé, mais la version N semble plus courante actuellement.&lt;/p&gt;


&lt;p&gt;Plusieurs contributeurs ont travaillé d'arrache-pied pour relever les schémas de la carte. Ils ont ensuite revérifié la conception de la carte à l'aide du principal outil&amp;nbsp;: le datasheet du TB6560.&lt;/p&gt;


&lt;p&gt;En fait, il y a 2 &lt;strong&gt;gros&lt;/strong&gt; problèmes sur cette carte&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un étage, visant à minimiser le courant aux basses vitesses ne marche pas&lt;/li&gt;
&lt;li&gt;Le signal &quot;step&quot; de chaque canal est mal conditionné.
&lt;ul&gt;
&lt;li&gt;La sortie de l'optocoupleur d'isolation du port parallèle est directement câblée à l'entrée step de chaque TB6560.&lt;/li&gt;
&lt;li&gt;Le signal s'effondre, ca l'opto est insufisamment chargé&lt;/li&gt;
&lt;li&gt;De plus le signal est mal polarisé (il est inversé...).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et il y en a 3 de plus, moins graves&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pb de masses, qui ne sont pas isolées entre la partie port parallèle (avant opto coupleurs) et la partie puissance.&lt;/li&gt;
&lt;li&gt;Potentialité de surchauffe du régulateur 12V, dont le petit radiateur fait un peu pitié...&lt;/li&gt;
&lt;li&gt;Erreur sur la tension max de fonctionnement. La fiche technique de la carte (fausse) dit 36V max... la datasheet dit 34V max...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Solutions&amp;nbsp;:&lt;/h3&gt;


&lt;p&gt;Il est à noter que si certaines de ces solutions sont aisément réalisables sans grosses compétences en électronique, les autre nécessitent de couper des pistes et d'implanter un nouveau composant sur le circuit imprimé. Ces modifications nécessitent un minimum de compétences en électronique.&lt;/p&gt;


&lt;p&gt;Nous allons tout d'abord commencer par les problèmes qui sont faciles à régler (ou ne se règlent pas) puis voir les autres.&lt;/p&gt;


&lt;h4&gt;Tension de fonctionnement&lt;/h4&gt;

&lt;p&gt;Les moteurs étant pilotés en courant, il ne sert pas à grand chose d'alimenter la carte à la tension max. De plus, le faible cout des alimentations à découpage 24V,  ou des alimentations de portables en 19V fait qu'il est plus sage d'alimenter la carte à ces tensions. Outre le fait d'éloigner substantiellement la tensions de fonctionnement de la tension max, ceci aura aussi pour effet de minimiser le problème de surchauffe du régulateur 12V, qui n'aura plus que 12V à chuter au lieu de 22 si la carte était alimentée à 34V (tension max du contrôleur), voir encore moins en 19V...   A noter également que la doc et la fiche technique indiquent une tension mini de 12V, ce qui sera insuffisant pour faire du 12V sur la carte avec la régulateur 7812 embarqué sur la carte. On devrait donc lire 15V à 34V comme tension de fonctionnement...&lt;/p&gt;


&lt;h4&gt;Potentialité de surchauffe du régulateur 12V&lt;/h4&gt;

&lt;p&gt;Le régulateur 12V est assez chaud en fonctionnement. Il est possible d'agir de plusieurs façon différentes. Si vous n'envisagez d'utiliser la carte qu'à 1/4, ou 1/2 du courant max (soit 0,83 A ou 1.66 A) pas de pb. Il suffit de déconnecter le ventilateur qui refroidit le radiateur des TB6560. Ceux ci ne chauffant absolument pas avec ce courant, pas de soucis. L'alimentation dudit ventilateur étant prélevée sur le 12V, ce sera autant de courant en moins à fournir sur le 12V et peut être suffisant pour abaisser sa température de fonctionnement.&lt;/p&gt;


&lt;p&gt;A 3/4 ou 1 du courant nominal (soit 2.5A ou 3.33A), le ventilateur sur le radiateur des TB6560 est nécessaire. Vous pouvez soit&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le ré-alimenter avec un autre régulateur 12V à partir du 24V. L'effet sera le même que précédemment, la charge n'étant plus prélevée sur le régulateur interne, permettra d'en faire chuter la température.&lt;/li&gt;
&lt;li&gt;Le déconnecter et lors de la mise en boitier de la carte, la faire baigner dans un flux d'air produit par un gros ventilateur, idéalement au dessus des TB6560. Si son flux peut aussi arroser les 2 radiateurs des régulateurs 5V et 12V c'est parfait... Triple bénéfice sur cette solution puisque le 12V interne se retrouve amputé du courant du ventilateur interne et la ventilation est restaurée, et permet de refroidir les 3 éléments. C'est personnellement la solution que j'ai choisie. Vous pouvez même reconnecter le ventilateur interne sur la nouvelle alimentation 12V que vous avez réalisée.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Problème de masse sur la carte&lt;/h4&gt;

&lt;p&gt;Malheureusement, la masse a été routée en partie au dessus et en partie en dessous sur le circuit imprimé. Il n'avère impossible de modifier la carte pour séparer les masses avant  et après opto...  Il n'y a donc pas de solution et les optocoupleurs s'avèrent partiellement inutiles puisque la protection n'est pas totale.
J'ai personnellement utilisé une carte PCI fournissant un port parallèle additionnel sur le portable qui me sert à piloter cette carte sur EMC2. Ainsi en cas de problème, c'est la carte qui dégage et non la carte mère du portable. La carte est à choisir avec soin de façon à ce qu'elle soit compatible avec un port parallèle 'normal', ce qui n'est pas le cas de toutes les cartes PCI. Mais cela fera l'objet d'un autre article sur ce blog...&lt;/p&gt;


&lt;h4&gt;Suppression de l'étage de manipulation du courant aux basses vitesses&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/reperes.jpg&quot; title=&quot;reperes.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560/.reperes_s.jpg&quot; alt=&quot;reperes.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;reperes.jpg, oct. 2010&quot; /&gt;&lt;/a&gt;Ciquez sur l'image pour l'agrandir.&lt;/p&gt;



&lt;p&gt;Cette partie est assez facile puisqu'il suffit de dessouder les 4 résistances CMS (les garder, on s'en servira plus tard...) matérialisées sur la photo ci dessus par le repère A.&lt;/p&gt;


&lt;p&gt;Pour les dessouder, prendre une pince brucelles, attraper le composant et chauffer délicatement et successivement les 2 pattes de la résistance en appliquant une légère traction sur la pince brucelles de façon à 'casser' le point de colle (généralement rouge) maintenant la résistance sur le CI.&lt;/p&gt;


&lt;p&gt;Ne pas trop chauffer pour ne pas endommager le circuit imprimé ou la résistance elle même.&lt;/p&gt;


&lt;p&gt;La portion de schéma incriminée sera isolée après dessoudage des résistances.&lt;/p&gt;


&lt;h4&gt;Reconditionnement du signal STEP&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/Slide10ver3.jpg&quot; title=&quot;Slide10ver3.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560/.Slide10ver3_m.jpg&quot; alt=&quot;Slide10ver3.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Slide10ver3.jpg, oct. 2010&quot; /&gt;&lt;/a&gt;C'est cette dernière modification qui s'avère à la fois la plus complexe à réaliser pour un non électronicien, et la plus spectaculaire sur le fonctionnement de la carte.&lt;/p&gt;


&lt;p&gt;Pour l'implémenter, il va nous falloir un 74HC14, un condensateur de découplage de 10n, 2 résistances de 10K (en fait il en faut 6, mais nous en avons récupérées 4 dans la modification précédente...), du fil (idéalement à wrapper, car il est tout petit), un cutter, de la patience et de la minutie.&lt;/p&gt;


&lt;p&gt;Voici le schéma de la modification (cliquer pour le voir en grand). En bas, on voit la déconnexion (en rouge) de l'étage de bidouillage du courant, que nous avons réalisée juste avant. Le schéma contient une erreur, car il matérialise une coupure du circuit alors que nous avons tout simplement déconnecté la résistance à droite de la coupure, beaucoup plus simple à réaliser.&lt;/p&gt;


&lt;p&gt;Dans la partie supérieure du schéma, on voit notamment la résistance de 10K supplémentaire (que nous allons récupérer des résistances précédemment dessoudées), le buffer inverseur trigger de Schmitt 74HC14 qui permettent de reconditionner le signal  STEP / CLK.&lt;/p&gt;


&lt;p&gt;A noter qu'au début du thread du forum, ce n'est pas 1 mais 2 inverseurs que l'auteur a mis en place, avant de se rendre compte que le signal était inversé et qu'un seul suffisait pour corriger l'erreur. Le schéma ci dessous montre le câblage du 74HC14 tel qu'il doit être réalisé.
&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560/CNC_Controller_buffer_board_schematic_ver_2.jpg&quot; alt=&quot;CNC_Controller_buffer_board_schematic_ver_2.jpg&quot; title=&quot;CNC_Controller_buffer_board_schematic_ver_2.jpg, oct. 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/chineseFix.jpg&quot; title=&quot;chineseFix.jpg&quot;&gt;&lt;img src=&quot;http://www.civade.com/images/cnc/tb6560/.chineseFix_s.jpg&quot; alt=&quot;chineseFix.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;chineseFix.jpg, oct. 2010&quot; /&gt;&lt;/a&gt;La mise en œuvre nécessite un petit coup de main, comme en témoigne l'image ci compte (cliquer pour agrandir)&lt;/p&gt;


&lt;p&gt;Il nous faut tout d'abord récupérer les résistances précédemment dessoudées, et les ressouder sur le repère A, entre la pinoche de l'optocoupleur et la piste à gauche, après avoir légèrement décapé et étamé cette piste de gauche pour révéler le point d'accrochage de la soudure. Ceci est à faire sur les 4 axes.&lt;/p&gt;


&lt;p&gt;Ensuite, il faut couper (repère B) le signal Step de chaque axe avant d'insérer le buffer. L'endroit exact de la coupure peut être sur le repère B de la photo ci compte ou plus clairement sur celle déjà vue dans le paragraphe &quot;Suppression de l'étage de manipulation du courant aux basses vitesses&quot;.&lt;/p&gt;


&lt;p&gt;Pour ce faire, inciser la piste à 2 endroits (à 2 mm de distance) à gauche de la traversée à l'aide d'un cutter.&lt;/p&gt;


&lt;p&gt;Décaper (à l'aide de la pointe du cutter) le tronçon de piste ainsi isolé, et l'étamer.&lt;/p&gt;


&lt;p&gt;Puis à l'aide du fer à souder, le chauffer de façon à le décoller de l'époxy. Faire bien attention à ne prendre que ce tronçon avec le fer à souder, au risque de ne pas décoller que ce tronçon et d'endommager d'autres parties du CI.  C'est l'opération la plus sensible.&lt;/p&gt;


&lt;p&gt;Une fois le tronçon enlevé, nous avons 2 points de fixation pour sortir les fils sans endommager le CI. La pastille du bas de la résistance que nous avons dessoudé précédemment s'avère un bon point d'accrochage pour le signal qui va aller vers l'entrée de notre buffer (fil vert), tandis que la traversée à droite de notre coupure fera le point de réinjections du signal après bufferisation (fil jaune).&lt;/p&gt;


&lt;p&gt;Ne pas oublier de mettre les résistances de tirage au +5V sur les entrées inutilisées, et le condensateur de filtrage de l'alimentation.&lt;/p&gt;


&lt;p&gt;L'alimentation +5V (fil rouge) et GND (fil noir) peuvent être prélevées à plusieurs endroits sur la carte. Ne pas se tromper avec le +12, le circuit n'y survivrait pas...&lt;/p&gt;


&lt;h3&gt;Tests&lt;/h3&gt;

&lt;p&gt;Après modification, la carte change de comportement de façon spectaculaire. Les bruits aléatoires constatés avant modification (perte de pas) disparaissent, et les moteurs tournent régulièrement quelle que soit la vitesse ou le courant (bien sur dans la limite des caractéristiques des moteurs...).&lt;/p&gt;


&lt;h3&gt;Conclusions&lt;/h3&gt;

&lt;p&gt;Je suis mitigé sur la conclusion de cette expérience.&lt;/p&gt;


&lt;p&gt;Là ou je suis perplexe, c'est sur le comportement des vendeurs sur Ebay. Je ne sais pas si ils ont conscience d'avoir acheté un lot merdique, ou si ils sont simplement ignares, mais c'est assez spectaculaire en matière de non-communication.  Tout ceux qui ont tenté de contacter les vendeurs se sont vu confrontés à une fin de non recevoir. Mais la responsabilité principale semble être imputable à http://www.hyu68.com qui d'après le circuit imprimé est le créateur de la carte. Il s'agit de la société &quot;Dongguan Hangyu Numerical Control  Automatic Equiment Co Ltd&quot;.&lt;/p&gt;


&lt;p&gt;Bien sûr, le site est en chinois, et le lien de traduction anglaise ne fonctionne que sur une toute petite partie des produits, et pas la carte qui nous intéresse.&lt;/p&gt;


&lt;p&gt;C'est sur la page http://www.hyu68.com/cp8.htm que l'on voit les cartes, notamment en bas, avec leurs références d'origine. Je retrouve bien &lt;a href=&quot;http://www.hyu68.com/HY-TB4DV-M.htm&quot;&gt;la mienne&lt;/a&gt;, et le visuel montre que&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le problème de bufferisation du signal Clock n'a pas été réglé, sinon, il y aurai un circuit 14 broches de plus sur la photo (les 2 buffers 74HC14 sont déjà complètement exploités...)&lt;/li&gt;
&lt;li&gt;Il n'y a pas de ventilateur sur la photo&lt;/li&gt;
&lt;li&gt;L'erreur sur les tensions d'alimentation est toujours présente&lt;/li&gt;
&lt;li&gt;Par contre, la fiche technique précise un courant de 3A nominal pour 3.5A crête. Pourquoi dans ce cas les résistances de charge sur la photo (les grosses à droite) sont de 0,15 ohms? En effet, d'après le datasheet du TB6560, le courant max serait donc de IOUT (A) = 0.5 (V) / RNF (Ω) = 3.33 Amps = 0.5V / 0.15 ohms ... On est donc de 330 Ma supérieur de la limite supérieure recommandée dans la fiche produit... Un mystère.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chose surprenante, une nouvelle carte vient d'apparaitre (http://www.hyu68.com/HY-TB4DV-N.htm) et elle semble avoir une structure très différente&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beaucoup de composants CMS, dont semble il 4 buffers, ce qui semblerait suffisant pour intégrer les modifications décrites&lt;/li&gt;
&lt;li&gt;Nouveau circuit imprimé... Les pb des masses auraient ils été réglés?&lt;/li&gt;
&lt;li&gt;5 petits connecteurs sur le CI donnent accès a de multiples signaux.. Lesquels&amp;nbsp;?&lt;/li&gt;
&lt;li&gt;Nombreux poussoirs sur le CI (10...) permettant le contrôle manuel des 4 axes et la vitesse de broche. Pas d'information sur la façon dont le contrôle de vitesse de broche est réalisé....&lt;/li&gt;
&lt;li&gt;Le relais de commande de broche aurait disparu, ou est bien caché.&lt;/li&gt;
&lt;li&gt;Grand radiateur, qui peut être ne nécessitera plus de ventilateur.. (à vérifier)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A défaut d'avoir plus d'infos sur cette carte, je vous recommanderais donc de ne pas acheter la version M (celle dont fait l'objet du présent article) et d'attendre que quelqu'un ait fait un rapport positif sur le version N (la nouvelle) avant de l'acheter...&lt;/p&gt;


&lt;p&gt;Car en effet, a moins d'être électronicien et d'accepter pleinement la version M et ses défauts et de faire les corrections décrites ce n'est pas réellement un bon plan dans l'état. SI vous n'avez aucune compétence en électronique, n'achetez pas cette carte, c'est clair. Si par contre la petite modification ne vous rebute pas, le gain par rapport à une carte équivalente bien réalisée ( et avec les mêmes drivers, il y en a plusieurs) est d'au moins 30 à 50 dollars.
Cela peut donc valoir le coup financièrement... D'autant que quand le fait qu'elle ne marche pas va se savoir, il y a fort à parier que l'on puisse en acheter pour bien moins que 50$, et à ce prix là, même avec la modification à faire, ce sera vraiment une affaire...&lt;/p&gt;


&lt;h3&gt;Références&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;La documentation d'origine livrée avec la carte (juste pour rire)&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/TB6560_4Axis_Driver-1.doc&quot;&gt;http://www.civade.com/images/cnc/tb6560/TB6560_4Axis_Driver-1.doc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;La documentation du circuit de commande Toshiba TB6560AHQ&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/TB6560AHQ-E_en_090324.pdf&quot;&gt;http://www.civade.com/images/cnc/tb6560/TB6560AHQ-E_en_090324.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Schéma des entrées&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/Slide02ver2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/Slide02ver2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Schéma des sorties: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/Slide03ver2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/Slide03ver2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Schéma du contrôle d'un axe (avant modif) :&lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/Slide09ver2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/Slide09ver2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Schéma du contrôle d'un axe (après modif)&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/Slide10ver3.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/Slide10ver3.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Schéma de câblage du buffer additionnel&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/CNC_Controller_buffer_board_schematic_ver_2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/CNC_Controller_buffer_board_schematic_ver_2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vue de dessus de la sérigraphie&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/top_ref_des_ver2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/top_ref_des_ver2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vue de dessous de la carte&amp;nbsp;: &lt;a href=&quot;http://www.civade.com/images/cnc/tb6560/bot_ref_des_ver2.jpg&quot;&gt;http://www.civade.com/images/cnc/tb6560/bot_ref_des_ver2.jpg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/10/04/Faut-il-jeter-votre-controleur-pas-%C3%A0-pas-chinois-pour-CNC-%C3%A0-base-de-TB6560-achet%C3%A9-%C3%A0-50%24-sur-Ebay-TB3-TB4#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/10/04/Faut-il-jeter-votre-controleur-pas-%C3%A0-pas-chinois-pour-CNC-%C3%A0-base-de-TB6560-achet%C3%A9-%C3%A0-50%24-sur-Ebay-TB3-TB4#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/51</wfw:commentRss>
      </item>
    
  <item>
    <title>Migrer Dotclear 1.2 (DC1) vers Dotclear 2 (DC2) : Guide détaillé et focus sur la réécriture d'URL</title>
    <link>http://www.civade.com/post/2010/09/19/Migrer-Dotclear-1.2-%28DC1%29-vers-Dotclear-2-%28DC2%29-%3A-Guide-d%C3%A9taill%C3%A9-et-focus-sur-la-r%C3%A9%C3%A9criture-d-URL</link>
    <guid isPermaLink="false">urn:md5:890647c4dbcf89bd84d22135c4b04e74</guid>
    <pubDate>Sun, 19 Sep 2010 08:48:00 +0200</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
            
    <description>&lt;p&gt;La migration d'un logiciel de gestion de contenus ou de blogs d'une version majeure à une autre version majeure est souvent un périple, car il n'y a que rarement compatibilité totale des fonctions. Ayant entrepris la migration de blog vers Dotclear 2, j'ai découvert qu'ici aussi, un certain nombre de problèmes sont à régler avec en tête la réécriture d'URLS. En effet les URL réécrites n'ont pas du tout la même forme sous DC1 et DC2, ce qui oblige à un peu de gymnastique dans la construction des règles de réécriture...&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/.dotclear_m.jpg&quot; alt=&quot;dotclear.png&quot; title=&quot;dotclear.png, sept. 2010&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Avant migration de DC1 vers DC2&lt;/h2&gt;


&lt;p&gt;Le blog en production disposait et utilisait&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L'url rewriting (hack sur dotclear 1.2)&lt;/li&gt;
&lt;li&gt;Un plugin pour streamer en flash des fichiers audio&lt;/li&gt;
&lt;li&gt;Un outil externe de calcul de sitemap Google&lt;/li&gt;
&lt;li&gt;Un plugin de gestion de captcha sur les commentaires postés&lt;/li&gt;
&lt;li&gt;D'un flux de Bookmarks (Xbel)&lt;/li&gt;
&lt;li&gt;D'un flux RSS 1.0&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Bénéfices du passage en Dotclear 2&lt;/h2&gt;


&lt;p&gt;Ayant déjà installé des Dotclear2 pour plusieurs amis, j'ai pu constater les nombreux bénéfices de cette nouvelle version&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Administration plus conviviale&lt;/li&gt;
&lt;li&gt;Multilingue et multiblog&lt;/li&gt;
&lt;li&gt;Gestion de pages statiques (ex: mentions légales) facilitée&lt;/li&gt;
&lt;li&gt;Installation de plugins par l'interface de gestion&amp;nbsp;: facile&lt;/li&gt;
&lt;li&gt;Mise à jour de Dotclear intégrée à l'interface d'admin&amp;nbsp;: un simple clic&lt;/li&gt;
&lt;li&gt;Outil de gestion des commentaires avec antispam et suppression automatique des commentaires non validés au dela d'une certaine période, paramétrable.&lt;/li&gt;
&lt;li&gt;Dispose en standard d'un outil permettrant de streamer de l'audio ou de la vidéo, sans aucun plugin externe&lt;/li&gt;
&lt;li&gt;Intégration de la gestion des sitemaps et des codes analytics dans Dotclear à l'aide d'un plugin&lt;/li&gt;
&lt;li&gt;Gestionnaire de medias plus convivial et gérant tous les formats d'images et leur redimensionnement automatique, les archives Zip, les documents de bureautique, etc..&lt;/li&gt;
&lt;li&gt;Gestionnaire de templates permettant l'édition de template directement dans Dotclear&lt;/li&gt;
&lt;li&gt;Ajax à tous les étages, facilitant l'utilisation par les internautes, et l'administration&lt;/li&gt;
&lt;li&gt;Gestion des flux RSS 2.0 et Atom 1.0&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Méthodologie de migration Dotclear&lt;/h2&gt;


&lt;p&gt;En partie issue de la doc Dotclear et d'expériences personnelles, voici la méthodologie avec laquelle j'ai installé et migré le blog&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installation d'un Dotclear2 à côté du Dotclear 1.2 en production et configuration&lt;/li&gt;
&lt;li&gt;Utilisation des fonctions d'import export pour
&lt;ul&gt;
&lt;li&gt;Importer les billets&lt;/li&gt;
&lt;li&gt;Importer les commentaires&lt;/li&gt;
&lt;li&gt;Importer les tags&lt;/li&gt;
&lt;li&gt;Importer les catégories&lt;/li&gt;
&lt;li&gt;Importer les liens&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Installation de l'installateur DotAddict.org&lt;/strong&gt;&amp;nbsp;: Installation manuelle de &lt;strong&gt;dainstaller&lt;/strong&gt;  ( &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/daInstaller&quot;&gt;http://plugins.dotaddict.org/dc2/details/daInstaller&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Formulaire de contact&lt;/strong&gt;&amp;nbsp;: Installation et paramétrage de &lt;strong&gt;Contactme&lt;/strong&gt; à partir de dainstaller ( &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/contactMe&quot;&gt;http://plugins.dotaddict.org/dc2/details/contactMe&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestion d'Analytics et des Webmaster Tools&lt;/strong&gt;&amp;nbsp;: Installation manuelle et paramétrage du plugin &quot;&lt;strong&gt;Google Tools&lt;/strong&gt;&quot; ( &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/googleTools&quot;&gt;http://plugins.dotaddict.org/dc2/details/googleTools&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Génération des Google sitemaps&lt;/strong&gt;&amp;nbsp;: Installation manuelle et paramétrage du plugin &lt;strong&gt;Sitemaps&lt;/strong&gt; (&lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/sitemaps&quot;&gt;http://plugins.dotaddict.org/dc2/details/sitemaps&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Activation de l'URL rewrting de base  et mise en place de la règle de base dans le .htaccess pour effectuer les tests&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;# Activation du moteur de réécriture (mettre PATH_INFO sur la méthode 
# de lecture d'url dans la config, activer &quot;Je souhaite que mon blog soit 
# indexé et archivé par les moteurs de recherches', et créer 
# un fichier .htaccess à la racine du site contenant :
RewriteEngine on
# Si le fichier demandé n'existe pas physiquement
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# On envoie la demande à l'index de Dotclear
RewriteRule (.*) /index.php/$1[L]&lt;/pre&gt;


&lt;p&gt;A ce stade, le blog fonctionne partiellement&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les billets s'affichent ainsi que les commentaires&lt;/li&gt;
&lt;li&gt;Les catégories, archives, liens fonctionnent&lt;/li&gt;
&lt;li&gt;Les images ne s'affichent pas dans les billets&lt;/li&gt;
&lt;li&gt;Dans les billets contenant de l'audio, celui-ci ne marche pas&lt;/li&gt;
&lt;li&gt;Le sitemap fonctionne ( monsite.com/sitemap.xml )&lt;/li&gt;
&lt;li&gt;Les anciennes url ne fonctionnement pas, et une nouvelle syntaxe a fait place à l'ancienne&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Résolution des problèmes de migration&lt;/h2&gt;

&lt;p&gt;Voyons comment régler ces problèmes uns pas uns.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Images&lt;/strong&gt;&amp;nbsp;: Le répertoire contenant les images a changé de place entre Dotclear 1 et Dotclear 2. De plus, les images n'ont pas été migrées automatiquement.  La méthode propre consisterait à modifier tous les billets pour changer l'adresse des images. Ici je vais faire plus simple. Dotclear2 permet en effet de préciser dans la configuration avancée (About:config) l'emplacement des images. Il faut doc copier le répertoire 'images' de l'ancien blog sur le nouveau, et changer &quot;public_path&quot; en &quot;images&quot; et &quot;public_url en &quot;/images&quot; dans about:config pour que les images soient prélevées du bon répertoire. Tester ensuite la config en visualisant un billet contenant des images.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Audio&lt;/strong&gt;&amp;nbsp;: Mes fichiers audio étaient rangés dans le répertoire de data du plugin audio. Celui-ci n'existant plus, la fonction étant buildin de Dotclear2, cela ne risquait pas de marcher. De plus les fichiers n'avaient pas été copiés lors de la migration. Je les ai donc déplacés dans le dossier /images, en créant un sous dossier audio. Ainsi, ces fichiers sont manipulables par le gestionnaire de médias. Par contre, cela nécessite de réintervenir sur tous les billets qui contiennent de l'audio, supprimer le code d'appel du player, et insérer le média avec l'éditeur pour que l'audio refonctionne.... Comme il n'y en avait qu'une quinzaine, ce n'était pas trop dérangeant de le faire à la main.  Par contre, certaines pages sur internet, liaient directement les fichiers MP3 sur leur ancienne adresse. J'ai donc mis en place une règle de réécriture d'URL pour rediriger l'ancienne adresse vers la nouvelle. Voir ci dessous...&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Url Rewriting&lt;/strong&gt;&amp;nbsp;: La syntaxe des utl simplifiées a changée. En effet, désormais les urls sont préfixées du type de contenu (tag, page, post, category, etc..). De plus certaines urls n'existent plus (comme les archives annuelles. J'ai donc mis en place un nouvelle construction d'url rewriting dans le .htaccess qui j'expliquerai après&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# Activation du moteur de réécriture
RewriteEngine on
#
# jeu de règles permettant la redirection DC1 vers DC2
# règle spéciale pour les fichiers audio afin 
# d'en assurer la permanence des URL's.
RewriteRule ^share/dotsound/([A-Za-z0-9_-]*).mp3 /images/audio/$1.mp3  [R=301,L]
# Pages statiques
RewriteRule ^p(&lt;a href=&quot;http://www.civade.com/post/2010/09/19/0-9&quot; title=&quot;0-9&quot;&gt;0-9&lt;/a&gt;+) /page/$1 [R=301,L]
# Archive des articles (commence par la date, mais avec le mois et pas le jour...)
RewriteRule ^20([0-9]+)/([0-9]+)$ /archive/20$1/$2 [R=301,L]
# article (commence par la date)
RewriteRule ^20([0-9]+)/([0-9]+)/([0-9]+)/(.*) /post/20$1/$2/$3/$4 [R=301,L]
# Idem, mais ce sont la liste des billets du jour, redirigés sur l'archive du mois
RewriteRule ^20([0-9]+)/([0-9]+)/([0-9]+)$ /archive/20$1/$2 [R=301,L]
# flux atom
RewriteRule ^atom.php /feed/atom [R=301,L]
# flux rss
RewriteRule ^rss.php /feed/rss2 [R=301,L]
# Les archives de catégories (ex: /Linux-admin/2010/01) n'existent plus. 
# On le redirige sur les catégories (ex: /Linux-admin)
RewriteRule ^([A-Z][A-Za-z0-9_-]*)/(.*) /category/$1 [R=301,L]
# redirige les catégories (identitiées par une majuscule au début)
RewriteRule ^([A-Z][A-Za-z0-9_-]*)$ /category/$1 [R=301,L]
#
# Si le fichier demandé n'existe pas physiquement
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Et qu'il n'est pas déjà réécrit
Rewritecond %{REQUEST_URI} !^/index.php.*$
# On envoie la demande à l'index de Dotclear
RewriteRule (.*) /index.php/$1 [L]&lt;/pre&gt;



&lt;h3&gt;Explication du fonctionnement des règles de réécriture d'url&amp;nbsp;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;La première règle a pour but d'activer la réécriture.&lt;/li&gt;
&lt;li&gt;La suivante traite toutes les pages commençant pas un p majuscule et suivi d'un nombre quelconque de chiffre, ce qui gérait mes pages statiques&lt;/li&gt;
&lt;li&gt;La suivante réécrit les posts d'archive de &quot;/2010/01/xxxxx&quot; à &quot;/archive/2010/01/xxxxx&quot;&lt;/li&gt;
&lt;li&gt;La suivante réécrit les articles de &quot;/2010/01/01-xxxxx&quot; à &quot;/post/2010/01/01-xxxxx&quot;&lt;/li&gt;
&lt;li&gt;La suivante réécrit les archives des billets du jour (n'existe plus sur DC2) en archvive des billets du mois, de &quot;/2010/01/01&quot; à &quot;/archive/2010/01&quot;&lt;/li&gt;
&lt;li&gt;Les deux suivantes traitent les flux atom et rss&lt;/li&gt;
&lt;li&gt;Les deux suivantes gèrent les archives  de catégorie par mois, qui sur DC2 n'existent plus. On va donc les rediriger sur les archives globales de catégories. * Comme les catégories commencent par une majuscule, et que les ces archives par mois sont suivies de  l'année et du mois, notre travail d'identification est simplifié. On va réécrire de &quot;/Linux-admin/2010/01&quot; à &quot;/category/Linux-admin&quot;. Notez le L majuscule sur Linux.&lt;/li&gt;
&lt;li&gt;La suivante gère la réécriture des catégories. Comme le cas particulier des archives de catégories a été traité ci dessus avec de conditions plus restrictives, ca marche. C'est toujours la première majuscule sur l'url qui nous sert de déclencheur. On va réécrire de &quot;/Linux-admin&quot; à &quot;/category/Linux-admin&quot;.&lt;/li&gt;
&lt;li&gt;Les 2 suivantes sont pour éviter que la réécriture n'ait lieu lors de l'accès à des répertoires ou fichiers existants sur la réécriture finale&lt;/li&gt;
&lt;li&gt;La suivante est pour éviter que la réécriture finale n'ait lieu si elle a déjà eu lieu&lt;/li&gt;
&lt;li&gt;La dernière règle gère la réécriture finale, c'est à dire l'ajout de l'index.php au début de l'url&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notez que toutes les règles de redirection de DC1 vers DC2 ont un flag [R=301,L], ce qui signifie que c'est une redirection permanente (R=301), afin que Google prenne note que cette page n'exite plus et qu'il faut considérer la nouvelle url.
La réécriture finale ne prend bien sur pas cette condition, puisqu'elle est là pour considérer la nouvelle adresse des pages.&lt;/p&gt;


&lt;h2&gt;Notes&amp;nbsp;:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;L'installation du plugin Google Tools n'a pas l'air de faire grand chose. En fait, elle ajoute 2 champs dans le bas de la page de &quot;Paramètres  du Blog&quot;, qui permettent de paramétrer l'identifiant  du compte Analytics (UACCT) et le Code de vérification des Google Webmaster Tools. C'est assez discret alors regardez bien...&lt;/li&gt;
&lt;li&gt;Le plugin Sitemaps, une fois installé ajoutera un menu de plugin spécifique, ainsi que Contactme (qui se nomme &quot;Contactez moi&quot; dans le menu).&lt;/li&gt;
&lt;li&gt;L'unique flux disponible sur le template que j'ai installé était &quot;Atom&quot;. J'ai ajouté les flux sur les commentaires ATOM, les Flux RSS et les flux sur les commentaires en RSS. Pour ce faire, editer les différents fichiers du template qui contiennent&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt; &amp;lt;link rel=&quot;alternate&quot; type=&quot;application/atom+xml&quot; title=&quot;Atom 1.0&quot; href=&quot;http://www.civade.com/post/2010/09/19/{{tpl:BlogFeedURL type=&quot;atom&quot;}}&quot; /&amp;gt;&lt;/pre&gt;

&lt;p&gt;Et leur ajouter&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; &amp;lt;link rel=&quot;alternate&quot; type=&quot;application/atom+xml&quot; title=&quot;Commentaires Atom 1.0&quot; href=&quot;http://www.civade.com/post/2010/09/19/{{tpl:BlogFeedURL type=&quot;atom&quot;}}/comments&quot; /&amp;gt;
 &amp;lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;RSS 2.0&quot; href=&quot;http://www.civade.com/post/2010/09/19/{{tpl:BlogFeedURL type=&quot;rss2&quot;}}&quot; /&amp;gt;
 &amp;lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Commentaires RSS2.0&quot; href=&quot;http://www.civade.com/post/2010/09/19/{{tpl:BlogFeedURL type=&quot;rss2&quot;}}/comments&quot; /&amp;gt;&lt;/pre&gt;



&lt;p&gt;J'espère que ce post aidera les possesseurs de DC1 à migrer vers DC2. En effet, ce n'est pas une mince affaire, surtout en ce qui concerne la réécriture d'URL.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/09/19/Migrer-Dotclear-1.2-%28DC1%29-vers-Dotclear-2-%28DC2%29-%3A-Guide-d%C3%A9taill%C3%A9-et-focus-sur-la-r%C3%A9%C3%A9criture-d-URL#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/09/19/Migrer-Dotclear-1.2-%28DC1%29-vers-Dotclear-2-%28DC2%29-%3A-Guide-d%C3%A9taill%C3%A9-et-focus-sur-la-r%C3%A9%C3%A9criture-d-URL#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>Installation  de Dolphin l'émulateur WII et Gamecube, sur Max OSX Snow Leopard</title>
    <link>http://www.civade.com/post/2010/08/18/51-installation-de-dolphin-l-emulateur-wii-et-gamecube-sur-max-osx-snow-leopard</link>
    <guid isPermaLink="false">urn:md5:eb2e7efd66943b61e51becf5136f402c</guid>
    <pubDate>Wed, 18 Aug 2010 23:32:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>administration système</category><category>logiciels libres</category><category>osx</category><category>snow leopard</category>    
    <description>&lt;p&gt;J'ai trouvé récemment un projet intéressant qui se nomme Dolphin, et qui permet d'émuler une console Nintendo Wii  et Gamecube sur PC, Linux et Mac.&lt;/p&gt;


&lt;p&gt;Si le binaire est disponible pour Linux et Windows en 32 et 64 bits, il n'en est pas de même pour Mac OSX... pour des raisons totalement inconnues.&lt;/p&gt;


&lt;p&gt;Votre mission, si vous l'acceptez, sera de recompiler le bouzin pour le faire tourner pour Mac.&lt;/p&gt;


&lt;p&gt;Pom - pom - pom pom pom - pom - pom pom pom - pom - pom pom pom...&lt;/p&gt;


&lt;p&gt;Attention, ce blog s'autotodétruira...&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/.dolphin_t.jpg&quot; alt=&quot;dolphin.png&quot; title=&quot;dolphin.png, sept. 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Installation de Dolphin&lt;/h3&gt;


&lt;p&gt;La méthode générale est  décrite sur le site de Dolphin&amp;nbsp;: &lt;a href=&quot;http://code.google.com/p/dolphin-emu/wiki/MacOSX_Build&quot; hreflang=&quot;fr&quot;&gt;http://code.google.com/p/dolphin-emu/wiki/MacOSX_Build&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Toutefois, cela plante dès le début sur le sudo port install scons. Nous allons donc revoir en détail l'installation, avec une méthode de contournement du bug constaté...&lt;/p&gt;


&lt;h4&gt;Pré-requis&amp;nbsp;:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Xcode, l'environnement de développement d'Apple (disponible sur le DVD d'installation, ou a télécharger sur &lt;a href=&quot;http://developer.apple.com/technologies/xcode.html&quot; hreflang=&quot;fr&quot;&gt;http://developer.apple.com/technologies/xcode.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Macports&amp;nbsp;: L'installeur est téléchargeable ici: &lt;a href=&quot;http://www.macports.org/install.php&quot; hreflang=&quot;fr&quot;&gt;http://www.macports.org/install.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wxwidgets&amp;nbsp;: A installler d'après le SVN&amp;nbsp;: &lt;a href=&quot;http://www.wxwidgets.org/develop/svn.htm&quot; hreflang=&quot;fr&quot;&gt;http://www.wxwidgets.org/develop/svn.htm&lt;/a&gt;. Méthode détaillée décrite ci dessous.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Installation des prérequis&amp;nbsp;:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Xcode et Macports sont à installer à l'aide des interfaces graphiques fournies.&lt;/li&gt;
&lt;li&gt;Scons est nécessaire pour compiler Dolphin. L'installation se fait théoriquement par&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;sudo port install scons&lt;/pre&gt;


&lt;p&gt;Malheureusement cela ne fonctionne pas, car cela plante sur db46. le workaround est le suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;port install db46&lt;/pre&gt;

&lt;p&gt;Cela plante et c'est normal. Aller dans le répertoire ou db46 est installé&lt;/p&gt;

&lt;pre&gt;cd /opt/local/var/macports/distfiles/db4/4.6.21_6&lt;/pre&gt;

&lt;p&gt;Enlever les patches&lt;/p&gt;

&lt;pre&gt;sudo rm -f patch*&lt;/pre&gt;

&lt;p&gt;Télécharger les patches&lt;/p&gt;

&lt;pre&gt;for i in 1 2 3 4; do echo $i &amp;amp;&amp;amp; wget http://distfiles.macports.org/db4/4.6.21_6/patch.4.6.21.$i; done&lt;/pre&gt;

&lt;p&gt;Relancer le port install db46&lt;/p&gt;

&lt;pre&gt;port install db46&lt;/pre&gt;

&lt;p&gt;DB46 étant installé, l'installation de scons peut être relancée et fonctionnera&lt;/p&gt;

&lt;pre&gt;sudo port install scons&lt;/pre&gt;


&lt;h4&gt;wxWidgets&lt;/h4&gt;

&lt;p&gt;Le support du  framework Cocoa  dans wxWidgets est toujours en développement. Aussi, faire fonctionner Dolphin sur un OSX récent nécessite de  compiler wxWidgets avec la version SVN:&lt;/p&gt;


&lt;pre&gt;svn co http://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_1 wxWidgets-2.9.1
cd wxWidgets-2.9.1/build&lt;/pre&gt;


&lt;p&gt;Le script de configuration nécessite d'être patché pour générer les librairies 32 et 64 bits:&lt;/p&gt;

&lt;pre&gt;printf '1,$s/arch ppc/arch x86_64/p\nwq\n' | ed ../configure&lt;/pre&gt;


&lt;p&gt;Configuration de l'environnement de compilation&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;../configure --enable-image --enable-universal_binary --with-aui --with-cocoa \
--with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk --with-macosx-version-min=10.5&lt;/pre&gt;


&lt;p&gt;Compilation et installation de Wxwidgets... ca dure longtemps...&lt;/p&gt;

&lt;pre&gt;make &amp;amp;&amp;amp; sudo make install&lt;/pre&gt;


&lt;h4&gt;Récupération et compilation de Dolphin&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Recupération des sources par SVN et utilisation de scons pour la compilation&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;svn co http://dolphin-emu.googlecode.com/svn/trunk dolphin-emu
cd dolphin-emu
scons verbose=true wxconfig=/usr/local/bin/wx-config&lt;/pre&gt;


&lt;h4&gt;Finaliation&amp;nbsp;: l'installation du binaire&lt;/h4&gt;

&lt;p&gt;Le résultat de la compilation est dans le sous répertoire binary.. Il n'y a plus qu'à le placer dans le répertoire Applications du mac...
Lire également le post original qui contient des notes quant à la config de scons ou la mise à jour de Dolphin.&lt;/p&gt;


&lt;p&gt;Dolphin fonctionne avec des images ISO de jeux ou les DVD d'origine. sur un Macbook pro, le résultat est étonnant.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/dolphin at work.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;Notes&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Au clavier c'est assez galère.&lt;/li&gt;
&lt;li&gt;Il est possible, sur un iphone jailbreaké, d'installer une appli qui se nomme iController et est dispo sur Cydia. Elle permet d'utiliser l'iphone (et son accélèromètre...) comme wiimote via le wifi. Seul paramétrage à faire sur l'iphone&amp;nbsp;: mettre l'adresse ip du mac dans l'adresse 'serveur'. Sur Dolphin, activer dans l'icone 'Wiimote' la case à cocher en face de UDPWii.&lt;/li&gt;
&lt;li&gt;Je n'ai pas essayé avec une vraie Wiimote, mais cela ne saurait tarder...&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/08/18/51-installation-de-dolphin-l-emulateur-wii-et-gamecube-sur-max-osx-snow-leopard#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/08/18/51-installation-de-dolphin-l-emulateur-wii-et-gamecube-sur-max-osx-snow-leopard#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/46</wfw:commentRss>
      </item>
    
  <item>
    <title>Faire en sorte que Midnight commander (MC) garde la mémoire du répertoire courant sur ubuntu, debian ou Readynas de Netgear</title>
    <link>http://www.civade.com/post/2010/07/17/50-faire-en-sorte-que-midnight-commander-mc-garde-la-memoire-du-repertoire-courant-sur-ubuntu-debian-ou-readynas-de-netgear</link>
    <guid isPermaLink="false">urn:md5:1e03053493b1914f6d0a2d532836819b</guid>
    <pubDate>Sat, 17 Jul 2010 07:12:11 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Linux &amp; système</category>
        <category>administration système</category><category>firmware</category><category>linux</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/mc-osx.png&quot; alt=&quot;MC sous OSX&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;Midnight commander (mc) est un petit outil bien pratique qui fournit une interface à fenetre en mode texte comme le faisait Norton Commander sous DOS. Adapté à Unix, on peut faire avec la souris de nombreuses manipulations, copies, etc, sur les fichiers.&lt;/p&gt;


&lt;p&gt;Sur Redhat ou Centos, Midnight commander garde trace du répertoire courant après sa sortie, ce qui est bien pratique. Par contre, sur Ubuntu, Debian, ou des systèmes utilisant Debian (comme le ReadyNAS duo de Netgear), lorsque l'on sort de mc, on se retrouve dans le répertoire dans lequel on était avant d'utiliser mc ce qui n'est pas très pratique.&lt;/p&gt;


&lt;p&gt;La solution consiste à modifier ~/.bashrc afin d'ajouter la ligne suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;source /usr/share/mc/bin/mc.sh&lt;/pre&gt;


&lt;p&gt;Après délog et relog, mc mémorisera le répertoire de sortie... A noter que sur readynas, après activation de l'UTF8 français, mc bugge sérieusement en provoquant un saut de ligne dans l'affichage, qui empêche l'utilisation des menus déroulants.&lt;/p&gt;


&lt;p&gt;Cela se corrige aisément, en mettant dans ~/.bashrc&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;alias mc=LANG=us_US mc&lt;/pre&gt;


&lt;p&gt;Mais alors comment combiner les 2 hacks pour corriger le bug d'affichage ET  mémoriser le répertoire d'appel de mc? Simple. Toujours dans le fichier ~/.bashrc, remplacer les 2 solutions précédentes par&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# fix mc
alias mc='LANG=us_US . /usr/share/mc/bin/mc-wrapper.sh'&lt;/pre&gt;



&lt;p&gt;MC fonctionne sur pratiquement tous les systèmes, y compris osx et windows. J'espère que ce truc vous aura été utile.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/07/17/50-faire-en-sorte-que-midnight-commander-mc-garde-la-memoire-du-repertoire-courant-sur-ubuntu-debian-ou-readynas-de-netgear#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/07/17/50-faire-en-sorte-que-midnight-commander-mc-garde-la-memoire-du-repertoire-courant-sur-ubuntu-debian-ou-readynas-de-netgear#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/45</wfw:commentRss>
      </item>
    
  <item>
    <title>Installation d'Adobe Flex SDK4 sur mac OSX snow leopard</title>
    <link>http://www.civade.com/post/2010/06/19/49-installation-adobe-flex-sdk4-sur-mac-osx-snow-leopard</link>
    <guid isPermaLink="false">urn:md5:731e3718272bbfc430c89042c4eb1e53</guid>
    <pubDate>Sat, 19 Jun 2010 08:40:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>administration système</category><category>logiciels libres</category><category>osx</category>    
    <description>&lt;p&gt;Cette petite note pour garder trace du mode opératoire de l'installation du SDK d'Adobe Flex sur mac... Car si il y a effectivement une note d'installation d'adobe, elle ne dit pas ou mettre le SDK à la mode OSX.&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/.Adobe-Flex-CS3-icon_t.jpg&quot; alt=&quot;Adobe-Flex-CS3-icon.png&quot; title=&quot;Adobe-Flex-CS3-icon.png, sept. 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Pré requis&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Télécharger le SDK 4 de Flex à l'adresse &lt;a href=&quot;http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex4sdk&quot; hreflang=&quot;fr&quot;&gt;http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex4sdk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Installation&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Décompresser l'archive téléchargée. Elle génèrera un sous répertoire flex_sdk_4&lt;/li&gt;
&lt;li&gt;Sous shell, faire&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;cd Downloads
sudo mv flex_sdk_4  /Developer/SDKs
vi .bash_profile&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Et ajouter /Developer/SDKs/flex_sdk_4/bin au path, par exemple&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;PATH=/Developer/SDKs/flex_sdk_4/bin:/usr/local/bin:$PATH&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Sortir du shell et en relancer un afin d'activer le nouveau path.&lt;/li&gt;
&lt;li&gt;vérifier que le compilateur est trouvé dans le path en lançant la commande suivante sous shell&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;mxmlc&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Désinstaller flash à l'aide du mode opératoire décrit ici&amp;nbsp;: &lt;a href=&quot;http://kb2.adobe.com/cps/141/tn_14157.html&quot; hreflang=&quot;fr&quot;&gt;http://kb2.adobe.com/cps/141/tn_14157.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sous finder, aller sur /Developer/SDKs/flex_sdk_4/runtimes/player/10/mac et lancer &quot;Install Flash Player 10 UB.dmg&quot; pour disposer du player Flash 10 avec Debugger qui sera nécessaire pour Flex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voila!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/06/19/49-installation-adobe-flex-sdk4-sur-mac-osx-snow-leopard#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/06/19/49-installation-adobe-flex-sdk4-sur-mac-osx-snow-leopard#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/44</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser des applications Java 1.5 (Java 5) sur OSX Snow Leopard</title>
    <link>http://www.civade.com/post/2010/05/14/48-utiliser-des-applications-java-15-java-5-sur-osx-snow-leopard</link>
    <guid isPermaLink="false">urn:md5:b2cae005b4ad904687985282d9d77ecd</guid>
    <pubDate>Fri, 14 May 2010 00:09:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>administration système</category><category>osx</category><category>snow leopard</category>    
    <description>&lt;p&gt;Certaines applications Java n'ont pas encore été migrées vers l'environnement Java 1.6 (ou Java 6).&lt;/p&gt;


&lt;p&gt;Or Snow Leopard n'est livré qu'avec Java 1.6...&lt;/p&gt;


&lt;p&gt;Voyons ici comment réactiver Java 1.5 (et éventuellement Java 1.4 sur le même principe) pour faire fonctionner ces belles applications.... En attendant qu'elles soient mises à jour &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/java_icon.jpg&quot; alt=&quot;Java&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Pré requis&amp;nbsp;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Télécharger le pachage d'Apple&amp;nbsp;: &lt;a href=&quot;http://support.apple.com/downloads/Java_for_Mac_OS_X_10_5_Update_4&quot; hreflang=&quot;fr&quot;&gt;JavaForMacOSX10.5Update4.dmg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Mode opératoire&amp;nbsp;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Utilisez le Shareware &lt;a href=&quot;http://www.charlessoft.com/&quot; hreflang=&quot;fr&quot;&gt;Pacifist&lt;/a&gt; afin d'ouvrir l'archive java ainsi téléchargée&lt;/li&gt;
&lt;li&gt;Ouvrez le finder et aller avec le raccourci &quot;Shift&quot; + &quot;Cmd&quot; + G dans le dossier  /System/Library/Frameworks/JavaVM.framework/Versions/&lt;/li&gt;
&lt;li&gt;Supprimer les 2 liens symboliques &quot;1.5&quot; et &quot;1.5.0&quot;. Cette étape est cruciale, ca si vous ne la faites pas, vous allez endommager Java 1.6. Le mot de passe administrateur vous sera demandé pour cette opération.&lt;/li&gt;
&lt;li&gt;Dans Pacifist, aller dans Contents&amp;nbsp;» System&amp;nbsp;» Library&amp;nbsp;» Frameworks&amp;nbsp;» JavaVM.framework&amp;nbsp;» Versions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Sélection de la version de Java&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/preferences-java.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sélectionner les 2 dossiers &quot;1.5&quot; et &quot;1.5.0&quot;, puis control Click (ou click droit) sur la sélection, et choisir &quot;Install to default location&quot;&lt;/li&gt;
&lt;li&gt;Le dossier 1.5.0 et le lien symbolique de 1.5 vers 1.5.0 seront recréés lors de cette opération.&lt;/li&gt;
&lt;li&gt;Répéter les opération si nécessaire pour Java 1.4&lt;/li&gt;
&lt;li&gt;Pour forcer l'utilisation d'un version particulière, utlilisez l'utilitaire &quot;Préférences JAVA&quot; dans le dossier &quot;Utilitaires&quot; afin de désélectionner les version non souhaités.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans mon cas, cela a admirablement bien marché pour faire fonctionner l'éditeur de sons livré avec le POD 2.0 de Line 6...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/05/14/48-utiliser-des-applications-java-15-java-5-sur-osx-snow-leopard#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/05/14/48-utiliser-des-applications-java-15-java-5-sur-osx-snow-leopard#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/43</wfw:commentRss>
      </item>
    
  <item>
    <title>Installer un Mac avec un autre Mac par liaison directe Firewire</title>
    <link>http://www.civade.com/post/2010/05/09/44-installation-duplication-mac-efi-osx-firewire-800-firewire-400-adaptateur-osx-cible-target</link>
    <guid isPermaLink="false">urn:md5:2944e095175963e03c4cb72436c007a0</guid>
    <pubDate>Sun, 09 May 2010 09:11:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>administration système</category><category>geek</category><category>snow leopard</category>    
    <description>&lt;p&gt;&amp;nbsp;Réinstaller un mac pourrait être trivial, sauf en cas de panne de lecteur DVD.&lt;/p&gt;
&lt;p&gt;Heureusement, Apple a intégré dans l'EFI (ce qui sert de bios sur un Mac), un mode cible Firewire qui va permettre à un mac de se comporter comme un disque  Firewire pour un autre mac.&lt;/p&gt;
&lt;p&gt;Cela va bien nous aider... car nous allons ici voir comment utiliser un autre mac et son lecteur DVD pour réinstaller celui en défaut. Cette manipulation peut également être utilisée pour faire des backups d'un mac sur un autre sans démonter les disques ou booter un mac avec un système contenu sur un autre mac.&lt;/p&gt;    &lt;h3&gt;&lt;img title=&quot;firewire-logo.jpg, sept. 2010&quot; alt=&quot;firewire-logo.jpg&quot; src=&quot;http://www.civade.com/images/mac/.firewire-logo_s.jpg&quot; /&gt;&lt;/h3&gt;
&lt;h3&gt;Pré requis&lt;/h3&gt;
&lt;p&gt;Cette manipulation ne fonctionne évidemment que sur les Mac équipés de la liaison Firewire. Ceci exclu par exemple les anciennes génération de Macbook Pro unibody 13'' (celles qui avaient 2 jacks audio à gauche), qui ne sont pas équipées de cette liaison. Par contre, il semblerait qu'Apple ait décidé de remettre le Firewire 800 sur toutes les nouvelles machines. Cette manipulation est donc d'avenir.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/firewire-800-400.png&quot; alt=&quot;Macbook Pro Unibody avec adaptateur Firewire 800/400&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; /&gt;Les dernières générations de Macbook pro sont  équipées de Firewire 800, alors que les premières génération de Macbook blanc sont équipées de Firewire 400. A part des problèmes de connectique (l faut disposer d'un adaptateur 400 / 800 et d'un câble Firewire 400), il n'y a pas de problème de compatibilité avec les 2 normes. Les transferts fonctionneront à la vitesse la plus lente (400 Mb/s) entre les deux machines, le Firewire 800 disposant d'un mode dégradé en 400 Mb/s.&lt;/p&gt;
&lt;p&gt;La photo montre un adaptateur 400/800 et un câble firewire 400 nécessaires pour adapter dans mon cas un Macbook blanc avec lecteur DVD HS vers un Macbook Pro unibody en Firewire 800.&lt;/p&gt;
&lt;h3&gt;Mode opératoire&lt;/h3&gt;
&lt;p&gt;Nous allons appeler le Mac à installer 'la cible', et le mac qui va physiquement l'installation 'la source' pour faciliter la lecture de ce post.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Raccorder les 2 macs avec le montage décrit dans les pré requis alors qu'ils sont éteints&lt;/li&gt;
&lt;li&gt;Démarrer le mac Cible et Taper T et maintenir appuyé T jusqu'à l'apparition du logo Firewire dont la photo est au début de cet article.&lt;/li&gt;
&lt;li&gt;Insérer le DVD de Snow Leopard sur le Mac source et l'allumer&lt;/li&gt;
&lt;li&gt;Sur le mac source, maintenir appuyée au démarrage soit la touche:
&lt;ul&gt;
&lt;li&gt;ALT (nommée aussi option) pour accéder au menu de boot et vous permettre de choisir le périphérique sur lequel vous allez booter (le DVD d'intallation).&lt;/li&gt;
&lt;li&gt;C pour booter directement du DVD&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;L'installateur se lance&lt;/li&gt;
&lt;li&gt;Vous devriez voir les disques susceptibles d'être installés. Dans la liste, le disque interne est représenté avec une icône différente du disque Firewire qui lui est représenté avec une icône firewire.&lt;/li&gt;
&lt;li&gt;Choisir le disque Firewire&lt;/li&gt;
&lt;li&gt;Vérifier encore une fois, car si vous choisissez le disque interne de la source, vous l'écrasez&amp;nbsp;! On installe sur le disque Firewire externe&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;Poursuivre l'installation comme souhaité&lt;/li&gt;
&lt;li&gt;L'installation terminée, arrêter les 2 macs et déconnecter les câbles Firewire&lt;/li&gt;
&lt;li&gt;A noter que l'EFI a probablement pris note du changement de périphérique de boot. Il va nous falloir le réinitialiser pour lui indiquer de prendre le disque interne comme disque de boot par défaut. Il va donc nous falloir le réinitialiser en appuyant simultanément sur Commande+Option+P+R et les garder enfoncées jusqu'à entendre une deuxième fois le son Apple (il devrait y avoir secondes entre les 2 sons...).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Effets de bords désirés et non désirés de la manipulation&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La cible et la source doivent avoir un hardware similaire. Il n'est évidemment pas question d'installer un Mac Power PC avec un mac Intel et vice-versa.&lt;/li&gt;
&lt;li&gt;On ne peut installer la Cible qu'avec les CD de la Source. En effet, le programme s'exécutant sur la Source, tous les contrôles de validité sur le CD (que ce soit la bonne version sur la bonne machine avec les bonnes licences...) se font sur le matériel de la source. Par contre, une fois installé, cela ne pose pas de problème particulier à la cible, qui boote convenablement une fois le système complètement installé. Comprenne qui pourra.&lt;/li&gt;
&lt;li&gt;Les contrôles de versions d'EFI, de logiciel bluetooth et de logiciel Wifi qui se font à l'installation sont fait sur le matériel de la source. Lors du redémarrage de la cible, il conviendra probablement de lancer les mises à jour à la main pour vérifier qu'elles se font ou se son faites ou sont nécessaires.&lt;/li&gt;
&lt;li&gt;Si l'ancien et le nouveau mac sont destinés à la même personne, il sera également possible de faire les migrations de profil à l'aide de l'assistant de migration d'apple  qui se lance à a fin de l'install. Vous n'êtes d'ailleurs pas obligés de le lancer à ce moment là. Vous pouvez tout installer, tout mettre à jour et lancer l'assistant de migration quand vous le souhaitez. Il est dans les utilitaires. La seule condition est que vous bootiez sur le système fraichement installé et que l'ancien disque soit accessible (par USB ou Firewire avec la méthode décrite ci dessus).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J'espère que ces informations vous seront utiles... Bonne installation.&lt;/p&gt;
Bonus : les raccourcis clavier du boot apple :
&lt;table id=&quot;kbtable&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;
&lt;tr id=&quot;header&quot;&gt;
&lt;td&gt;&lt;strong&gt;Key or key combination&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;What it does&lt;br /&gt;
&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Option&lt;/td&gt;
&lt;td&gt;Display all bootable volumes (&lt;a href=&quot;http://support.apple.com/kb/HT1310&quot;&gt;Startup Manager&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shift&lt;/td&gt;
&lt;td&gt;Perform &lt;a href=&quot;http://support.apple.com/kb/HT1564&quot;&gt;Safe Boot&lt;/a&gt; (start up in &lt;a href=&quot;http://support.apple.com/kb/HT1455&quot;&gt;Safe Mode&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Start from a bootable disc (DVD, CD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;T&lt;/td&gt;
&lt;td&gt;Start in &lt;a href=&quot;http://support.apple.com/kb/HT1661&quot;&gt;FireWire target disk mode&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;Start from NetBoot server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;X&lt;/td&gt;
&lt;td&gt;Force Mac OS X startup (if non-Mac OS X startup volumes are present)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Command-V&lt;/td&gt;
&lt;td&gt;Start in &lt;a href=&quot;http://support.apple.com/kb/HT1492&quot;&gt;Verbose Mode&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Command-S&lt;/td&gt;
&lt;td&gt;Start in &lt;a href=&quot;http://support.apple.com/kb/HT1492&quot;&gt;Single User Mode&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/05/09/44-installation-duplication-mac-efi-osx-firewire-800-firewire-400-adaptateur-osx-cible-target#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/05/09/44-installation-duplication-mac-efi-osx-firewire-800-firewire-400-adaptateur-osx-cible-target#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/39</wfw:commentRss>
      </item>
    
  <item>
    <title>Debugger PHP5 avec Eclipse, PDT, Zend Debugger sous OSX</title>
    <link>http://www.civade.com/post/2010/05/08/47-debugger-php5-avec-eclipse-pdt-zend-debugger-sous-osx</link>
    <guid isPermaLink="false">urn:md5:eda8fca3cb10733fa19f06ca3f124931</guid>
    <pubDate>Sat, 08 May 2010 08:22:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>administration système</category><category>osx</category><category>snow leopard</category>    
    <description>&lt;p&gt;Avec la dernière version de PHP5 installée (5.3.1 au moment ou j'écris ces lignes), il est temps de modifier toutes ces belles applications qui ne marchent qu'en 5.2... pour qu'elle fonctionne enfin en 5.3.&lt;/p&gt;


&lt;p&gt;Eclipse est un fantastique IDE, surtout doté de l'extension PDT mais un IDE sans points d'arrêt, c'est comme un sandwich au jambon sans jambon&amp;nbsp;: un peu fade...&lt;/p&gt;


&lt;p&gt;Voyons comment greffer le debugger sur notre splendide IDE installé sur un Mac OSX Snow Leopard&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/.eclipse_t.jpg&quot; alt=&quot;eclipse.png&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;eclipse.png, sept. 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Pré requis&amp;nbsp;:&lt;/h3&gt;


&lt;p&gt;Le mode opératoire décrit ici est pour Snow Leopard, toutes mises à jour installées. Il est supposé que le moins de modifications ont été faites dans le système. C'est précisément pour cela que je publie ce billet, d'ailleurs, car bon nombre de tutos installent le stack php de Zend (Zend Server Community Edition), ou des packages alternatif (MAMP, XAMP...). Ici je m'en suis tenu à l'utilisation ce qui est livré avec la machine... Ce n'est pas par fainéantise, mais par choix afind e pouvoir bénéficier du packaging et des mises à jour directement par Apple. Je ne vois en effet pas l'intérêt de 'détruire' le système pour mettre en place des bidouilles...&lt;/p&gt;


&lt;p&gt;Tout d'abord il nous faut Eclipse + PDT installé. Préférer une version 'All in one' téléchargée là partir de &lt;a href=&quot;http://www.eclipse.org/pdt/downloads/&quot; hreflang=&quot;fr&quot;&gt;http://www.eclipse.org/pdt/downloads/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Apache doit être configuré et PHP activé. Ici nous supposerons que Apache est configuré pour faire du virtual hosting name based, configuration permettant de séparer les différents sites webs en cours de développement sur une même machine.&lt;/p&gt;


&lt;h3&gt;Installation du debugger&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Télécharger &quot;Studio Web Debugger&quot; version 64 bits (&lt;a href=&quot;http://www.zend.com/en/products/studio/downloads&quot; hreflang=&quot;fr&quot;&gt;http://www.zend.com/en/products/studio/downloads&lt;/a&gt;) . Ceci nécessite la création d'un compte chez Zend, mais c'est gratuit.&lt;/li&gt;
&lt;li&gt;Décompresser l'archive et copier le dossier résultant /usr/lib/php/extensions/ZendDebugger-5.2.26-darwin9.5-x86_64 dans /usr/lib/php/extensions/&lt;/li&gt;
&lt;li&gt;Ajouter les lignes suivantes à la fin du fichier /etc/php.ini (l'éditer avec sudo)&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;zend_extension=/usr/lib/php/extensions/ZendDebugger-5.2.26-darwin9.5-x86_64/5_3_x_comp//ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Vérifier en interactif (sous shell) que 'extension est bien chargée avec php -v. Le résultat doit montrer que le debugger est actif&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;osx:extensions user$ php -v
PHP 5.3.1 (cli) (built: Feb 11 2010 02:32:22) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
   with Zend Debugger v5.2, Copyright (c) 1999-2009, by Zend Technologies&lt;/pre&gt;


&lt;h3&gt;Utilisation du debugger dans Eclipse&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Copier /usr/lib/php/extensions/ZendDebugger-5.2.26-darwin9.5-x86_64/dummy.php dans le projet php à debugger (pour les tests)&lt;/li&gt;
&lt;li&gt;Dans Les préférences d'éclipse (Eclipse / Preferences / PHP / Debug / Installed Debuggers), Sélectionner le Zend Debugger et cliquer configure&lt;/li&gt;
&lt;li&gt;Ne laisser que les adresses requises (ex: 127.0.0.1) dans &quot;Client / Host IP&quot;. Ceci permet d'éviter des timeouts sur tests de multiples adresses&lt;/li&gt;
&lt;li&gt;Créer sous Ecipse une nouvelle configuration de debug&amp;nbsp;: &quot;Run&quot; / &quot;Debug Configurations&quot;&lt;/li&gt;
&lt;li&gt;La nommer (ex&amp;nbsp;: MonSite)&lt;/li&gt;
&lt;li&gt;Sélectionner Zend Debugger comme interface de debug&lt;/li&gt;
&lt;li&gt;Faire new en face de Php Server&lt;/li&gt;
&lt;li&gt;La nommer (ex: MonSite)&lt;/li&gt;
&lt;li&gt;Donner l'utl locale (ex: http://MonSite/)&lt;/li&gt;
&lt;li&gt;Aller dans l'onglet Path, et mettre &quot;path on server&quot; = &quot;/&quot; et &quot;Path on file system&quot; = &quot;/Users/moi/www.monsite.com&quot;. Ce chemin est évidemment à adapter en fonction de l'endroit ou vous avez domicilé la racine de votre site web.&lt;/li&gt;
&lt;li&gt;Ciquer &quot;Test Debugger&quot;&lt;/li&gt;
&lt;li&gt;En principe, le test devrait réussir. Si il y a un timeout, vérifier qu'il n'y a pas de pb sur l'adresse IP&lt;/li&gt;
&lt;li&gt;Dans la vue, nommer le fichier à debugger (ex: monfichier.php)&lt;/li&gt;
&lt;li&gt;Sauver&lt;/li&gt;
&lt;li&gt;Le débuggage peut ensuite être lancé dans &quot;Run&quot; / &quot;Debug&quot;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voila, la magie opère.&lt;/p&gt;


&lt;p&gt;Bon debug...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/05/08/47-debugger-php5-avec-eclipse-pdt-zend-debugger-sous-osx#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/05/08/47-debugger-php5-avec-eclipse-pdt-zend-debugger-sous-osx#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/42</wfw:commentRss>
      </item>
    
  <item>
    <title>Comment faire charger un iphone sur un chargeur de voiture à 3 euros</title>
    <link>http://www.civade.com/post/2010/04/12/46-comment-faire-charger-un-iphone-sur-un-chargeur-de-voiture-a-3-euros</link>
    <guid isPermaLink="false">urn:md5:9ed1356cb3d85287f93b841dd1dd9537</guid>
    <pubDate>Mon, 12 Apr 2010 08:55:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Technologies</category>
        <category>osx</category>    
    <description>&lt;p&gt;L'iphone, cette merveilleuse machine, se révèle capricieuse en ce qui concerne la charge. Si le chargeur secteur est sans faille, ainsi que la charge USB via un ordinateur, il n'en est pas de même pour la charge par l'intermédiaire d'un chargeur 12V pour voiture...&lt;/p&gt;


&lt;p&gt;Nous allons voir ici comment modifier un chargeur de voiture avec un hack très très simple (2 résistances de 100K), et permettant de faire charger l'iPhone en voiture même quand il est totalement déchargé. Les afficionados des accessoires d'origine Apple ne verront probablement pas l'intérêt, le chargeur de voiture Apple fonctionnant à merveille, mais à près de 20 euros contre 3 euros pour une chinoiserie, l'intérêt économique est certain.&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/.iphonecharge_t.jpg&quot; alt=&quot;iphonecharge.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;iphonecharge.jpg, sept. 2010&quot; /&gt; Tout d'abord, il faut bien choisir le chargeur. Ce choix se fait à la base avec les caractéristiques ( au moins 700 ma en 5V), mais doit être vérifié en ouvrant la bête. En effet, certains chargeurs chinois achetés sur un grand site d'enchère américain, ne contiennent qu'un régulateur 78L05, dont la très faible puissance ne permet d'envisager de fournir 700 ma en 5V à partir du 12V de la voiture.&lt;/p&gt;


&lt;p&gt;Un 'bon' chargeur doit être basé sur une technologie de découpage. C'est assez facile à vérifier, car il devrait contenir un ou plusieurs circuits intégrés, et surtout une self qui trahit l'utilisation du découpage (voir photos sur http://www.tzywen.com/modules.php?name=News&amp;amp;file=article&amp;amp;sid=683). Le rendement de cette technologie garantira la puissance dans un si faible espace.&lt;/p&gt;


&lt;p&gt;Le circuit de charge de l'Iphone est basé sur un CI de Linear Technology LTC 4066 (&lt;a href=&quot;http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1037,C1774,P12292,D26042&quot; hreflang=&quot;fr&quot;&gt;voir le datasheet&lt;/a&gt;).  Une excellente analyse sur le site de Tsywen (http://tzywen.com/modules.php?name=News&amp;amp;file=article&amp;amp;sid=696) explique en détail comment la détection de charge USB se fait sur l'Iphone.&lt;/p&gt;


&lt;p&gt;Et c'est justement là que le bas blesse.... Car les résistances intégrées aux chargeurs de voiture ne permettent pas le pus souvent d'indiquer à l'iphone lors de la négociation qu'il est possible de prélever 500Ma... Du coup la charge ne démarre pas.&lt;/p&gt;


&lt;p&gt;Si la théorie est complexe, la pratique se révèle fort heureusement plus simple. En effet, un 'quick hack' consiste à souder 2 résistances de 100K directement sur le connecteur USB respectivement entre les pins GND et D- (  broches 1 et 2 du connecteur USB) et D+ et VCC ( broches 3 et 4 du connecteur USB). Ceci se fait directement à l'intérieur de l'adaptateur USB / allume cigare, pour éviter toute verrue externe.&lt;/p&gt;



&lt;pre&gt; -- 100K --
|          |
1          2  3           4
              |           |
               -- 100K --&lt;/pre&gt;



&lt;p&gt;Et là miracle, le chargeur de voiture est capable de charger un iPhone complètement déchargé, ce qui relevait auparavant de la science fiction...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/04/12/46-comment-faire-charger-un-iphone-sur-un-chargeur-de-voiture-a-3-euros#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/04/12/46-comment-faire-charger-un-iphone-sur-un-chargeur-de-voiture-a-3-euros#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/41</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour de domus Link, l'interface web pour heyu, en version 1.1.1</title>
    <link>http://www.civade.com/post/2010/04/12/45-update-domus-link-interface-web-pour-heyu-en-version-111</link>
    <guid isPermaLink="false">urn:md5:786b80620b39f1bb22c729615662dde1</guid>
    <pubDate>Mon, 12 Apr 2010 08:45:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Logiciels Libres</category>
        <category>domotique</category><category>embarqué</category><category>geek</category><category>logiciels libres</category>    
    <description>&lt;p&gt;Domus Link, l'interface web pour heyu déjà citée dans l'article sur la domotique X10 vient d'être mis à jour en version 1.1.1. Petit tour du proprio.&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/domotique/.domuslink_m.jpg&quot; alt=&quot;domuslink.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;domuslink.jpg, sept. 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Beaucoup d'améliorations au menu dans ce frontend, que vous pourrez découvrir dans le &lt;a href=&quot;http://domus.link.co.pt/news/23/58/v1-1-1-Released/&quot; hreflang=&quot;fr&quot;&gt;change log&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Merci encore à Istvan Hubay Cebrian  pour son remarquable travail!&lt;/p&gt;



&lt;p&gt;Edit...&lt;/p&gt;


&lt;p&gt;Domus Link  passe le 1 Juin 2010 en version 1.2&amp;nbsp;: &lt;a href=&quot;http://domus.link.co.pt/news/24/58/v1-2-Released/&quot;&gt;http://domus.link.co.pt/news/24/58/v1-2-Released/&lt;/a&gt;. Beaucoup d'améliorations au menu, nouveaux fichiers de configuration, gestion des volets roulants, etc...&lt;/p&gt;


&lt;p&gt;Re edit&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;5 avril 2011&amp;nbsp;: La version 2 est annoncée comme arrivant. Application Android, nouveau thème iphone basé sur Webkit 5.04... Que de nouveautés!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/04/12/45-update-domus-link-interface-web-pour-heyu-en-version-111#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/04/12/45-update-domus-link-interface-web-pour-heyu-en-version-111#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/40</wfw:commentRss>
      </item>
    
  <item>
    <title>Comment switcher du PC vers le Mac : Guide de survie pour le geek</title>
    <link>http://www.civade.com/post/2010/03/08/43-switcher-pc-mac-osx-applications-remplacement-developpement-bureautique-web-administration-systeme-reseau</link>
    <guid isPermaLink="false">urn:md5:fd4447878dfac1fad5c6d8b3d18ab288</guid>
    <pubDate>Mon, 08 Mar 2010 23:13:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
            
    <description>&lt;p&gt;Bon, ca y est j'ai un Macbook Pro. Maintenant, il va falloir trouver des équivalents à toutes celles jolies applications qui ont transformé mon PC en un outil de travail rapide et convivial, de façon à faire la même chose avec le mac... et si possible mieux.&lt;/p&gt;


&lt;p&gt;Si pour certaines applications, c'est assez simple car les développeurs ont prévu de pourvoir le faire fonctionner sur les 2 environnements, pour d'autres besoins il va falloir se creuser la tête....&lt;/p&gt;    &lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/.apple-logo_t.jpg&quot; alt=&quot;apple-logo.jpg&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;apple-logo.jpg, sept. 2010&quot; /&gt; Je vais ici tenter de lister les solutions que j'ai trouvées  (qui ne sont que les miennes, et par LA solution ou la vôtre...) me permettant de switcher dans les meilleurs conditions du PC au Mac. Cette liste est non exhaustive, et si vous pensez avoir une meilleure proposition, n'hésitez pas à me la signaler en postant un commentaire à ce billet.&lt;/p&gt;


&lt;p&gt;Les applications sont classées par famille, certaines d'entre elles ne vous seront peut être pas utiles.  Les réponse sont ensuite mises sous la forme&amp;nbsp;: &quot;&lt;strong&gt;Fonction du programme :&lt;/strong&gt; Nom sur PC | Nom sur Mac&quot;. J'ai également essayé de mettre dans la mesure du possible des solutions open source, et éventuellement des applications commerciales.&lt;/p&gt;


&lt;p&gt;Légende&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intégré: intégré à l'OS&lt;/li&gt;
&lt;li&gt;Natif&amp;nbsp;: le programme existe dans une version portée pour l'OS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Administration système et réseau&amp;nbsp;:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Client telnet / SSH / terminal :&lt;/strong&gt; &lt;a href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&quot; hreflang=&quot;fr&quot;&gt;Putty&lt;/a&gt; (pc) | &lt;a href=&quot;http://iterm.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;iTerm&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connexion bureau à distance vers un PC/serveur windows :&lt;/strong&gt; Intégrée à l'os (pc) | &lt;a href=&quot;http://www.microsoft.com/france/mac/downloads.mspx?pid=Mactopia_RDC#viewer&quot; hreflang=&quot;fr&quot;&gt;Connexion bureau à distance de Microsoft&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel de stockage et d'organisation de mots de passes :&lt;/strong&gt; &lt;a href=&quot;http://keepass.info/download.html&quot; hreflang=&quot;fr&quot;&gt;Keepass 1.x, ou 'classic edition'&lt;/a&gt; (pc) | &lt;a href=&quot;http://www.keepassx.org/downloads&quot; hreflang=&quot;fr&quot;&gt;KeepassX&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel de télémaintenance Teamviewer :&lt;/strong&gt; Version native pour PC | Version Native pour Mac&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel de télémaintenance VNC (client) :&lt;/strong&gt; &lt;a href=&quot;http://www.realvnc.com/&quot; hreflang=&quot;fr&quot;&gt;RealVNC&lt;/a&gt; (pc) | &lt;a href=&quot;http://sourceforge.net/projects/cotvnc/&quot;&gt;Chicken of the VNC&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel de télémaintenance VNC (serveur) :&lt;/strong&gt; &lt;a href=&quot;http://www.realvnc.com/&quot; hreflang=&quot;fr&quot;&gt;RealVNC&lt;/a&gt; (pc) | Intégré à osx&amp;nbsp;: réseau / partage d'écran (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel d'analyse réseau / capture de paquets Wireshark :&lt;/strong&gt; Version native pour PC | Version Native pour Mac&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logiciel de scan réseau nmap / Zenmap :&lt;/strong&gt; Version native pour PC | Version Native pour Mac&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Montage de disques / volumes NTFS en lecture écriture :&lt;/strong&gt; intégré (PC) | &lt;a href=&quot;http://sourceforge.net/projects/catacombae/&quot; hreflang=&quot;fr&quot;&gt;Catacombae NTFS-3G&lt;/a&gt; (gpl) &lt;a href=&quot;http://www.tuxera.com/products/tuxera-ntfs-for-mac/&quot; hreflang=&quot;fr&quot;&gt;Tuxera NTFS&lt;/a&gt; (commercial) ou &lt;a href=&quot;http://www.paragon-software.com/fr/home/ntfs-mac/&quot; hreflang=&quot;fr&quot;&gt;Paragon NTFS&lt;/a&gt; (commercial)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compression zip :&lt;/strong&gt; intégré (pc) | intégré mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compression sit :&lt;/strong&gt; natif, mais inutile (pc) | natif mais pratiquement plus utilisé (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compression Rar :&lt;/strong&gt; &lt;a href=&quot;http://www.win-rar.com/&quot; hreflang=&quot;fr&quot;&gt;Winrar&lt;/a&gt; shareware (pc) | &lt;a href=&quot;http://www.unrarx.com/&quot; hreflang=&quot;fr&quot;&gt;Unrarx&lt;/a&gt; open source (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Synchronisation de dossiers multiplateformes Dropbox :&lt;/strong&gt; natif (pc) | natif (mac)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Notes&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keepass existe en version 2 sur PC. Elle est écrite en .net, n'existe pas portée pour iphone, ni sous OSX sous forme native, ni sous linux sous forme native.  Il est techniquement possible de faire marcher la version 2 sur mac (ou linux) en installant &quot;Mono&quot;, le framework .net open source. Malheureusement, c'est moche, lent, mal intégré au système (même les copier coller sont une galère). J'ai donc préféré la version 1 qui dispose d'un portage natif pour Mac, Linux et iphone. La principale limitation de la version 1 est l'impossibilité de faire une sycnhronisation de bases de données entre plusieurs machines. Heureusement, Dropbox permet de faire ceci en mettant les fichiers de base de données sur le dossier synchronisé par Dropbox. Du coup l'association des 2 logiciels permet de corriger le défaut tout en restant multiplateformes...&lt;/li&gt;
&lt;li&gt;NTFS est un système de fichiers développé dont les spécifications n'ont à ma connaissance pas été publiées. Du coup, les développeurs ont du faire du reverse ingeneering pour essayer de le faire fonctionner. Si sur Linux,  les solutions opensource NTFS (et notamment celle basée sur Fuse) sont relativement fiables, il semblerait que cela ne soit pas tout à fait le cas sur OSX. j'ai rencontré quelques difficultés avec, et les essais sur les solutions commerciales semblent donner de meilleurs résultats, que ce soit en terme de fiabilité ou de performance pure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Développement logiciel natif / cross compilation pour embarqué&amp;nbsp;:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compilateur C / C++ :&lt;/strong&gt; &lt;a href=&quot;http://www.mingw.org/&quot; hreflang=&quot;fr&quot;&gt;MinGW&lt;/a&gt; ou &lt;a href=&quot;http://msdn.microsoft.com/fr-fr/express/default.aspx&quot; hreflang=&quot;fr&quot;&gt;Visual Studio&lt;/a&gt; (pc) | &lt;a href=&quot;http://developer.apple.com/tools/xcode/&quot; hreflang=&quot;fr&quot;&gt;Xcode&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Langages Perl :&lt;/strong&gt; &lt;a href=&quot;http://www.activestate.com/activeperl/&quot; hreflang=&quot;fr&quot;&gt;Activestate ActivePerl&lt;/a&gt; (pc) | Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Langages python :&lt;/strong&gt; &lt;a href=&quot;http://www.activestate.com/activeperl/&quot; hreflang=&quot;fr&quot;&gt;Python.org&lt;/a&gt; (pc)  | Natif (mac)&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Environnement de développement Eclipse :&lt;/strong&gt; Natif (pc) | Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environnement de développement embarqué Arduino :&lt;/strong&gt; Natif (pc) | Natif (mac)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Développement Web&amp;nbsp;:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Suite Adobe (Photoshop, Illustrator, Dreamweaver, etc..) :&lt;/strong&gt; Natif (pc) | Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editeur Texte de haut niveau avec syntax coloring, expressions régulières, etc. :&lt;/strong&gt; &lt;a href=&quot;http://notepad-plus.sourceforge.net/fr/site.htm&quot; hreflang=&quot;fr&quot;&gt;Notepad++&lt;/a&gt; (open source) ou &lt;a href=&quot;http://www.editplus.com/&quot; hreflang=&quot;fr&quot;&gt;EditPlus&lt;/a&gt; (commercial) (pc) | &lt;a href=&quot;http://www.jedit.org/&quot; hreflang=&quot;fr&quot;&gt;Jedit&lt;/a&gt; (open source) ou &lt;a href=&quot;http://macromates.com/&quot; hreflang=&quot;fr&quot;&gt;Textmate&lt;/a&gt; (commercial)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eclipse avec PDT :&lt;/strong&gt; Natif (pc) | Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firefox avec ses plugins de validation HTML, examen des en têtes HTTP, etc... :&lt;/strong&gt; Natif (pc) | Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Serveur web / mysql et outils d'administration :&lt;/strong&gt; XAMPP (pc) sur osx | apache et PHP sont installés par défaut, mais il faut le configurer pour activer PHP dans apache. MySQL existe sur mac sur le site de l'éditeur, et il y a même un addon pour démarrer / arrêter MySQL par les préférences système. Sur mac, les temps d'exécution des pages web sont comparables à ceux sous Unix, c'est à dire infiniment plus rapides que sur PC...&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client MySQL graphique :&lt;/strong&gt; HeidiSQL (open source) | &lt;a href=&quot;http://www.sequelpro.com/&quot; hreflang=&quot;fr&quot;&gt;SequelPro&lt;/a&gt; (open source)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Audio / Vidéo / Lecture / Encodage / Conversion&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;iTunes :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lexture de Divx :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edition wave, encodage multiformats avec Audacity :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edition de tag id3 sur les MP3 :&lt;/strong&gt; &lt;a href=&quot;http://stud.usv.ro/~alexbu/target.php?target=tageditor&quot; hreflang=&quot;fr&quot;&gt;Multi Id3 tag Editor&lt;/a&gt; (pc) | &lt;a href=&quot;http://www.jthink.net/jaikoz/&quot; hreflang=&quot;fr&quot;&gt;Jaikoz&lt;/a&gt; (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Encodage / décodage WMA/WMV :&lt;/strong&gt; intégré (pc) | &lt;a href=&quot;http://www.nch.com.au/switch/plus.html&quot; hreflang=&quot;fr&quot;&gt;switch&lt;/a&gt; + Flip4mac WMV (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mixage DJ (soirées) avec VirtualDJ :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac)&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;Bureautique&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Suite bureautique Office :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac), bien qu'Outlook soit absent et remplacé par Entourage, qui n'est pas une réussite.... L'érgonomie globale de la suite et également très différente du PC et discutable, car elle n'est ni mac, ni pc...&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Office :&lt;/strong&gt; Programme Natif (pc) | Programme Natif (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Outlook:&lt;/strong&gt; Il reste possible d'installer Parallels Desktop et de faire fonctionner Outlook (avec d'éventuels connecteurs natifs Exchange, Communigate, etc..), en tant que tache dans l'environnement Mac. C'est la solution que j'ai personnellement choisie, afin de pouvoir utiliser ma messagerie collaborative en environnement Mac.  Crossover Office devrait permettre de faire la même chose, mais je n'ai pas testé.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Sauvegarde / duplication&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Duplication de disque par image :&lt;/strong&gt; ghost (commercial), drive image (commercial) (pc) | &lt;a href=&quot;http://www.bombich.com/&quot; hreflang=&quot;fr&quot;&gt;Carbon Copy Cloner&lt;/a&gt; (gratuit) (mac)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sauvegarde périodique :&lt;/strong&gt; backup + planification (intégré) (pc) | time machine (intégré) (mac)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Virtualisation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt; Parallels Desktop&lt;/strong&gt; permet de manipuler des programmes Windows dans l'environnement Mac, comme si un programme windows était une tache (fenêtre programme) mac. Du coup, cela simplifie considérablement l'utilisation d'applications natives PC par rapport à la solution de virtualisation offerte avec le mac (bootcamp) , qui nécessite de booter sur l'un ou l'autre des systèmes.&lt;/li&gt;
&lt;li&gt;Open source, &lt;strong&gt; Virtualbox&lt;/strong&gt; offre une solution certes un peu moins bien intégrée au système que Parallels, mais gratuite... (&lt;a href=&quot;http://www.virtualbox.org/wiki/Downloads&quot; hreflang=&quot;fr&quot;&gt;http://www.virtualbox.org/wiki/Downloads&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Applications spécifiques au Mac (besoins particuliers ou liés à l'architecture)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gawker :&lt;/strong&gt; Application open source permettant de créer des vidéos par prise d'image successives automatisées afin de rendre des évènements lents (croissance de plantes, etc..).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plistedit pro :&lt;/strong&gt; Comme tous les fichiers de configuration du système mac sont des fichiers XML avec une structuration particulière, il est préférable de les manipuler avec un programme spécifique.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Growl :&lt;/strong&gt; programme permettant de regrouper les notifications diverses des programmes et de les remonter à l'écran.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smartscroll :&lt;/strong&gt; Permet de faire ce comporter le touchpad intégré, comme la nouvelle souris apple, à savoir que le scroll (mouse gesture à 2 doigts sur le touchpad) ne s'arrête plus brusquement, mais continue sur l'intertie du geste comme avec la souris (et l'écran de l'iphone).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iStat pro :&lt;/strong&gt; Permet de disposer dans le Dashboard d'un panneau permettant de surveiller process, activité processeur, mémoire, réseau, température des différents éléments du mac, etc..&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Little Snitch :&lt;/strong&gt; Firewall puissant, permettant de mettre des règles par process, programme, port, etc..&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;X11 :&lt;/strong&gt; intégré nativement à OSX, il permet de d'installer de nombreuses applications conçues initialement pour Unix / Linux. Pratiquement sans équivalent sur PC.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/03/08/43-switcher-pc-mac-osx-applications-remplacement-developpement-bureautique-web-administration-systeme-reseau#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/03/08/43-switcher-pc-mac-osx-applications-remplacement-developpement-bureautique-web-administration-systeme-reseau#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/38</wfw:commentRss>
      </item>
    
  <item>
    <title>Dis papa, c'est quoi un switcher?</title>
    <link>http://www.civade.com/post/2010/02/27/42-switcher-pc-mac-osx-macbook-pro-aluminium-msi-wind-u100</link>
    <guid isPermaLink="false">urn:md5:382586e68732919dc23d0ebfa894a241</guid>
    <pubDate>Sat, 27 Feb 2010 08:26:00 +0000</pubDate>
    <dc:creator>jphi</dc:creator>
        <category>Mac et OSX</category>
        <category>osx</category>    
    <description>&lt;p&gt;SWITCHER: (souitchair) Se dit d'une personne qui vient d'abandonner lâchement son PC au profit d'un Mac...&lt;/p&gt;


&lt;p&gt;Même si ce n'est pas tout à fait vrai qu' j'ai abandonné le PC, puisque j'ai toujours des machines sous XP, Seven, Ubuntu, Redhat, au moins je viens d'en ajouter une à ma collection&amp;nbsp;: un Macbook pro 13''.&lt;/p&gt;


&lt;p&gt;Voyons ici comment et pourquoi...&lt;/p&gt;


&lt;p&gt;Permier billet d'une nouvelle série, celui ci inaugure une nouvelle rubrique sur le site&amp;nbsp;: Le Mac et OSX..&lt;/p&gt;    &lt;p&gt;Cela faisait longtemps que je lorgnais sur le Mac. Mais j'avais vraiment du mal à mettre ce prix dans une machine, car en comparant les caractéristiques je me rendais compte à chaque fois que pour la moitié du prix pn avait une machine équivalente dans le monde PC (du moins sur le papier).&lt;/p&gt;


&lt;h3&gt;Un Netbook comme mac&amp;nbsp;?&lt;/h3&gt;


&lt;p&gt;Tout a commencé avec une envie de Netbook. En surfant sur Internet, j'ai vu qu'il était possible d'installer OSX sur certains Netbook. Mon choix s'est porté sur un MSI Wind U100+, et après des heures de recherche et de documentation, j'ai trouvé tous les éléments pour installer Snow Leopard dessus. C'est bien sur rigoureusement interdit par Apple, mais j'avais fait cette expérience, plutôt pour voir.&lt;/p&gt;


&lt;h3&gt;OSX Snow Leopard nécessite moins de ressources que Windows&amp;nbsp;!&lt;/h3&gt;


&lt;p&gt;Et là, excellence surprise. Sur un Atom à 1.6ghz et avec une carte graphique très limitée, ca tournait impec! D'autant plus impressionnant que dans le même conditions XP était plutôt asthmatique, et je n'ai même pas essayé Seven. Ubuntu, par contre fonctionnait  bien. J'ai juste ajouté 512Mo de Ram (un total de 1.5Ghz) pour donner de  l'air à OSX, mais ce n'était pas rigoureusement indispensable.&lt;/p&gt;


&lt;p&gt;Le support logiciel était presque complet (support partiel de la webcam, pas du support des entrées audio, qu'elle soit externe sur jack intégré ou interne sur le micro de la webcam, et support du wifi par un logiciel annexe mais pas intégré au panneau de contrôle réseau). Mais ceci s'avérait suffisant pour travailler.&lt;/p&gt;


&lt;p&gt;Le seul réel inconvénient est l'autonomie batterie. En effet, l'intégration d'OSX sur le Wind laisse à désirer sur la gestion d'énergie. Si le suspend to ram fonctionne bien lors de la fermeture du capot, le suspend to disk n'a jamais fonctionné. Dommage.... mais pas rédhibitoire. Il restait quand même possible de l'utiliser 1h30 avec la batterie 5 cellules.&lt;/p&gt;


&lt;p&gt;Du coup, j'ai reformaté le disque interne, et viré le double boot XP/Ubuntu au profit de l'unique installation OSX.. C'est là que la décision de switcher a été prise.&lt;/p&gt;


&lt;p&gt;Un temps de boot de moins de 60 secondes montre qu'on est dans des conditions de travail plutôt sympa...&lt;/p&gt;


&lt;p&gt;J'ai utilisé cette configuration 2 mois,Dans ces deux mois, j'ai pu apprécier le fait d'avoir à la fois un système proche d'Unix avec tous les outils qui vont bien (ssh, GCC, etc..) et un environnement graphique super sympa, simple et réactif.  Puis je me la suis faite voler... Bouhhhhh....&lt;/p&gt;


&lt;h3&gt;Macbook Pro&amp;nbsp;:&lt;/h3&gt;


&lt;p&gt;A ce stade, l'expérience OSX Snow Leopard n'est avérée très enrichissante et plaisante. Un système simple à utiliser, fluide, et qui me laisse la main. En effet, Je suis toujours fou de rage quand le PC part d'une une boucle avec le sablier et fait des choses pour lui sans me laisser la main... Je ne 'ai pas acheté pour que Bill Gates joue avec, mais pour que je puisse l'utiliser.... Cette mésaventure ne m'est pas arrivée sur Mac..&lt;/p&gt;


&lt;p&gt;Alors que faire, reprendre un Netbook et se contenter du support imparfait ou passer sur Mac?&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;L'une des principales surprises avec OSX et le Netbook a été la consommation processeur. Ceci m'a fait reconsidérer un point majeur qui m'a toujours bloqué dans le choix d'une machine&amp;nbsp;: la comparaison de caractéristiques matérielle.&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Il ne faut pas comparer un PC et un Mac uniquement sur les processeurs, la RAM et la carte graphique, car cela n'est pas exploité de la même manière. Apple étudie la consommation d'énergie, la dissipation thermique, et livre des machines sur lesquelles la vitesse du processeur n'est pas la meilleure sur le papier, mais son confort d'utilisation est réel. De plus, l'architecture interne de la machine n'est pas la même et n'a pas nécessairement les mêmes goulors d'étranglement. Ainsi, un processeur double cur à 2.5Ghz sur un portable s'avère suffisant pour faire des taches complexes comme du montage vidéo, de l'enregistrement audio multipistes, etc... C'est pour toutes ces raisons qu'un Mac nécessite moins de puissance. Du coup, le rapport qualité prix, ou prix / puissance ne peut plus être évalué sur des comparaisons de caractéristiques, mais plutôt sur des comparaisons &quot;d'expérience utilisateur&quot;.&lt;/p&gt;


&lt;p&gt;A titre de comparaison, je dispose d'un portable MSI de gamer sur processeur Core i7 intel (4 coeurs hyperthreadés, soit 8 coeurs à 1.6 ghz), avec une carte graphique de folie et 6 Go de Ram, et à part dans les jeux 3D, l'expérience sous Windows 7 est décevante. Le système n'est pas plus réactif. Je préfère même mon Mac....&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.civade.com/images/mac/macbookpro13.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;J'ai  opté pour les derniers Macbook 13'' en 2.53Ghz / 4 Go de Ram / 250 Go de dur car&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le boitier en alu est TRES robuste (au regard de celui du Macbook pas pro...)&lt;/li&gt;
&lt;li&gt;Un niveau de finition hallucinant. Plein de petits détails super jolis / finis / classe. On a juste le sentiment de gouter la différence entre le prêt à porter et la haute couture, ou entre une voiture française et une allemande. C'est pas le même prix, mais cela ne joue juste pas dans la même cour ;).&lt;/li&gt;
&lt;li&gt;Il est assez léger&lt;/li&gt;
&lt;li&gt;L'écran 13'' est un bon compromis transportabilité / lisibilité&lt;/li&gt;
&lt;li&gt;Bonne autonomie sur batterie (jusqu'à 4 heures)&lt;/li&gt;
&lt;li&gt;Le retour du firewire 800 sur le 13'' me permet d'envisager la connexion d'une carte audio haut de gamme pour intégrer le mac à mon studio d'enregistrement&lt;/li&gt;
&lt;li&gt;Une carte SD permet d'assurer un stockage externe complémentaire et compatible PC&lt;/li&gt;
&lt;li&gt;Un sortie vidéo externe permet de connecter un second écran pour travailler sur certains logiciels dans des conditions de confort accentuées (écran interne + écran externe)&lt;/li&gt;
&lt;li&gt;2 prises USB permettent le raccordement de mes interfaces Midi, disques externes, etc..&lt;/li&gt;
&lt;li&gt;Webcam intégrée avec micro. Super pour Skype et Google Talk...&lt;/li&gt;
&lt;li&gt;Le clavier rétro éclairé est un plus la nuit en soirée, en studio d'enregistrement, ou tout simplement dans les endroits sombres.&lt;/li&gt;
&lt;li&gt;Capteur de luminosité, qui adapte le backlight de l'écran à la lumière ambiance et allume ou éteint le clavier.&lt;/li&gt;
&lt;li&gt;Réglage de luminosité écran et rétro éclairage du clavier sépraés.&lt;/li&gt;
&lt;li&gt;La taille de la machine la rend très transportable, puisque lorsque rangée dans un skin néoprène, ca fait la taille d'un bloc A4...&lt;/li&gt;
&lt;li&gt;Le bluetooth me permet de diffuser l'audio sur ma chaine&lt;/li&gt;
&lt;li&gt;Le Wifi 802.11 N permet de bénéficier des meilleurs débits...&lt;/li&gt;
&lt;li&gt;La qualité de restitution audio sur les hauts parleurs internes est excellente...&lt;/li&gt;
&lt;li&gt;L'écran est très lumineux et brillant. C'est BO &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Rétro éclairage à LED&lt;/li&gt;
&lt;li&gt;Possibilité de connecter du DVI ou du VGA sur la sortie vidéo, mais à 29 le connecteur, on y regardera à deux fois avant d'acheter la totale.&lt;/li&gt;
&lt;li&gt;Possibilité de monter un adaptateur HDMI sur la sortie vidéo, mais ce n'est pas un accessoire Apple.&lt;/li&gt;
&lt;li&gt;Un petit bouton permet de voir le niveau de batterie restant sur un splendide bar-graphe à LED intégré à la carrosserie Alu...&lt;/li&gt;
&lt;li&gt;Un petit voyant blanc sur la tranche permet de savoir quand le mac est allumé mais en mode veille. Du plus bel effet.&lt;/li&gt;
&lt;li&gt;L'adaptateur secteur est petit et léger. Le connecteur magnétique est un super gadget car cela permet de se prendre les pieds dans les fils sans mettre le mac par terre. Réellement une innovation (et là, les vieux utilisateurs de mac se marrent, car cela fait des années que ca existe.. Je rappelle le contexte, je suis sur PC et je suis nouveau sur mac, messieurs, du calme....)&lt;/li&gt;
&lt;li&gt;Le multitouch sur le touchpad est une tuerie. Fluide, rapide, c'est top.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La nouvelle souris Apple 'Magic Mouse', doutée d'une surface tactile multitouch s'avère également un bon choix, même si un peu chère...&lt;/p&gt;


&lt;p&gt;Points noirs / inconvénients&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Il n'y a plus qu'une prise jack et qu'on doit choisir entre la fonction entrée audio externe ou la fonction sortie audio... Dommage de ne pas avoir prévu un jack à 4 points (comme la prise casque de l'iphone) qui aurait au moins permis de raccorder un micro mono/casque stéréo, a défaut de disposer des 2 jacks complets.&lt;/li&gt;
&lt;li&gt;Il faut un adaptateur pour mettre un écran. Si on oublie adaptateur, on est bloqué, car la prise est spécifique à Apple.. (Apple Display Port).&lt;/li&gt;
&lt;li&gt;Caméra intégrée de qualité moyenne (contre jour, fonctionnement en basse lumière, etc..). C'est au niveau par rapport à celle des PC, mais pas d'un Mac.&lt;/li&gt;
&lt;li&gt;Une troisième ou quatrième prise USB aurait toutefois été la bienvenue, mais bon...&lt;/li&gt;
&lt;li&gt;Le scroll du touch pad n'a pas d'inertie comme il en a sur la souris magic mouse. Du coup, ou passe d'une ergonomie à une autre en passant du touch à la souris. C'est très dérangeant. Heureusement, cela peut être corrigé en ajoutant un logiciel (shareware), mais Apple devrait peut être ajouter l'option au préférences du touchpad.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comme vous le voyez dans les points noirs, on devient pinailleurs quand on est sur mac....  Mais bon, Apple nous apprend à devenir exigeants, alors...&lt;/p&gt;


&lt;p&gt;Nous verrons dans un prochain billet comment remplacer chacune des applications indispensables à un informaticien  / musicien / geek / linuxien de leur équivalent PC ou Linux, vers leur équivalent Mac...&lt;/p&gt;


&lt;p&gt;Ainsi, la machine deviendra une vraie machine de switcher, en gardant son lot de geekeries ;).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.civade.com/post/2010/02/27/42-switcher-pc-mac-osx-macbook-pro-aluminium-msi-wind-u100#comment-form</comments>
      <wfw:comment>http://www.civade.com/post/2010/02/27/42-switcher-pc-mac-osx-macbook-pro-aluminium-msi-wind-u100#comment-form</wfw:comment>
      <wfw:commentRss>http://www.civade.com/feed/atom/comments/37</wfw:commentRss>
      </item>
    
</channel>
</rss>
