Dimanche, juillet 10 2016

Une table en acier et bois (Douglas) pour le jardin

Il me restait quelques planches de Douglas après la pose du bardage sur la maison. Pourquoi ne pas en faire une table ?

Je vais faire un cadre en acier mécano soudé avec un dessus en planches de douglas.

L’acier est acheté chez en revendeur pro (Rubion). Le cadre est en 80×40 et les pieds en 60×60. La table fait une dimension de 1800×800. Le coût d’achat est d’environ 100€ d’acier + le bois et la peinture que je possède déjà.

Le cadreLe cadre est soudé avec un petit poste inverter GYS GYSMI 80p (soudure à l’électrode enrobée)

IMG_20160618_161518Les soudures sont meulées et le cadre peint avec une peinture métal pour extérieur. Des bouchons plastiques ferment les pieds en haut et en bas pour éviter la rouille sur les parties non peintes.

IMG_20160706_080649

Voici la fabrication de la table en vidéo:

 

 

 

 

 

Mardi, juillet 1 2014

Table de placement manuel : Introduction

Le projet OpenAlarm utilisera comme module de transmission des FunkyV3, des cartes de très petites tailles avec tout un tas de composants permettant la connexion à différents type de capteurs, la liaison radio avec la base, etc...

Les Funky V3 sont très petit, pourtant, ils embarquent un bon nombre de composants et pour faire tenir autant de monde sur une surface aussi réduite, pas de mystère, il faut utiliser des composants TRÈS petit, lorsque je dis très petit, je parle de la résistance au format 0402 tout à gauche de la photo ci-dessous :

comparatif_cms.png

Et j'en viens à parler d'une des choses qui fait que OpenAlarm à pris beaucoup de retard, c'est que pour pouvoir manipuler des composants aussi petit en quantité (je ne vais pas faire des cartes que pour moi), il faut du matériel approprié.

Impossible de manipuler de tels composants directement avec les mains, avec des brucelles, c'est faisable mais pas pratique, le plus adapté est d'utiliser une pompe de préhension qui n'est rien d'autre qu'une micro ventouse et si on y ajoute une table de placement, alors, là, on tend vers le parfait...

Mais c'est quoi une table de placement ?

C'est assez simple : on place la ou les cartes électroniques sur une surface, on dispose les composants à proximité, et à l'aide d'un support coulissant et par des mouvements de translation, on vient prendre les composants et on les dépose sur le pcb.

Les composants sont « pris » par un système de pompe à dépression pour une grande précision de positionnement et surtout permettant de prendre des composants dans de très petits formats.

Que trouve-t-on sur Internet ?

Un modèle commercial : ERMES - Table de positionnement CMS

Chez Selectronic, on peut trouver la table ci-dessous :

selectronic_table.png selectronic_table_2.png

Je vois plusieurs points noirs à leur système :

  • La surface sur laquelle on pose son bras est trop petite et non souple, ça sent les douleurs musculaires au bout de quelques heures d'utilisation
  • Le stylo n'est pas maintenu droit par un quelconque mécanisme, je pense qu'il est difficile de manipuler des composants très petit comme des 0402
  • Le prix n'est pas sérieux...

Le modèle en bois peu chère de vpapanik

Ce modèle est intéressant car il utilise principalement des matériaux de récupération...

low_budget_vpapanik.jpg
Photo originale de http://vpapanik.blogspot.fr/2012/11/low-budget-manual-pick-place.html

Un point intéressant est que la pointe de préhension est solidaire du support coulissant, garantissant ainsi une pose plane du composant.

Au final, le système est ingénieux mais prend beaucoup de place (en hauteur) et j'ai un léger doute concernant la stabilité de l'ensemble, enfin, le support pour le bras n'est pas adapté et à la longue, le frottement de ce dernier sur le bord à angle droit du bois ne doit pas être agréable (voir la dernière photo de son article).

La table de Brian Dorey

Alors là, ça commence à devenir du lourd :

pnp-machine_briandorey.jpg

Elle est entièrement en aluminium, elle dispose d'un vrai support pour le bras en cuir / simili, sa tête est articulée et muni d'un moteur pas à pas permettant de choisir l'orientation du composant à l'aide de bouton poussoir se trouvant sur la flanc de la machine.

Il a même publié tous les plans de sa machine sur GitHub.

C'est du super boulot, par contre, elle est difficile d'accès à cause de ses pièces usinées et je la trouve encore assez imposante...

Brian Dorey, non content de sa table de placement manuel, à enchaîné par la suite sur une table de placement automatique plutôt impressionnante : http://www.briandorey.com/?tag=/manual+pick+and+place.

Autre machines...

Je ne vais pas toutes les passer en revue, il y en a trop mais voici quelques pointeurs :

Faisons un mix de tout ça

Prenons les bonnes idées, apprenons des erreurs et créons la notre :

  • Je veux une table qui reste avec un faible encombrement en hauteur
  • Avec le maximum de pièces imprimables à l'aide d'une imprimante 3D
  • Le système d'aspiration doit être automatique, pas besoin de pédale ou de bouton supplémentaire en utilisation normale (avec tout de même un mode manuel)
  • Un support pour bras suffisamment confortable pour travailler quelques heures de suite
  • Un voyant indiquant si la pointe aspire ou non
  • Une mécanique fluide (roulements linéaires)

Au moment ou j'écris ces lignes, ma table maison est terminée et parfaitement fonctionnelle, je fais donc durer le suspens et tâcherai de pondre des articles quand je le pourrai pour décrire la machine...

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…