Como realizar o controle pid por microcontrolador

Jun 25, 2025 Deixe um recado

O algoritmo de controle PID é um algoritmo de controle amplamente utilizado, o controle PID tem as vantagens de parâmetros ajustáveis, ampla gama de aplicações e alta precisão de controle. Na engenharia prática, o algoritmo PID pode ser aplicado ao controle eletromecânico, automação industrial, controle de robôs, controle de microprocessadores e muitos outros campos.


Os três parâmetros do algoritmo PID são ajustados: constante de proporcionalidade Kp, constante de tempo integral Ti, constante de tempo diferencial Td. Diferentes sistemas precisam definir diferentes parâmetros PID e geralmente é necessário obter os parâmetros ideais por meio de experimentos e depuração. A constante de proporcionalidade Kp ajusta a proporção, ajustando a relação entre saída e erro de feedback no sistema de controle; a constante de tempo integral Ti ajusta a integral, ajustando o acúmulo de erro no sistema de controle; a constante de tempo diferencial Td ajusta o diferencial, ajustando a taxa de variação do erro no sistema de controle.


Qual é a ideia de realizar o algoritmo pid com microcontrolador


Para realizar o algoritmo de controle PID em um microcontrolador, a seguinte é a ideia geral de realização:


1. **Determine os parâmetros PID**:


- De acordo com as características e necessidades do objeto de controle real, selecione o coeficiente de proporcionalidade (Kp), tempo de integração (Ti) e tempo de diferenciação (Td) adequados.


2. **Aquisição de dados do sensor**:


- Utilize sensores apropriados (por exemplo, sensores de temperatura, sensores de posição, etc.) para coletar dados de feedback do objeto de controle em tempo real.


3. **Definir valor e comparação de valor de feedback**:


- Compare o valor ajustado (valor desejado) com o valor de feedback e calcule o valor do erro (Error).


4. **Cálculo PID**:


- A quantidade de controle (saída) é calculada de acordo com a fórmula do algoritmo PID: PID=Kp * Erro + Ki * ∫ Erro dt + Kd * d(Erro)/dt.


- Kp, Ki e Kd são os parâmetros PID, Error é o valor do erro, ∫ Erro dt denota o termo integral e d(Erro)/dt denota o termo diferencial.


5. **Manuseio de Limites** (opcional):


- Para algumas aplicações, pode ser necessário limitar a faixa do valor de saída para evitar exceder a faixa aceitável do objeto de controle.


6. **Sinal de controle de saída**:


- A quantidade de controle calculada é emitida como um sinal de controle para o atuador (por exemplo, motor, válvula, etc.) para realizar a regulação e controle do objeto de controle.


7. **Definir frequência de controle**:


- De acordo com as necessidades de aplicações específicas, defina a frequência de controle adequada para controlar o ciclo de execução do algoritmo.


8. **Ciclo de execução do algoritmo PID**:


- No ciclo em tempo real, as etapas acima são executadas repetidamente para monitorar continuamente o valor de feedback, calcular a quantidade de controle e emitir o sinal de controle para realizar o controle estável do objeto.


Na programação real do microcontrolador, você pode escolher as ferramentas de desenvolvimento e a linguagem de programação apropriadas (como C ou linguagem assembly) de acordo com o modelo específico do microcontrolador e a plataforma de desenvolvimento. Deve-se notar que em aplicações práticas, haverá muitas técnicas para otimizar e melhorar o algoritmo PID, como separação integral, PID adaptativo, etc., que podem ser mais pesquisadas e implementadas de acordo com necessidades específicas.


Princípio e fluxo de trabalho do controlador PID


O controlador PID consiste em três partes: proporcional (P), integral (I) e diferencial (D), e gera a saída de controle processando o erro, desvio e taxa de variação do sistema. Seu fluxo de trabalho inclui as seguintes etapas:


- Obtenção de valores alvo e feedback

- Calcular o erro

- Calcule a saída de controle com base no coeficiente de proporcionalidade, termo integral e termo diferencial.

- Atualizando os parâmetros do controlador

- Saída de sinais de controle

 


Implementação de código STM32


A seguir está um exemplo de código para projetar e implementar um controlador PID usando um microcontrolador STM32:


```c

#incluir "stm32f4xx.h"

//Define os parâmetros do controlador PID

flutuar Kp=0.5; //fator de escala

flutuar Ki=0.2; // Coeficiente integral

flutuar Kd=0.1; // Coeficiente diferencial

//Definir variáveis ​​de armazenamento

ponto de ajuste flutuante=50.0; // valor alvo

feedback flutuante=0.0; //valor de feedback

erro flutuante=0.0; //erro

flutuar last_error=0.0; //último erro

integral flutuante=0.0; // Termo integral

//Função de cálculo de saída do controlador PID

float pidController(float dt)

float pidController(float dt) {

//Calcula o erro

erro=ponto de ajuste - feedback; // Calcula o termo integral.

//Calcula o termo integral

erro integral += * dt; //calcula o termo diferencial

//Calcula o diferencial

derivada flutuante=(erro - last_error) / dt; // calcula a saída de controle.

//Calcula a saída de controle

saída flutuante=Kp * erro + Ki * integral + Kd * derivada; //Calcula a saída de controle.

//Atualiza o último erro

last_error=erro; // atualiza o último erro.

last_error=erro; saída de retorno; //Calcula a saída de controle.

}

int principal(vazio)

{

enquanto(1)

{

// Obtém o valor do feedback

// Obtém o intervalo de tempo

//Calcula a saída PID

flutuar dt=0.01; // 0,01s como intervalo de tempo no exemplo

float control_output=pidController(dt); // envia o sinal de controle.

// Emite o sinal de controle

// Atrasa o sinal de controle por um determinado período de tempo

para (int eu=0; eu 《 10000;eu++).

}

retornar 0; }

}

Enviar inquérito

whatsapp

Telefone

Email

Inquérito