Motor de Passo Unipolar

Fazer funcionar um motor de passo UNIPOLAR com H-BRIDGE.



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);

}

//------------------------------------------------------------------------

Controlando Dois Motores de passo
























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:
SITE AZEGA.COM ( LEIA AS DUAS PARTES  - O .PDE ESTÁ POSTADO Á)
TOM IGOE - Stepper Motor Control

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





3 comentários:

  1. Qual o nome desse driver que controla dois motores, e qual o preço mais ou menos dele?

    ResponderExcluir
  2. Eai, 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

Faça seu comentário.

Internet of Things

LUX com arduino GPRS shield e sensor LDR.

/*
Graph: Feed 38642, Datastream lux
*/

Laboratórios, Lojas e Produtos

Blogs, Comunidades e Revistas