Controle de motor DC: PWM, drivers e codificadores explicados
Guia completo para controlar motores DC com PWM: selecionar o driver de ponte H correto, dimensionar o MOSFET e fechar o circuito com um codificador.
Introdução
O controle do motor DC parece simples: varie a tensão, varie a velocidade. Mas sistemas reais devem lidar com corrente de irrupção, EMF traseiro, limites térmicos e precisão de posição. Este guia percorre cada camada da pilha de controle.
---
O modelo de motor DC
Um motor DC escovado pode ser modelado como uma fonte de tensão (EMF traseiro) em série com um resistor (resistência da armadura) e indutor (indutância da armadura):
“BLOCO MATEMÁTICO_0"
onde “MATHINLINE_7” (EMF traseiro proporcional à velocidade) e torque “MATHINLINE_8”.
Em estado estacionário: “BLOCO MATEMÁTICO_1"
Use a [calculadora de velocidade do motor DC] (/calculators/motor/dc-motor-speed) para explorar essa relação de forma interativa.
---
Fundamentos do PWM
O PWM (modulação por largura de pulso) controla a tensão do motor ligando e desligando rapidamente a fonte:
“BLOCO MATEMÁTICO 2"
onde “MATHINLINE_9” é o ciclo de trabalho (0— 100%). No ciclo de trabalho de 75% com alimentação de 12V, “MATHINLINE_10” = 9V.
A escolha da frequência PWM envolve compensações:
| Frequência | Prós | Contras |
|---|---|---|
| 1—5 kHz | Baixas perdas de comutação | Gemido audível |
| 20—50 kHz | Silencioso, eficiente | Maiores perdas de comutação |
| > 100 kHz | Resposta muito rápida | Problemas de EMI, alta perda de comutação |
Use a [calculadora do ciclo de trabalho PWM] (/calculators/motor/pwm-duty-cycle-motor) para calcular a tensão efetiva e estimar a corrente de parada.
---
Motoristas da H-Bridge
Para acionar um motor bidirecionalmente, você precisa de uma ponte H: quatro interruptores dispostos para que você possa aplicar tensão em qualquer direção.
Discreto versus integrado
Os drivers integrados (DRV8833, TB6612, L298N) são os mais fáceis. Eles lidam internamente com tempo morto, desligamento térmico e proteção contra sobrecorrente. MOSFETs discretos oferecem maior eficiência e permitem conduzir correntes mais altas, mas exigem drivers de porta, circuitos de inicialização e layout cuidadoso.Seleção de MOSFET
As especificações críticas para MOSFETs de ponte H:
1. V_DS — deve exceder a tensão de alimentação com margem: “MATHINLINE_11” 2. I_D — deve exceder a corrente de pico (irrupção): “MATHINLINE_12” 3. R_ {DS (on)} — quanto menor, melhor (menos perda de condução) 4. Q_g — carga do portão, determina a velocidade de comutação e a perda
Perda de condução por MOSFET: “MATHINLINE_13”
Use a [calculadora de seleção H-Bridge] (/calculators/motor/h-bridge-selection) para calcular a corrente de pico e as classificações mínimas de MOSFET, e a [calculadora da potência do acionador do motor] (/calculador/motor/motor-driver-power) para estimar as perdas totais.
---
Inrush e corrente de partida
Na inicialização, o motor está estacionário (ω = 0), então EMF traseiro = 0. A corrente inicial é:
“BLOCO MATEMÁTICO 3"
Para um motor com “MATHINLINE_14” = 0,5Ω em 12V, irrupção = 24A — mesmo que a corrente nominal seja de apenas 2A. Este é um multiplicador de irrupção de 12 vezes.
Estratégias de mitigação:- Aumente o ciclo de trabalho do PWM (partida suave)
- Use um controlador limitador de corrente (o DRV8434 tem corte de corrente embutido)
- Dimensione a ponte H para a corrente de irrupção, não a corrente nominal
Codificadores para controle de circuito fechado
O controle de velocidade PWM de circuito aberto é suficiente para ventiladores e bombas. Para controle de posição ou regulação precisa da velocidade, você precisa de feedback de um codificador.
Tipos de codificadores
- Incremental óptico (quadratura AB): conta os pulsos conforme o eixo gira. Mais comum, 100-10.000 PPR.
- Magnético (efeito Hall) : Robusto à contaminação. Usado em motores industriais.
- Absoluto: gera a posição absoluta; sem necessidade de localização.
Decodificação em quadratura
Dois canais A e B, 90° fora de fase. Ao detectar todas as bordas ascendentes e descendentes de ambos os canais, você obtém uma resolução de 4 ×:
“BLOCO MATEMÁTICO_4”
Um codificador de 1000 PPR fornece 4000 contagens por revolução = resolução de 0,09°.
Use a [Calculadora de resolução do codificador] (/calculadoras/motor/encoder-resolution) para calcular a RCP, a resolução angular e a frequência máxima de pulso do seu contador.
---
Controle de velocidade PID
Depois de receber o feedback do codificador, você pode fechar o loop com um controlador PID:
“MATHBLOCK_5”
onde “MATHINLINE_15”.
Ajuste de Ziegler-Nichols
Um ponto de partida prático usando a resposta por etapas de circuito aberto:
1. Aplique uma entrada de etapa e meça o ganho do processo “MATHINLINE_16”, o tempo morto “MATHINLINE_17” e a constante de tempo “MATHINLINE_18” 2. Aplique as fórmulas de Ziegler-Nichols: - “MATHINLINE_19” - “MATHINLINE_20” - “MATHINLINE_21”
Use a [calculadora de ajuste PID] (/calculators/motor/pid-tuning) para calcular os ganhos de sua resposta à etapa medida.
---
Gerenciamento térmico
Os motores geram calor nos enrolamentos (“MATHINLINE_22”) e no acionador (“MATHINLINE_23”). A sobrecarga sustentada causa redução térmica e eventual falha.
Calcule a temperatura operacional: “MATHBLOCK_6”A resistência do enrolamento de cobre aumenta com a temperatura (TCR ≈ 0,39% /°C), então a resistência ao calor aumenta e o torque diminui — verifique a curva de redução térmica do motor.
---
Resumo
1. Modele o motor: Use “MATHINLINE_24” para prever velocidade e corrente 2. Selecione o driver: Tamanho da corrente de partida (5—10 × nominal), não apenas da corrente nominal 3. Escolha a frequência PWM: 20—25 kHz para silêncio e eficiência 4. Adicionar feedback: O codificador de quadratura oferece resolução de 4 × 5. Ajuste o PID: comece com Ziegler-Nichols, refine empiricamente 6. Verifique a temperatura térmica: temperatura do motor e do motorista na carga máxima