Os microcontroladores não podem fornecer ou drenar correntes acima de umas poucas dezenas de miliampères em suas saídas, o que é insuficiente para acionar motores de corrente contínua ou de passo. Mais ainda, as saídas são de corrente contínua o que impede que elas controlem diretamente motores de corrente alternada. Para trabalhar com motores e microcontroladores precisamos então de circuitos adicionais, os shields. Neste primeiro artigo abordamos shields para motores de corrente contínua.
Mesmo que tentemos controlar um pequeno motor, dentro das especificações das saídas de um microcontrolador, precisamos tomar precauções adicionais para que tudo funcione corretamente.
Os motores de corrente contínua (CC ou DC) possuem escovas que geram transientes que podem afetar o próprio circuito de controle (microcontrolador) e, além disso, mudam de consumo conforme a carga.
Sob carga intensa a sua corrente aumenta facilmente para além da capacidade de fornecimento de um microcontrolador e isso pode significar sobrecargas tanto para o microcontrolador como para sua fonte.
Para usar circuitos adicionais (shields) que possam excitar motores DC a partir da saída de circuitos lógicos digitais ou microcontroladores devemos levar em conta os seguintes fatos:
a) O motor não precisa ser necessariamente alimentado pela mesma fonte de controle ou microcontrolador. Pode ser usado um motor de tensão maior desde que a etapa de saída do circuito esteja de acordo com ele e a etapa de entrada de acordo com a lógica de controle. Podemos controlar um motor de 12 V a partir da lógica de 5 V da saída de um Arduino.
b) A corrente do shield deve estar de acordo com o exigido pelo motor. Para os casos de motores de alto consumo ou ruidosos é interessante usar fonte separada para o shield.
c) Deve-se considerar com o motor é uma carga fortemente indutiva. O shield deve prover isso com os componentes de proteção, normalmente um diodo em paralelo com o motor.
d) O aterramento comum do shield e do microcontrolador deve ser bem feito para que não sirva de percurso de realimente para transientes que possam afetar seu funcionamento.
Os circuitos de shield para motores que damos a seguir (e que servem também para outras cargas indutivas como relés e solenoides) fazem parte de nosso banco de circuitos.
Muitos usam componente que podem apresentar atualmente alguma dificuldade de obtenção, mas com cuidado o leitor pode encontrar na internet versões mais modernas equivalente.
Alguns circuitos também podem exigir pequenas alterações de valores de componentes para que sejam adaptados às características do motor.
Também incluímos circuitos de apenas “um componente” que então não se encaixam na categoria de shields, mas sim de uma “breakout board”. O que importa, entretanto, é a sua utilidade no interfaceamento de seu projeto microcontrolado com motores de corrente contínua.
Finalmente completamos, observando que em alguns casos usamos relés, que podem ser interessantes quando se deseja isolar o circuito do motor do circuito do microcontrolador, casos de motores ruidosos ou mesmo de segurança.
Num segundo artigo da série (MEC308) daremos uma coletânea de shields para motores de passo.
1 - Breakout board para reversão de motor DC
Para inverter a rotação de um motor com a troca de níveis de uma saída de um Arduino ou outro microcontrolador podemos usar um relé de 5 V conforme ligação mostrada abaixo. O motor tem alimentação independente. Para ligar e desligar o motor podemos usar um segundo relé. Para relés de maior tensão é conveniente usar uma etapa de excitação conforme a dada no próximo circuito.
2 - Controle de movimento para motores DC
Um pouco mais complexo que o anterior, já podendo ser chamado de shield, este circuito pode ser usado no controle de movimento de um robô, atuando sobre o motor. Dois motores devem ser usados em controles semelhantes, havendo duas entradas lógicas de controle. O circuito pode ser facilmente adaptado para operar como um shield de microcontrolador utilizando-se relés sensíveis de 5 V.
3 - Shield para acionamento de rele no controle de Motores
O que diferencia este circuito do anterior é a necessidade de uma corrente muito menor para acionamento. O relé pode ser de 5 ou 12 V conforme a alimentação e a a fonte tanto para o motor como para este circuito deve ser separada do microcontrolador. Com isso evita-se o problema de interferências das escovas do motor.
4 - Driver para motor DC
Este circuito simples de uma documentação de 1987 pode ser usado em robótica e automação como, além de ser controlado por microcontroladores como Shield de potência. O relé é de 5 a 12 V conforme o tipo de controle e para melhor desempenho resistores de 1k devem ser ligados em série com as bases dos transistores. As funções de controle são:
E1 | E2 | Função |
0 | 0 | parado |
0 | 1 | inverso |
1 | 0 | parado |
1 | 1 | direto |
5 - Shield de controle de motor DC
Motores de corrente contínua de 5 a 12 volts e correntes de até 2 ampères podem ser controlados com este circuito. O transistor TIP41 admite equivalentes e deve ser dotado de um bom radiador de calor. Com uma tensão positiva entre 0,6 volts e 5 volts temos o acionamento do motor.
6 - Shield Darlimgton para Cargas de Potência
Este circuito visa o uso da saída de um microcontrolador com baixa corrente no acionamento de uma carga de uma carga de alta corrente. Outros Darlingtons podem ser usados para correntes maiores. O circuito da carga deve ter alimentação independente de 6 a 18 V e o acionamento pode ser feito com sinais de 3,3 ou 5 V.O transistor deve ser montado em radiador de calor. O circuito é do livro Mechatronics Sourcebook de Newton C. Braga, publicado nos Estados Unidos.
7 - Shield de controle bidirecional de motor
Este é um controle de sentido de rotação para um pequeno motor até uns 2 A com os transistores indicados. O circuito pode ser utilizado como shield para microcontroladores ou em outras aplicações. Os transistores devem ser dotados de dissipadores de calor.
8 - Shield para motor de 3 V
Este circuito PWM foi encontrado numa publicação americana de 1978. Ele consiste num simples controle que, na realidade pode controlar motores de 3 a 12 V com correntes até uns 3 A. O transistor deve ser dotado de um radiador de calor, se a corrente do motor for maior do que 1 A. O circuito pode ser adaptado para operar como um shield de controle. Podem ser usados transistores de menor corrente, de acordo com o motor, como os BD135, TIP31, etc.
9 - Regulador Automático de velocidade para motores
Este tipo de circuito é muito usado em gravadores de fita-cassete e toca-fitas antigos, regulando a velocidade de um motor de corrente contínua até 500 mA. Trata-se de um circuito totalmente analógico que sensória a corrente no motor para manter a velocidade constante. Os dois ajustes são feitos nos trimpots e o BD137 deve ser montado em radiador de calor. A tensão de alimentação vai de 9 a 12 V. Este circuito pode ser usado como Shield auxiliar para manter constante a velocidade de um motor controlado por um microcontrolador.
10 - Opto Shield de Potência
O transistor usado é um Darlington de alta corrente, mas pode ser usada uma configuração discreta equivalente. O circuito é de uma antiga documentação francesa e a alimentação depende da carga. No caso foi dado como exemplo um relé de 48 V. Podem ser usados acopladores ópticos e transistores discretos.
11 - Shield isolado para Motores ou Relés
Para controlar relés ou motores DC de forma segura com um duplo isolamento pela porta paralela, sugerimos o circuito da figura. O isolador óptico isola o circuito do microprocessador ou do PC do circuito de acionamento dos relés, que pode operar com tensão diferente de 5 V. Na verdade, com o uso de relés de 12 V é possível obter melhor desempenho. Os relés de 12 V são mais fáceis de obter, mais sensíveis e com isso podem facilitar a montagem da interface.O resistor R1 deve ter seu valor escolhido de acordo com o tipo de acoplador óptico empregado de modo a se obter o ponto ideal de disparo com o sinal da porta no nível alto. Uma possibilidade para se encontrar o melhor valor, consiste em se usar no desenvolvimento do projeto um trimpot e depois substituí-lo por um resistor fixo. Levando em conta que os relés de 12 V comuns são especificados para uma corrente de 50 mA, a fonte deve ser dimensionada prevendo-se os instante em que todos eles estejam acionados. Assim, para uma interface em que as 8 saídas da porta paralela sejam usadas, a fonte deve ser capaz de fornecer os 400 mA exigidos.
12 - Ponte H simples
O sentido de rotação do motor M pode ser controlado por um Arduino ou outro microcontrolador através desta ponte H. Os níveis 00 mantém o motor parado enquanto que 01 e 10 determinam a rotação nos dois sentidos possíveis. A saída 11 é proibida pois faz com que os transistores conduzam ao mesmo tempo, levando o circuito a um curto circuito. As saídas podem ser moduladas para se obter o controle PWM de velocidade no sentido desejado.
13 - Ponte H completa com indicador de direção
Esta ponte completa possui como recurso adicional dois LEDs que indicam o sentido de rotação do motor controlado. A ponte faz uso de MOSFETs de potência devendo ser escolhidos tipos de acordo com a corrente do motor controlado. Estes transistores devem ser dotados de dissipadores de calor. A ponte pode ser controlada tanto por sinais de 3 como de 5 V e a situação 11 é proibida.
14 - Ponte H com lógica
Este circuito tem apenas dois estados possíveis 1 ou 0 na entrada, com o motor girando num sentido ou outro. Para parar ou lugar deve ser usado um comando adicional, por exemplo, com relé ou transistor em série com a alimentação. A alimentação do circuito integrado deve ser feita com a mesma tensão da saída usada no microcontrolador. Os transistores devem ser dotados de dissipadores de calor. Transistores equivalentes de maior corrente como os TIP31 podem ser usados.
15 - Ponte H com Darlingtons
Uma ponte de maior sensibilidade e, portanto, menor consumo para as saídas do microcontrolador é a mostrada a seguir, fazendo uso de transistores Darlington. Esta ponte tem 4 estados possíveis, 00 para o motor parado, 01 e 10 para os dois sentidos de rotação e o estado proibido 11 que leva todos os transistores à condução e com isso uma situação de curto-circuito. Os transistores devem ser dotados de dissipadores de calor. A alimentação separada para os motores pode ficar entre 3 e 15 V.