Em um
artigo anterior sobre design orientado a modelo , foi mostrado que nem todas as técnicas são igualmente úteis. E explica como fazê-lo corretamente, para que não seja dolorosamente doloroso. Mas, no final do artigo, a pergunta foi provocativa, como Sharon Stone foi questionada pelos investigadores: o design orientado ao modelo é certamente bom, mas como provar que o modelo corresponde ao objeto? Qual é a sua evidência?
Uma resposta geral para essa pergunta ainda está sendo preparada, mas posso lhe dar um exemplo real e novo sobre uma em particular agora. Acabou em minhas mãos aqui, como sempre por acidente, o texto do especialista líder em nosso país sobre acionamento elétrico Kalachev Yuri Nikolaevich, autor do livro
Modelagem em acionamento elétrico. Instruções para a compreensão. junto com sua permissão para publicar. Este texto ainda está sendo preparado para publicação em publicações especializadas, mas os leitores do Habrir o verão primeiro.
Mais abaixo do corte
Kalachev Yu. N., Lantsev V.Yu., Okulov E.V.Motor DC sem escova
(prática de aplicação de modelagem e geração de código no Aeroelectromash JSC)Hurrah, camaradas !!! Aconteceu !!!
Por fim, vimos os frutos das tendências progressivas crescerem na indústria de discos domésticos.
O artigo discute a tecnologia de projetar um acionamento elétrico usando simulação e geração de código. (Projeto orientado ao modelo correto )
Quanto à modelagem, esse não é um problema novo para nossos drivers. Mas poucas pessoas tentaram a geração automática de código do programa do controlador de unidade a partir de seu modelo e em escala global.
Ousamos afirmar que essa tendência útil (gravação automática de um programa por outro programa) se desenvolverá ativamente no futuro mundo digital. Quem começar mais cedo ganhará.
Queremos fazer uma reserva de que a geração de código, em nossa opinião, não cancela e não substitui o programador, mas apenas o ajuda. Nesse caso, é claro, acreditamos que o código SI do programa gerado deve estar aberto para ele.
Assim, o resultado da geração automática de código é o código C, aberto para visualização e análise.
No nosso caso, o objeto de controle era um determinado acionamento elétrico com um motor CC sem escova (BDT), cujo eixo está conectado a uma caixa de engrenagens que transforma a rotação em movimento de translação da haste.
A tarefa do acionamento elétrico é bastante padrão - posicionar o eixo da haste, de preferência mais rápido e com mais precisão ... Geralmente, esses acionamentos são usados para controlar os lemes de veículos aéreos não tripulados.
A unidade de controle do dispositivo foi projetada e fabricada no departamento de acionamento elétrico da Aeroelectromash JSC, com base no microcontrolador 1986®1 (PKK Milander JSC). Foi necessário criar algoritmos e um programa de controle do controlador para fins de seu uso posterior em problemas práticos.
O trabalho foi realizado em conjunto por especialistas da empresa de serviços 3V e funcionários do departamento de acionamento elétrico da Aeroelectromash JSC.
A primeira tarefa que nossa equipe enfrentou foi a identificação do objeto de controle. Para isso, foram realizadas algumas medições das características do motor, que se mostraram bastante específicas.
Por exemplo, o EMF do motor medido tinha uma forma muito bizarra, mostrada na Figura 1. <br?

Figura 1. Motor EMF medido.
Se o leitor estiver familiarizado com o programa Simulink, ele saberá que, no modelo do motor com constantes e ímãs, é possível escolher uma EMF sinusoidal ou trapezoidal.
Bem, e para onde ir para o pobre camponês? Onde está o seno aqui e onde está o trapézio? (As ferramentas de modelagem corretas devem estar abertas!). No ambiente SimInTech, até essas imperfeições do motor podem ser levadas em consideração. Definimos o formulário EMF mostrado na Fig. 2

Figura 2. EMF do mecanismo criado no SimInTech
Encontre as duas diferenças nas figuras 1 e 2. Encontramos uma coisa - cor.
A próxima característica do motor acabou sendo o seu momento dentário significativo, devido à geometria do circuito magnético do estator e à ausência de chanfro das ranhuras dos ímãs do rotor. O momento foi medido experimentalmente e introduzido no modelo. O gráfico do momento do dente é mostrado na Fig. 3.

Figura 3. Momento da ponta.
Além disso, as perdas de magnetização foram levadas em consideração no modelo do motor, que está ausente nos modelos matemáticos de outros desenvolvedores de programas de simulação.
Além disso, a operação do acionamento elétrico foi comparada com os resultados da simulação nos modos de teste. Abaixo na Fig. As figuras 4 e 5 mostram os resultados de um teste inativo (frequência máxima sem carga).

Figura 4. Inativo. Motor de verdade.

Figura 5. Corrente de fase inativa. Resultado da simulação.
Conclusão:
Oscilogramas de marcha lenta real e modelo coincidem. Visualmente, a diferença não é visível.
Após um teste inativo bem-sucedido, um teste de impacto dinâmico foi realizado em um motor com uma caixa de engrenagens conectada. Nesta experiência, uma tensão constante foi aplicada aos enrolamentos do motor com um inverso na frequência de 30 Hz. Nesse caso, o link de saída oscilou com a mesma frequência. A Figura 6 mostra os resultados desse experimento:

Figura 6. Motor real sob carga
(Os sinais foram gravados com interferência. Tremulação e tremulação de alta frequência são interferências nos sinais dos sensores de posição e corrente).
Os dados obtidos foram comparados com um modelo de acionamento operando em um modo semelhante (Fig. 7).

Figura 7. Modelo sob carga
Conclusões:
- Os movimentos da haste na realidade e no modelo coincidem completamente
- Os valores de pico da corrente real do motor e do modelo coincidem com a precisão do erro de medição.
O tipo do modelo verificado da energia e das partes mecânicas do acionamento elétrico construídas com elementos de biblioteca padrão do programa SimInTech é mostrado na Fig. 8.
Figura 8. Esquema de um modelo complexo de acionamento elétrico, incluindo a parte mecânica.Consiste em modelos:
- inversor de potência
- motor com sensor de posição do rotor (DPR)
- transmissão mecânica
- sensor de corrente
- carregador
Depois de garantir que o comportamento do modelo corresponda ao comportamento de um produto real, de acordo com os resultados da simulação, você pode selecionar a estrutura necessária do sistema de controle (CS) e configurá-la para os diferentes tipos de entrada listados na tarefa técnica.
No nosso caso, bons resultados foram mostrados por um sistema de controle de posição de circuito duplo com acoplamento de amortecimento em velocidade. Uma vista modelo desta estrutura é mostrada na Fig. 9.

Figura 9. O esquema de design do programa de controle do inversor.
Com o uso adicional da geração de código, não há necessidade de codificação manual dos algoritmos do sistema de controle - um projeto finalizado no ambiente de desenvolvimento do Keil uVision é criado automaticamente. Após montar a imagem binária do programa, ele pode ser traduzido para o nosso processador (1986BE1T).
Observe que os blocos de modelo “Key Choice”, “Peripheral Initialization”, “ADC”, “SSP2 ADC” no modo de simulação implementam os modelos matemáticos correspondentes e, durante a geração de código, eles são substituídos por bibliotecas para trabalhar com os periféricos do processador usado.
Depois de escolher a estrutura do sistema de controle e suas configurações, tivemos que:
- executar a geração automática de código do programa
- escreva o programa recebido no controlador
- capture ótimos resultados
Na Figura 10, você pode comparar a operação do modelo e a unidade real. Como referência de posição, foi utilizado um senoide com frequência de 3 Hz e amplitude de 3 mm.
Para obter dados do controlador, uma parte especial foi fornecida em seu programa, que forneceu a leitura de sinais internos por meio de uma interface serial. O usuário, enquanto a unidade está em execução, vê os resultados do firmware na janela SimInTech.

Figura 10. Comparação do modelo e a unidade real.
Bem, até a cor é a mesma aqui ....
Hurrah, camaradas !!! Aconteceu !!!
Todos os interessados no tópico do acionamento elétrico recomendam o download do livro gratuito
Kalachev Yu.N. Modelagem no acionamento elétrico.