[Tutorial] Motor de Passo 28-BYJ-48
Arduino Brz :: Arduino :: Tutoriais
Página 1 de 1
[Tutorial] Motor de Passo 28-BYJ-48
Ola povo[3] , O projeto de hoje é bem legal, Motores de Passo . Pode parecer complicado, e realmente é um pouco , mas com uso das bibliotecas do arduino, você não precisa de um alto conhecimento sobre funcionamento dos motores de passo. Entretanto, você deve no minimo, se informar sobre as caracteristicas do seu modelo (bipolar, unipolar, numero de steps, etc, etc). Não se esqueça de usar uma fonte externa caso seu motor use +500mA, tome cuidado !
Atenção, neste exemplo, estou usando as configurações do MEU MOTOR, USE AS SUAS!
Materiais Utilizados:
1 - Motor de Passo 28-BYJ-48 + Driver ULN2003.
1 - Arduino (Qualquer modelo).
E muitos fios para ligar esse unico motor .
Circuito:
Este meu motor, é bem famoso e simples para projetos pequenos a onde nao se exige muito Torque. Basicamente é um motor Unipolar de 64 Passos com uma Redução de 64x, logo o deixa com 4096 passos para completar 1 volta.
Datasheet:http://robocraft.ru/files/datasheet/28BYJ-48.pdf
Vamos ao Código!
Por alguma razao, meus 2 motores 28BYJ, Estao com 2048 passos para completar uma volta, mas tudo bem. Para saber quantos passos você precisa dar para "Andar X graus", faça:
360/STEPS, a onde steps são os passos para completar uma volta no seu motor. No meu caso foi 360/2048, que me gerou 0,17 graus por Passo!. Ainda pesquisarei mais para entender esse "Erro" Acima que citei.
Este codigo nao esta implementado a opçao de inverter a direção da rotação, que deve ser feita com SetPinsInverted, Veja na pagina oficial da biblioteca abaixo.
Download e TODOS comandos relacionados à biblioteca:
http://www.airspayce.com/mikem/arduino/AccelStepper/index.html
Atenção, neste exemplo, estou usando as configurações do MEU MOTOR, USE AS SUAS!
Materiais Utilizados:
1 - Motor de Passo 28-BYJ-48 + Driver ULN2003.
1 - Arduino (Qualquer modelo).
E muitos fios para ligar esse unico motor .
Circuito:
Este meu motor, é bem famoso e simples para projetos pequenos a onde nao se exige muito Torque. Basicamente é um motor Unipolar de 64 Passos com uma Redução de 64x, logo o deixa com 4096 passos para completar 1 volta.
Datasheet:http://robocraft.ru/files/datasheet/28BYJ-48.pdf
Vamos ao Código!
- Código:
#include <AccelStepper.h>
AccelStepper motor1(4, 26, 27, 28, 29);//Motor FULL4WIRE, ligado aos pinos z,y,x,w.
int graus = 90;//Mude aqui quantos graus você quer que o motor gire.
void setup()
{
motor1.setCurrentPosition(0);
}
void loop()
{
mathgraus();
}
void mathgraus()
{
float math1 = int(graus / 0.17578125);//2048 passos (0.17578125)
motor1.moveTo(math1);
while (motor1.distanceToGo() != 0)
{
motor1.setMaxSpeed(256);
motor1.setSpeed(64);
motor1.runSpeedToPosition();
}
motor1.disableOutputs();
}
Por alguma razao, meus 2 motores 28BYJ, Estao com 2048 passos para completar uma volta, mas tudo bem. Para saber quantos passos você precisa dar para "Andar X graus", faça:
360/STEPS, a onde steps são os passos para completar uma volta no seu motor. No meu caso foi 360/2048, que me gerou 0,17 graus por Passo!. Ainda pesquisarei mais para entender esse "Erro" Acima que citei.
Este codigo nao esta implementado a opçao de inverter a direção da rotação, que deve ser feita com SetPinsInverted, Veja na pagina oficial da biblioteca abaixo.
Download e TODOS comandos relacionados à biblioteca:
http://www.airspayce.com/mikem/arduino/AccelStepper/index.html
Arduino Brz :: Arduino :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos