control-systems-and-automation
Projetando sistemas de controle eficiente de motores usando microcontroladores Pic
Table of Contents
Visão geral dos microcontroladores PIC para controle de motores
Os microcontroladores PIC, desenvolvidos pela Microchip Technology, estão entre os controladores embarcados mais utilizados em eletrônica industrial e de consumo. Seus periféricos integrados – módulos PWM, timers de alta velocidade, ADCs multicanais e manuseio de interrupção flexível – os tornam excepcionalmente adequados para aplicações de controle de motores. Quer conduzam um pequeno ventilador DC, um motor de passo de precisão em uma impressora 3D, ou um motor sem escova DC (BLDC) em um drone, um microcontrolador PIC pode servir como o núcleo de um sistema de controle eficiente e responsivo.
A chave para o controle eficiente do motor reside na capacidade de ajustar dinamicamente a entrega de energia com base no feedback em tempo real. As unidades de processamento de energia e hardware fornecem as características computacionais necessárias para implementar algoritmos de circuito fechado, como PID (proporcional-integral-derivado) sem exigir componentes externos. Além disso, seu baixo consumo de energia, ampla faixa de tensão operacional e extenso ecossistema de ferramentas de desenvolvimento e notas de aplicação reduzem o risco de projeto e o tempo de comercialização.
Tipos de motores e seus requisitos de controle
Diferentes tipos de motores impõem demandas de controle distintas. Compreender esses requisitos é o primeiro passo na seleção do microcontrolador PIC certo e na concepção do driver e algoritmo apropriados.
Motores escovados DC
Os motores escovados DC são simples, baratos e fáceis de controlar. A velocidade é regulada variando a tensão média aplicada, tipicamente através da modulação da largura do pulso (PWM). A direção é controlada revertendo a polaridade usando uma ponte H. O controle da velocidade do circuito fechado pode ser conseguido com um tacômetro ou um codificador que alimenta a unidade de captura de entrada do PIC. Um laço PID básico é suficiente para a maioria das aplicações, e o módulo PWM de qualquer PIC com um CCP ou um periférico ECCP pode conduzir diretamente a ponte H.
Motores Stepper
Os motores Stepper movem-se em etapas discretas, tornando- os ideais para o controle de posição sem um sensor de feedback (open-loop). O PIC deve gerar sequências precisas de pulsos para o driver do motor (por exemplo, A4988 ou DRV8825). Isto requer temporizadores precisos e resposta de interrupção rápida para evitar passos perdidos. O controle avançado inclui micro-stepping (por exemplo, 1/16o passo) para movimento mais suave. Os módulos de comparação/captura/PWM (CCP) do PIC podem ser configurados para produzir as frequências de passos necessárias. Para aplicações de alto torque, o controle atual usando o ADC e um resistor de sentido é frequentemente adicionado.
Motores de corrente contínua sem escovas (BLDC)
Os motores BLDC são mais eficientes e duráveis do que os tipos escovados, mas requerem comutação electrónica. O PIC deve conhecer a posição do rotor (via sensores Hall ou sensoriamento de retro-EMF) e energizar os enrolamentos corretos em sequência. Isto envolve comutação de seis passos ou controle mais avançado orientado para o campo (FOC). O FOC exige amostragem de alta velocidade (para correntes de fase e ângulo de rotor) e computação matemática complexa (transformadores de Clark/Parque, controladores PI). Um PIC com um núcleo de alto desempenho (p. ex., PIC24H ou dsPIC33) e módulos PWM de controle motor dedicados (MCPWM) é recomendado. Muitos dispositivos Microchip incluem op-amps integrados e comparadores para simplificar a detecção de corrente e detecção de zero-cross.
Principais características do PIC para controle de motor
Para implementar um controle motor eficiente, um designer deve explorar completamente o conjunto periférico do microcontrolador. As seguintes características são mais críticas.
Modulação da Largura do Pulso (PWM)
PWM é a espinha dorsal do controle de velocidade e torque do motor. Os microcontroladores PIC oferecem vários canais PWM com frequência ajustável, ciclo de serviço e tempo morto (para prevenção de tiro em ponte H). Dispositivos como o PIC16F1789 apresentam até quatro módulos PWM, enquanto as famílias dsPIC33C fornecem PWM de alta resolução com resolução de até 250 ps. Para motores BLDC, saídas PWM complementares com banda morta programável são essenciais.
Conversor analógico-digital (ADC)
O controle de circuito fechado requer feedback de sensores: resistores de corrente, divisores de tensão, sensores de efeito Hall ou codificadores ópticos. A maioria das unidades de CIC incluem CCA de 10 bits ou 12 bits com múltiplos canais de entrada. A série dsPIC33 oferece CCA de 12 bits com uma taxa de conversão de até 3,5 MS/s, permitindo a amostragem simultânea de duas correntes de fase para CCO. Muitos dispositivos também possuem um sensor de temperatura on-chip e referência de tensão interna para calibração.
Temporizadores e captura de entrada
Os temporizadores geram atrasos precisos e frequências de base PWM. O módulo de captura de entrada pode medir larguras de pulso de codificadores ou conversores de frequência- para- tensão. Isto é crucial para medir a velocidade do motor (RPM) ou para decodificar sinais de encoder de quadratura. Alguns PICs dedicaram módulos QEI (Quadrature Encoder Interface) que lidam com posição, velocidade e direção automaticamente, descarregando a CPU.
Interromper
A resposta em tempo real é essencial no controle motor. Falhas de sobrecorrente, eventos de zero-cross e pulsos de índice de codificador devem ser manipulados dentro de microssegundos. Os microcontroladores PIC suportam múltiplas prioridades de interrupção, permitindo rotinas críticas ao tempo (por exemplo, atualização PWM) para antecipar tarefas de menor prioridade. A latência de interrupção de PICs modernos está na faixa de 5-20 ciclos de relógio, suficiente para loops de comutação rápida.
Comparadores e Op-Amps
Muitos dispositivos PIC recentes integram comparadores analógicos e amplificadores operacionais. Estes podem ser usados para detecção de sobrecorrente, sensoriamento de EMF para controle BLDC sem sensores e para a construção de filtros analógicos simples. Os blocos analógicos configuráveis reduzem a contagem de componentes externos e melhoram a imunidade ao ruído.
Selecionar o microcontrolador PIC direito
A escolha do PIC depende do tipo de motor, da complexidade do algoritmo de controle e do conjunto periférico necessário. O Microchip oferece famílias que variam de 8 bits de base a 32 bits de MIPS.
PIC de 8 bits para controle básico
As famílias PIC16F e PIC18F são adequadas para simples aplicações de motor escovado e de passo simples DC. O PIC16F1847 fornece dois canais PWM, 10 bits ADC, e até 64 MHz oscilador interno. Para drivers de passo, o PIC18F25K40 inclui vários timers e um módulo PWM dedicado. Estas são soluções econômicas para brinquedos, bombas pequenas e automação simples.
PIC24 de 16 bits e dsPIC33 para Controle Avançado
Para os motores BLDC e FOC, os controladores de sinal digitais dsPIC33 (DSC) são a melhor escolha. Eles combinam um núcleo MCU de 16 bits com um motor DSP para matemática rápida (multiplicado-acumulado, dividido). As principais características incluem PWM de alta resolução (250 ps), ADC de 12 bits com até 6 MSPS e RAM de dupla porta para amostragem simultânea. O dsPIC33CK256MP508 tem flash 256 KB, dois módulos MPPWM e até seis op-amps, tornando-o ideal para controle motor trifásico. A série PIC24F, sem DSP, ainda oferece desempenho suficiente para muitos projetos de motores de passo e DC a baixo custo.
32 bits PIC32 para sistemas complexos
Quando o algoritmo de controle se torna extremamente intensivo em computação (por exemplo, controle de robôs multiaxiais com EtherCAT), os microcontroladores PIC32MZ com núcleos MIPS de 200 MHz fornecem a taxa de transferência necessária. Sua alta velocidade PWM (até 1 ns resolução) e ADC multicanal com sequenciamento automático torná-los competitivos com contrapartes ARM Cortex-M.
Projetando o sistema de controle do motor
Um sistema de controle motor consiste em três blocos principais: o microcontrolador PIC, o estágio de potência (motor e ponte H) e os sensores de feedback. As seguintes seções descrevem escolhas práticas de projeto.
Implementação de Hardware
Selecione um CI do motor que corresponda à tensão e à classificação de corrente do motor. Para motores de baixa tensão DC, os drivers L293D ou TB6612FNG (até 1,2 A) são populares. Para motores BLDC, os drivers trifásicos como o DRV8301 (até 2,5 A por fase) integram controladores de portas e amplificadores de sentido de corrente. Sempre incluem capacitores de bootstrap para MOSFETs de alta face e redes de snubber para suprimir picos de tensão. Do lado do sensor, os sensores de efeito Hall (por exemplo, A3144) podem ser conectados diretamente a I/O digital, enquanto codificadores de quadratura requerem captura de entrada ou módulos QEI. Para detecção de corrente, um resistor de shunt de baixa face e amplificador diferencial (por exemplo, INA240) que se alimentam no ADC do PIC é uma abordagem comum.
Os circuitos de proteção não são negociáveis. Coloque díodos TVS nos terminais do motor, um fusível de explosão rápida na entrada de energia e um diodo de proteção de polaridade reversa. Os pinos de entrada analógicos do PIC devem ser fixados com diodos Schottky se eles se conectarem com circuitos de alta tensão. O isolamento óptico (por exemplo, 6N137) é recomendado entre o PIC e o driver de porta para ambientes industriais.
Arquitetura de Software
O firmware de controle normalmente é executado como uma máquina de estado. O loop principal inicializa periféricos, então entra em um loop infinito. As rotinas de serviço de interrupção (ISRs) manipulam tarefas críticas ao tempo: atualização PWM, conclusão da conversão ADC, viagem de sobrecorrente e contagem de pulsos de codificador. Para um controlador de velocidade PID, o ISR calcula o erro, calcula a saída e atualiza o ciclo de serviço PWM. A taxa de atualização deve ser pelo menos 10 vezes a constante de tempo elétrico do motor; para um motor típico DC, 1-10 kHz é suficiente. Para o COC BLDC, as taxas de ISR são mais elevadas – tipicamente 20–50 kHz para loops atuais e 1–10 kHz para loops de velocidade.
Use o Configurador de Código do Microchip (MCC) para gerar código de configuração periférico inicial, o que reduz erros manuais. O MPLAB X IDE fornece um simulador e depurador para testar o loop de controle sem hardware.
Algoritmos de Controlo de Aplicação
Controle de IDP
O algoritmo PID continua sendo o método de circuito fechado mais utilizado para controle motor. Implemente a forma discreta:
Onde e( k) é o erro de velocidade na amostra k, dt é o período de amostragem, e Kp, Ki, Kd são ganhos sintonizados. Para evitar o encerramento integral, aperte o termo integral para um valor máximo. O chute derivado é minimizado aplicando a derivada ao sinal medido em vez do erro. O resultado u( k) é escalado para a faixa de ciclo de dever PWM (0–100%).
Controle BLDC sem sensor
Para BLDC sem sensor, a posição do rotor é estimada a partir do EMF- back. Durante a fase aberta, a passagem zero da tensão de fase em relação ao ponto neutro indica o instante de comutação. O módulo e os temporizadores do PIC são usados para detectar esses eventos. Uma nota de aplicação de sensoriamento de EMF-back dedicada ( Centro de Design de Controle de Motores de Microchip) fornece firmware pré-validado. O A ADC também pode ser usado para detecção indireta de EMF-back medindo a tensão antes da passagem zero.
Controlo orientado para o campo (COF)
O FOC dissocia torque e fluxo, permitindo operação BLDC de alta eficiência. Requer transformações Clarke e Park, controladores PI no quadro de referência dq e uma transformada inversa de Parque. O motor DSP do dsPIC33 executa essas transformações em alguns microssegundos. O Microchip fornece uma biblioteca gratuita de software FOC ( Designs de Referência[]) que inclui loops de corrente e velocidade pré-ajustados. O firmware roda em um dspIC de 40-80 MIPS, deixando headroom para comunicações e verificações de segurança.
Considerações práticas sobre design
Disposição do PCB
Separe os planos analógicos e digitais de terra, ligando- os num único ponto sob o PIC. Coloque os condensadores de dissociação (0,1 μF + 10 μF) perto de cada pino de potência. Mantenha os traços de alta corrente (potência motora) de forma ampla e longe dos sinais analógicos sensíveis. Use um plano de terra na camada inferior para reduzir a indutância da lacete. Para os desenhos BLDC, roteie os traços de saída trifásicos com comprimento igual para minimizar a incompatibilidade de impedância.
Mitigação do ruído
A comutação de motores gera ruído de alta frequência que pode corromper as leituras ADC do PIC e causar interrupções espúrias. Use contas de ferrite nas linhas de energia do motor, cabos de encoder escudo, e adicionar filtros RC de baixa passagem em entradas analógicas (frequência de corte abaixo da frequência de comutação PWM). O ADC interno do PIC tem um tempo de aquisição; use o tempo de amostragem para ignorar a fixação transientes. Além disso, permitir que o módulo de reset (BOR) de saída marrom para evitar a corrupção de código durante as mergulhos de tensão.
Gestão térmica
O condutor do motor e o próprio PIC podem aquecer durante a operação prolongada. Certifique-se de uma área de cobre adequada para dissipação de calor. Se a temperatura ambiente exceder 85 °C, considere as variantes PIC de intervalo de temperatura alargado. Uma rotina de desligamento térmico simples pode ser implementada usando o indicador de temperatura interno do PIC (se disponível) para reduzir o dever PWM ou parar o motor.
Ferramentas e Recursos de Desenvolvimento
Os compiladores MPLAB X IDE e XC8/XC16/XC32 são livres para tamanhos de código até 1 KB (XC8) ou 30 KB (XC16) e totalmente funcionais para o desenvolvimento do controle motor. O ] Configuração de Código Microcipe (MCC)[] ferramenta gráfica permite a configuração rápida de relógios, tempores, PWM, ADC e interromper prioridades. Exemplos de aplicações pré- construídos para DC, stepper e BLDC estão disponíveis no site de desenvolvimento Microciphip.
Para depuração, o MPLAB ICE 4 em emulador de in-circuito fornece rastreamento em tempo real e monitoramento de tensão. Um osciloscópio com sondas isoladas é essencial para visualizar sinais de portão PWM e correntes de fase. O Placa de Aplicação de Controle de Motores[ (PICDEM MCLV-2) é uma plataforma de desenvolvimento econômica que emparelha com um dispositivo dsPIC33 e inclui um inversor trifásico, sensor de corrente e entradas de sensores Hall.
Conclusão
A concepção de sistemas eficientes de controle motorizado com microcontroladores PIC é uma escolha prática para engenheiros que vão de hobbyistas a profissionais industriais. O extenso ecossistema de integração periférica, baixo custo e desenvolvimento maduro permite prototipagem rápida e produção confiável. Ao entender os requisitos específicos de diferentes tipos de motores, alavancando os módulos PWM e ADC dedicados do PIC, implementando algoritmos de controle robustos como PID ou FOC, e prestando atenção ao layout de hardware e gerenciamento de ruído, você pode criar sistemas que sejam tanto eficientes quanto responsivos. Os recursos fornecidos pela Microchip – notas de aplicação, desenhos de referência e a ferramenta MCC – reduzem a curva de aprendizagem e ajudam você a alcançar um design bem sucedido na primeira tentativa.