Inversão de rotação com relês para motor de corrente contínua
Explicação de funcionamento:
1o Caso: Quando é enviado o comando “sudo outb 0x378 0” para a IHL paralela, todos os bits irão
para o estado de nível baixo (0-GND-Terra-0V). Porém, a IHL paralela possui em sua saída o
circuito integrado ULN2803, que inverte o estado lógico. Logo, o estado lógico de D0 e D1, será de
nível lógico alto (1-5V). Os relês (R1 e R2) não irão comutar porque a polarização de suas bobinas
estão com níveis lógicos alto, ou seja, R1 e R2 estão com 5V em ambos os lados de suas bobinas.
Neste instante o motor irá ficar parado, porque ele está com nível lógico alto em ambos os lados fio vermelho (1-5V) e fio branco (1-5V).
2o caso: Quando é enviado o comando “sudo outb 0x378 1” para a IHL paralela, o bit D0 irá para o
nível lógico alto. Porém, ao passar pelo inversor (ULN2803) o nível lógico irá para baixo (0-GND).
Com isso, o relê (R1), que passa a polarizar a sua bobina (0V e 5V), aciona a chave de comutação,
ou seja, o “C” (comum) que estava com o “NF” (Normalmente Fechado), muda para o “NA”
(Normalmente Aberto). O relê (R2) não mudará de estado, porque sua bobina está polarizada com
5V em ambos os lados. Logo, o motor estará com nível baixo (0-GND) no fio branco e nível alto
(1-5V) no fio vermelho, fazendo com que o motor gire para a direita.
3o caso: Quando é enviado o comando “sudo outb 0x378 2” para a IHL paralela, o bit D1 irá para o
nível lógico alto. Porém, ao passar pelo inversor (ULN2803) o nível lógico irá para baixo (0-GND).
Com isso, o relê (R2), que passa a polarizar a sua bobina (0V e 5V), aciona a chave de comutação,
ou seja, o “C” (comum) que estava com o “NF” (Normalmente Fechado), muda para o “NA”
(Normalmente Aberto). O relê (R1) não mudará de estado, porque sua bobina está polarizada com
5V em ambos os lados. Logo, o motor estará com nível alto (1-5V) no fio branco e nível baixo (0GND) no fio vermelho, fazendo com que o motor gire para a esquerda.
4o caso: Quando é enviado o comando “sudo outb 0x378 3” para a IHL paralela, os bits D0 e D1
irão para o nível lógico alto. Porém, ao passarem pelo inversor (ULN2803) os níveis lógicos irão
para baixo (0-GND). Com isso, os relês (R1 e R2), que passam a polarizar as suas bobinas (0V e
5V), acionam a chave de comutação, ou seja, o “C” (comum) que estava com o “NF”
(Normalmente Fechado), muda para o “NA” (Normalmente Aberto) em ambos os relês. Neste
instante o motor irá ficar parado, porque ele está com nível lógico baixo em ambos os lados - fio
vermelho (GND-0V) e fio branco (GND-0V).
Exemplo de código fonte em shell script:
#!/bin/bash
#Danilo Rodrigues César
#Licença GPL
a=0
b=10
sudo outb 0x378 0 #motor parado – 1o caso
while [ $a -lt $b ] #executa este processo 10 vezes. Compara o conteúdo da variável “a” com o
conteúdo da variável “b”. Quando “a” for igual a 10 o processo termina, pois “a” terá o mesmo
valor de “b”. Representado pelo caractere “<”, a comparação “-lt” significa “less than” (menor que).
do
sudo outb 0x378 1 #motor acionado – 2o caso
sleep 20 #motor gira por 20 segundos para a direita
sudo outb 0x378 2 #motor acionado – 3o caso
sleep 20 #motor gira por 20 segundos para a esquerda
((a=a+1)) #incrementa de 1 em 1 até 10
sudo outb 0x378 3 #motor parado – 3o caso
sleep 20 #motor parado por 20 segundos
done
sudo outb 0x378 0#motor parado – 1o caso
Danilo Rodrigues César
Download

Inversão de rotação com relês para motor de corrente contínua