Controle de Velocidade de Motor CC

Artigo original: DC Motor Speed: Simulink Modeling, Control Tutorials for Matlab & Simulink, URL: http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SimulinkModeling (acessado em 30/09/2020).

Modelagem de Motor CC

Um atuador bastante comum em sistemas de controle é o motor CC (corrente Contínua). A velocidade do mesmo pode ser variada, variando-se sua tensão de alimentação. Ele fornece movimento rotativo diretamente e também pode fornecer movimento linear usando-se mecanismo de fuso (ou trosca trapezoidal):

Exemplo 1Exemplo 2Exemplo 3Exemplo 4Exemplo 5
a_conv_speeda_belt_pulleypick_and_placea_belt_movementa_pushing

 

O circuito elétrico da armadura e o diagrama de corpo livre do rotor CC são mostrados na figura a seguir:

Para este exemplo, iremos supor que a entrada do sistema é a fonte de tensão () aplicada à armadura do motor, enquanto a saída é a velocidade de rotação do eixo (ou velocidade angular, ). O rotor e o eixo são considerados rígidos. Assumimos ainda um modelo de atrito viscoso, ou seja, o torque de atrito é proporcional à velocidade angular do eixo.

Os parâmetros físicos para nosso exemplo são:

ParâmetroDescriçãoValor (Unidades)
Momento de inércia d motor0,01 ()
Constante de atrito viscoso do motor0,1 ()
Constante de força eletromitia0,01 ()
Constante de torque do motor0,01 ()
Resistência elétrica1 ()
Indutância elétrica0,5 ()

Em geral, o torque gerado por um motor C é proporcional à corrente da armadura e à força do campo magnético. Neste exemplo, vamos assumir que o campo magnético é constante e, portanto, que o torque do motor é proporcional apenas à corrente da armadura por um fator constante conforme mostrado na equação abaixo. Isso é conhecido como motor controlado por armadura:

A força contra-eletromotriz (f.e.m.), , é proporcional à velocidade angular do eixo por um fator constante :

Em unidades SI, o torque do motor e a constante f.e.m. são iguais, ou seja, ; portanto, usaremos para representar a constante de torque do motor e a constante de f.e.m. posterior.

Este sistema será modelado somando os torques que atuam na inércia do rotor e integrando a aceleração para obter a velocidade. Além disso, as leis de Kirchoff serão aplicadas ao circuito de armadura.

Primeiro, vamos modelar as integrais da aceleração rotacional e da taxa de variação da corrente da armadura:

çã

Para construir o modelo de simulação, abra o Simulink e abra uma nova janela de modelo. Em seguida, siga as etapas listadas abaixo.

Picture1

A seguir, vamos aplicar a lei de Newton e a lei de Kirchhoff ao sistema do motor para gerar as seguintes equações:

e:

A aceleração angular, , é igual a multiplicado pela soma de dois termos (um positivo, um negativo).

Da mesma forma, a derivada da corrente, , é igual a multiplicado pela soma de três termos (um positivo, dois negativos).

Continuando a modelar essas equações no Simulink, siga as etapas fornecidas abaixo:

O resultado esperado é mostrado na próxima figura:

Picture2

Agora, vamos adicionar os torques que são representados na equação de rotação. Primeiro, vamos adicionar o torque de amortecimento:

A seguir, adicionaremos o torque da armadura.

O resultado esperado é mostrado à seguir:

Picture3

Agora, vamos adicionar os termos de tensão que são representados na equação elétrica.

Primeiro, adicionaremos a queda de tensão na resistência da armadura:

Em seguida, adicionaremos a fem traseira do motor.

O design final deve ser semelhante ao exemplo mostrado na figura abaixo:

Picture4

E para salvar todos esses componentes como um único bloco de subsistema, primeiro selecione todos os blocos e, em seguida, selecione Criar Subsistema a partir da Seleção após clicar com o botão direito do mouse na parte selecionada. Nomeie o subsistema "Motor DC" e salve o modelo. Seu modelo deve ficar com a seguinte aparência.

Picture44

Alguns exemplos de controle de Velocidde deste motor aparecem originalmente aqui: DC Motor Speed: Simulink Controller Design (em inglês).

No nosso caso, resolvi acrescentar um segundo nó de saída: corrente do motor, para propiciar o monitoramento de eventuais correntes elevadas exigidas pelo motor. Foi acrescentado um bloco Out2 associado com “Corrente”. O diagrama de blcoos final do modelo do motor antes da criação so subsistema aparece na próxima figura:

Motor_CC_Velocidade-modelo_interno.png

Você também pode baixar o arquivo pronto motor_cc_velocidade.slx deste sistema clicando aqui.

Note que para este modelo ser usado, é neessário atribuir valores para as variáveis R, L, Ke, Kt, J e b (que aparecem dentro das propriedades de alguns blocos presentes na figura/modelo mostrado na figura anterior). Para facilitar o carregamento destas variáveis no *Workspace do Matlab, pode ser executado o script motor.m.

Que transformado num sub-sistema resulta em (arquivo motor_cc_velocidade.slx):

motor_cc_velocidade-subsistema

Teste do Modelo

Ex: Teste de controle em Malha aberta (arquivo: motor_cc_velocidade_teste_MA.slx)

motor_cc_velocidade_teste_MA

Note que neste caso, estamos alimentando o motor com 10 Volts (referência/entrada degrau) e monitorando a velocidade de saída, não em mas em RPM (por isto os blocos Gain de conversão para converter do sistema SI para RPM):

Resultado esperado:

Note que aplicando 10 Volts na entrada (no motor), o mesmo quase alcança 10 RPMs de velocidade (de saída).

 

Ações de Controle de Velocidade de Motor CC

Exemplos

resultado_cont_Prop.pngmonitoracao_motor_cont_Prop.png
Saída do ProcessoMonitoramento do Motor
resultado_cont_PI.pngmonitoramento_cont_PI.png
Saída do ProcessoMonitoramento do Motor
resultado_cont_PD.pngmonitoramento_cont_PD.png
Saída do ProcessoMonitoramento do Motor

 

A idéia com os exemplos mostrados, é que você varie os ganhos dos controladores e observe o que acontece.

Um “pacote” (bag) de todos os arquivos necessários para as simulações está disponível aqui.


Fernando Passold, em 31/08/2020; atualizado em 20.03.2021.