Imprimante 3D détournée en CNC légère

Partagez vos réalisations de fraiseuses CNC, qu'elles soient finalisées ou en cours de réalisation.
F1FNW
Messages : 137
Enregistré le : 01 déc. 2018 09:18
Localisation : Corsica

Imprimante 3D détournée en CNC légère

Message par F1FNW »

Bonjour,

Je dispose d’une CNC que j’ai réalisé il y a quelques années et qui fonctionne très bien pour découper du bois, du stratifié etc...
J’ai voulu l’utiliser pour de la gravure de circuits imprimés, le résultat n’est pas parfait (loin de là) à cause de différents petits problèmes de ma machine qui n’a pas été conçue pour cela. J’en suis donc resté là avec ce constat.

Cependant, une idée a germé dans ma tête en me disant que je pouvais faire une CNC légère sur la base d’une imprimante 3D.

J’ai restauré une « Raiscube » copie d’une Anet A8 en supprimant la tête de chauffe pour y adapter une fraise (moteur Brushless) avec une fraise javelot. Je n’ai pas l'électronique d’origine.

Pour la piloter je compte utiliser le logiciel Marlin de la R-CNC avec une Electronique Arduino + Ramps 1.4. Tout est presque terminé, j’attend l’afficheur graphique pour tester.

Je voudrais savoir si quelqu’un du forum a déjà tenté (et réussi) la gravure de CI avec sa CNC, celle proposée par Makerfr ou autre?

Merci pour vos réponses.
Aze
Messages : 1928
Enregistré le : 11 mars 2017 14:13

Re: Imprimante 3D détournée en CNC légère

Message par Aze »

Je n'ai pas de réelles connaissances dans la gravure de PCB, mais de ce que j'en ai lu, un des principal soucis pour graver un PCB, c'est que la plaque à graver ne sera jamais parfaitement plane et donc il vaut mieux 'palper' la surface avant de graver quoique ce soit. Du coup Marlin (ou Repetier Firmware) ne sont pas recommandés pour cela, car il ne propose pas cette option. GRBL semble nettement plus adapté, mais du coup il faut avoir un ordi branché à côté. Regarde du côté de la Cyclone PCB Factory, le projet est vieux et n'est plus mis à jour, mais ça peut t'inspirer sur la partie électronique/firmware, car c'est un projet dédié entièrement et uniquement à de la gravure de PCB.
https://github.com/carlosgs/Cyclone-PCB-Factory


(au niveau de la Cyclone PCB Factory en elle-même, pour moi elle manque un poil de rigidité et j'aurais choisi un autre système d'entraînement que des gros engrenages imprimés entraînants une visse M8 de GSB, mais elle fait déjà le job quand même apparemment).
F1FNW
Messages : 137
Enregistré le : 01 déc. 2018 09:18
Localisation : Corsica

Re: Imprimante 3D détournée en CNC légère

Message par F1FNW »

Bonjour,

Merci pour tes conseils. Je ne pense pas que Marlin ne permet pas de faire un nivellement automatique, car il y a pas mal d'imprimantes qui font cela. En fait ce n'est pas tant la plaque de CI qui n'est pas plane, mais il faut que le plateau soit parfaitement parallèle avec l'axe X. Ce réglage ne me semble pas difficile à obtenir car l'axe Z comporte deux moteurs et il suffit donc de soigner le parallélisme en vérifiant bien sûr que le plateau soit bien plan. J'en suis au stade expérimental et je découvre peu à peu de nouvelles contraintes. L'essai que j'avais tenté avec ma CNC était pas trop mal, mais le manque de précision sur l'axe Z (mode 1/2 pas seulement) et le parallélisme (pas parfait) de mon axe X ont fait que ma gravure n'était pas exploitable. Pour le Firmware de la carte Arduino 2560, je pense utiliser celui de la R-CNC qui est un Marlin modifié pour CNC d'après ce que j'ai pu lire sur ce forum me semble adapté à ce que je veux obtenir. Il faut aussi que je modifie la position du 'Endstop" de l'axe Z pour que le "Home" se fasse pour X et Y en bas à gauche du plateau et pour l'axe Z broche en position HAUTE.

Pour ce qui est du projet Cyclone, j'ai un peu regardé, amis j'ai pas envie d'imprimer toutes ces pièces et comme toi, ce système à engrenages ne me plait pas trop. Il faut que je regarde ce qu'ils utilise comme électronique et comme Firmware.

Pour GRBL, j'ai déjà fait des test par ailleurs, ça fonctionne très bien mais il faut un PC derrière et moi ce que je recherche c'est l'autonomie que permet la carte SD. Et malheureusement GRBL ne permet pas ça (à moins que ça ai évolué récemment).

Donc toutes les idées et conseils sont bons à prendre et je suis à l'écoute.

Merci à vous.
mstrens
Messages : 2611
Enregistré le : 27 févr. 2018 12:58

Re: Imprimante 3D détournée en CNC légère

Message par mstrens »

Grbl n'a pas d'interface utilisateur et doit donc recevoir ses commandes d'un autre système.
Généralement cet autre système est un pc.
Toutefois, il est possible de remplacer le pc par un micro ordinateur qui va par exemple lire un fichier sur une carte SD.

Si cela vous intéresse, j'ai écrit une application en C qui tourne sur un module blue pill (stm32F103 disponible pour 1.5 € sur aliexpress par exemple). J'ai couplé ce module à un écran reprap discount 128 X 64 disposant d'un lecteur de carte SD et d'un encodeur rotatif.

Cette application permet de commander GRBL sans le connecter à un pc.
Les possibilités sont:
- affichage des infos de grbl à l'écran (statut, WPOS, MPOS, ...)
- envoi de commandes GRBL (Reset, HOME, UNLOCK, PAUSE, RESUME, MOVE par pas de 0.01, 0.1, 1 mm, Set to zero, 4 commandes au choix (macros) pouvant notamment faciliter le changement d'outil )
- sélection d'un fichier de GCODE sur la SD et envoi à GRBL
- déplacement des moteurs (à vitesse progressive) en utilisant un Nunchuk. (= joystick)
A noter que le blue pill dispose d'une interface USB et peut être connecté au port USB d'un pc. L'application offre la possibilité de d'activer un mode dans lequel le blue pill travaille en mode transparent (le PC communique en direct avec GRBL).

Le code est disponible (open source) à l'adresse suivante:
https://github.com/mstrens/grbl_controller_stm32
Il est relativement simple et peut donc être adapté assez facilement pour ajouter d'autres fonctionnalités.

Les tests que j'ai fait à mon niveau semblent OK.

Pour compiler les programmes, j'utilise l'arduino IDE avec l'extension pour stm32duino (dispo sur github).
Pour installer le firmware sur le blue pill, j'utilise un STLINK (environ 2 € sur aliexpress).

La documentation est encore fort sommaire mais je peux fournir de l'aide à ceux qui serait intéressé.
F1FNW
Messages : 137
Enregistré le : 01 déc. 2018 09:18
Localisation : Corsica

Re: Imprimante 3D détournée en CNC légère

Message par F1FNW »

Merci Mstrens pour ces informations intéressantes. Je suis intéressé par ce système qui me permettra d'avoir une solution de rechange si ma première idée ne fonctionne pas. J'ai un système GRBL complet (Arduino UNO, drivers) fonctionnel. Si ce montage me permet d'utiliser une carte SD, c'est parfait.

Est-il possible d'avoir les liens des différents composants utilisé afin que je puisse les commander?

Je vais entre temps regarder tout ça sur Github afin de me faire une idée plus précise.

Je te remercie par avance pour les liens.
F1FNW
Messages : 137
Enregistré le : 01 déc. 2018 09:18
Localisation : Corsica

Re: Imprimante 3D détournée en CNC légère

Message par F1FNW »

Super, merci beaucoup. Existe t-il un schéma structurel pour câbler l'ensemble? J'ai également vu sur le forum le sujet qui parle de ce montage, mais il n'y a pas plus de précisions. J'ai également regardé le lien donné dans ce même sujet du gars qui à réalisé ce genre de système mais c'est en Néerlandais...

Je regarde immédiatement les liens
mstrens
Messages : 2611
Enregistré le : 27 févr. 2018 12:58

Re: Imprimante 3D détournée en CNC légère

Message par mstrens »

Le lien vers le site néerlandais n'est pas très utile. L'application que j'ai faite ne réutilise pas ce code.

Je n'ai pas fait de schéma du câblage mais voici les renseignements qui devrait permettre de le réaliser facilement.

L'écran LCD contient 2 connecteurs de 10 pins chacun.
Les pins sont numérotées suivant ce type de schéma:
1 .|-------|. 2
3 .|-------|. 4
5 .|-------|. 6
7 .|-------|. 8
9 .|-------|. 10
mais les fils sont eux en séquence 1, 2,3,....10.
Si nécessaire, je peux retrouver un lien vers le schéma du LCD (c'est dispo sur internet)

Voici les signaux sur ces pins (et la connexion au blue pill):
a) connecteur 1
pin 1 = beeper (non utilisé actuellement mais idéalement à connecter à PA9 pour une future version)
pin 2 = BTN ENCODER => PA8
pin 3 = MOSI (lcd) (LCDE, SID) => PB15
pin 4 = chip select CS (lcd) (RS) => PB14
pin 5 = SCK (lcd) (LCD4, E, SCLK) => PB13
pin 6 = non utilisé (LCD5)
pin 7 = non utilisé (LCD6)
pin 8 = non utilisé (LCD7)
pin 9 = gnd
pin 10 = 5Volt

b) connecteur 2
pin 1 = MISO (SD card) => PA6
pin 2 = CLK (SD card) => PA5
pin 3 = Button encoder 2, BT EN2 => PA4
pin 4 = chip select CSEL (SD card) => PA3
pin 5 = Button encoder 1, BT EN1 => PA2
pin 6 = MOSI (SD card) => PA7
pin 7 = SD detect => PA0
pin 8 = non utilisé
pin 9 = gnd
pin 10 = non utilisé

Le schéma du blue pill est ici
https://wiki.stm32duino.com/index.php?title=Blue_Pill

On peut voir que dans l'ensemble, les pins sur le blue pill sont dans le même ordre que les fils des cables.
Cela permet éventuellement de souder directement les cables venant du lcd au blue pin (même si personnellement j'ai utilisé un pcb à pastille).

A noter que le fichier config.h permet de configurer certaines pins ( d'autres sont figées car elles utilisent des périphériques UART et I2C)
Voici la config utilisée.
// SD pins (use SPI1)
#define SD_PIN_DETECT PA0 // PA0 is on pin 7 of reprap discount LCD 128X64
#define SD_PIN_CHIPSELECT PA3 // pin for the chip select ; this pin has to be define as output TODO : change pin accordingly to the board

// RoraryEncoder pins (PA4 and PA2):
#define ENCODER_PIN1 PA4
#define ENCODER_PIN2 PA2

// Button for rotary click on pin (PA8)
#define ROTARY_CLICK_PIN PA8

// lcd pins (reprap discount 128x64) (use software spi)
#define LCD_MOSI_PIN PB15
#define LCD_SCLK_PIN PB13
#define LCD_ENABLE PB14

L'application utilise aussi:
- les pins I2C (SCL1= PB6 + SDA1 = PB7) du blue pill pour la lecture du nunchuck
- les pins TX3 (=PB10) et RX3 (PB11) de l'UART3 du blue pill pour la communication avec grbl

A noter que l'utilisation du nunchuck est facultative (auto détection au démarrage).
Aze
Messages : 1928
Enregistré le : 11 mars 2017 14:13

Re: Imprimante 3D détournée en CNC légère

Message par Aze »

Pour le palpage de la plaque, certes, les imprimantes 3D palpent le plateau, mais c'est tout ou rien (elles palpent le plateau en entier). Je ne sais pas si c'est facile de ne palper que la plaque de cuivre qui t'intéresse en lui indiquant les points à palper.

Mais sinon pour Mstrens, vivement que tu nous fasses un petit tuto spécial noob (un truc à la Romaker quoi), parce que pour ma future minimill 'cheap', ta solution me paraît idéale. Si t'arrives à implanter facilement cette histoire de palpage en zone restreinte en plus, ça risque d'intéresser pas mal de monde.
F1FNW
Messages : 137
Enregistré le : 01 déc. 2018 09:18
Localisation : Corsica

Re: Imprimante 3D détournée en CNC légère

Message par F1FNW »

Bonjour,

En premier lieu, merci à Mstrens pour son aide. Je vais dessiner le schéma structurel d’après tes indications, ça pourra servir à d’autres.

Pour Aze, je n’avais visiblement pas compris ce que tu voulais dire par palpage. Là je comprend le problème, palper uniquement la pièce, dont les dimensions peuvent varier.
Effectivement ça me parait plus compliqué (mais je ne suis pas informaticien).
mestre se pourra nous dire si cela lui paraît faisable.

Quoi qu’il en soit, cela ne me parait pas rédhibitoire, car si un réglage fin du parallélisme du plateau est effectué ça doit pouvoir aller.

En effet une fois le plateau réglé, la plaque à graver est bien plane et comme le zéro est fait manuellement! Je pense pas qu’il y est de problème. Évidemment, tout ça est à vérifier.
Répondre