Powered By Blogger

segunda-feira, 18 de janeiro de 2016

MINI CNC - ARDUINO PLOTTER



MINI CNC - ARDUINO PLOTTER


OPERAÇÃO:
Neste projeto eu irie mostrar com construir facilmente sua própria Mini CNC "Plotter Com Arduino e de baixo custo.
Decidi criar este guia detalhado para ajuda-los a fazer isto em alguns passos simples.

Para os Eixos X e Y, iremos usar 2 motores de passo e os trilhos de drivers de CD-ROM e para o eixo Z iremos utilizar um servo motor que moverá a caneta para cima e para baixo.
Para a base de montagem, irei usar a própria carcaça dos drivers de CD-ROM.
Uma caneta ou lapiseira poderá facilmente conectada ao sistema. Não aconselho o uso de uma mini Drill para tentar gravar objetos, porque os motores não tem força suficiente.
O circuito de controle é baseado no Arduino UNO (ou qualquer ATmega 328) e dois L293D foram usados como driver dos motores de passo, porém ponte H transistorizadas podem também ser utilizadas.
Inicialmente fiz todos os ajustes utilizando uma proto-boarde e depois desenvolvi uma placa perfurada para o driver de motor de passo.

Um módulo bluetooth pode facilmente ser adaptado para que você possa enviar textos e imagem a serem impressos.

Alimentação:
Incluí uma fonte externa de 5V@500mA para alimentar somente a etapa de motores; a parte de controle poderá ser alimentada pela USB
Caso você queira alimentar tanto a parte de controle quanto os motores via USB, aconselho a usar um cabo de comunicação + Alimentação ou a porta USB 3.0 de potência (5V@900mA).



MATERIAL UTILIZADO:
2 x drivers de DVD/CD-ROM(motores de passo funcionando adequadamente)
2 x L293D
1 x servo motor HXT900
1 x Arduino UNO
1 x cabo USB para Arduino
barra de pinos
parafusos de 10mm x 3mm
parafusos de 30mm x 3mm
espaçadores plástico com rosca
placas de circuito impresso 100mm x 100mm
caneta ponta fina

Fios e Jumpers para Arduino
Solda
Cola Araldite e ou Epoxy liquida
Ferramentas diversas....
Peças e ou acessórios específicos serão mostrados na montagem.



MONTAGEM:
Inicie desmontando os drivers de CD-ROM. Iremos aproveitar a base com o  motor de passo e a carcaça externa.

Agora vamos efetuar a furação da tampa das carcaças, para os eixos X e Y (conforme as fotos).

A carcaça do driver de CD-ROM, servirá como base e fundo da estrutura do plotter, para isso iremos soldar a base do eixo Y (horizontalmente) com a base do eixo X (verticalmente)
A estrutura é um "L" (conforme as fotos).
Certificar que a estrutura está bem rígida, caso necessário use sua imaginação para tornar a estrutura bem forte!

Instale as bases dos motores de passo mas tampas superiores e você terá montado os eixos X e Y

Pronta a estrutura, agora é hora de começar a parte eletrônica.
Faça a identificação sas bobinas A e B dos motores de passo (use o Ohmímetro para medir a continuidade das bobinas).
Solde 4 fios de 20cm cada aos terminais dos motores de passo (coloridos para identificar as bobinas A e B dos motores de passo).

Vamos ao passo-a-passo da montagem....

Passo 1 - Preparação dos componentes:
Desmonte os drivers de CD-ROM e guarde as carcaças, os parafusos e o motor de passo juntamente com a estrutura de fuso e cabeça leitora... os componentes do LASER no leitor óptico podem ser descartados.


Os dois conjuntos que formam a base dos eixos X e Y

Conjunto que forma o eixo X ou Y - note que na cabeça de leitura óptica existem dois furos muito bem localizados.
Iremos necessitar deles mais tarte (ÓTIMO!!!).
Não descarte as borrachas de amortecimento, necessitaremos delas também.

A carcaça - servirá como parte estrutural mecânica....

Passo 2 - Montando a Estrutura do Plotter:
A estrutura a ser montaada é no formato de um "L".
As partes da estrutura que estarão em contado devem ser lixadas para posteriormente receberem solda estanho.

Duas carcaças do driver de DVD/CDROM serão soldadas no formato de um L
Lixar as partes que receberão solda.
Observe a posição




Detalhe do posicionamento e direção dos eixos.




Passo 3 - Furação da estrutura:
Faça a marcação dos furos correspondentes às estruturas de montagem do motor de passo (para os eixos X e Y).
Para o eixo Y, a posição deve ser bem no início da estrutura (na parte do fundo será soldado a estrutura do eixo X).

Eixo Y - a furação deve estar centralizada na parte frontal em relação às laterais e posicionada o mais rente possível do inicio da estrutura

Eixo X -  a furação deve estar centralizada e na parte superior em relação às laterais, e posicionada o mais rente possível do topo da estrutura


Passo 4 - Soldar a estrutura:
Efetue a furação e lixe bem o local onde será feito a solda da estrutura.
Use um mini maçarico a gás para soldar as partes com solda estanho.
Passe pasta de solda ou fluxo para facilitar o processo.





Lembrando: o Eixo Y é a base do "L"




Parafuse as partes que formam a estrutura para ficar bem sólida.
Use os parafusos retirados durante a desmontagem do driver de CD/DVD.





Passe uma pasta para soldar ou fluxo a fim facilitar o processo de soldagem.




Use o maçarico à gás para efetuar a soldagem ou um ferro de solda muito potente....



Com a estrutura montada, estamos a meio caminho andado...
Limpe os detritos da soldagem com um pano úmido e secar com papel.



Dá pra ver que não fica perfeito...., mas ficou sólido o suficiente.



Nas laterais bastam alguns pontos de solda.



Passo 5 - Preparação dos motores de passo:
Se ainda não o fez, solde fios no motor de passo para cada uma das bobinas.
Veja mais adiante como identificar as bobinas para esse motor em particular. A maioria dos driver de CD/DVD usam essa mesma configuração


Para esse motor, temos:
A bobina A são os fios Verde/Azul
A bobina B são os fios Roxo/Cinza
Solde conectores ou pinos nas pontas dos fios de tal forma a facilitar as ligações com o driver L293D.



Passo 6 - Montagem da base do eixo Y:
Material necessário para a montagem do eixo Y:
4 x espaçadores de 10mm (em borracha ou outro material a sua escolha) dos quais 2 (os do fundo) devem ser uns 2 milímetros mais alto (devido a base do meu motor ser um pouco mais alto na parte do fundo) caso contrário fica desnivelado e dificulta o ajuste final.
Os meus espaçadores foram reaproveitados e uma impressora velha (borracha dos eixos).


Parafusos 30mm x 3mm, arruelas e porcas.

Mantenha as borrachas originais de amortecimento.... elas ajudarão também na hora de nivelar (apertando mais de um lado do que de outro é possível controlar o nivelamento da peça...  mantendo a pressão)


Observe como posicionar os espaçadores:



Posicionando a base do eixo Y:


Parafusando a base do eixo Y:
Como disse anteriormente, as borrachas originais de amortecimento, além de pressão ajudam com relação ao nivelamento, apertando mais de um lado do que de outro, podemos ajustar por até uns 2mm e assim ajustar o nivelamento das bases......


Passo 7 - Montagem da base do eixo X:
Material necessário para a Montagem do eixo X:
4 x espaçadores de plástico com rosca 3mm
4 x arruelas
8 x parafusos 10mm x 3mm, não é necessário ser de plástico (é o que eu tinha sobrando)


Instale os espaçadores na estrutura do eixo Y:




E finalmente instale a base do eixo X.


Passo 8 - Nivelamento dos conjuntos
TENHA CERTEZA DE TUDO ESTAR DEVIDAMENTE NIVELADO, TANTO HORIZONTALMENTE QUANTO VERTICALMENTE.





Passo 9 - Montagem da base do eixo Z:
A peça abaixo foi retirado de uma dobradiça de tampa de "privada".... tá bom vamos ser polidos.... tampa de assento sanitário...isso mesmo!, "Quem guarda tem!". Essa peça vai servir como um guia para a caneta do plotter (a caneta ajusta-se muito bem a essa peça sem folgas, sendo necessário até um lubrificante para facilitar os movimentos).
Você pode usar sua imaginação e habilidades para criar o seu guia personalizado.....




Cole o servo motor em uma plaquinha de fenolite com 100mm x 50mm.
Faça dois rasgos na vertical a mais ou menos 40mm da borda com 3,5mm de largura (eles servirão para o ajuste fino da altura da caneta na estrutura).
Cole o guia no servo motor... use sua experiência para alinhar o conjunto (isso é muito importante)
A peça que vai levantar a caneta foi retirada de uma máquina de costura antiga, "quem guarda tem"  (vou chamar de "pinça"), mais uma vez use suas habilidades para construir uma pinça.

***NOVAMENTE, ALINHE MUITO BEM O CONJUNTO!









Passo 10 - Adaptação do eixo Z no eixo X
Use dois parafusos de 10mm x 3mm para segurar o conjunto do eixo Z na base do eixo X.
A minha base do eixo X já vem com dois furos prontos e ajustou certinho com parafusos de 3mm.





Agora sim monte o eixo Z.
O ajuste fino da altura da caneta deve ser feito na pratica, com muita paciência.......



Certifique-se de que a pinça não vai bater na guia do plotter.



Passo 11 - Montagem da mesa do eixo Y
Material necessário para a montagem da "mesa" de plotagem.
2 x espaçadores de plástico com rosca 3mm
4 x parafusos de 10mm x 3mm
1 x placa fenolite de 100mm x 100mm
2 x placa metálica de 100mm x 100mm
Fita dupla face.



Corte em metal uma placa de 100mm x 100mm que servirá como base da mesa (NÃO FURE ESTA PEÇA), quanto mais plana melhor.


Corte e faça a furação de uma placa de fenolite de 100mm x 100mm.
A furação deve ser feita de tal forma que o parafuso passe totalmente por ele.
A furação deve ser de acordo com os furos da base do eixo Y (que já são existente na cabeça do LASER)




Corte e faça furação de uma placa de 100mm x 100mm, essa peça será a base da mesa
A minha foi retirada da carcaça de um driver de disquete 3 1/4




Observe a furação existente na cabeça do LASER.
Monte os espaçadores nestes furos com parafusos de 10mm x 3mm








Monte a mesa na base do eixo Y:







Agora vamos fazer um "sandwich" com o fenolite e a outra placa metálica sem furos.
Use a fita dupla face na borda da placa metálica  e do fenolite.





Posicione e cole o fenolite na mesa.
Repare que os parafusos ficam internos e não devem ultrapassar a altura do fenolite.



Cole a placa metálica no fenolite:



Pronto, veja como ficou o "sandwich" já instalado.




PARABÉNS!
Se você seguiu todos os passos, teve muita paciência e muita persistência, a sua Mini CNC - Plotter deve estar assim.......

















Passo 12 - Montagem da caneta:
Use caneta ponta porosa para papéis brilhantes (fotográficos).
Os dois parafusos foram retirados de uma máquina de costura fora de uso.
Eles tem uma rosca e uma parte lisa... isso facilita os movimentos na pinça.
Faça um furo na caneta (a altura depende de ajustes na prática). No meu caso foi a 80mm da ponta da caneta..... Use sua Habilidade.





Nos meus gcodes use o comando penZup = 50 e penZdown = 30, disso depende a angulação da pinça, mais uma vez testes e ajustes práticos devem ser feitos.





Passo 13 - Montagem da parte eletrônica:
Passamos então à parte eletrônica propriamente dita.....

Iniciando com o driver dos motores de passo (L293D)
Veja os esquemas abaixo, Montei os componentes em uma placa perfurada padrão.
Todas as fotos e esquemas podem ser obtidos no GitHub

https://github.com/Arduinobymyself/ABMsMiniCNC


Diagrama no Fritzing :





Diagrama em manuscritos:




Diagrama da placa feito em "Strip_Board_diylc-3.28.0"
Este software ser obtido gratuitamente em:






No diagrama acima temos:
D2, D3, D4 e D5 - ligação aos pinos digitais do Arduino
M1A, M1A' M1B e M1B' ligação das bobinas A e B ao motor do eixo Y
D8, D9, D10 e D1 - ligação aos pinos digitais do Arduino
M2A, M2A' M2B e M2B' ligação das bobinas A e B ao motor do eixo X


No motor temos 4 fios, orientando o eixo do fuso para frente temos as bobinas A e B e dessa forma os fios A / A' e B / B' ( ' leia se como "barra").




Material necessário para o driver:
2 x L293D
2 x soquete para CI de 16 pinos
2 x capacitores de 220nF
5 x barras de pinos com 4 pinos
No meu caso usei macho e fêmea, assim posso ter mais liberdade para fazer as ligações.






Essa é a técnica que uso para criar as trilhas na placa perfurada.... as trilhas são feitas com solda de forma a ligar os componentes.... fica como abaixo

Cuidado nessa foto faltou interligar os dois pontos indicados e isso resulta no may funcionamento do eixo correspondente ao L293D em questão. Por favor eftuem a interligação corretamente.

Este é o driver já finalizado.


Passo 14 - Interligação final dos componentes ao sistema
Colar o driver na carcaça e também o Arduino usando fita dupla face.
Ligar todos os fios conforme os esquemas.








SOFTWARE E PROGRAMAÇÃO:
Os softwares necessários para rodar a CNC estão listados abaixo e poder ser baixados no GitHub

https://github.com/Arduinobymyself/ABMsMiniCNC


1 - Arquivo ArduinoByMyselfMiniCNC.ino -  deve ser aberto com a IDE do Arduino, compilado e enviado ao Arduino;
Processo padrão e já conhecido dos que acompanham o blog.

2 - Arquivo CNCTool.pde - deve ser rodado a partir do processing, é a interface de comunicação homem-máquina.
Processo padrão e já conhecido dos que acompanham o blog.



InkScape  - Aqui você pode gerar imagens e textos e depois salvar os arquivos na extensão ".gcode" (códigos com instruções para mini CNC).
Existem diversos tutoriais no youtube a respeito....... Em breve postarei também meus próprios tutoriais. Fique ligado!

Download da versão 0.48 (tem que ser esta!!!): 
https://inkscape.org/en/download/windows/
Download do Add-on "MakerBot Unicorn G-Code Output for Inkscape" necessário para gerar os arquivos .gcode:
https://github.com/martymcguire/inkscape-unicorn

Download do processing:
https://processing.org/download/




Códigos de teste para eixos:

Eixo X:
#include <Stepper.h>

const int stepsPerRevolution = 20;

//Connection pins:
Stepper myStepperX(stepsPerRevolution, 8,9,10,11);

void setup() {
 //Set speed:
 myStepperX.setSpeed(100);
 //max 250 steps for dvd/cd stepper motors
 myStepperX.step(160);
 delay(100);

}

void loop() {
}


Eixo Y:
#include <Stepper.h>

const int stepsPerRevolution = 20;

// Connection pins:
Stepper myStepperY(stepsPerRevolution, 2,3,4,5);

void setup() {
 // Set speed:
 myStepperY.setSpeed(100);
 // max 250 steps for dvd/cd stepper motor
 myStepperY.step(160);
 delay(100);

}

void loop() {

}

Eixo Z:
#include <Servo.h>
const int penZUp = 50;
const int penZDown = 30;
const int penServoPin = 6;
Servo penServo;
void setup(){
  Serial.begin( 9600 );
 
  penServo.attach(penServoPin);
  penServo.write(penZUp);
  delay(200);
}
void loop(){
  penServo.write(penZDown);
  delay(5000);
  penServo.write(penZUp);
  delay(5000);
}
Após todos os testes.........




Finalmente estamos prontos para imprimir nossa primeira imagem.


1 - conecte o Arduino ao seu computador;
2 - abra a IDE do Arduino;
3 - carregue o arquivo ArduinoByMyselfMiniCNC.ino;
4 - compile o arquivo;
5 - envie o arquivo para o arduino;
6 - abra o "Processing";
7 - carregue o arquivo CNCTool.ino;

8 - Execute o arquivo (será aberto a janela do aplicativo CNCTool);

9 - Comandos básicos para o CNCTool:
p - seleciona a porta de comunicação com o Arduino;


0 - configura a posição atual como posição inicial do SW (é importante que os eixos estejam na posição inicial antes de dar este comando);

g - carrega o arquivo g-code para o Arduino;
(no repositório do GitHub existem 3 arquivos de teste).

x - para o processamento do arquivo g-code (se algo der errado durante a impressão, pressione "x")

Todos os comando g-code que estão sendo executados pela Mini-CNC podem ser observados em tempo real no processing.





Se tudo deu certo......., PARABÉNS! você concluiu mais este projeto da ABMs "ArduinoByMyself"





FOTOS & VÍDEOS:


https://youtu.be/etN0WQvSqrk





EM BREVE MAIS VÍDEOS!!!




Qualquer dúvida, entre em contato com
arduinobymyself@gmail.com

Estaremos prontos a ajudar







4 comentários:

  1. Olá. Montei uma plotter baseada no arduino mega e Shield L293D completo, porem com motores maiores da epson bem antigos. Meu problema é que o código funciona perfeitamente mas não consigo diminuir a velocidade dos motores para que o desenho saia perfeito. Com a programação básica que fiz tenho controle total dos motores e ja usando seu código ou de outros meus motores saem do controle e ficam muito acelerado. Poderia me dar uma dica pra consertar isso? Desde ja agradeço.

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Bom dia,

    Sensacional seu o projeto... Fiz com duas "bandejas" de DVD e alguns materiais de sobras aqui e funcionou perfeitamente... Utilizei um Arduino Nano (Clone), duas Pontes-H e montei o "L" com cantoneiras de marcenaria e parafusos com porcas e contra-porcas para regular as distâncias...

    Não sei se foi por causa da troca do Arduino Uno pelo Nano ou pela Ponte H, mas identifiquei que uma das bobinas em cada motor ficava energizada, o que causava aquecimento neles.. adicionei uma função para deligar as portas de cada motor, a cada acionamento, e normalizou a situação.

    Atiçou as bichas pois já dá para pensar em algo "maior", com o mesmo circuito... Olha a pretensão...

    Parabéns pelo projeto e Obrigado !

    ResponderExcluir
  4. Parabéns pelo projeto... gostaria de saber se tem como modificar pra usar 3 motores de passo pra fazer a Cnc pra fazer placas de circuito impresso. Obrigado.

    ResponderExcluir