Mostrando postagens com marcador TIP122. Mostrar todas as postagens
Mostrando postagens com marcador TIP122. Mostrar todas as postagens

H-Bridge

Pesquisa sobre H-brige, seu funcionamneto e aplicações.

Um robô (ou outra coisa qualquer que vc criar) pode movimentar-se com rodas,  pernas, esteiras, engrenagens  ou o que for. Em geral os motores mais simples para dar este movimento são os chamados Motores DC. Os motores DC são os mais simples e utilizados nos carrinhos de brinquedo. Existem diversos tipos de motores DC  ( brushed, brushless, stepper) mas básicamente seu funcionamento é o mesmo.


Mini Motor DC

Uma corrente cria campo magnético  e faz com que os imãs do rotor do motor girem para um lado ou para o outro. Ao aplicar-se corrente positiva no pólo positivo o motor gira para um lado, ao reverter aplicando corrente positiva no pólo negativo o motor gira para o outro lado, a sua velocidade também pode ser controlada pela intensidade da corrente aplicada ( acho que todo mundo sabe disso mas como a explicação é para mim mesmo.. vale a pena ser óbvio).

Você não vai querer ficar trocando os fios nos pólos dos motores do seu robô, todas as vezes que quizer que ele mude de direção, deve haver alguma forma de controlar isso a partir de comandos do microcontrolador e do software utilizado ( foi assim que eu pensei....).

No começo fiquei meio confuso, tentando entender como isso funciona, não sou um tecnico de eletrônica e demorei um pouco para juntar as peças. A primeira coisa que descobri é que existe um tipo especial de elemento eletrônico chamado de Transistor ( eu já sabia que existia isso ..assim como você...).


Transistor

Ao pesquisar entendi que este pequeno elemento tem a função de permitir a passagem ou bloquear a corrente elétrica. Uma boa explicação pode ser encontrada aqui não deixe de ler. Isto é feito pela mudança de estado dos eletrons dos materiais especiais dos quais ele é feito, é muito interessante e uma leitura muito útil para entender o mundo em que vivemos pois este pequeno componente está em todos os produtos que usamos no dia a dia.

Uma das muitas aplicações dos transistores é automatizar a troca de corrente nos pólos do motor para que ele gire para um lado ou para o outro dependendo da necessidade do seu projeto. Para evitar um obstáculo, para ir atrás da luz, para reagir a estímulos externos e tomar as direções desejadas. Existe também um outro elemento eletrônico chamado de MOSFET que tem a mesma função mas é controlado por pulsos lógicos do controlador ( 0/1), os dois podem ser usados com a mesma finalidade.

Juntando quatro transistores que funcionam como interruptores nas pontas de uma estrutura em H e no meio colocando o motor temos o que se chama de H-bridge. Dependendo da forma como a enegia é aplicada, o roteamento da corrente pode ser modificado, direcionando corrente positiva, negativa ou nenhuma corrente a cada um dos pólos do motor independentemente.



Esquema básico das formas de uso de uma H-BRIDGE , clique na imagem para carregar o .pdf com uma explicação ilustrada e completa.

Veja uma imagem de uma H-BRIDGE montada com quatro transistores para cada circuito, logo esta placa pode controlar 2 motores.


Existem também chips especiais que contém  todo este circuito internamente, eles podem fazer o trabalho de uma placa inteira como a que está acima dentro de um pequeno espaço ( mas não com a mesma carga). Um deles é o L293D, um chip H-brige muito usado para controlar motores em projetos de robótica




Conclusão:

Um circuito H-bridge serve para controlar a direção da movimentação de um motor. De acordo com a polaridade da corrente enviada a este circuito pelas portas do microprocessador existe a mudança de estado dos transistores e o roteamento da corrente de positivo para negativo ou de negativo para positivo em cada um dos pólos do motor.


Obs. Estas páginas são escritas para que eu mesmo possa entender, de forma alguma estão totalmente corretas e completas. Se você tem correções, comentários ou observações, serão muito bem vindas.

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





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