controle de velocidade do motor CC usando algoritmo pid (stm32f4)
Lar » Blogue » controle de velocidade do motor CC usando algoritmo pid (stm32f4)

controle de velocidade do motor CC usando algoritmo pid (stm32f4)

Visualizações: 0     Autor: Editor do site Horário de publicação: 2020-09-02 Origem: Site

Pergunte

botão de compartilhamento do Facebook
botão de compartilhamento do Twitter
botão de compartilhamento de linha
botão de compartilhamento do wechat
botão de compartilhamento do LinkedIn
botão de compartilhamento do Pinterest
botão de compartilhamento do WhatsApp
botão de compartilhamento kakao
botão de compartilhamento do snapchat
botão de compartilhamento de telegrama
compartilhe este botão de compartilhamento

Olá a todos, sou tahir ul haq de outro projeto.
Desta vez foi a hora de fazer o MC que foi utilizado por 2017-11-407.
Este é o fim do programa de médio prazo.
Espero que você goste.
Requer muitos conceitos e teorias, então vamos dar uma olhada primeiro.
Com o surgimento dos computadores e do processo industrializado, tem havido pesquisas na história do ser humano para desenvolver métodos para redefinir o processo e, mais importante, para utilizar máquinas para controlar o processo de forma autônoma.
O objetivo é reduzir a participação humana nestes processos, reduzindo assim os erros nestes processos.
Portanto, surgiu o campo da “engenharia de sistemas de controle”.
A engenharia de sistemas de controle pode ser definida como a utilização de diversos métodos para controlar o funcionamento do processo ou a manutenção de um ambiente constante e preferencial, seja manual ou automático.
Um exemplo simples é controlar a temperatura da sala.
O controle manual refere-se à presença de uma pessoa que verifica as condições atuais no local (sensor)
, com expectativas (processamento)
e toma as medidas adequadas para obter o valor desejado (atuador).
O problema com esta abordagem é que ela não é muito confiável porque está sujeita a erros ou negligência no trabalho.
Além disso, outro problema é que a velocidade do processo que o atuador inicia nem sempre é uniforme, o que significa que às vezes pode ser mais rápida que a velocidade necessária e às vezes pode ser lenta.
A solução para este problema é usar um microcontrolador para controlar o sistema.
De acordo com a especificação fornecida, o microcontrolador é programado para controlar o processo de conexão no circuito (
discutiremos mais tarde)
do valor ou condição de, controlando assim o processo para manter o valor desejado.
A vantagem deste processo é que não há necessidade de intervenção humana neste processo.
Além disso, a velocidade desse processo é consistente.
Antes de prosseguirmos, é crucial determinar os vários termos neste ponto: Controle de feedback: Neste sistema, a entrada em um determinado momento depende de uma ou mais variáveis, incluindo a saída do sistema.
Feedback negativo: Neste sistema, referência (entrada)
Como feedback, o erro é subtraído e a fase da entrada é de 180 graus.
Feedback positivo: Neste sistema,
erros de referência (entrada) são adicionados quando o feedback e a entrada estão em fase.
Sinal de erro: a diferença entre a saída desejada e a saída real.
Sensor: um dispositivo usado para detectar um certo número de dispositivos em um circuito.
Geralmente é colocado na saída ou em qualquer lugar onde queremos fazer algumas medições.
Processador: parte do sistema de controle que é processada com base em algoritmos de programação.
É preciso alguma entrada e produz alguma saída.
Atuador: no sistema de controle, o atuador é utilizado para realizar eventos com base no sinal gerado pelo microcontrolador para afetar a saída.
Sistema de malha fechada: um sistema com uma ou mais malhas de feedback.
Sistema de malha aberta: não existe sistema de malha de feedback.
Tempo de subida: O tempo necessário para a saída subir de 10% da amplitude máxima do sinal para 90%.
Tempo de queda: O tempo necessário para a saída cair de 90% para 10%.
Overshooting de pico: overshooting de pico é a quantidade de saída que excede seu valor de estado estacionário (
normal durante a resposta transitória do sistema).
Tempo Estável: O tempo necessário para a saída atingir um estado estável.
Erro de estado estacionário: a diferença entre a saída real e a saída esperada quando o sistema atinge o estado estacionário. A imagem acima mostra uma versão bastante simplificada do sistema de controle.
O microcontrolador é o núcleo de qualquer sistema de controle.
Este é um componente muito importante, por isso deve ser cuidadosamente selecionado de acordo com os requisitos do sistema.
O microcontrolador recebe informações do usuário.
Esta entrada define as condições necessárias para o sistema.
O microcontrolador também recebe informações do sensor.
O sensor é conectado à saída e suas informações são retornadas à entrada.
Essa entrada também pode ser chamada de feedback negativo.
O feedback negativo foi explicado anteriormente.
Com base em sua programação, o microprocessador realiza diversos cálculos e envia mensagens para o atuador.
A planta de controle do atuador baseada em saída tenta manter essas condições.
Um exemplo pode ser o acionador do motor que aciona o motor, onde o acionador do motor é o acionador e o motor é a fábrica.
Portanto, o motor gira a uma determinada velocidade.
O sensor conectado lê o status da fábrica atual e o envia de volta ao microcontrolador.
O microcontrolador é comparado novamente e calculado, então o loop é repetido.
O processo é repetitivo e interminável, e o microcontrolador pode manter as condições desejadas.
Aqui estão duas maneiras principais de controlar a velocidade do motor DC:
Controle manual de tensão: em aplicações industriais, o mecanismo de controle de velocidade do motor DC é crítico.
Às vezes, podemos precisar de velocidades superiores ou inferiores ao normal.
Portanto, precisamos de um método eficaz de controle de velocidade.
Controlar a tensão de alimentação é um dos métodos mais simples de controle de velocidade.
Podemos alterar a tensão para alterar a velocidade. b)
Controle PWM usando PID: outra forma mais eficiente é utilizar um microcontrolador.
O motor DC é conectado ao microcontrolador através do driver do motor.
O driver do motor é um IC que recebe entrada PWM (
modulação por largura de pulso)
do microcontrolador e saída para o motor DC de acordo com a entrada. Figura
1.2: Capítulo 1 do sinal PWM.
Introdução 3 considerando o sinal PWM, a operação do PWM pode ser explicada primeiro.
Consiste em pulsos contínuos por um determinado período de tempo.
O período de tempo é o tempo gasto por um ponto movendo-se a uma distância igual a um comprimento de onda.
Esses pulsos só podem ter valores binários (HIGH ou LOW).
Também temos duas outras grandezas, a largura de pulso e o ciclo de trabalho.
A largura do pulso é o tempo em que a saída PWM está alta.
O ciclo de trabalho é a porcentagem da largura do pulso em relação ao período de tempo.
Durante o resto do período, a saída é baixa.
O ciclo de trabalho controla diretamente a velocidade do motor.
Se o motor DC fornecer tensão positiva dentro de um determinado período de tempo, ele se moverá a uma determinada velocidade.
Se a tensão positiva for fornecida por um longo período de tempo, a velocidade será maior.
Portanto, o ciclo de trabalho do PWM pode ser alterado alterando a largura do pulso.
Ao alterar o ciclo de trabalho do motor DC, a velocidade do motor pode ser alterada.
Controle de velocidade para problemas de motor CC: o problema com o primeiro método de controle de velocidade é que a tensão pode mudar com o tempo.
Essas mudanças significam velocidade desigual.
Portanto, o primeiro método é indesejável.
Solução: Usamos o segundo método para controlar a velocidade.
Usamos o algoritmo PID para complementar o segundo método.
PID representa a derivada integral proporcional.
No algoritmo PID, a velocidade atual do motor é medida e comparada com a velocidade desejada.
Este erro é usado para cálculos complexos para alterar o ciclo de trabalho do motor de acordo com o tempo.
Existe esse processo em cada ciclo.
Se a velocidade exceder a velocidade desejada, o ciclo de trabalho será reduzido e o ciclo de trabalho aumentará se a velocidade for inferior à velocidade desejada.
Este ajuste não é feito até que a melhor velocidade seja alcançada.
Verifique e controle constantemente essa velocidade.
Aqui estão os componentes do sistema usados ​​neste projeto e uma breve introdução aos detalhes de cada componente.
STM 32F407: microcontrolador projetado pela ST Micro-section.
Funciona no ARM Cortex. Arquitetura M.
Ele lidera sua família com uma alta frequência de clock de 168 MHz.
Driver do motor L298N: Este IC é usado para operar o motor.
Possui duas entradas externas.
Um do microcontrolador.
O microcontrolador fornece um sinal PWM para ele.
A velocidade do motor pode ser ajustada ajustando a largura do pulso.
Sua segunda entrada é a fonte de tensão necessária para acionar o motor.
Motor DC: O motor DC funciona com fonte de alimentação DC.
Neste experimento, o motor DC é operado por meio de um acoplamento fotoelétrico conectado ao acionador do motor.
Sensor infravermelho: o sensor infravermelho é na verdade um transceptor infravermelho.
Ele envia e recebe ondas infravermelhas que podem ser usadas para realizar diversas tarefas.
Acoplador óptico do codificador IR 4N35: o acoplador óptico é um dispositivo usado para isolar a parte de baixa tensão do circuito e a parte de alta tensão.
Como o nome indica, funciona à base de luz.
Quando a parte de baixa tensão recebe o sinal, a corrente flui na parte de alta tensão.
O sistema é um sistema de controle de velocidade.
Conforme mencionado anteriormente, o sistema é implementado usando PID de integral proporcional e derivada.
O sistema de controle de velocidade possui os componentes acima.
A primeira parte é o sensor de velocidade.
O sensor de velocidade é um circuito transmissor e receptor infravermelho.
Quando o sólido passa pela fenda em forma de U, o sensor entra em um estado baixo.
Normalmente está em um estado alto.
A saída do sensor é conectada a um filtro passa-baixa para eliminar a atenuação causada pelo transiente gerado quando o estado do sensor muda.
O filtro passa-baixa consiste em resistores e capacitores.
Os valores foram selecionados conforme necessário.
O capacitor utilizado é de 1100nf e a resistência utilizada é de cerca de 25 ohms.
O filtro passa-baixa elimina condições transitórias desnecessárias que podem resultar em leituras adicionais e valores inúteis.
O filtro passa-baixa é então enviado através do capacitor para o pino digital de entrada do microcontrolador stm.
A outra parte é o motor controlado por pwm fornecido pelo microcontrolador stm.
Esta configuração foi fornecida com isolamento elétrico usando o acoplador óptico ic.
O acoplador óptico inclui um LED que emite luz dentro do pacote ic e, quando um pulso alto é dado no terminal de entrada, causa um curto-circuito no terminal de saída.
O terminal de entrada fornece pwm através de um resistor que limita a corrente do led conectado ao acoplador óptico.
Um resistor suspenso é conectado na saída para que, quando o terminal estiver em curto-circuito, a tensão seja gerada no resistor suspenso e o pino conectado ao terminal do resistor receba um estado alto.
A saída do acoplador fotoelétrico é conectada ao IN1 do driver do motor ic que mantém a altura do pino de habilitação.
Quando o ciclo de trabalho pwm muda na entrada do acoplador óptico, o pino do acionador do motor comuta o motor e controla a velocidade do motor.
Após o pwm fornecido ao motor, o driver do motor geralmente fornece uma tensão de 12 volts.
O driver do motor então permite que o motor opere.
Vamos apresentar o algoritmo que utilizamos na implementação deste projeto de regulação de velocidade do motor.
O pwm do motor é fornecido por um único temporizador.
A configuração do temporizador é feita e configurada para fornecer pwm.
Quando o motor dá partida, ele gira a fenda fixada no eixo do motor.
A fenda passa pela cavidade do sensor e produz um pulso baixo.
Em pulsos baixos, o código inicia e espera que a fenda se mova.
Assim que a fenda desaparece, o sensor fornece um estado alto e o temporizador começa a contar.
O cronômetro nos dá o tempo entre as duas fendas.
Agora, quando outro pulso baixo aparece, a instrução IF é executada novamente, aguardando a próxima borda ascendente e parando o contador.
Após calcular a velocidade, calcule a diferença entre a velocidade e o valor de referência real e forneça o pid.
O Pid calcula o valor do ciclo de trabalho que atinge o valor de referência em um determinado momento.
Este valor é fornecido ao CCR (
registro de comparação).
Dependendo do erro, a velocidade do temporizador é reduzida ou aumentada.
O código Atollic Truestudio foi implementado.
O estúdio STM pode precisar ser instalado para depuração.
Importe o projeto no STM Studio e importe as variáveis ​​que deseja visualizar.
A ligeira mudança ocorre em 2017-11-4xx.
Altere a frequência do clock precisamente para um arquivo h em 168 MHz.
O trecho de código foi fornecido acima.
A conclusão é que a velocidade do motor é controlada via PID.
No entanto, a curva não é exatamente uma linha suave.
Há muitas razões para isso: embora o sensor conectado ao filtro passa-baixa ainda apresente certos defeitos, estes se devem a algumas razões inevitáveis ​​para resistores não lineares e dispositivos eletrônicos analógicos, o motor não pode girar suavemente em pequena tensão ou pwm.
Ele fornece idiotas que podem fazer com que o sistema insira algum valor errado.
Devido ao jitter, o sensor pode perder alguma fenda que forneça um valor mais alto, e o principal motivo para outro erro pode ser a frequência do clock central do stm.
O clock principal do Stm é de 168 MHz.
Embora este problema tenha sido abordado neste projeto, existe um conceito holístico deste modelo que não fornece uma frequência tão elevada.
A velocidade de malha aberta fornece uma linha muito suave com apenas alguns valores inesperados.
O PID também está funcionando e proporciona baixíssimo tempo de estabilidade do motor.
O PID do motor foi testado em diversas tensões que mantiveram a velocidade de referência constante.
A mudança de tensão não altera a velocidade do motor, indicando que o PID está funcionando.
Aqui estão alguns segmentos da saída final do PID. a)
Circuito fechado a 110 rpmb)
Circuito fechado a 120 rpmEste projeto não poderia ser concluído sem a ajuda dos membros do meu grupo.
Quero agradecer a eles.
Obrigado por assistir este projeto.
Espero ajudá-lo.
Por favor, espere mais.
Continue abençoando antes disso :)

O grupo HOPRIO, um fabricante profissional de controladores e motores, foi fundado em 2000. Sede do grupo na cidade de Changzhou, província de Jiangsu.

Links rápidos

Contate-nos

WhatsApp: +86 18921090987 
Tel: +86- 18921090987 
Adicionar: No.19 Mahang South Road, distrito de alta tecnologia de Wujin, cidade de Changzhou, província de Jiangsu, China 213167
Deixe um recado
CONTATE-NOS
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Todos os direitos reservados. Mapa do site | política de Privacidade