Go Down

Topic: [CNC] mon mien à moi! (Read 3150 times) previous topic - next topic

Super_Cinci

Bon, je me lance, les circonstances aidant... voir :

- programmer un moteur PAP :  http://forum.arduino.cc/index.php?topic=194882.0).
- un ensemble de courroies sympa : http://forum.arduino.cc/index.php?topic=192446.0
- et ma participation à un projet de cnc plasma : http://forum.arduino.cc/index.php?topic=196928.0

Bref, j'ai quelques moteurs de scanner, de la mécanique...

on y va, je cherche dans un premier temps à faire accélérer un PAP avec butées optiques :



je monte donc un chariot sur des glissières, avec un capteur optique (vert) qui "voit" les deux plaques PCB (rouge)



Pis ça, à la verticale, ça fait un axe Y. ça, c'est fait.

Ensuite, je bosse sur une première version d'axe Z à monter sur mon chariot :



bof, ça fait trop de frottement, donc abandon.

un peit peu chaque jour, je fais avancer la bête, et arrive àa ça :





Les caractéristiques actuelles :

- Déplacement X : 38cm
- Déplacement Y : 38cm
- Déplacement Z : 10cm
- Résolution X : 2,5µm / pas, 400 pas/mm, 10160 DPI
- Résolution Y : 21,166µm / pas, 47,2441 pas/mm,   1200 DPI
- Résolution Z : 3,125µm / pas, 320 pas/mm, 8128 DPI
- fonctionnement des moteurs : 1/2 pas
- perceuse : genre Lidl, 35000rpm convertie en DC, gérée par PWM
- 1 butée par axe (haute et basse, c'est le sens de rotaion du moteur qui définit le pas)
- interface de données : HPGL

Donc côté soft / hard, c'est une MEGA2560 qui pousse le tout. Pour l'instant, j'ai affecté un timer 16 bits par moteur (3 pour les PAP et un 4ième pour le PWM de la perceuse).

Dans le principe, on configuer les déplacements (nombre de pas, sens), on lance un timer, et... on attend. le timer gère l'accélération, le ralentissement et le nombre de pas. une variable est mise à 0 quand c'est terminé. du coup, une fois qu'on a lancé le timer, on peut faire autre chose, comme recevoir de nouvelles données etc etc.

Pourquoi HPGL? ok, HPGL est prévu pour le 2D, les vieilles tables tracantes. Mais c'est parce que j'ai déjà un "driver" qui me permet de gérer une autre CNC : une découpeuse vinyl :



qui me permet de sortir des autocollants, comme ces pattes de chat sur mon automobile :



et le vieux poinpoin sous W95 qui me sert de visualiseur :



donc si je peux visualiser (et aussi agrandir, rétrécir, faire pivoter, imbriquer...) des fichiers HPGL, autant que ma CNC puisse être commandée par mon soft maison.

C'est une première idée, mais tant que la base mécanique n'est pas opérationnelle, je ne peux pas avancer sur le développement logiciel.

Aujourd'hui, on a :

- axe X monté, manque capteur FDC et moteur
- aye Y pleinement fonctionnel
- axe Z manque capteur FDC

- soft : une première version d'algo de bresenham (quel nom...) pour des lignes droites en 3D avec gestion de l'accélération, la gestion des mouvements moteurs indépendants.

That's all folks!

infobarquee

beau boulot tout ca.
les découpes de toles, c'est au plasma?
étrange pas mal se tourne vers la 3d :)

tu serais pas un peu chauvin avec le triskel?
m'en fou je le suis aussi, héhéhé

Super_Cinci


beau boulot tout ca.
merci, mais c'est pas fini, je prends mon temps...

les découpes de toles, c'est au plasma?
quelles toles? les jambes du portic sont en PVC 5mm (récup, tout est récup là-dedans, à part le plateau MDF)

étrange pas mal se tourne vers la 3d :)

tu serais pas un peu chauvin avec le triskel?
m'en fou je le suis aussi, héhéhé
Je ne cherche pas la 3D en fait, mais à la base, c'est pour faire du perçage de PCB avec précision, j'y arrive plus sur ma colonne...

Pour le triskel, c'est le logo de mon asso, la première découpe que j'ai réussi à sortir...

Il faudrait que j'explique un peu mes différents choix...

icare

Bonsoir,
@Super_Cinc : c'est bien le roulement au milieu de la tige filetée pour éviter le balourd :)
Il existe aussi la solution de mettre 2 moteurs pas à pas en série et l'on peut s'affranchir de la liaison mécanique.
Juste une idée.
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Super_Cinci


Bonsoir,
@Super_Cinc : c'est bien le roulement au milieu de la tige filetée pour éviter le balourd :)
Il existe aussi la solution de mettre 2 moteurs pas à pas en série et l'on peut s'affranchir de la liaison mécanique.
Juste une idée.
@+
J'aurais dit en parallèle, et j'y ai pensé, surtout que j'en ai deux, des moteurs comme ça... mais imagine que pour n'importequelle raison, un moteur saute un pas (enfin le rate) et perde un tour sur son copain, le portic se met en vrille et zou, c'est un coup à tout casser, car j'imagine que ms moteurs unt assez de patate pour ça...

là où j'ai pas gazé, c'est que j'ai tout tracé au poil, au compas, avec la même équerre toujours dans le même sens et toujours à partir d'un même repère, du coup, c'est tout de traviol (le mieux est l'ennemi du bien...). je suis bon pour tout redémonter et ovaliser mes trous pour pouvoir remonter l'ensemble d'à-plomb. si le forêt de 0,45mm descend droit, c'est bien, mais il faut en plus qu'il soit parfaitement vertical (ou au moins perpendiculaire au plan X,Y).

icare

Re,
Dans le milieu de l'impression 3D, on utilise souvent la mise en série des moteur pas à pas car le risque de saut de pas est réduit par rapport à la mise en parallèle ou par drivers indépendant (les 2 moteurs sont alimentés par les mêmes courants)
Le risque de saut de pas provient principalement des points dur de la mécanique qui peuvent être résolus par les réglages, calages et autres artifices de "mécano".
Le seul cas personnel était lié à une dégradation d'un dispositif vis/écrou (pas à billes mais vis écrou classique, je sais pas top)
Regarde ce point car cela peut simplifier considérablement la mécanique.
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Super_Cinci

Effectivement, je n'ai pas trop réfléchi au souci de la poussière. Mes tiges filetées donc en prendre plein la tronche tout comme mes glissières (poussière et graissage...), et mes capteurs optiques aussi. mes platines de raccordement seront sûrement noyées dans de la colle à chaud. D'autant plus que pour garantir un meilleur mouvement, j'ai passé une fillière sur mes tiges fileétées et retaraudé mes écrous. il n'y a pas plus de jeu, mais j'y ai vâchement gagné, on connaît la rugosité de ces pièces et les petites déformations subies au transport... Et que dire de mes roulements... les seuls avec des diamètres faciles à utiliser sont ouverts (pas de flasques anti-poussière, genre IP20...)

Malheureusement, faire des chaussettes et accordéons pour protéger tout ça, ça va être chaud.

Si je mets deux moteurs, électriquement, à moins d'avoir des 8 fils, ils ne peuvent être que parallèles, et côté mécanique, ils gèreraient des mouvements parallèles, d'où ma vision de la chose (même si série, c'est plus facile à écrire). Puis si un jour j'y viens, ils seront sur le même driver. outre les risques mécaniques, si un driver se met en protection et pas l'autre, bonjour les dégâts.

icare

Bonjour,

Si je mets deux moteurs, électriquement, à moins d'avoir des 8 fils, ils ne peuvent être que parallèles, et côté mécanique, ils gèreraient des mouvements parallèles, d'où ma vision de la chose (même si série, c'est plus facile à écrire). Puis si un jour j'y viens, ils seront sur le même driver. outre les risques mécaniques, si un driver se met en protection et pas l'autre, bonjour les dégâts.

Pour le fun "moteur 4 fils en série"
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Super_Cinci


Pour le fun "moteur 4 fils en série"
en bipolaire, oui, mais en unipolaire? hi hi hi...

Super_Cinci

Bon, en attendant, on essaie d'avancer...



Le capteur X, avec deux cales sur rail, exactement le même principe que pour Y.

Et un transfo pour alimenter tout ça :



C'est une récup, il provient d'un magnéto Revox B77 (rien que ça). il me sort 6, 20, 25, 43, 55, 90, 110 et 130V. pourquoi autant de tensions? parce que j'aurai besoin d'un tension continue assez élevée pour la perceuse... et pour le moteur X dont je ne sais pas trop encore sous combien je vais l'alimenter...

A suivre!

Super_Cinci

#10
Nov 13, 2013, 09:36 pm Last Edit: Nov 13, 2013, 09:42 pm by Super_Cinci Reason: 1
j'ai eu une idée... j'avais un vieux convertisseur 12 / 220 qui traînait, et je me suis dit que pour générer un 180VDC, il serait pas mal. alors je l'ai bien regardé, et trouvé un optocoupleur qui renvoyait la valeur de la tension HT sur une entrée analogique du µC. ni une, ni deux, hop, je hack! un petit potar là-dessus et zou!

Bah non, cet opto semble ne servir à rien, car rien ne bouge... on a le 12V -> oscillateur -> transfo -> redresseur -> 300VDC -> pont en H -> sortie "220".  l'optocoupleur est en sortie du redresseur. l'oscillateur tourne plein balle tout le temps (bien que commandé par le µC, il ne pourra jamais augmenter la tension de sortie du transfo), du coup, la tension continue est proportionnelle au 12V. bah c'est malin. En faisant varier le courant dans la led de l'opto, même le rapport cyclique du pont ne bouge pas, pourtant, la tension sur la pin analogique du µC, elle bouge bien!

Y'aurait pas d'asservissement là-dessus? alors pourquoi un opto à cet endroit là?

j'ai réussi à le mettre en protection en mettant la tension d'entrée (le +12V) en dessous de 10V  (sortie HT = 240Vcc) et aussi au dessus de 15V (335Vcc en sortie), c'est tout... Le µC mesure la valeur du +12V. Pour les tests, j'ai chargé le continu HT à 18mA (6W). à part une ampoule, je n'ai pas de charge capable de sopporter une telle tension continue... mais la sortie "AC" accepte bien d'allumer une ampoule de 100W...

convertisseur type lidl 30€ donné pour 300VA.

Go Up