E uma biblioteca extra doArduino encontrada no seu site que possui funcoes para controlar motores depasso. Fornece uma interface orientada a objeto para 2 ou 4 pinos de um motorde passo.Essa biblioteca melhorasignificativamente a biblioteca padrao do arduino, a stepper.h, pois ela podemover varios motores simultaneamente, suporta aceleracao e desaceleracao,suporta motores de 2 e 4 fios evelocidades muito lentas.Funcoes:setMaxSpeed(float speed ) Define a velocidade maxima permitida. Afuncao run () ira acelerar o motor ate atingir essa velocidade.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.setMaxSpeed(100); } setAcceleration(float acceleration) Define os parametros de aceleracao edesaceleracao.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.setAccelaration (50);} moveTo(long absolute) move o motor para a posicao desejada,necessita da funcao run() para que o motor seja acionado.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);} run() - Comando de acionamento do motor. Implementa a aceleracaoe desaceleracao no motor para que a trajetoria desejada seja realizada. Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);}void loop {stepper1.run ();} distanceToGo() - A distanciaentre a posicao atual para a posicao de destino.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);}void loop {stepper1.run ();if (stepper1.distanceToGo == 0) stepper1.moveTo(-100);} currentPosition () Posicao atual do motor.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);}void loop {stepper1.run ();if (stepper1.distanceToGo == 0){ stepper1.moveTo(-stepper1.currentPosition ()); stepper1.run();}} runToPosition () Move o motor para umaposicao ate que atinja a posicao desejada.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);}void loop {stepper1.run ();if (stepper1.distanceToGo == 0) stepper1.runToPosition(-100);} runToNewPosition () Move o motor para umanova posicao ate que atinja o alvo.Ex: #include <AccelStepper.h>AccelStepper stepper1;void setup {stepper1.moveTo (200);}void loop {stepper1.run ();if (stepper1.distanceToGo == 0) stepper1.runToNewPosition(-200);} Existem outras funcoes nessa biblioteca,porem essas sao as usadas para o programa de controle da CNC. Com o intuito de facilitar os testes e dando inicio a uma das proximas etapas, comecamos a estudar o Arduino, que e uma plataforma de hardware livre que tem como objetivo criar ferramentas que sao acessiveis, com baixo custo, flexiveis e faceis de usar. Principalmente para aqueles que nao teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas. Mais informacoes sobre o Arduino no site oficial http://arduino.cc/.O software do Arduino e baseado na linguagem C/C++, e simples e facil, da pra aprender a programar rapidinho, principalmente aqueles que ja tem uma base em C/C++.Com o Arduino foi possivel gerar as sequencias necessarias e controlar a velocidade do motor de forma facil e rapida. Se voce hobbista ou tecnico em eletronica recem formado, esta fervendo de expectativas para colocar seus conhecimentos em pratica e decidiu genialmente construir uma fresadora CNC para criar suas placas de circuito Impresso, chegou ao lugar certo, esse blog tem como objetivo mostrar o dia a dia do processo de desenvolvimento de uma maquina CNC que esta sendo criada por nos, alunos do curso de eletronica do Instituto Federal de Sergipe. Aqui iremos postar frequentemente o passo a passo usado na montagem da maquina de comando numerico, os erros, acertos, componentes carbonizados e alerta de incendio disparado a cada novo componente queimado, tudo isso e muito mais pra todo aquele que acha irresistivel os prazeres e perigos da Eletronica. E fato que o Rage nao lanca algo que faca jus ao nome