Dimanche, mai 29 2011

CNC, tests de précision

Maintenant que je dispose du petit palpeur pour l’axe des Z, je me lance dans une série de tests de précision de la machine. Notamment un test concernant l’axe des Z. L’axe est monté et descendu 150 fois pour mesurer l’éventuelle dérive de position.

Voilà le morceau de G-CODE utilisé.

G21   (mm)
F80    (probe speed)
(PROBEOPEN probe_point.txt)
#1=0 (counter)
#2=150 (number of points)

O1 while [#1 lt #2]
G0Z2
G38.2Z-10
#1=[#1+1]
O1 endwhile
G0Z2
(PROBECLOSE)
M2

Ainsi que le bout de programme gnuplot pour mettre tout ça en image.

set terminal png size 800,800
set output "point.png"
set title "Vérification des mesures sur un point"
#set xrange [0:5]
#set yrange [-2:2]
plot 'probe_point.txt' using 3  with lines

Et voilà le résultat:

Regardez bien l’échelle, on est au centième de millimètre… pas trop mal pour du DIY ;-)

Jeudi, mai 26 2011

Quand la fraiseuse se met à jour – Episode 2

Vous vous souvenez, il y a quelques temps ma fraiseuse s’est « mise à jour » en s’auto fabricant un support de DREMEL en PEHD. Et bien voilà qu’elle remet ça. Je me suis décidé à remplacer ma table de fraisage en bois par une en PVC avec un système de réglage de l’assiette afin de pouvoir corriger d’éventuels défauts d’alignement ( oui, oui, il y en a un peu… ). Mais avant de remplacer cette table, il faut régler un problème avec les supports des barres de guidage. Les supports sont surélevés avec des rondelles pour permettre le passage des chariots sur douilles à billes. Seulement voilà, avec le poids de la machine, les rondelles commencent à s’enfoncer dans le bois qui n’est pas assez dur (MDF).

J’ai donc entrepris de fraiser des semelles en PEHD pour les supports. Après de longues minutes d’attente voilà mes 4 pieds prêts à poser.

 

Les semelles sont parfaitement ajustées et répartissent le poids de la machine sur le socle en bois.

 

Les bases sont posées, on peut remplacer la table de fraisage. C’est une plaque de PVC très rigide de 15mm d’épaisseur. Elle est montée sur 4 tiges filetées de 6mm afin de pouvoir ajuster précisément sa hauteur. Le pas d’une vis M6 étant de 1mm, ça signifie qu’en serrant l’écrou de réglage d’1 tour je pourrais monter ou descendre la table d’1mm. L’ajustement est donc particulièrement précis.

 

 

Ma table étant ajustable, il faut trouver un moyen précis pour calculer la hauteur requise au 4 coins en corrigeant d’éventuels problèmes d’ajustement de la machine. Pour cela j’ai mis au point un palpeur à monter sur la dremel. Ce n’est rien d’autre qu’un micro interrupteur qui servira à mesurer la hauteur de la table en différents points.

Un petit tour dans les boites à récup et me voilà avec une fiche CINCH, un interrupteur, un cable de souris, un bout de tube et un écrou / boulon de 3mm.

Un petit coup de fer à souder… un petit coup de perceuse pour passer le câble…

Et on assemble le tout à grand coup de colle cyanolite

La fiche CINCH est soudée sur le cable.

Le palpeur est terminé. Je l’installe sur le mandrin de la Dremel et je branche le câble sur l’entrée de la carte de commande servant habituellement au « Homing » de l’axe Z.

 

Le côté mécanique étant terminé, il faut s’attaquer à la partie logicielle. Nous allons utiliser un peu de langage G-CODE pour effectuer une grille de hauteur de la table de fraisage.

(Configuration section)
G21   (mm)
F80    (probe speed)

#1=0  (X start)
#2=50 (X increment)
#3=5 (X count)

#4=0
#5=50
#6=5 (Y count)

#7=2 (Z safety)
#8=-10 (Z probe)
(End configuration section)

(PROBEOPEN probe_table_map.txt)
#9=0 #10=0
G0Z#7
O1 while [#9 lt #6]
#10=0
G0 Y[#4+#5*#9]
O2 while [#10 lt #3]
O3 if [[#9/2] - fix[#9/2] eq 0]
G0X[#1+#2*#10]
O3 else
G0X[#1+#2*[#3-#10-1]]
O3 endif
G38.2Z#8
G0Z#7
#10=[#10+1]
O2 endwhile
#9=[#9+1]
O1 endwhile

(PROBECLOSE)
G0Z#7
G0X#1Y#4
M2

Ce code va lancer des mesures sur un carré de 200 x 200 mm en effectuant une mesure tous les 50mm. Les valeurs sont stockées dans un fichier texte probe_table_map.txt. (Je n’ai rien inventé, j’ai honteusement pompé un exemple proposé avec EMC)

Après quelques minutes, nous disposons d’un fichier texte avec les valeurs mesurées.

0.000000 0.000000 -1.434338 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 0.000000 -1.495669 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 0.000000 -1.619665 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 0.000000 -1.763661 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 0.000000 -1.894324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 50.000000 -2.024987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 50.000000 -1.916990 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 50.000000 -1.795660 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 50.000000 -1.696996 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 50.000000 -1.632998 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 100.000000 -1.766328 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 100.000000 -1.834326 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 100.000000 -1.944989 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 100.000000 -2.528971 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 100.000000 -2.115651 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 150.000000 -2.167649 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 150.000000 -2.086318 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 150.000000 -2.014320 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 150.000000 -1.939656 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 150.000000 -1.842325 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 200.000000 -1.882324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 200.000000 -1.975655 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 200.000000 -2.020987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 200.000000 -2.104984 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 200.000000 -2.187648 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

Ce n’est pas très parlant, mais gnuplot peut nous aider. Nous allons créer un petit programme gnuplot utilisant les fonctions pm3d pour mettre en image l’assiette de la table.

set terminal png size 800,800
set output "heatmmap.png"
set xrange [0:200]
set yrange [0:200]
set cbrange [1:-2]
set view map
set dgrid3d 100,100,2
set palette model RGB
set palette defined
#unset surface
set pm3d at s
splot 'probe_table_map.txt' using 1:2:3  with pm3d at s  notitle

Le résultat avec une table non équilibrée.
On voit immédiatement le déséquilibre, le coin devant/gauche est plus haut de 1mm que le coin derrière/droite !

En ajustant légèrement la vis de réglage devant à gauche, on peut corriger l’assiette.

Le résultat est encore imparfait ( j’ai réglé la table au pif ) mais la méthode fonctionne. C’est long et empirique mais l’essentiel c’est d’obtenir un résultat à la hauteur de ses espérances…

Montage de lentille sur une caméra Kodak Zi8

Je dispose d’une caméra de poche Kodak Zi8. La qualité est excellente, mais elle souffre d’un petit défaut: l’angle de champ est assez réduit. En extérieur, ce n’est pas très grave, on a assez de recul. Mais dans des environnements réduits comme le bateau ou en intérieur, c’est très difficile de cadrer correctement.

Après quelques recherches sur Internet, je suis tombé sur des lentilles type FishEye compatibles avec les téléphones mobiles et les caméras de poche. A 10$ le risque n’est pas bien grand, j’en commande une qui arrive de Hong-Kong quelques jours plus tard.

Les premiers tests sont très concluants, la qualité est au rendez-vous ( Ce n’est pas une lentille Zeiss non plus… ) mais il y a quand même un défaut: la fixation de la lentille. Pour rester amovible, cette lentille est magnétique et vient s’aimanter sur une rondelle de métal collée autour de l’objectif.

Si ce système marche bien quand il est manipulé avec beaucoup de douceur, il en va tout autrement dans un bateau ou sur un vélo par exemple. Le risque de perte de la lentille est très important. Je souhaitais conserver un système amovible facilement pour pouvoir filmer avec ou sans la lentille. Après quelques tests, il s’avère que la lentille tient bien à l’arrachement vertical mais ne tient pas correctement lors d’un glissement transversal. Il faut donc empêcher cette lentille de glisser sur la rondelle métallique et la caler en place avec une sorte de « rebord ».

Il me faut un disque de quelques mm d’épaisseur et d’un diamètre interne de 15 mm. Sortons un morceau de plastique dense et notre chère fraiseuse numérique.

Voilà le disque dessiné avec Qcad.

Un petit tour dans EMC et voilà notre pièce fraichement fraisée.

Le dispositif est en place, tout est parfaitement ajusté.

Il ne reste plus qu’à coller tout ça avec un peu d’epoxy.

Je vais mettre un peu de peinture noire pour maquette histoire de rendre l’ensemble plus harmonieux.

 

 

Cette modification ne prend que quelques minutes et améliore grandement l’utilisation de cette petite caméra !

Lundi, mai 9 2011

Modification d’un trépied photo Manfrotto 785b

Depuis que je suis passé de l’EOS 400D à l’EOS 7D avec les objectifs qui vont bien, un de mes équipements n’a pas suivi: mon trépied Manfrotto 785b.

Il restait donc 2 solutions: en racheter un autre, sachant que le prix n’est quand même pas négligeable pour un bon trépied, pas trop lourd ou modifier l’existant.

Évidemment, j’ai choisi la deuxième  solution!

Tout d’abord, voyons ce qui ne va pas sur ce trépied; le pied est assez léger ( en aluminium ), de bonne qualité mais sa rotule souffre d’un manque de force de serrage très net. Ce problème de rotule interdit l’utilisation du 7D + 70/200 et rend l’utilisation du 7D et 17/40 peu précise. Dans un premier temps, j’ai démonté la tête pour tenter d’augmenter le couple de serrage, en collant un morceau de caoutchouc sur les mâchoires qui appuient sur la boule métallique. Peine perdue, ça marche un tout petit peu mieux, mais ça reste beaucoup trop « light » et peu précis.

Puisque le trépied est de bonne facture mais que ça rotule n’est pas satisfaisante, changeons la rotule! Le problème c’est que la tête est vissée / collée sur la colonne du pied ce qui la rend indémontable… sauf avec une scie à métaux, merci Manfrotto!

Voilà notre tête sans la partie démontable de la colonne.

Hacking  Manfrotto 785b ball head

Toutes les rotules démontables du commerce disposent en dessous d’un pas de vis 3/8″ pour les fixer sur le trépied. L’idée c’est donc de séparer la rotule de la colonne puis d’adjoindre un système de fixation avec une vis 3/8″ pour pouvoir y fixer une nouvelle rotule.

J’ai choisi, comme remplaçante, une rotule Manfrotto 496RC2 pouvant supporter une charge de 6Kg.

Hacking  Manfrotto 785b ball head

Pour fixer la nouvelle tête, j’ai trouvé un adaptateur 1/4″ femelle, 3/8″ mâle qui pourra faire l’affaire. Il suffit pour cela de lui fixer une vis 1/4″, et de coller un morceau de tube métallique qui viendra s’insérer / coller dans le tube de la colonne.

 

Hacking  Manfrotto 785b ball head

 

Le tube est disposé au dos de l’adaptateur avec la vis au milieu. Le vide formé entre le tube et la vis est rempli de colle epoxy pour rendre l’ensemble très solide.

 

Hacking  Manfrotto 785b ball head

La partie haute de la colonne est séparée de l’ancienne rotule avec un coup de scie à métaux.

Hacking  Manfrotto 785b ball head

Le tube et le bout de la colonne sont ensuite collés ensemble.

Hacking  Manfrotto 785b ball head

 

Après le temps de séchage réglementaire, nous voilà avec un beau trépied et une vis de 3/8″ tout à fait standard.

Hacking  Manfrotto 785b ball head

 

Il ne reste plus qu’à lui visser sa nouvelle tête.

Hacking  Manfrotto 785b ball head

 

Sympa non ?

 

Bien sur, cette modification n’a d’intérêt que si vous disposez déjà d’un trépied de ce type, n’allez pas en acheter un pour le modifier ;-)

Vendredi, mars 11 2011

Quand la fraiseuse se met à jour

Lorsque j’ai fabriqué ma fraiseuse numérique, il y a certaines pièces, comme le support de DREMEL, qui ont été fabriquées rapidement pour pouvoir être remplacées plus tard.

La machine étant pleinement fonctionnelle, il est temps de l’améliorer en lui fabriquant de nouveaux supports de DREMEL en PEHD. Les 2 pièces à fabriquer présentent des profils simples, on va utiliser QCAD pour les dessiner.

 

A part l’espace intérieur qui a été calculé par rapport au diamètre d’une Dremel série 300, le reste est un peu dessiné au pifomètre. Vous pouvez télécharger le profil DXF ici dremel_mount.dxf

 

Pour mieux se rendre compte de ce que sera l’objet final, j’ai utilisé l’excellent OPENSCAD pour modéliser en 3D les 2 pièces. Ce logiciel permet de charger des profils 2D en DXF pour les « extruder » et les modifier à volonté. Sa particularité, c’est d’utiliser un langage de définition des objets et non une interface graphique pour dessiner. Rebutant au premier abord, c’est finalement génial, on peut modéliser à la volée des changements de taille, de diamètre de perçage par exemple… sans aucun risque d’erreur de placement.

Voici par exemple le fichier de définition de mes supports.

 

module dremel_mount_top ()
{
	difference()
	{
		dxf_linear_extrude(file="DREMEL_MOUNT.dxf",layer="MOUNT_TOP",height=15,center=true,$fn=100);

		rotate([90,0,0])
			{
				// drill left hole
				translate([40,0,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}
				// drill right hole
				translate([-40,0,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}

			}
			// drill hole
		rotate([0,90,0])
			{
				translate([0,38,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}
			}
	}
}

module dremel_mount_bottom ()
{
	difference()
		{
		dxf_linear_extrude(file="DREMEL_MOUNT.dxf",layer="MOUNT_BOTTOM",height=15,center=true,$fn=100);

		rotate([90,0,0])
			{
				// drill left hole
				translate([24,0,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}
				// drill right hole
				translate([-24,0,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}

			}
		// drill hole
		rotate([0,90,0])
			{
				translate([0,22,0])
				{
					cylinder(r=2.5,h=100,center=true);
				}
			}
	}

}

dremel_mount_bottom();
translate([0,0,100])
{
	dremel_mount_top();
}

Et voilà le rendu final dans OpenSCAD

Plutôt réaliste non ?

De plus, le logiciel permettant d’exporter au format STL, vous pouvez imprimer les pièces en 3D si vous disposez d’une Reprap ou d’une MakerBot.

 

Pour usiner mes pièces, il faut transformer le profil en fichier de découpe interprétable par le logiciel EMC, c’est le langage G-CODE. J’ai utilisé l’excellent HeeksCNC pour celà.

 

 

Il est maintenant temps d’envoyer le fichier G-CODE sur la fraiseuse.

Une chute de PEHD de 15 mm est solidement fixée sur la table de fraisage. C’est parti pour une quinzaine de minutes d’usinage.

Le résultat final est à la hauteur de mes espérances

 

Il ne reste plus qu’à usiner la deuxième pièce et à monter le tout sur la machine, à la place de l’ancien système, peu pratique et peu esthétique.

 

Le projet ODCNC continue d’avancer, j’enrichis petit à petit la documentation au fur et à mesure de l’utilisation de la fraiseuse.

Dimanche, février 27 2011

Réparation d’une console nintendo DS Lite

Amener une console Nintendo DS dans une cours d’école, voilà une idée qui peut vite tourner au cauchemar… des enfants, un ballon et PAF ! la console chute et se brise en deux. La console est totalement hors service, le boitier en plastique est cassé en 2 et elle ne s’allume plus, l’écran supérieur étant arraché. Face à de tels dégâts, la réparation peut s’avérer délicate, il faut lister les parties cassées puis trouver les revendeurs permettant l’achat des pièces détachées. Cette opération assez incertaine risque de coûter cher en pièces de rechange. Une autre alternative s’offre à nous: Ebay ! Pourquoi ne pas enchérir pour une console identique, cassée elle aussi (le prix n’en sera que plus intéressant) mais si possible pour d’autres raisons ? Après quelques recherches, je fais l’acquisition d’une console , identique à celle cassée, mais ayant a priori un problème de carte mère pour environ 30 €. Ensuite, c’est 40 min de chirurgie pour greffer les pièces des 2 DS dans une nouvelle console fonctionnelle.

La suite en vidéo

Samedi, février 5 2011

Fraiseuse CNC DIY v3 – Episode 2

Voilà la suite tant attendue ( par moi surtout ;-) ) de la construction de ma fraiseuse numérique.

En cours de conceptionLa voilà presque terminée. il me reste 1 moteur à câbler et la vis sans fin de l’axe des X à installer, tout le reste est en place. On est bien loin de l’épisode 1 avec ses quelques pièces éparses !

DIY CNC Parts


N’ayant pas eu le temps de faire un article à chaque étape de l’avancement de la construction, j’ai mis en place un Wiki dans lequel je vais essayer de documenter l’ensemble du projet afin d’aider ceux qui comme moi veulent se lancer dans la fabrication d’un tel outil. Le wiki est « ouvert », si vous aussi vous construisez une machine et que voulez m’aider à documenter, je peux vous donner un accès en écriture. Pour le moment il n’y a pas grand chose, mais je compte l’enrichir régulièrement et je compte aussi sur votre aide !

L’adresse du projet: http://odcnc.equinoxefr.org


Dimanche, janvier 24 2010

Chargeur solaire pour gadgets USB ( téléphone, GPS… )

Mon premier projet 2010, tout simple mais bien utile: un chargeur de téléphone autonome. Le montage est basé sur une batterie Lithium polymère d’un élément (3.7v) qui alimente un « Mintyboost » transformant le 3.7v en 5V pour charger un périphérique USB. La charge de la batterie est assurée par un courant entre 3 et 6v au travers d’un MAX1555. Ce courant peut provenir de 3 sources:

  • Un port USB d’ordinateur.
  • Un chargeur secteur 5v.
  • Un panneau solaire.

Le montage se base sur 2 cartes open hardware provenant de 2 fournisseurs bien connus sparkfun et Adafruit industries.

L’une des cartes sert de support au MAX1555. Elle comporte 2 entrées et 2 sorties.

En entrée:

  • Un port d’alimentation 2.1mm.
  • Un mini usb.

En sortie:

  • La batterie Lipo.
  • la sortie 3.7v vers le mintyboost.

Elle est disponible préassemblée chez sparkfun

La batterie provient aussi de chez Sparkfun. C’est une batterie 1 élément de 2000 mAh.

L’autre partie, est un kit de chez Adafruit. Le mintyboost. Il n’a qu’un but: élever la tension de la batterie de 3.7v à 5v. Le kit est très simple, il faut moins de 15 min pour l’assembler.

Les instructions d’assemblage, les schémas et tout la documentation sont en ligne sur le site de ladyada.

Le panneau solaire provient lui aussi de chez adafruit.

Dernière étape: assembler l’ensemble dans un boitier de petite taille. J’ai choisi un boitier robuste en aluminium qui n’aura aucun mal à trainer dans un sac à dos.

Inside the box

L’intérieur du boitier. Comme vous pouvez le constater, on peut encore réduire un peu l’encombrement.

It work's !

Mon téléphone en charge. Le chargeur peut assurer à peu près une charge et demi du téléphone sans l’aide du panneau solaire. Avec le panneau il faut une dizaine d’heures pour recharger complètement la batterie du chargeur. Le chargeur est suffisamment petit pour rester dans un sac à portée de main. Quand vous partez en randonnée, il suffit juste d’emporter en plus le panneau solaire que l’on fixera sur le dessus du sac à dos par exemple.

L’avantage c’est qu’il peut être utilisé avec ou sans la partie solaire. Celle-ci assure une totale autonomie: rechargement de la batterie « tampon » dans la journée et charge des périphériques USB la nuit par exemple.

En se qui concerne la facture, elle est relativement élevée: ~90$ Ce chiffre pourrait être fortement réduit  en faisant nous même le circuit. Comme il s’agit d’un prototype, j’ai préféré rester sur le kit, plus simple à assembler.

- page 2 de 4 -