Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada.
sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);
EXPERIMENTO 1
O primeiro experimento com a Ponte-H, será com as chaves liga/desliga/liga (alavanca 3T).
HARDWARE & MATERIAIS:
2 x Chaves alavanca de 3 posições, tipo LIGA/DESLIGA/LIGA
1 x motor DC de uso geral
Pack de bateria ou fonte de alimentação
Fios e cabos
Lembrando o conceito:
em a) vemos as chaves sem acionamento e o motor está parado
em b) temos a chave superior da primeira "perna" do H acionada e a chave inferior da segunda "perna" do H acionada, o que resulta no motor girando em um sentido (por exemplo: horário).
em c) temos a chave inferior da primeira "perna" do H acionada e a chave superior da segunda "perna" do H acionada, o que resulta no motor girando no outro sentido (por exemplo: anti-horário).
NUNCA, deve ser acionado duas chaves na mesma "perna" do H, pois isso causaria um curto-circuito no sistema.
O acionamento de chaves em ambas as "pernas" do H, duas chaves superiores ou as dua chaves inferiores; isso não causaria efeito algum.
Esquema real de montagem:
Em X1-1 e X1-2, deve ser conectado o motor DC com tensão conveniente à alimentação do sistema.
Este esquema nos protege do caso que nunca devemos executar; pois, com o tipo de chave utilizado, nunca poderemos acionar somente uma "perna" do H (não podemos causar o curto-circuito).
O teste consiste em acionar as chaves de forma opostas; uma para cima e a outra para baixo e vice-versa.
VÍDEO:
Melhor visualizado pelo youtube: http://youtu.be/9Kz4qM8wOFY
EXPERIMENTO 2:
Agora vamos melhorar um pouco nossa ponte H, utilizando componentes eletrônicos discretos, tais como resistores e transistores bipolares de uso geral.
Isso permitirá utilizar o Arduino, para controlar o sentido da rotação de um motor DC.
De posse desse tipo de controle, podemos pensar em diversas utilizações para a ponte H.
HARDWARE & MATERIAIS:
2 x Transistores BC548C
2 x Transistores BC558C
4 x Resistores de 1KΩ
4 x resistores de 10KΩ
4 x Diodos 1N4148
1 x Motor DC
1 x BreadBoard
Fios e cabos para as conexões
Conectores parafusáveis (opcional)
Placa de circuito (opcional)
DataSheet dos Transistores
http://www.datasheetcatalog.org/datasheet/fairchild/BC548.pdf
http://www.datasheetcatalog.org/datasheet/fairchild/BC558.pdf
ESQUEMA & LAYOUT:
Abaixo o esquema e o layout da placa em eagle.
Não esqueça de conectar o GND do arduino com o GND do circuito (pino 2 - central do conector JP1)
Os outros dois pinos do conector JP1 são de sinal proveniente do Arduino (conforme programa).
No arduino os pinos usados foram o 10 e 11 .
Ligar M1-A ao pino 10 e M1-B ao pino 11
X1 é a conexão do Motor DC.
X2 é a coneção da alimentação externa para o motor. Sendo: X2-1=+VCC e X2-2=GND
Esquema Eletrônico |
Por exemplo: 330 Ω ou 470 Ω.
Ao colocar M1-A em nível Alto, T1 ficará no estado de corte (Aberto) e T3 em saturação (conduzindo), ao mesmo tempo, colocando M1-B em nível Baixo, T4 ficará no estado de corte (aberto) e T2 em saturação (conduzindo). O motor irá ter uma rotação em um sentido.
Invertendo as condições em M1-A e M1-B, teremos rotação no outro sentido.
Layout Circuito Impresso |
Pegue os arquivos originais aqui:
http://www.4shared.com/file/xaqSKSfU/Ponte_H_BC548-558.html
Circuitos mais avançados podem também ser testados.
SOFTWARE & PROGRAMAÇÃO:
O programa para teste é muito simples; consiste em um programa que comanda o motor em uma direção durante 1 segundo, inverte a direção por mais um segundo e assim por diante em loop.
Neste caso o suso é muito limitado, porém temos grandes possibilidades, tais como: controle de motor de passo para maior precisão no giro, uso do PWM para variação de velocidade, controle de servo-motores em aplicações de Robótica, Domótica ou Modelismo.
Enfim....
Basta programar e usar sua Ponte H com transistores.
// programa exemplo, somente
void setup(){
pinMode(10, OUTPUT); // definição dos pinos
pinMode(11, OUTPUT);
digitalWrite(10, HIGH); // para o motor
digitalWrite(11, HIGH);
}
void loop(){
digitalWrite(10, HIGH); // primeira direção
digitalWrite(11, LOW);
delay(1000); // espera 1 segundo
digitalWrite(10, LOW); // segunda direção
digitalWrite(11, HIGH);
delay(1000); // espera 1 segundo
}
// FIM DA COMPILAÇÃO
EXPERIMENTO 3:
Para obtermos uma maior corrente no acionamento de dispositivos que puxam uma maior corrente, devemos usar transistores que forneças esta corrente, assim, neste experimento, foi usado o transistor Darlington TIP-120 para a montagem da Ponte H.
Com isto garantimos uma maior corrente, um maior ganho de corrente, ou seja: necessitaremos menos corrente do Arduino para acionar uma carga que exige uma maior corrente.
Detalhe do circuito na BreadBoard |
Mais detalhe, conector de alimentação externa |
Circuito com o controle por PWM, via potenciômetro |
HARDWARE & MATERIAIS:
4 x Transistores TIP120 ou TIP122
4 x Resistores de 1KΩ
1 x Motor DC
1 x BreadBoard
Fios e cabos para as conexões
Conectores parafusáveis (opcional)
Placa de circuito (opcional)
http://www.fairchildsemi.com/ds/TI/TIP120.pdf
ESQUEMA & LAYOUT:
Abaixo o esquema e o layout da placa em eagle.
No circuito,foi utilizado resistor de 1KΩ
X1-1 e X1-2, é a conexão do Motor DC.
X2-1 é a Conexão do GND e X2-2 é a conexão do +V Externo.
Originais Eagle:
http://www.4shared.com/file/sTNEBxsB/Ponte_H_TIP120.html
SOFTWARE & PROGRAMAÇÃO:
Para o teste podemos usar o mesmo código da seção anterior.
Porém;
É possível colocar um potenciômetro conectado ao arduino (pino A0 por exemplo) e assim efetuar um controle PWM de velocidade e direção do Motor DC.
+5V----------/\/\/\/\/\-------------GND
|
|
A0
O 5V é o a alimentação proveniente do arduino (alimentação lógica, separada da alimentação do Motor DC).
O Código abaixo é um simples exemplo de como efetuar esse controle.
Na posição central do potenciômetro, teríamos o motor parado, girando para a esquerda o motor teria sentido anti-horário, e girando para a direita o motor teria sentido horário.
/* código de domínio público
modificações são permitidas sem necessidade de aviso prévio*/
// definição de pinos e constantes
VÍDEOS:
Dúvidas e sugestões enviem para: arduinobymyself@gmail.com
No youtube: http://www.youtube.com/watch?v=hk4APp1_Jd0
// definição de pinos e constantes
int pinH1 = 9;
int pinH2 = 10;
int pinPOT = 0;
int valor;
int valorH1;
int valorH2;
void setup()
{
Serial.begin(9600); // inicialização da comunicação serial
}
// loop prinicpal do programa
void loop()
{
valor = analogRead(pinPOT); // faz a leitura analógica do potenciômetro
// mapeia os valores lidos
valorH1 = map(valor, 0, 511, 255, 0); // entre 0 e metade do cursor do POT
// determina rotação em um sentido
valorH2 = map(valor, 512, 1023, 0, 255); // entre metade do cursor do POT e o fim de curso
// determina rotação no outro sentido
if (valor > 511){
valorH1 = 0; // ao ultrapassar a metade do cursor do POT, zera este valor
}
else{
valorH2 = 0; // se ainda não está na metade, deixa este valor zerado
}
// imprime no monitor serial as informações recebidas do POT e valores H1 e H2
Serial.print("Valor: ");
Serial.print(valor, DEC);
Serial.print(" Valor H1: ");
Serial.print(valorH1, DEC);
Serial.print(" Valor H2: ");
Serial.println(valorH2, DEC);
// aciona os pinos do arduino convnientemente com o valor para o PWM.
analogWrite(portaH1, val1);
analogWrite(portaH2, val2);
}
// FIM DA COMPILAÇÃO
VÍDEOS:
Dúvidas e sugestões enviem para: arduinobymyself@gmail.com
No youtube: http://www.youtube.com/watch?v=hk4APp1_Jd0
Nenhum comentário:
Postar um comentário