Construa um plotter de caneta cartesiano de dois eixos
Um plotter que determina a própria origem, desenha um quadrado de 100 mm que fecha com erro de poucos décimos de milímetro e repete o resultado.
O que você está construindo
Um plotter cartesiano de caneta: dois eixos em ângulo reto movidos por correias, uma caneta que sobe e um controlador que sabe onde ela está porque determinou a origem em uma chave na inicialização e contou cada pulso desde então.
Vale deixar claro por que esta é uma boa primeira máquina de precisão, porque não é o projeto mais vistoso do site. Tudo o mais aqui — robôs seguidores de linha, robôs com desvio de obstáculos, robôs autobalanceadores — tem realimentação. Um sensor observa o ambiente, o código reage e os erros são corrigidos continuamente. Esta máquina não tem nada disso. Nada nela mede onde a caneta está. A única razão para uma linha desenhada no papel terminar no lugar certo é que todas as suposições usadas na construção eram verdadeiras.
Isso faz dele um professor excepcionalmente honesto. Um robô seguidor de linha que deriva ainda segue a linha. Um plotter que deriva desenha um quadrado que não fecha, e a folga entre os cantos fica visível no papel, em milímetros, dizendo exatamente o quanto você errou.
O número que conduz o projeto
Desenhe um quadrado de 100 mm e meça a folga onde o último canto deveria encontrar o primeiro.
Essa única medida é o placar inteiro do projeto, e seu valor é que a forma do erro indica a causa:
| O que o quadrado faz | Causa | Onde é resolvido |
|---|---|---|
| Sempre alguns por cento maior ou menor demais | Passos/mm errados | Calibração |
| Abre a mesma quantidade em qualquer tamanho | Folga | Tensão das correias e parafusos Allen |
| Abre uma quantidade diferente a cada vez | Perda de passos | Corrente, velocidade, aceleração |
| Fecha, mas forma um paralelogramo | Eixos não perpendiculares | A estrutura |
| Fecha em repouso, mas abre quando se move rápido | Além da frequência de partida ou da velocidade nas curvas | Aceleração, ou 24 V |
Quatro dessas cinco situações dependem de ajustes; uma depende da estrutura. Saber qual delas você tem antes de começar a mudar as coisas é quase toda a habilidade.
Lista de materiais
| Peça | Qtd. | Custo | Observações |
|---|---|---|---|
| Motor de passo NEMA 17, 1,5–1,8 A | 2 | £18–28 | Corpo de 40 mm. Evite os motores planos de 20 mm. |
| Driver A4988 | 2 (+1 reserva) | £6–12 | Ou DRV8825 — verifique a fórmula diferente do Vref |
| Arduino Uno | 1 | £4–20 | Um Nano funciona e é menor |
| Placa CNC v3 | 1 | £5 | Opcional, mas recomendada — inclui o capacitor de filtro |
| Servo SG90 | 1 | £2 | A elevação da caneta |
| Microswitch de alavanca | 2 | £1 | Um por eixo, na extremidade mínima |
| Correia GT2 de 6 mm | 2 m | £5 | Com núcleo de fibra de vidro. A de somente borracha estica. |
| Polia GT2 de 20 dentes, furo de 5 mm | 2 | £4 | É daqui que vêm os 80 passos/mm |
| Polia GT2 de retorno | 4 | £5 | Furo liso, não dentado, para os retornos |
| Haste lisa de 8 mm, 400 mm | 4 | £10 | Ou extrusão 2020 com rodas |
| Mancais lineares LM8UU | 8 | £6 | Dois em cada extremidade da haste |
| Fonte de 12–24 V, 2 A+ | 1 | £8–15 | 24 V se quiser velocidade |
| Capacitor eletrolítico de 100 µF, 35 V+ | 1 | £0,20 | Não é opcional; sem a placa, você precisa dele |
| Multímetro | 1 | £10–25 | Necessário para o Vref. Não há substituto. |
| Parafusos M3, suportes impressos | — | £5 | Ou compensado cortado a laser |
Aproximadamente £90–130. O multímetro e a fonte podem ser reutilizados; os componentes de movimento custam cerca de £60.
Vale mencionar duas economias falsas. A correia GT2 somente de borracha estica o suficiente para aparecer como folga, e a versão com núcleo de fibra de vidro custa uma libra a mais. E comprar exatamente dois drivers em vez de três significa que o primeiro que você danificar por esquecer o capacitor interrompe o projeto por uma semana.
Como tudo se conecta
12–24 V ──┬── 100 µF ──┬── VMOT (X driver)
│ └── VMOT (Y driver)
└── GND ─────┬── Arduino GND
│
Arduino Uno │
D2 ── X STEP D5 ── Y STEP │ X driver ── coil A ── motor X
D3 ── X DIR D6 ── Y DIR │ └ coil B
D8 ── ENABLE (both, active low) │ Y driver ── coil A ── motor Y
D9 ── X endstop (INPUT_PULLUP) │ └ coil B
D10 ── Y endstop (INPUT_PULLUP) │
D11 ── pen servo signal ────────────┴── servo 5 V from the Arduino
A única regra não óbvia: mantenha os fios dos fins de curso longe dos cabos dos motores. O cabo de um motor de passo é uma fonte de corrente pulsada, e um fio de fim de curso que corre ao lado dele por 300 mm funciona como uma antena. Uma máquina que determina a origem corretamente com os motores desligados e falha com eles funcionando tem este problema, e nenhum outro.
Construa em marcos
Cada marco termina em um teste. Não os pule — cada um encontra uma falha muito mais difícil de localizar depois, quando outras três coisas também estão erradas.
1. Um motor na bancada. Driver conectado, Vref ajustado, ENABLE em nível baixo e 3200 pulsos comandados.
→ Aprovação: o eixo do motor gira exatamente uma volta e uma marca nele retorna ao mesmo lugar, dez vezes seguidas.
2. Vref nos dois drivers. Calcule a partir da corrente nominal do seu motor e dos resistores de medição de corrente da sua placa — verifique a marcação, R100 ou R050.
→ Aprovação: os dois multômetros leem dentro de 0,02 V do valor-alvo e, após dez minutos mantendo a posição, os motores estão quentes, mas você ainda consegue manter um dedo sobre eles.
3. A estrutura e os dois eixos em movimento. Correias instaladas e tensionadas — firmes, mas não tensas como corda de guitarra. → Aprovação: com os motores desligados, empurre cada eixo à mão e confirme que ele se move suavemente de ponta a ponta, sem pontos rígidos. Corrija o travamento agora; caso contrário, ele sempre vai se passar por perda de passos.
4. Passos por milímetro. Comande 100 mm em cada eixo, meça com uma régua, corrija pela razão e meça de novo. → Aprovação: 100 mm comandados resultam em 99,5–100,5 mm nos dois eixos, duas vezes.
5. Folga. Aproxime-se de uma marca pela esquerda e anote; aproxime-se pela direita e anote. → Aprovação: menos de 0,2 mm. Acima disso, aperte as correias e verifique se os parafusos Allen da polia estão pressionando a face plana do eixo.
6. Encontre o limite e recue. Aumente a velocidade e a aceleração até um eixo perder passos e então defina ambas para 50–60% desse valor. → Aprovação: vinte ciclos de ida e volta com os ajustes escolhidos retornam à mesma marca dentro de 0,1 mm.
7. Determinação da origem. Fins de curso instalados, busca em três fases implementada e dez ciclos de determinação da origem, marcando a máquina em cada um. → Aprovação: todas as dez marcas ficam dentro de 0,05 mm. E: desconecte um fim de curso, determine a origem e confirme que a máquina desiste com um erro em vez de raspar.
8. A elevação da caneta. Servo montado e ângulos de subida e descida encontrados por tentativa. → Aprovação: a caneta toca o papel com pressão leve e uniforme em toda a mesa. Uma caneta montada rigidamente afunda de um lado de uma mesa irregular — uma caneta sustentada por mola ou suspensa pela gravidade tolera melhor as diferenças de nível.
9. O quadrado. Determine a origem e desenhe um quadrado de 100 mm no papel. → Aprovação: o último canto encontra o primeiro dentro de 0,3 mm, e três desenhos produzem três quadrados no mesmo lugar.
Como fica um bom resultado
| Medição | Primeira construção funcional | Após calibração | Limite |
|---|---|---|---|
| Fechamento do quadrado de 100 mm | 1–3 mm | 0,2–0,3 mm | Perpendicularidade da estrutura |
| Repetibilidade da determinação da origem | 0,3 mm | 0,02–0,05 mm | Repetibilidade da chave |
| Folga | 0,5 mm | 0,05–0,15 mm | Ajuste da correia e da polia |
| Velocidade de desenho | 20 mm/s | 100–200 mm/s | Frequência de partida e depois velocidade nas curvas |
| Tamanho do micropasso | — | 0,0125 mm | Muito menor que qualquer outra parte |
As duas últimas linhas juntas são a lição do projeto inteiro. A resolução do motor — 0,0125 mm — é aproximadamente vinte vezes menor que o erro que você realmente terá. Nenhuma parte da precisão final é limitada pelo motor de passo. Tudo é correia, estrutura e perpendicularidade.
Vale internalizar isso antes de comprar um motor melhor para corrigir um problema de desenho, e é por isso que o simulador de motores de passo está no caminho: ele mostra que, sob uma carga realista, o rotor já fica três ou quatro micropassos atrás do que o driver pensa, qualquer que seja o micropasso escolhido.
Observações dos componentes que importam
24 V em vez de 12 V, se você tiver escolha. Os dois funcionam. A diferença está no ponto em que o torque começa a cair: cerca de 280 rpm a 12 V contra 600 rpm a 24 V para o mesmo motor e limite de corrente. Em uma polia GT2 de 20 dentes, isso equivale a aproximadamente 190 mm/s contra 400 mm/s antes de a máquina começar a perder sincronismo. Se uma velocidade baixa for suficiente, 12 V bastam.
Jumpers MS1–MS3 em nível alto. O micropasso 1/16 não deixa a máquina mais precisa, mas evita que os motores zumam a cada passo, o que em uma estrutura leve é a diferença entre uma máquina que funciona normalmente e outra que parece uma vespa irritada. O custo é 8 000 pulsos por segundo a 100 mm/s, algo que um Uno administra.
Tensione as correias de forma firme, não apertada. Correias excessivamente tensionadas sobrecarregam os mancais dos motores e acrescentam atrito que consome a margem de torque. Correias pouco tensionadas acrescentam folga. O ideal é uma tensão suficiente para produzir um som abafado.
Aperte os dois parafusos Allen da polia contra a face plana do eixo. Uma polia de 20 dentes que escorrega no eixo produz um erro que parece exatamente perda de passos e não responde a nenhuma das correções para perda de passos. Loctite não é exagero aqui.
Quando algo dá errado
| Sintoma | Causa | Correção |
|---|---|---|
| O motor zumbe, mas não gira | Pares de bobinas cruzados ou falta de rampa de aceleração | Reconecte os pares com um multímetro; adicione uma rampa |
| Um eixo deriva um pouco mais a cada passagem | Perda de passos nas rampas | Reduza a aceleração, aumente o Vref ou diminua a velocidade |
| Funciona devagar, mas perde passos quando rápido | Acima da velocidade-limite nas curvas | Use 24 V — mais corrente não ajudará |
| Quadrado consistentemente 2% maior demais | Passos/mm errados | Calibre com uma régua e corrija a razão |
| Quadrado aberto por uma quantidade constante | Folga | Aperte as correias; verifique os parafusos Allen |
| A máquina determina a origem em um lugar diferente a cada vez | Não há segunda passagem lenta | Adicione a nova busca a 1–3 mm/s |
| A determinação da origem funciona no teste isolado, mas falha durante o desenho | Fio do fim de curso capta interferência do driver | Reencaminhe-o; adicione 100 nF ao terra no pino |
| O driver morre ao ligar | Não há capacitor de filtro em VMOT | 100 µF, perto da placa |
| Os drivers desligam no meio do desenho | Desligamento térmico | Reduza o Vref; adicione dissipadores e fluxo de ar |
| A caneta arrasta em um lado da página | Superfície de desenho não nivelada ou caneta montada rigidamente | Nivele; suspenda a caneta com mola, não a fixe |
| As linhas tremem em uma velocidade específica | Ressonância em uma faixa intermediária de velocidades | Mude um pouco a velocidade ou adicione massa ao pórtico |
| Tudo está correto, mas as figuras ainda estão deformadas | Eixos não perpendiculares | Ajuste a estrutura — nenhum ajuste resolve isso |
Para onde seguir
Use o GRBL. Depois que a máquina estiver comprovada, gravar o GRBL fornece um interpretador de G-code de verdade, com determinação da origem, limites de software, sistemas de coordenadas e aceleração já implementados. Configure $100 e $101 com seus passos/mm calibrados e você poderá comandá-la por qualquer ferramenta CAM.
CoreXY. Os mesmos dois motores, ambos fixos na estrutura, com as correias roteadas de modo que X e Y sejam combinações dos dois motores, em vez de um para cada eixo. Há menos massa em movimento, então a máquina é mais rápida e precisa — ao custo de uma camada de transformação cinemática entre as coordenadas e os motores.
Um laser em vez de uma caneta. Mecanicamente é a mesma máquina com outra ferramenta, mas um laser de diodo acrescenta requisitos reais de segurança ocular, uma carcaça e travamentos de segurança. Trate como um projeto separado, não como uma troca.
Um eixo Z com fuso de avanço. Se quiser desenhar em uma superfície com relevo ou passar para gravação leve, um fuso T8 fornece 400 passos/mm e mantém a posição mesmo com a máquina desligada.
Motores de passo com realimentação. A única melhoria que elimina completamente o modo de falha mais grave deste projeto. Um encoder na parte de trás de cada motor transforma uma perda de passo silenciosa em uma correção ou um alarme. Custa três ou quatro vezes mais e, de fato, é desnecessário se todos os marcos acima foram aprovados.
Roteiro do projeto
O caminho de construção
Siga a árvore tecnológica das peças até um robô funcionando. Cada nó é desbloqueado quando seus pré-requisitos são concluídos, e seu progresso fica salvo neste dispositivo.
0 / 20 concluídos
Componentes
- AtuadorMotor de passo NEMA 17Posição em malha aberta sem encoder, desde que você nunca peça mais torque do que o motor tem.
- DriverDriver de motor de passo A4988Um regulador de corrente com potenciômetro—acerte esse número e todo o resto funciona.
- ControladorArduino UnoA placa de 8 bits que tolera erros de ligação, pela qual a maioria das pessoas começa na robótica.
- SensorMicrochave de alavancaA única informação de detecção que diz ao robô que ele já colidiu com alguma coisa.
- AtuadorServomotor SG90O servomotor de nove gramas presente na maioria dos braços, garras e direções de robôs.
- AlimentaçãoBateria e fonte de alimentação do robôA diferença entre um robô que funciona e outro que fica reiniciando.
Tutoriais deste caminho
- Intermediário · 35 minMotores de passo: ângulo de atraso e perda de passoO ângulo de atraso explica o comportamento do motor de passo. Aprenda isso e a perda de passo deixa de ser um mistério.
- Iniciante · 30 minA4988: ligação e Vref para definir o limite de correnteO único ajuste que decide se seu motor de passo funciona ou queima: definir Vref com um multímetro.
- Iniciante · 25 minPassos/mm: correias, fusos de comando e resoluçãoUm número conecta pulsos a milímetros. Derive-o e prove-o com uma medição.
- Intermediário · 30 minReferenciamento e fins de curso: coordenadas de trabalhoPor que toda máquina CNC aciona um interruptor de fim de curso na inicialização e o que esse procedimento define.
- Intermediário · 40 minPerfis de movimento: aceleração trapezoidal e curva em SUse uma rampa em vez de comandar o movimento — perfis trapezoidais, limites do salto de aceleração e o custo de uma curva em S.
- Intermediário · 30 minCaixa de engrenagens: medir a folga mecânica (backlash)Toda caixa de engrenagens tem folga mecânica. Descubra quanto a sua tem e o que ela está custando silenciosamente ao seu robô.
- Iniciante · 30 minPor que delay() quebra robôs: temporização com millis()Um robô parado em delay() fica cego. Substitua-o por millis() e acerte a comparação no transbordamento.
- Iniciante · 30 minPor que seu robô reinicia quando os motores entram em operaçãoCalcule o orçamento de corrente de um robô, considere a resistência interna da bateria e meça a queda de tensão sob carga.
Pratique antes de fazer a fiação
Ajuste no simulador ao vivo
O caminho de construção passa por um laboratório no navegador. Acerte o comportamento aqui e depois transfira suas configurações para o robô real.
Perguntas frequentes
Quão preciso pode ser um plotter de caneta para hobbies?
Um plotter de correias bem construído tem repetibilidade de cerca de 0,1 a 0,2 mm e fecha um quadrado de 100 mm com erro de poucos décimos de milímetro. Os limites não estão no motor: com micropasso 1/16 e uma polia GT2 de 20 dentes, um micropasso mede 0,0125 mm, muito menor que qualquer outra parte da máquina. O que realmente determina o erro é a tensão das correias, a rigidez da estrutura, a folga nas polias e o quanto os dois eixos são perpendiculares. Se a repetibilidade é pior que meio milímetro, meça esses quatro fatores antes de alterar qualquer ajuste do firmware.
Preciso de uma placa CNC ou posso usar protoboard?
As duas opções funcionam. Uma placa CNC custa cerca de cinco libras, oferece soquetes para os drivers, disponibiliza os pinos de fim de curso e do fuso e inclui o capacitor de filtro — o que elimina a causa mais comum de danificar um driver. Protoboard funciona para dois eixos se você adicionar seu próprio capacitor de 100 µF em paralelo com VMOT e manter a fiação dos motores longe dos sinais de passo, mas a placa custa menos que o segundo driver que você destruiria.
Por que usar um servo para a caneta em vez de um terceiro motor de passo?
Porque a caneta só precisa de duas posições, cima e baixo, e não precisa de precisão em nenhuma delas. Um servo comum faz isso com um pino de sinal e sem driver, que é exatamente a tarefa para a qual ele é adequado. Um eixo Z com motor de passo exigiria um terceiro driver, um terceiro conjunto de pinos, um fuso de avanço e uma chave de posição de origem, tudo para reproduzir algo que um servo de duas libras faz em uma linha de código.
Correia ou fuso de avanço para os eixos X e Y?
Correia, sem muita hesitação. Uma correia GT2 fornece 80 passos/mm e funciona facilmente a 200 mm/s ou mais; um fuso T8 fornece 400 passos/mm, mas precisa de cinco vezes mais pulsos para a mesma distância, o que em um Arduino Uno limita a velocidade a cerca de 30 mm/s. Um plotter quase não transporta carga e precisa se mover rapidamente sobre uma página, exatamente o caso em que as correias são adequadas. Os fusos são indicados em um eixo Z que precisa sustentar peso.
Por que meu quadrado não fecha?
Quatro causas, e elas podem ser distinguidas. Se o erro for uma porcentagem fixa da distância, seus passos por milímetro estão errados — calibre com uma régua. Se for uma quantidade constante, independentemente do tamanho, é folga; aperte as correias e verifique os parafusos Allen da polia. Se for diferente a cada vez, você está perdendo passos; reduza a aceleração ou aumente a corrente. E, se o quadrado formar um paralelogramo em vez de permanecer aberto, os dois eixos não estão perpendiculares, um problema da estrutura que nenhum ajuste resolve.
Posso executar GRBL em vez de escrever firmware?
Sim, e esse é o caminho sensato depois que a máquina funcionar. O GRBL transforma o Uno em um interpretador de G-code com determinação da origem, limites de software, aceleração e sistemas de coordenadas já implementados, e você configura os passos por milímetro com $100 e $101. O motivo para escrever primeiro a versão simples é que depurar uma máquina e uma configuração de firmware ao mesmo tempo é muito mais difícil do que fazer um depois do outro.