Samedi, janvier 21 2012

Flux de création de fichiers GCODE avec des outils libres

Après le petit tutoriel de ce matin, voici un post qui résume le « flux de production » de mes fichiers GCODE.

  • La base

Tout commence par l’objet indipensable à la prise de mesure: le pied à coulisse.

  • Les matériaux

Une fois l’objet à créer correctement dimensionné, il faut trouver le matériau dans lequel on va le créer. J’utilise principalement des bois et plastiques, les métaux étant (à par pour de la gravure) trop difficiles à fraiser avec mon matériel (il manque un refroidissement liquide ou un moteur de broche avec une faible vitesse et un gros couple).

  • Pour le bois, je prends en général du MDF ou du contreplaqué qui peuvent faire entre 3 et 15 mm.
  • Pour le plastique j’utilise beaucoup le PVC qui a un bon rapport qualité / prix ainsi que du PEHD ( c’est ce qui est utilisé pour les plaques à découper dans votre cuisine ;-)   ou encore du DELRIN (qui est excellent mais cher)

Le choix du matériau est fait, maintenant les logiciels ! Ne soyez pas effrayés, il y en a un certain nombre mais chacun est très performant dans son domaine.

  • Les logiciels de CAO

Pour dessiner des pièces à usiner, celui que j’utilise le plus, c’est LibreCAD. C’est un fork libre du projet QCAD. Avec un peu d’habitude, vous dessinerez en quelques minutes des pièces relativement complexes en 2D. Vous pouvez commencer par regarder le tutoriel d’Andre PASCUAL, il parle de QCAD mais c’est la même chose, à part les icones qui changent, le principe est identique et le tutoriel est excellent.

 

Quand il s’agit de graver des dessins ou du texte, rien de vaut inkscape qui n’est plus à présenter. Il est préférable lorsque vous utilisez inkscape pour créer des fichiers DXF, nécessaires dans la suite du flux de production, d’enregistrer avec le greffon « Better DXF Output ». Pour certains dessins contenant des courbes de bezier ( splines ), je suis obligé d’ouvrir les DXF de LibreCAD avec Inkscape puis de les réenregistrer pour qu’il convertisse tout en polyline. Sinon, j’ai des plantages lors de la génération du GCODE avec HeeksCNC. Un bug qui sera surement corrigé par les développeurs, mais en attendant…

Dans un autre cadre très particulier, celui de la création de circuits imprimés, j’utilise KiCAD, un concurrent du très connu EagleCAD. Avec ce logiciel, je génère des fichiers GERBER qui seront ensuite convertis en GCODE.

  • Les logiciels de création du GCODE

Ici, seulement deux logiciels sont utilisés:

HeeksCAD / HeeksCNC vont permettre de transformer le fichier DXF 2D en un fichier permettant de piloter la machine CNC. On renseigne au logiciel le diamètre de l’outil, son positionnement par rapport à la pièce, la vitesse d’avance… Bien qu’assez jeune, ce logiciel donne de très bon résultats.

 

En dehors des DXF, il y a les fichiers GERBER de Kicad. Là j’utilise pcb2gcode qui est un logiciel en ligne de commande.

 

pcb2gcode --metric --zsafe 2 --zwork -0.06 --offset 0.2 --zchange 25 --mill-feed 100 --mill-speed 5000 --back $back
  •  Pilotage de la CNC

Ici, un seul choix et non des moindres: EMC (LinuxCNC). Il prend en entrée les fichiers gcode et pilote la machine au travers d’un support temps réel du noyau linux. Il est préférable d’ailleurs de lui dédier une ancienne machine.

Et voilà après 2 heures de travail une manette de coinceur pour un voilier. L’originale en rouge est fendue, la nouvelle en DELRIN est très solide :-) et identique à l’originale (les économies de plastique en moins), elle parait plus épaisse mais ce n’est qu’un effet d’optique sur la photo.

 

 

Diagramme du flux de production

 

Si vous connaissez, utilisez d’autres outils, mettez les en commentaire c’est toujours intéressant !

Petit tutoriel vidéo pour utiliser LibreCAD, HeeksCAD et HeeksCNC

Un tout petit tutoriel pour apprendre à créer des fichiers GCODE en 5 minutes avec LibreCAD, HeeksCAD et HeeksCNC.

A voir en 720p / FullScreen sur Youtube.

Dimanche, janvier 15 2012

Quand la fraiseuse se met à jour – Episode 3

Il y a encore quelques détails comme la fixation des capteurs de fin de course de l’axe des X qui ne vont pas. Les capteurs actuels ( de simples inter de fin de courses ) ont été collés à la cyano pour faire vite. Il est maintenant temps de régler ça et de mettre en place une solution plus propre.

J’ai utilisé du PVC noir de 3mm pour fraiser des petits supports pour les nouveaux interrupteurs.

Un petit tour dans LibreCad permet de dessiner rapidement le support.

Ensuite c’est au tour de heekscad pour générer le GCODE. Découpe de 3mm en 3 passes avec une fraise au carbure 1 dent ( CncFraise )

Après quelques minutes, voilà le résultat prêt à être installé.

L’interrupteur en place sur le bloc Z.

Le tout est connecté avec un cable récupéré sur une souris d’ordinateur.

 

En face de l’interrupteur, j’ai placé une petite butée.

L’interrupteur en face de sa butée.

 

Et pour finir, la tête de la fraiseuse est maintenant équipée d’une ventilation pour chasser les copeaux et d’une LED pour bien éclairer la surface.

 

Dimanche, septembre 25 2011

Réparation d’une machine à laver le linge Candy CTS 81TV

Après 11 ans de service ( Ce qui est pas mal, à raison d’une machine par jour ), notre machine à laver le linge fuit. A chaque machine, l’équivalent d’un verre d’eau se retrouve parterre.

C’est la deuxième fois qu’elle nous fait des misères. La première fois en 2007, le palier droit de tambour a littéralement éclaté après avoir rouillé à cause d’une mauvaise étanchéité. A l’époque j’avais remplacé le palier et la courroie d’entraînement qui s’était abîmée en sortant du volant et en se coinçant contre la cuve.

Cette fois encore, démontage des panneaux latéraux puis du stabilisateur en ciment afin d’accéder aux bords de la cuve.

Attention à ne pas vous blesser en sortant le stabilisateur, c’est assez lourd et difficile à sortir.

Après inspection des durites et autres canalisations, mon attention se porte sur des traces d’eau en bas de la cuve du tambour.

Espérant que celle-ci n’est pas percée, je cherche plus haut de l’eau pouvant s’écouler là par gravité. Après quelques minutes, je trouve un trou sur la « machette » de cuve. Cette jupe en silicone souple assure l’étanchéité du haut de la cuve tout en se déformant avec les mouvements dus à l’essorage au demeurant assez « violent ».

Surprise, le trou est du aux frottements de la manchette sur les tendeurs servant à la maintenir en place. On peu voir un peu partout des poussières de silicone ainsi que la marque du ressort sur le dessous de la jupe.

 

Cet éclaté provenant du manuel de maintenance montre bien les différentes pièces et la position de la manchette. C’est une bonne aide au démontage que l’on peut trouver sur internet en cherchant bien.

Une fois le problème identifié, il faut démonter la manchette et en trouver une autre. Pour cela, il suffit de desserrer les tendeurs présents de chaque côté (1 et 2) et de couper le collier entourant l’arrivée d’eau pour la lessive (3).

Voilà vieille juppe est retirée et la cuve est nettoyée de toutes les moisissures qui prolifèrent sur ce genre de matériaux.

Pour chercher une nouvelle manchette, il suffit de faire une petite visite chez ADEPEM. Magasin qui dispose de pièces détachées pour une quantité incroyable d’équipements… J’ai trouvé la nouvelle manchette pour ~30€ et celle-ci dispose d’une protection supplémentaire au niveau des tendeurs. Comme quoi les ingénieurs ont du tenir compte des défauts des premières générations.

C’est tout beau, tout propre et sans fuite.

J’espère qu’elle va tenir encore un peu cette vieille dame. J’en ai d’ailleurs profité pour vérifier les charbons du moteur. RAS. Les durites, par contre, me semblent un peu fatiguées mais pour le moment elles sont toujours étanches. Affaire à suivre…

 

Samedi, septembre 3 2011

Ajout d’une liaison sans fil Xbee 802.15.4 sur une station météo La crosse Technology WS2305

Il y a 3 ans, j’avais branché ma station météo d’abord sur une Fonera, puis ensuite sur un routeur Netgear WL500 afin d’envoyer les données météo sur un serveur. Ce montage très simple a été remis en cause par une panne « définitive » du routeur et par l’utilisation de la Fonera sur un autre projet. De plus il y avait quelques inconvénients: la consommation électrique du routeur et la présence d’un transformateur, le câble série…

p30_lcf_72dpi_ws2305bla_alu.jpg

Souhaitant à nouveau brancher ma station sur internet, j’ai décidé de  changer de stratégie. Etant donné que je dispose d’un mini PC sous XBMC qui me sert de magnétoscope numérique, j’ai préféré envoyer les données météo sur ce PC. Il me fallait donc une liaison sans fil entre le PC et la station météo qui soit bi directionnelle et qui supporte la distance entre les 2 équipements.

J’ai à ma disposition 2 modules Xbee Pro 802.15.4 permettant le transport d’une liaison série TTL sur la bande des 2.4GHz.

Comme détaillé dans le précédent article sur la liaison avec la Fonera,  il faut localiser à l’aide d’un oscilloscope les signaux TTL de la liaison série de la station. La sortie sur le côté étant à la norme RS232, elle ne convient pas, il faut trouver les signaux en amont du convertisseur RS232 formé ici par des transistors.

IMG_1152_800x600.jpgOn localise sur la carte mère de la station météo 4 points: une masse (GND), une source de courant d’environ 3v (Vcc), le signal Tx et le signal Rx.

Les fils sont ensuite reliés à la carte supportant le module Xbee:

  • Xbee Vcc <-> WS2305 3v
  • Xbee GND <->  WS2305 GND
  • Xbee Tx <-> WS2305 Rx
  • Xbee Rx <-> WS2305  Tx

Le module Xbee normalement alimenté en 3.3v sera ici alimenté en 3.02 V, seule tension disponible sur la carte en dehors des 6v du bloc d’alim.

La carte mère de la station peut maintenant être réinstallée dans son boitier. Le module Xbee est relié par des fils d’une dizaine de centimètres, ce qui permettra de lui trouver une place dans la station.

Le seul emplacement disponible et accessible facilement pour y placer le module c’est le compartiment des piles. Celui-ci n’étant pas utilisé lorsque la station est alimentée par le secteur, le logement est un candidat parfait. La carte d’accueil du module Xbee est collée avec de la colle à chaud au fond du compartiment.

Le module Xbee nécessite juste de plier délicatement l’antenne pour pourvoir refermer le compartiment des piles.

Voilà pour la station météo. Côté PC, nous utilisons un autre module Xbee sur une carte fille (Xbee Explorer chez Sparkfun ) disposant d’un port USB.

Le module est alors vu comme un convertisseur USB / Série FTDI.

usb 4-5: FTDI USB Serial Device converter now attached to ttyUSB0

Afin de permettre aux deux modules de communiquer, il faut configurer quelques paramètres:

  • Les adresses des modules.
  • La puissance du signal.
  • La vitesse du port série.

La configuration se fait sous windows ( :-( ) à l’aide de l’utilitaire X-CTU.

Il faut d’abord régler les adresses des modules.

On paramétrera « Destination Address Low » à 1 pour le module de la station et « 16 bits source Address » à 2. Sur le module de réception du PC, il faut faire l’inverse c’est à dire « Destination Address Low » à 2  et « 16 bits source Address » à 1.

Les deux modules peuvent alors communiquer entre eux. On peut aussi utiliser une adresse de broadcast mais je n’en voie pas l’intérêt ici.

Ensuite il faut définir la puissance « Power Level » au maximum ( 4 ) ou non suivant vos besoins, ainsi que la vitesse du port série, identique à celle de la station météo (2400 Bps)

Nous avons terminé pour la partie électronique.

Côté logiciel, on va utiliser Open2300, un ensemble d’outils pour récupérer les données en provenance de la station. Il suffira de compiler les sources avec un simple « Make ». Si vous souhaitez stocker vos données dans Mysql, il faudra aussi faire un « Make mysql2300″ pour générer l’utilitaire mysql2300.

Si comme moi vous n’utilisez pas l’anémomètre, il vaut mieux patcher les sources à l’aide du fichier suivant: delay.patch afin de réduire le temps de récupération des données.

 

gzip -d delay.patch
cat delay.patch | patch -p1

Pensez aussi à paramétrer le fichier open2300.conf comme il se doit.

Lancé dans la crontab par exemple, cet utilitaire permettra de transmettre les données de la station sur un serveur Mysql. Un petit script perl pourra ensuite grapher les données à l’aide de RRDTools: graph.pl
Quelques lignes d’ HTML et l’on peut facilement mettre ces données en ligne

Jeudi, septembre 1 2011

Réparation de lunettes

Ce matin j’ai retrouvé un verre de mes lunettes de soleil en dehors de sa monture… la vis qui ferme la monture est cassée net ! Curieux, je ne suis pourtant pas vraiment brutal avec mes lunettes.

Je dégote dans mes tiroirs une vis de dimensions similaires bien que trop longue.

 

Reste à extraire le morceau de vis de la monture. La vis a l’air d’être en laiton. Un petit coup de dremel avec des forets de différente tailles  et la vis récalcitrante est éliminée.

Le verre est alors réinstallé sur la monture.

La nouvelle vis est beaucoup trop longue, un petit coup de dremel avec un disque de découpe et l’excès est supprimé.

Il ne reste plus qu’à maquiller un peu cette vis brillante à l’aide de peinture pour maquettes.

 

Ce n’est pas si mal, il faut vraiment savoir que la vis a été remplacée. De plus, elle est certainement plus résistante que l’originale !!!

 

 

Dimanche, août 14 2011

Fabriquer un lecteur de carte MicroSD pour Arduino

Pour mon projet de datalogger, il me fallait un lecteur de cartes SD ou MicroSD. N’en ayant pas sous la main, j’en ai fabriqué un à partir d’un adaptateur SD / MicroSD. Il y a plusieurs avantages à cela:

  • l’encombrement très réduit.
  • Le coût dérisoire ( < 10 € avec la carte MicroSD ).
  • la simplicité.
Attention, la tension d’alimentation et des différents signaux est en 3.3v. Ne le branchez surtout pas sur un arduino 5V sans utiliser des résistances pour réduire la tension à 3.3v !
Le projet nécessite seulement des barettes sécables males, droites ou coudées ainsi qu’un adaptateur de cartes MicroSD.
Il suffit ensuite de souder la barettes sur les contacts cuivrés de l’adaptateur.
Voilà, votre lecteur de carte est prêt à être embarqué ! Temps de réalisation: 5 min :-)

Samedi, juillet 16 2011

Projet DataLogger pour vélo

Encore un projet dans les cartons. Concevoir un petit enregistreur me permettant de stocker sur une carte SD plusieurs paramètres lorsque je fais des sorties à vélo. Je souhaiterai enregistrer:

  • La date / heure
  • La position GPS
  • La vitesse
  • Le cap
  • la cadence de pédalage
  • l’accélération X Y et Z
  • la température
  • Le rythme cardiaque
L’ensemble des données sont récupérées / calculées par un Atmega 328 embarquant du code Arduino. Les données sont ensuite enregistrées sur carte SD et présentées en temps réel sur l’écran.

Voilà un schéma de principe du système. 

- page 1 de 4