A NXP (www.nxp.com) apresenta em seu Application Note AN10513 um projeto de referência de um controle de motor DC com escova usando o LPC2101 um microcontrolador baseado em ARM7.
O LPC2101 é um microcontrolador da família LPC2000, oferecendo uma CPU de 32 bits de alta performance para manusear qualquer outro tipo de aplicação, o que o torna ideal para soluções one-chip.
Dentre as aplicações para esse controle temos brinquedos, ventiladores, impressoras, robôs, portas, janelas, veículos elétricos, misturadores de alimentos, processadores de alimentos, abertura de portas e janelas de veículos, aspiradores, escovas de dentes, barbeadores, etc.
No projeto é usado o LPC2101 que consiste numa CPU 12/32 bits ARM7 combinada com memória flash de alta velocidade. O dispositivo possui ainda timers de 16 e 32 bits além de um ADC de 10 bits e recursos PWM, possibilitando sua utilização em aplicações que exijam torque elevado de partida.
Para entender o funcionamento desse controle será interessante fazermos uma breve análise do princípio de funcionamento de um motor DC com escovas, mostrado em corte na figura 1.
Conforme podemos ver, nesse motor temos um imã permanente que cria um campo magnético dentro do qual pode girar uma bobina. Quando energizada por uma corrente, essa bobina cria um campo que interage com o campo do imã produzindo uma força que faz o rotor girar.
O giro vai até o ponto em que as linhas do campo do imã d do campo da bobina se alinham. No entanto, antes que isso ocorra, as escovas invertem o sentido da corrente na bobina de modo que rotor precisa continuar seu movimento até encontrar a posição de equilíbrio.
Mais meia volta e novamente a corrente é invertida de modo que o rotor nunca alcança uma posição de equilíbrio permanecendo girando enquanto houver corrente circulando pela bobina.
A velocidade e o torque de um motor desse tipo dependem do campo magnético gerado pela bobina energizada, a qual depende da intensidade da corrente.
Isso significa que ajustando a tensão e a corrente no rotor podemos também modificar a velocidade. Nesse projeto, a velocidade é alterada através de um controle PWM, em que o ciclo ativo da tensão aplicada ao rotor determina sua velocidade.O sinal PWM, nesse caso é gerado por um microcontrolador LPC2101.
Para obter a rotação em ambos os sentidos, o que se faz é alterar o sentido de circulação da corrente aplicada ao motor. A melhor maneira de se fazer isso, sem a necessidade de recursos mecânicos como chaves e relés é através de uma ponte H.
Através dela, dependendo dos transistores que entrem em condução, podemos obter dois sentidos de circulação para a corrente no motor e portanto, dois sentidos de rotação. Também podemos frear o motor e obter sua parada normal, conforme mostram as condições da figura 2.
Para controlar a velocidade, basta aplicar os pulsos PWM na comporta dos transistores da ponte, conforme mostra a figura 3.
A largura do pulso determina a potência aplicada ao motor e com isso a velocidade. Na aplicação, o microcontrolador é usado para gerar o sinal PWM. No entanto, para se obter um controle de velocidade apropriado é preciso levar em conta que a velocidade depende do torque.
Quando a carga aumenta o motor tende a reduzir a sua velocidade a a corrente aumentar. Uma maneira de manter a velocidade constante é sensoriar a corrente e compensar seu aumento, com um aumento da potência aplicada.
Assim o circuito possui um sistema de sensoriamento de corrente, o que é feito pela queda de tensão num resistor entre o MOSFET e a terra, o qual fornece um sinal para o microcontrolador. Esse sinal permite ao microcontrolador saber quando deve compensar a potência aplicada ao motor, pelo aumento da carga, de modo a manter a velocidade constante.
Uma outra utilidade do sensoriamento de corrente é evitar que o motor seja energizado quando travar. Nessa condição, a corrente excessiva no motor pode causar seu sobreaquecimento e a queima. Quando o limite de corrente é atingido, a alimentação é cortada.
Outro recurso implementado nesse controle é a medida da velocidade (RPM). Uma maneira simples de se obter uma indicação de rotação sem a necessidade de se usar sensores é aproveitar a força contra-eletromotriz gerada nos enrolamento do motor. A força contra-eletromotriz gerada é diretamente proporcional à velocidade do motor.
No controle apresentado, essa força-eletromotriz (na verdade uma tensão) é medida com os MOSFETs desligados. Temos então na figura 4 um diagrama de blocos do controle.
Usando o Microcontrolador LPC2101
A NXP usou o LPC2101 disponível em invólucro LQFP48, sendo esse o menor e mais barato membro da família LPC2000 baseada em ARM7. Esse microcontrolador tem uma CPU de 32 bits operando em 70 MHz, 2 kB de RAM estática on-chip e uma memória flash de programa on-chip de 8 kB. Outros membros da família estão disponíveis caso a aplicação exija uma memória maior ou periféricos específicos como USB, Ethernet, etc.
O motor dado na aplicação como exemplo foi um Maxon RE-40 de 150 W com alimentação de 12 V e uma velocidade sem carga de 6 920 RPM. A corrente máxima contínua do motor é de 6 A.
Levando em conta que a escolha da freqüência do PWM é um fator crítico em certas aplicações, pois pode resultar em ruído audível (faixa de 20 a 20k Hz) e que esse ruído aumenta na freqüência de ressonância das partes mecânicas do motor.
Outro problema a ser considerado é que algumas vezes a indutância do enrolamento do motor é insuficiente para impedir que a corrente caia a zero em parte de cada ciclo. Isso é denominado modo de corrente descontínuo e ocorre usualmente quando o motor está com uma carga leve.
Esse efeito é indesejável porque quando a corrente é descontínua, parte da curva torque x velocidade cai rapidamente quando a carga aumenta enquanto com o modo de corrente descontínuo parte da curva torque x velocidade cai muito rapidamente e isso faz com que a armadura pulse, levando o motor a produzir ruído. Nessa aplicação, a operação é no modo contínuo em 8 kHz.
O controle final, tem dois diagramas dados nas figuras seguintes. O primeiro é o do setor do microcontrolador, mostrado na figura 5.
O circuito de potência é mostrado na figura 6.
A listagem do programa em C está disponível no documento em PDF disponível no site da NXP, juntamente com algumas informações adicionais sobre o projeto, que podem ser de grande utilidade para os desenvolvedores.
Conclusão
O reference design descrito é muito importante em nossos dias, pois cresce a quantidade de produtos de consumo e mesmo para outros setores que fazem uso de motores de corrente contínua.
Obter o máximo de desempenho de um motor, além de agregar recursos que permitam o seu controle e também sua proteção com um consumo de energia inteligente só é possível com o uso de microcontroladores.