No vídeo acima aparece o motor funcionando com um script que gera movimentos aleatórios variando a velocidade e direção, este controle é feito pela placa arduino, a placa que se vê ao lado do motor é a placa com os transistores que controlam a força aplicada a cada bobina do motor na sequencia desejada.
Inicialmente o conceito do motor de passo é bastante confuso porque trata-se de um motor movido por várias bobinas que quando acionadas em séries fazem com que o motor mova-se em passos ou em rotação em qualquer direção.MATERIAIS USADOS:
1. Motor de passo SM 1.8 NEMA 23
2. Placa CNC com 2 conjuntos de 4 Transistors Transistor darlington NPN, max 100V 5A. ( fabricação microgenius)
O TIP122 é um transistor NPN do tipo darlington (ou seja: são dois transistores dentro do mesmo invólucro, um excitando o outro, de maneira a se aumentar muito o ganho total). Ele foi desenvolvido para aplicações de chaveamento (tanto que já possui um diodo interno para a proteção da junção coletor/emissor do transistor). "clube do hardware"
3. Arduino Duemilenove ( arduino.cc)
4. Bateria de 12 volts 7 amp ( First Power) - roubada de um alarme :-)
O site AZEGA.COM me ajudou muito a entender o processo, este site tem os equemas e o conhecimento necessário para fazer o trabalho (veja os links abaixo).
Este exemplo é igual ao esquema da placa acima e utiliza os mesmos transistores NPN para ser montado na breadboard:
Para controlar o movimento do motor é utilizada a biblioteca stepper, esta biblioteca permite setar os seguintes parâmetros como comentado no exemplo abaixo:
//-----------------------------------------------------------------------------------
#include
// define os passos do motor ( ângulo do passo % 360 = passos para uma volta completa)
#define STEPS 200
// cria uma instancia da classe stepper com o número de passos e os pinos que vao atuar
Stepper stepper(STEPS, 2, 3, 4, 5);
void setup()
{
// define o numero de RPM a ser aplicado ( o meu motor travou com 200, preciso descobrir porque)
stepper.setSpeed(100);
}
void loop()
{
// define o numero de passos a realizar
stepper.step(200);
// para dar uma parada antes de realizar outra volta
delay(1000);
}
//------------------------------------------------------------------------
Para controlar dois motores de passo bastou criar outra instância do objeto stepper e definir os pinos, rpm e passo:
----------------------------------------------------------------------
#include
// define os steps dos motores
#define STEPS 200
// cria os objetos , desta vez usei mais 4 pinos da duemilanove - 8, 9, 10, 11
Stepper stepper0(STEPS, 2, 3, 4, 5);
Stepper stepper1(STEPS, 8, 9, 10, 11);
void setup()
{
// define o RPM de cada motor
stepper0.setSpeed(100);
stepper1.setSpeed(100);
}
void loop()
{
// define o numero de passos, note que com valor negativo e controlada a direção.
stepper0.step(-200);
stepper1.step(200);
//delay(1000);
}
------------------------------------------------------------------------
Visão da placa cnc com todos os fios conectados:
Referencias Principais:
Outras Pesquisas:
link para site com esquema de controle usando H-Bridge:
http://www.azega.com/controlling-a-stepper-motor-with-an-arduino-part-2/
Animação com motor de passo, muito bom para entender o funcionamento
Controlar motor de passo com L293D : H BRIDGE:
http://www.seattlerobotics.org/Encoder/may98/steppers.html
http://www.8051projects.net/stepper-motor-interfacing/stepper-motor-connections.php
http://www.instructables.com/id/Control-your-motors-with-L293D-and-Arduino/
http://www.slscope.co.uk/electronics_projects/arduino/projects/dual_stepper_motor_controller/dual_stepper_motor_controller_2.html
http://dorkbotpdx.org/blog/feurig/scary_george_driving_a_floppy_drive_stepper_with_the_arduino_wiring_platform
Com detalhes para vários motores mas hardware montado:
http://www.ladyada.net/make/mshield/use.html
http://s217877884.websitehome.co.uk/electronics_projects/arduino/projects/dual_stepper_motor_controller/dual_stepper_motor_controller_software.html
This project now provides for control of two bi-polar stepper motors via an Arduino either from instructions issued from a PC (personal computer) to the USB/Serial port, or by operating switches connected to the analogue input lines of the Arduino.
http://s217877884.websitehome.co.uk/electronics_projects/arduino/projects/dual_stepper_motor_controller/dual_stepper_motor_controller_software.html
Curiosidades com motor de passo:
http://www.urbanhonking.com/ideasfordozens/2009/10/real_pen_etchasketch_with_step.html
Site wiring:
http://www.wiring.org.co/learning/libraries/steppermove.html
Qual o nome desse driver que controla dois motores, e qual o preço mais ou menos dele?
ResponderExcluironde compro esse driver?
ResponderExcluirEai, tudo bem? Eu estou procurando uma placa como esta que você está usando para controlar os motores de passo, no caso, o "driver", eu vi que é da microgenius, mas não achei para vender! Qualquer ajuda, fico grato! pode entrar em contato por e-mail comigo, por favor, é: lcnpj@hotmail.com . Obrigado!
ResponderExcluir