Mercredi, mai 22 2013

BleuettePi : Une carte fille pour RaspberryPi

Introduction

Comme je l'annonçais dans un précédent article, Bleuette va pouvoir être piloté par un Raspberry Pi grâce à une carte fille dédiée dont je vais décrire les caractéristiques ici même.

Le choix du Raspberry Pi s'est porté grâce à 2 de ses atouts : le coût et la puissance, en effet, pour moins de 40€, on dispose d'un système embarqué sous Gnu/Linux avec 512Mio de RAM, un processeur pouvant monter à 1Ghz, à côté des 2.5Kio de RAM et des 16Mhz de l'Arduino Leonardo, ça fait une sacré différence et ça laisse entrevoir plein de nouvelles possibilités...

Notez que ça ne signifie pas l'abandon du développement de Bleuette sur Arduino, il s'agit juste de donner le choix du système.

Caractéristiques

Les avantages d'utiliser un tel ordinateur embarqué sont nombreux, comme par exemple, la facilité pour embarquer / supporter des périphériques comme une clef WiFi pour programmer Bleuette à distance ou encore brancher une webcam (notamment le module caméra officiel), etc... Mais il n'y a pas que des avantages, on se retrouve aussi avec quelques soucis comme par exemple l'alimentation, le Raspberry Pi consomme plus qu'une petite carte Arduino et ses entrées / sorties ne sont absolument pas compatible avec le 5V utilisé sur la précédente carte fille, il faudra donc faire avec...

BleuettePi est conçue à la base pour faire fonctionner Bleuette mais j'ai fait en sorte que cette carte soit suffisamment généraliste pour être utilisée dans d'autre application.

Voici les caractérisitiques de cette carte :

  • Gestion de 14 servos (toujours de manière synchrone)
  • Mesure du courant consommé par les servos
  • Mesure de la tension de la batterie
  • Connexion pour une carte GY-27 contenant un accéléromètre et un compas (via I2C)
  • 16 entrées / sorties compatible 5V avec 2 lignes d'interruption, le tout commandé en I2C
  • 6 entrées analogiques
  • Amplificateur audio pour ajouter le son à votre Raspberry Pi (à base de LM386)
  • 5 entrées / sorties généralistes compatible 5V direct Raspberry + 5 autres entrées / sorties disponible si le bus SPI n'est pas utilisé
  • Toutes les broches du SPI (MOSI, MISO, SCLK, CE0, CE1) sont disponibles sur un connecteur et compatible 5V
  • Un module horloge temps réel (RTC) pour garder votre Raspberry Pi à l'heure !
  • 4 lignes d'interruptions physiques (INTA et INTB pour les IO, INTC en provenance de l'horloge temps réel, INTD)

Schéma de principe

Voici le schéma de principe complet :
Schéma de principe de la carte d'extension de Bleuette

Détails

Les détails bloc par bloc du schéma de principe :

Liaison au RaspberryPi

La liaison au RaspberryPi se fait via P1 :

BleuettePi : Liaison RaspberryPi

L'alimentation

Pour fonctionner, le RaspberryPi a besoin d'une tension d'alimentation de 5V avec une intensité d'environ 1A.

La carte fille reçoit 2 tensions en entrée :

  • Le 5V pour le Raspberry et pour la carte fille
  • Une tension pour alimenter les servos (de 5V à 6V selon les servos).

Une autre entrée (BATT et BATT1) optionnelle permet de recevoir la tension brute de la batterie à des fins de mesure via le pont diviseur R1 / R2.

Note: Si la tension d'alimentation des servos est directement celle de la batterie, le jumper (J_BATT0 ou J_BATT1) permette d'injecter la tension directement sur R1 / R2.

BleuettePi : Alimentation

Gestion des servos

BleuettePi : Pilotage des servos

Pour le pilotage des servos, un PIC18F4520 programmé avec une version dérivée du projet Pic24Servos est utilisé de la même façon qu'avec la Bleuette Shield Arduino.

Mais comme mentionné plus haut, les entrées / sorties du Raspberry Pi fonctionnent uniquement avec une tension de 3.3V, le PIC18F4520 aussi mais rien ne permet d'affirmer que les servos vont « voir » les impulsions de 3.3V comme des niveaux hauts, donc, j'ai choisi d'alimenter le PIC en 5V et d'adapter la liaison série avec le Raspberry Pi.

Pour la transmission de donnée du RaspberryPi vers le Pic, le signal passe par l'adaptateur de niveau 3V / 5V, pour la communication inverse, du Pic vers le RaspberryPi, un simple diviseur de tension (R9 / R10) ramène la tension à 3.3V max.

Le découplage de la ligne d'alimentation des servos est effectué par plusieurs condensateurs de bonne capacité (C1 et C9).

Les entrées / sorties

L'adaptateur de niveau 3V / 5V bidirectionnel pour les entrées sorties généralistes est un TXB0108PWR :

BleuettePi : Adaptateur de niveau

Une partie des entrées / sorties sont disponibles via les connecteurs OPTION0 et OPTION1 :

BleuettePi : Input / Output

Horloge temps réel (RTC)

Une horloge temps réel est disponible via le bus I2C afin de garder le RaspberryPi à l'heure, même sans alimentation grâce à la pile bouton de sauvegarde (CR1220).

BleuettePi : RTC, Horloge Temps Réel

C'est le DS1339 qui joue le rôle d'horloge, ce dernier est équipé d'une sortie (SQW/OUT) cablée sur INTC (INTterruption Clock) permettant au choix d'obtenir un signal carré à une fréquence précise ou d'utiliser cette broche comme réveil, cette dernière est disponible sur le connecteur OPTION0, ainsi, on peut imaginer un dispositif qui sortirait le RaspberryPi d'un sommeil très profond puisque dans cet état, il ne consommerait absolument rien...

Le son

Le Raspberry Pi disposant d'une sortie son, il est intéressant d'en profiter via l'utilisation d'un amplificateur et d'un haut parleur externe.

BleuettePi : Son

Rien de particulier à dire, à part un potentiomètre permettant d'atténuer le niveau d'entrée.

Mesure du courant et tension LiPo

Un pont diviseur de tension pour la mesure de la tension de la batterie et l'utilisation d'un MAX4173 pour la mesure du courant.

BleuettePi : Mesure du courant

Sur la version à base d'Arduino, c'est ce dernier qui s'occupait de la conversion analogique, or, le Raspberry Pi ne contient pas de convertisseur analogique / numérique (CAN), du coup, il aurait fallu embarquer un circuit intégré spécialisé pour cette fonction mais il n'y a plus de place sur la carte et il y a une meilleure solution, en effet, le PIC18F452 utilisé pour la gestion des servos possède un CAN et justement, ces broches sont libres...

La mesure du courant (SERVO_CURRENT) se fait via l'entrée AN5 et la tension (LIPO_VOLTAGE) via l'entrée AN4.

Carte accéléromètre et magnétomètre

Vu le format de ce type de composant (très difficile à souder avec du matériel amateur), j'ai opté pour un module GY-27 intégrant les 2 composants, le magnétomètre (HMC5883L) et l'accéléromètre (ADXL345) dialoguant tous les 2 en I2C, ils sont donc branchés sur la liaison I2C hardware du Raspberry Pi.

La carte sera donc directement branchée sur la carte fille BleuettePi permettant en plus un gain de place non négligeable.

BleuettePi : Capteur GY-27

Pour ceux ne voulant pas utiliser cette carte, il est tout à fait possible de l'utiliser pour autre chose, ça reste de l'I2C...

Liaison SPI

Un autre convertisseur de niveau 3V / 5V (TXB0108PWR) est présent pour assurer la conversion de niveau de tension du bus SPI :

BleuettePi : Liaison SPI

Guirlande de led RGB

Pour le pilotage de la guirlande de led RGB à base de LPD8806 depuis le Raspberry Pi, la librairie Boblight sera utilisée.

Au niveau électronique, rien de particulier, le pilotage se fait via le bus SPI hardware du Raspberry (ligne MOSI et SCLK).

Informations supplémentaires

Un premier batch de 5 PCB est en cours de fabrication chez Seeedstudio à l'heure où j'écris ces lignes.

Les fichiers sources sont disponibles au format Eagle sur GitHub :

La pages dédiées sur le wiki : BleuettePi sur GitHub.

Vendredi, mai 17 2013

DIY – Thermomètre à tube Nixie

Ce projet, qui m’aura occupé quelques temps, est parti de trois points :

- Je n’avais pas de thermomètre chez moi, et ma femme et moi n’avons pas tout à fait la même sensibilité à la température, cela permet de donner une valeur objective et d’ajuster en conséquence (soit on met le chauffage, soit l’autre enfile un pull ;) )
- J’avais besoin de tester un circuit de commutation pour tubes Nixie (spoiler : dans le but de réaliser une horloge), mais sur un nombre limité de tube, car en cas d’erreur, c’est très pénible de dessouder le tube et de le ressouder
- J’avais envie de réaliser un montage CMS le plus compact possible, et de tester au passage la mise en oeuvre de CMS taille 0402.

Si si, il y a un composant sur C6. La LED est une 5mm, placée là pour donner l'echelle.

Si si, il y a un composant sur C6. La LED est une 5mm, placée là pour donner l’échelle.

Le montage se divise donc en 4 parties : la mesure de la température, effectuée par un vénérable LM35 (mais le montage permet aussi l’utilisation d’un LM73 plus précis) ; l’élévation de tension pour alimenter les tubes, le contrôle des tubes, et le pilotage de tout ça, réalisé par un Atmega328, version cms évidemment.

Le schéma d'ensemble

Le schéma d’ensemble

La partie mesure de température ne nécessite pas d’explications particulières. A noter simplement que le LM73 fonctionne en I2C, et que dans ce cas, il faut impérativement mettre les résistances de pullup R6 et R7. Dans le cas du lm35, elles ne sont plus nécessaires car ce dernier fonctionne en analogique, la sortie de celui-ci étant à connecter à la broche 4 de l’emplacement du lm73 (A5/SCL sur l’atmega).

La partie élévateur de tension est désormais classique sur mon site, il s’agit de la même que pour mes compteurs geiger, à savoir NE555 + Mosfet + bobine. Un petit condensateur 400v sert à lisser la tension obtenue.

La mise en oeuvre de l’AtMega328 n’a rien de spécifique. Il faut en revanche noter deux connecteurs, un connecteur ISP, et un connecteur permettant de brancher un adaptateur série. Le premier devant servir à charger le bootloader Arduino sur l’Atmega, le second à charger le programme/débugger comme s’il s’agissait d’un simple Arduino. Pour une raison que j’ignore, bien que le bootloader soit correctement chargé, il n’a fonctionné que sur une seule de trois cartes que j’ai assemblé. Après tests, la communication série s’effectue correctement et dans les deux sens, mais impossible de flasher l’atmega par ce biais (si quelqu’un a une idée…). Du coups, la programmation se fait via ISP, et le debug par la connexion série.

La partie la plus intéressante de ce montage est la partie pilotage des tubes nixie. Un des objectifs était de réaliser le montage le plus compact possible, exit donc les drivers type 7441, tout sera fait ici à base de transistors.
Afin de ne pas trop consommer, l’affichage des 2 digits ne se fera pas simultanément, mais l’un après l’autre, de manière très rapide, la persistance rétinienne se chargeant de donner l’impression d’un affichage fixe.
Coté cathode, les transistors sont dans une configuration peu courante : la base est commune à tous les transistors, en permanence à +5v, ce qui permet de n’avoir qu’une seule résistance (mais qui impose de n’utiliser qu’un seul digit à la fois). La commutation se fait en ramenant l’émetteur du transistor voulu à  0v. Dans cette configuration, il faut autant d’entrées/sorties sur le microcontrolleur que de digits, mais en l’occurrence, l’Atmega nous en propose nettement plus que nécessaire dans notre cas.

Le driver coté anode

Le driver coté anode

Coté anode, il aurais été possible également de mettre un simple transistor NPN avec une résistance pour faire le travail. Cependant, la consommation « à vide » aurais été supérieure à la consommation lors de l’affichage sur un tube, ce qui n’est clairement pas le but recherché.
Le montage ci-dessus « coupe » le courant, en limitant les pertes à des valeurs infimes. La résistance R12 et le transistor NPN forment un driver de courant constant, réglé de manière à laisser passer juste le courant nécessaire au déblocage du transistor PNP.

Thermomètre Nixie

Le thermomètre Nixie assemblé

Le circuit complet tiens sur un PCB de 5x5cm double face. J’aurais probablement pu faire encore plus petit, mais ça me semblais déjà un bon début !

Le circuit vu du dessus

Le circuit vu du dessus

Concernant l’assemblage du PCB, rien de spécial à mentionner, celui-ci étant étonnamment plus facile à assembler que ce qu’il pourrais sembler au premier abord, et ce, malgré le fait que j’ai soudé des résistances 0805 sur des emplacements 0603 (donc un peu plus petits que les résistances). Ayant fait plusieurs essais, j’ai testé différentes techniques de soudure, je vous ferais un petit topo là-dessus dans un prochain article. Globalement, si on omet les 2 composants 0402 (taille qui n’était pas impérative du tout, mais pour faire des tests), ce n’est pas vraiment plus compliqué qu’avec du traversant, au contraire même.  Le circuit intégré demande un petit coups de main, mais ça se fais très bien, et très rapidement. Les 0402, pour le coups, sont assez délicat à placer, leur petite taille faisant qu’ils se collent à la pane du fer à souder par capillarité, et leur taille nécessite de bons yeux en plus d’une bonne loupe (idéalement, une bino)

Enfin, pour finir, le code source, qui n’a rien de très spécifique, il se contente de récupérer la valeur du lm35, et décomposer le résultat obtenu en deux digits, les unité et les dizaines.

thermometre

Dimanche, mai 12 2013

DIY – Savon maison, le retour…

Le premier test m’avais bien plu, et j’avais trouvé l’opération amusante. Vu les quantités que j’avais fait la dernière fois, mes savonnettes sont passées assez vite. J’ai donc décidé de remettre ça, mais cette fois « pour de vrai », avec des ingrédients sympa, en plus grosse quantité, et au passage, en impliquant Madame ;)

Premièrement, la recette

Lors de ma précédente tentative, je n’avais utilisé que de l’huile d’olive, et la première huile essentielle qui me tombais sous la main, à savoir du clou de girofle. Bon, ça marchait bien, ça allais bien pour se laver les mains, mais c’était quand même pas le savon le plus appétissant que je connaisse…
Cette fois-ci, on va s’ouvrir un peu plus l’appétit avec du savon à l’huile de coco et à la vanille.

Les ingrédients

Les ingrédients

Voici la liste des courses :
200g d’huile de coco (plus du beurre en fait, mais ça s’appelle huile quand même)
400g d’huile d’olive
85g de soude caustique
200ml d’eau

Première étape, peser les ingrédients

La soude

La soude

Comme le nom de l’étape le laisse deviner, on pèse chacun des ingrédients dans des récipients séparés. Pour la soude, j’ai préféré bricoler un récipient en papier plutôt que d’utiliser de la vaisselle de cuisine ou un récipient en plastique dont la tenue à la soude n’était pas garantie.

L'huile de coco

L’huile de coco

Bon, alors l’huile de coco, ça a deux caractéristiques : Ca ressemble à du saindoux, mais ça sent sacrément bon ! (a tel point que ça donne envie de la goûter tel quel)

Seconde étape, mélanger

Alors là, pas question de faire n’importe quoi, la soude est un produit dangereux. Blouse, lunettes (de chimie) obligatoires (gants vivement conseillés au passage).
Il faut tout d’abord dissoudre les cristaux de soude dans l’eau. La réaction est exothermique, et peut dégager des fumées, il est donc recommandé de faire ça sur le balcon. Donc, dans le saladier, verser l’eau, puis, petit à petit (cuillère à cuillère), verser les cristaux de soude dans l’eau, et remuant (avec un autre instrument que celui qui vous sert à prendre les cristaux de soude!). Je le rappelle, pour ceux qui sont pas habitués, pas d’eau dans la soude, toujours la soude dans l’eau, sinon il y a risque de projections.

Une fois cette étape réalisée, il faut mélanger les corps gras à la soude, de la même manière, en procédant petit à petit au début, puis plus franchement.

Vu comme ça c'est pas appétissant, mais ça sent bon !

Vu comme ça c’est pas appétissant, mais ça sent bon !

Après avoir un peu touillé à la cuillère, je vous conseille de passer au mixer, car il va falloir mélanger longtemps…
Il faut donc mélanger jusqu’à la trace, qui prend entre 15 et 30 min en fonction en la température entre autre. Pour pas tuer votre mixer, je vous conseille de faire ça par tranche de 5 min, avec des poses pour le laisser refroidir entre chaque.
Au bout d’un moment, le mélange commence à épaissir, et le filet qui coule du mixer laisse une marque en surface. C’est la « trace ».

La trace

La trace

A ce moment là, vous pouvez ajouter les huiles essentielles (de vanille donc, dans mon cas).

Troisième étape, le moulage et le séchage

Bon, là, faites pas comme moi, et prévoyez suffisammentde moules pour vos savons ! J’avais prévu de jolis moules à madeleines, mais une fois ceux-ci remplis, il me restait encore les 3/4 de la préparation ! Résultat des courses, j’ai mis le reste dans un bac de glace, pour les découper en tranches de 2cm d’épaisseur une fois durcis.

Les savons moulés

Les savons moulés

Là encore, l’odeur est très appétissante, combinée à la forme de madeleine, on en mangerais :)
Au bout de 2/3 jours, il faut les démouler. Il est possible de les entourer de film alimentaire pour qu’ils ne blanchissent pas.

Reste maintenant la partie la plus difficile : attendre ! J’avais testé mes précédents savons au bout d’un mois, et ils étaient encore un peu irritants. Au bout de 2 mois en revanche, ils étaient parfaits ! Je pense donc ne pas utiliser ceux-là avant le mois de Juillet, mais promis, je vous ferais un retour à ce moment là !

Jeudi, avril 25 2013

Capteur optique de vitesse et sens de rotation (2)

Deuxième partie : de l’idée à la mise en oeuvre.

Passons donc, comme promis, à la construction de ce capteur de vitesse ET sens de rotation.

D’abord, dessiner le patron. Je choisis de faire 3 largeurs de franges sur 24 degrés selon le dessin suivant (Fig 4).

Patron du premier codeur

Fig. 4 : Patron du premier codeur

Les fronts « noirs » seront régulièrement répartis tous les 8° dans le sens trigo, cette répartition régulière pourra être la base de la mesure de vitesse, en se basant sur les fronts montants pour un sens de rotation, descendants pour l’autre sens. La première frange occultante aura 2° de large, la deuxième 4°, et la dernière 6°. Ceci répété 16 fois pour faire le tour. J’aurai donc une roue dentée à 48 créneaux par tour, ce qui suffit bien pour la précision dont j’ai besoin. Le premier prototype sera fait d’une roue dessinée sur l’ordinateur, imprimée sur un film transparent, découpée grâce aux petits ciseaux de couturière piqués à ma charmante épouse, et collée à nouveau sur un bouton de potentiomètre placé sur l’arbre moteur. Résultat nul : imprimante jet d’encre sur film transparent = pas du tout opaque, les variations de signal sont trop faibles. Je l’imprime sur du papier blanc, collé sur film plastique pour rigidifier, puis découpé aux ciseaux : c’est mieux au niveau du signal, mais mes découpes sont imprécises et les différences de largeurs de bandes sont trop irrégulières pour permettre une détection fiable du sens de rotation. C’est en plus très fragile. Néanmoins, le principe est validé : les créneaux obtenus à l’oscillo étant bien identifiables lorsque la fabrication des encoches est correcte (voir photo 5).

codeur-papier

Photo 5 : Codeur « papier »

Je construis un modèle STL, en réduisant un peu la résolution pour faciliter la fabrication (10 séries de 3 encoches sur 360° au lieu de 16)  et l’imprime sur une RepRap… mais le plastique est trop translucide et je ne peux pas augmenter l’épaisseur sinon elle ne passera plus dans la fourche !! De plus la précision de la Reprap est trop limite, et les bords pas nets car les fils de PLA (le plastique utilisé) bavent un peu… les durées différentes sont difficilement identifiables (illustration 6).

Mauvais signal avec la roue en PLA

Illustration 6 : Mauvais signal avec la roue en PLA

Tant pis, je passe à l’imprimante 3D Z-builder (flashage de résine UV par un vidéo projecteur) à laquelle j’ai aussi accès (merci Gi-Nova, et merci Christofer !) et obtiens enfin un modèle suffisamment précis, rigide, opaque… (illustration 7) qui va permettre de mesurer vitesse et sens de rotation de mes moteurs (vitesses variant de -120 à +120 tr/min).

Roue en résine photosensible

Illustration 7 : Roue en résine photosensible

Et voici la roue codeuse sur le système final en cours d’assemblage… (photo 8).

Roue codeuse en place

Photo 8 : Roue codeuse en place

Pour la partie logiciel :

Afin de compter de manière fiable les fronts, j’ai opté pour l’utilisation d’interruptions, une qui compte les fronts montants et enregistre leurs dates, une autre pour les fronts descendants. Sur l’Arduino, le plus simple et fiable que j’ai trouvé est d’utiliser 2 entrées différentes pour cela (et comme entre temps j’ai investi dans un MEGA, cela ne me pose plus de gros soucis ;-) ). Le programme principal calcule alors la largeur (durée) des créneaux par différence de dates, conserve toujours les 3 derniers créneaux, et fait les calculs lorsque le créneau détecté est plus grand que les 2 précédents.

Pour être précis, notons ces durées (délai entre front montant et front descendant) dt1, dt2, dt3 dans l’ordre d’apparition. Nous venons de dire que au moment où nous faisons le calcul de vitesse et de sens dt3 est supérieur à dt1 et dt2. Alors si dt1<dt2, le sens de rotation est direct, mais si dt1>dt2, le sens de rotation est indirect. Dans le sens direct, la fréquence des fronts montants est à peu près régulière et permet de calculer assez précisément la vitesse angulaire de la roue codeuse (nombre de fronts montants comptés, ramené au temps passé depuis le dernier calcul). Dans le sens indirect ce sont les fronts descendants qui sont réguliers.

Voili-voila. Si vous avez besoin d’un capteur de vitesse vous donnant le sens de rotation : Do It Yourself !

Phil.

 

Mardi, avril 23 2013

Une Borne d'Arcade maison -38-

Suite de l'étude précédente :

  • Attention, ce billet peut ressembler à la fin du projet, mais il s'agit juste d'une partie des derniers travaux ! Néanmoins ceux qui attendaient de voir le meuble terminé vont être servit ^^;

Il reste en effet quelques bricoles à faire, comme le monnayeur, les artworks latéraux, la configuration graphique Pixel Perfect, la config détaillée de l'émulateur, la mise en place de l'éclairage, une grille de protection sur la trappe de maintenance, et autres trucs qui me passeront par la tête pour faire évoluer la machine…

Les cales :

dsc08905.jpg

Cette fois-ci, j'ai appliqué la sous-couché et la peinture au pinceaux, en utilisant le même blanc que sur la borne, auquel j'ai mélangé un peu de noir (petit pot Pébéo Déco) pour faire un gris pas trop moche…
En 3 ou 4 couches poncées au 600 entre chaque.

Marquee :

  • Je me suis occupé du découpage des deux pièces de plexis destinées au chapeau, que l'on appellera marquee

dsc08906.jpg dsc08907.jpg

  • Découpés aussi les trous pour les haut-parleurs et retiré le film protecteur :

dsc08910.jpg dsc08909.jpg

Instruction Cards :

  • De même, découpage du plexis pour l'emplacement de l'instruction cards, vissé dans le panel.

Les vis seront cachées par des bandes de carte plastique d'un mm d'épaisseur, peintes en Chainmail (Couleur Games WorkShop Citadel)
J'aurais pu la fabriquer, mais bon… J'ai préféré acheter une véritable fente à pièces japonaise, que j'ai dû limer pour laisser passer les pièces en €, étant donné que les ¥ sont plus fines.

  • Puis j'ai simplement reporté et découpé la fente dans le panel, pour enfin y visser cet Entry Coin.

dsc08911.jpg dsc08912.jpg

Bezel :

  • Long travail sur le bezel, désolé, pas beaucoup d'images pour ce travail ingrat de ponçage à la lime destiné à jointurer correctement la carte plastique que j'avais donc collé sur le bezel de la télé.

La nature de son plastique étant par chance la même que la carte plastique (styrène) les deux matières avaient bien fusionnées lors du collage à la colle qui va bien (Tamiya Extra Thin, ou Mr. Hobby Mr.Cements), rendant l'opération aisée… Si certains endroits n'étaient pas correctement liés, un peu de mastic (Sintofer ou Tamiya Putty) ont arrangé la jointure.
Mais c'est bien après le sous-couchage à la bombe (Citadel Games WorkShop Black Chaos) que les défauts des jointures ont le plus sautés aux yeux, nécessitant une seconde séance de masticage/ponçage !
dsc08915.jpg dsc08919.jpg
Une petite vidéo ^^

On y voit le passage de la sous-couche, on n'y voit pas le passage à l'aérographe d'une couche de noir (Pébéo Déco) dilué au liquide nettoyant les vitres, et enfin on y aperçoit rapidement une couche de Klir, ce produit vitrifiant les sols, mais aussi les poumons, d'où l'utilisation du masque à cartouche !
Ce produit qui n'est en effet pas prévu pour être pulvérisé a tout pour plaire au bricoleux, super vernis résistant, ultra-bon marché, et qui ne jaunis pas.
Bref, un bezel arrangé avec des techniques de maquettistes, bien utiles !

Et donc le résultat, en peinture :
dsc08916.jpg dsc08918.jpg

Puis avec le vernis Klir :
dsc08920.jpg dsc08921.jpg

Artworks :

  • Après quelques heures de dessin vectoriel sur inkscape (dispo en annexe du billet), j'ai pu imprimer les marquee et les mettre en place.

dsc08930.jpg dsc08931.jpg

  • Le carton de calendrier va rester en place tel qu'il est disposé, dans le but de maintenir en sandwich le marquee et d'opacifier les zones qui ne seront pas illuminées par le tube fluo.

Il sert aussi de support aux coffrages des hauts parleurs, recouverts de colant noir en guise de grille de protection.
dsc08932.jpg dsc08934.jpg dsc08936.jpg dsc08937.jpg

Ordi :

  • Un truc dont je n'avais pas encore parlé, c'est le décès de la carte mère d'origine.

Déjà bancale, elle ne voulait plus rien savoir, et a donc été remplacée par un modèle équivalent (P4 2Ghz - 512Mo) mais plus petit pour lequel j'ai confectionné un boitier sur mesure avec du contreplaqué de récup.
Cette carte mère a aussi permis le déport de la prise casque et de ports USB, grâce à sont front panel dont j'ai rallongé les câbles.
De plus, le système fonctionne maintenant depuis une clé USB !!
dsc08925.jpg dsc08929.jpg dsc08927.jpg dsc09036.jpg
dsc08924.jpg dsc09038.jpg

Photos :

Voilà, je vous laisse avec cette séance photos et une petite vidéo !
dsc08976.jpg
Légende :
- En vert pour Advance Mame.
- En Rouge pour Advance Menu.
- En bleu, ces boutons sont reliés directement au front panel de la télé, sur les boutons de volume.
dsc08974.jpg dsc08973.jpg dsc08984.jpg dsc08977.jpg dsc08978.jpg dsc08979.jpg dsc08980.jpg dsc08996.jpg dsc08981.jpg dsc08983.jpg dsc08988.jpg dsc08990.jpg dsc08991.jpg dsc08993.jpg dsc08985.jpg dsc08987.jpg dsc08994.jpg dsc08995.jpg dsc09000.jpg dsc09001.jpg dsc08997.jpg dsc09002.jpg dsc09003.jpg dsc09006.jpg dsc09005.jpg dsc09007.jpg dsc09008.jpg dsc09009.jpg dsc09012.jpg dsc09010.jpg dsc09011.jpg dsc09013.jpg dsc09014.jpg dsc09019.jpg dsc09020.jpg dsc09021.jpg dsc09022.jpg dsc09023.jpg dsc09024.jpg dsc09025.jpg dsc09028.jpg dsc09034.jpg dsc09029.jpg



À suivre…

Capteur optique de vitesse et sens de rotation (1)

Bonjour à tous. Aujourd’hui, je ne suis là que pour ce petit édito, car j’ai le plaisir d’accueillir mon premier invité sur ce blog, à savoir Philippe, qui va vous présenter un sujet très bien documenté, et qui j’en suis sûr vous sera utile !

Hello, voici mon premier article dans l’esprit « DIY », soyez indulgents svp  ;-)

Merci aussi à Eric de me prêter une petite place dans son blog :-)

Dans le cadre de la fabrication d’un système mécanique à plusieurs arbres (un train épicycloïdal pour être précis), j’avais besoin de mesurer les vitesses de rotation de chacun d’eux… en fait la vitesse ET le sens de rotation. N’ayant pas trouvé ailleurs de système équivalent à celui que j’ai mis au point, je me dis que cela vaut le coup de partager cette idée avec les bricoleurs intéressés.

  1. Première partie : du besoin à l’idée.

Parmi les capteurs de vitesse (souvent capteurs de mouvement incrémentaux pour ce type de mesure) on trouve diverses techniques, parmi lesquelles des technologies magnétiques (sur certains compteurs de vitesse pour vélos par exemple) ou des solutions optiques sur lesquelles nous allons nous concentrer dans la suite.

Une solution simple pour construire un capteur de vitesse est d’utiliser une fourche optique (LED d’un côté + photo-transistor de l’autre) dans laquelle on fait passer un disque ajouré. Avec une fourche simple de ce type, connectée sur une entrée numérique d’un microcontrôleur, il est possible de compter un nombre d’impulsions par seconde et donc une vitesse de rotation en fonction du nombre de rainures disposées sur le disque codeur. J’ai donc commencé par effectuer quelques tests sur la base d’un cadran translucide de bouton de potentiomètre sur lequel j’ai collé des adhésifs radialement pour simuler des rainures radiales (photo 1). Une petite fourche et son électronique d’alimentation (récupérée sur un capteur de fin de course de Reprap, merci Pierrot), et me voici à mesurer la vitesse d’un petit moto-réducteur DC en comptant les interruptions sur une carte Arduino UNO. Petit gag (mais ça marche très bien quand même) : j’ai bien placé mon adhésif sur les 10 chiffres noirs du cadran de potentiomètre, mais l’adhésif n’est pas complètement opaque, et on voit donc passer sur l’oscillo les chiffres qui masquent le faisceau lumineux  plus efficacement que le scotch orange !

Photo 1 :

Codeur optique

Codeur optique – premier test

Il est aussi possible avec cette technologie de déterminer le sens de rotation… à condition d’ajouter un 2e photo-transistor judicieusement placé à côté du premier. Le signal optique reçu par le 2e transistor étant décalé temporellement par rapport au premier, on obtient des signaux en quadrature dont le sens de déphasage permet de déterminer le sens de rotation. Voir l’excellent site de « Rémy Sonelec » pour plus d’explications sur ce type de codeur :

http://www.sonelec-musique.com/electronique_theorie_encodeur_optique.html

Et sachez que la plupart d’entre vous (sauf peut-être les plus jeunes) ont utilisé pendant des heures ce genre de capteur, puisqu’il a équipé la grande majorité des souris à boules pendant des années (Photo 2).

Photo 2 :

Souris a boule : 2 photo-transistors

Souris a boule : 2 photo-transistors

(source : http://fr.wikiversity.org/wiki/Capteur/Capteur_de_position )

Inconvénient de cette technique à deux transistors : il faut doubler le nombre de photo-transistors (eh oui). En outre, plus il y a de capteurs = plus il y a d’entrées utilisées sur le micro-contrôleur… Or je prévoyais pour mon application de mesurer les vitesses de 3 moteurs, de piloter un afficheur LCD, ainsi que quelques autres éléments consommateurs de ports… incompatible avec l’Arduino UNO L. D’où la recherche d’une solution nécessitant un seul photo-transistor pour avoir la vitesse ET le sens de rotation d’un codeur optique… Comment faire ?? Eh bien appliquer ce que l’on enseigne aux élèves ingénieurs concepteurs de produits innovants : la méthode TRIZ ! Pour ceux qui ne connaissent pas voici un point de départ : http://www.triz40.com

Au-delà des 40 principes et des matrices de contradiction, TRIZ est aussi un état d’esprit, une manière de réfléchir. J’avoue donc que je n’ai pas passé en revue tous les tableaux fournis dans la méthode. Je trouve intéressant d’essayer de vous expliquer le raisonnement…

Ne voulant pas me palucher tous les tableaux et principes de Triz, j’ai donc simplement essayé d’utiliser un principe de générique de la méthode : « regarder le problème autrement, à l’envers, en séparant ou regroupant des éléments, en inversant ou permutant des paramètres… ». Voici en synthèse a posteriori ce que cela peut donner :

Les capteurs à fourche existants (souris, etc.) utilisent la séparation spatiale des récepteurs, qui sont fixes (2 photo-transistors) pour générer une séparation temporelle de 2 signaux. Mais je ne veux pas utiliser 2 récepteurs différents : contradiction. Que pourrait-on inverser ou permuter dans ce schéma, que pourrait-on regarder autrement ? Utiliser une « séparation temporelle » plutôt que spatiale ? Cela voudrait dire quoi ?… 

Ne pas travailler du côté du récepteur, mais du côté de l’émetteur ? Mais l’émetteur, c’est quoi ? La LED qui est émet la lumière ? Non, ce n’est pas elle qui génère le signal proportionnel à la vitesse de rotation : c’est la roue rainurée. à La roue pourrait-elle générer une variation temporelle du signal ? Ca voudrait dire des signaux irréguliers ? Bof, que pourrais-je en déduire ? Ou des signaux réguliers mais de durées différentes ? Et alors ? Poursuivons quand même : peut-être donc si je ne faisais pas des rainures toutes identiques… une large, une étroite,  une large, une étroite ? Les durées de 2 créneaux successifs seraient différentes. On revient à une décomposition spatiale (variation de largeur des rainures) pour générer une séparation temporelle, mais cette fois sur la roue au lieu du transistor. Non cela ne marche pas, j’aurai une alternance de signaux court-long-court-long quel que soit le sens de rotation. Aucun intérêt… ne jamais abandonner J … poursuivons… si 2 largeurs de rainures ne suffisent pas, mettons-en 3 ! Oui… avec une succession de rainures de largeurs 1 ;2 ;3 ;1 ;2 ;3 ;1… qui génère des signaux de 3 durées différentes ordonnées de même, la permutation des trois valeurs deviendra « impaire » lorsque le sens de rotation va changer :  1 ;3 ;2 ;1 ;3 ;2 ;1 ;3 ;… Je crois que c’est gagné !! Il suffira de regarder dans quel ordre passent les créneaux de différentes largeurs.

Concrètement, ceci s’est traduit par quelques nuits de réflexion, et quelques « gribouillis » sur le tableau blanc des enfants…

Premier croquis

Premier croquis du codeur à sens

Dans le prochain article… la mise en oeuvre pratique.

 

 

Mercredi, avril 17 2013

Une Borne d'Arcade maison -37-

Suite de l'étude précédente :

Aie ! Grave à la bourre je suis ^^;

  • Depuis plus d'un mois je n'ai pas cessé de travailler sur la borne, voulant mettre un bon coup de collier pour achever l'ouvrage, les événements s'enchainant alors très vite, notamment pour le travail de peinture qui nécessita une organisation particulière.

Ainsi j'accumule un retard important de trois ou quatre billets dans la publication… Désolé pour ceux qui suivent particulièrement cette série >_<; mais sachez que la borne est terminée à 99% et que les comptes rendu devraient maintenant s'enchainer rapidement.

Où en étions nous donc ?? Ha, j'avais terminé la sous-couche de la pièce principale, et restait du travail sur…

Le capot :

  • Comme je l'évoquais alors, il restait des trous en haut et en bas, en partie comblés avec des morceaux de bois, que j'ai donc parachevé avec du mastic à bois.

Pour le bas il a fallut créer et sculpter la forme arrondie inversée afin de lier de PVC à la base en bois.
Un travail difficile où il fallait assurer une symétrie et une jointure la plus harmonieuse possible avec pour seul outil de mesure l'œil, mais surtout la main !

  • D'abord grossièrement, la pâte déposée et séchée, puis sculptée à la lime métal et au papier à poncer, et enfin après une couche l'enduis poncée (blanc) :

dsc08852.jpg dsc08854.jpg
dsc08856.jpg dsc08857.jpg

dsc08864.jpg dsc08865.jpg

  • Voilà pour le haut, très facile à faire.

dsc08866.jpg dsc08867.jpg

  • Travail de « jointurage » également pour la gouttière du bas… Le but étant qu'après la peinture, on ne distingue plus ce qui fut du plastique et du bois.

dsc08869.jpg dsc08870.jpg

dsc08868.jpg

  • Même chose pour le long des montants côté cadre, et côté jointure du PVC avec le plaquage en médium de 3 mm.

  • Au niveau du chapeau, j'ai sculpté par ajout de matière, les arrondis formant les deux coins…

Ici aussi, la difficulté étant d'obtenir une bonne symétrie.
dsc08862.jpg dsc08863.jpg

Voilà l'ensemble enduit, prêt pour une passe de sous-couche de peinture !
dsc08872.jpg dsc08873.jpg dsc08876.jpg dsc08877.jpg

Peinture :

Et un petit effet « avant/après » :
dsc08874.jpg dsc08880.jpg
dsc08875.jpg dsc08881.jpg
dsc08878.jpg dsc08882.jpg
dsc08883.jpg dsc08885.jpg
dsc08879.jpg dsc08886.jpg dsc08884.jpg

Toutes les pièces sont donc sous-couchées. J'ai alors travaillé d'arrache pied tous les soirs pour rattraper les bévues passées.

  • Les parties latérales et le dos en pin qui avaient bues la sous-couche jusqu'à faire ressortir les nervures du bois ont été poncées… Mais le résultat n'étant pas satisfaisant, j'ai ré-enduit/poncé par dessus, puis refait une passe de sous-couche, et enfin poncé légèrement.

Résultat bien lisse !

En fait j'ai perdu du temps, pour les pièces en pin, j'aurais dû sous-coucher puis enduire/poncer et re-sous-coucher d'emblée.

Bref, ensuite ponçage intégral au papier abrasif, grain 240.

dsc08888.jpg

  • Le week-end suivant, installation des bâches pour une première couche de blanc brillant le samedi, appliquée en 3 voiles successifs.

Le résultat m'a fait peur, avec tous les dessins du bois qui sont réapparus en léger relief !!
Puis le lendemain, magique, en séchant la peinture s'était tendue et l'effet s'est estompé.
Malgré tout, un effet peau d'orange prononcé due à la pulvérisation subsistait, donc le dimanche et durant la semaine suivante, ponçage au papier 400 avec de l'eau, pour aussi rattraper les coulures dues à mon inexpérience avec ce pistolet.

  • Le week-end suivant, chargé… Samedi, nouvelle couche de blanc en 3 voiles.

La nuit pour sécher et le dimanche matin, ponçage intégral au papier 600 avec de l'eau.
Dimanche après-midi, nouvelle couche de blanc en 4 voiles, histoire de vider complètement le godet à peinture.

dsc08895.jpg dsc08898.jpg

Après séchage au toucher, démontage des bâches et nettoyage complet du pistolet et du compresseur.

  • Peinture terminée ! Ouf >_<

Prix à titre indicatif :

- Peinture blanc brillant acrylique 2,5 L = 39€90

À suivre…

Dimanche, avril 14 2013

Range tes outils dans ton vieux Jeans

10 minutes pour réutiliser un vieux jeans afin de ranger ses outils.

- page 1 de 20