Não é segredo que conversores modernos sofisticados, por exemplo, UPS online, operam sob o controle do DSP / MK ou ASIC. Os principais fornecedores de DSPs para eletrônica de potência são duas empresas - Texas Instruments e Infineon, mas hoje vamos nos concentrar nos produtos STMicroelectronics - a série STM32F334. Esta linha MK foi projetada para controlar o acionamento elétrico e construir conversores de energia: PFC, inversores, fontes de alimentação comutadas, UPS e outros.
Obviamente, a série F334 não pode suportar o “poder” de soluções populares como TMS320F28335 e outras, mas possui uma vantagem importante - o custo. A pedra mais antiga STM32F334R8T6 custa US $ 5, possui o conjunto necessário de periféricos (HRPWM, ADC, comparadores) e desempenho para a construção de conversores suficientemente potentes (dezenas de kW) com boa confiabilidade e resistência a falhas.
Para o desenvolvedor de eletrônicos, o ecossistema em torno do DSP / MK com o qual ele trabalha é importante: documentação, ferramentas de depuração, exemplos de código e hardware. A TI tem tudo isso, sim - é caro, sim - é difícil de comprar, mas é exatamente por isso que a maioria das soluções modernas no campo de acionamento elétrico e energia custa TMS320. Por alguma razão, a empresa ST ignorou a série F334, embora exista documentação de boa qualidade como em qualquer STM32, mas não há exemplos de hardware com placas de código e depuração completas (o brinquedo F3348-Disco não é considerado). Bem - vamos corrigir esse defeito.
No meu
último artigo, falei sobre o meu projeto "kit de desenvolvedor" e até demonstrei um dos componentes - o módulo de energia. Hoje vou falar sobre o 2º (haverá 3 no total) módulo que permite implementar qualquer topologia de conversor e, ao mesmo tempo, custa várias vezes mais barato que os concorrentes. O projeto, é claro, é aberto e todos os códigos-fonte podem ser encontrados no final deste artigo.

Idéia
Estou longe de ser o primeiro a pensar em usar um módulo universal com base no qual você pode construir vários conversores com diferentes variantes de topologia. Essa abordagem permite que você tenha uma placa para todas as ocasiões, e o mais importante - para reduzir a quantidade de código, porque o módulo é o mesmo, uma vez configurado e esquecido.
Vamos agora ver alguns exemplos de como outras pessoas / empresas já implementaram essa ideia. Vou dar apenas dois exemplos:
- TMS320F28379D Cartão de controle - custa US $ 160. O ecossistema é excelente, existem complexos de depuração para ele, mas o preço ... É pequeno se você trabalha em um próspero centro de P&D e se decide construir um no-break para si ou trabalhar em uma empresa com mais facilidade? Sim, e o módulo por US $ 160 a queimar, parece-me, todo mundo vai se arrepender;
- O VectorCARD K1921VK01T é uma excelente solução, e as
pessoas do instituto de pesquisa e do complexo industrial militar estão se alegrando com a pedra doméstica, há um complexo de depuração na forma de um chastotnik, um analógico (pino a pino) com um módulo da ti, mas o preço é de 19.000 rublos. Para o duro complexo industrial e militar-industrial doméstico, é barato, mas não tanto para o resto.
E assim, o que eu queria fazer como resultado ... Um módulo que pode ser usado como ferramenta de depuração e como componente em uma pequena série. A partir daqui, há vários requisitos que acumulei:
- A presença de HRPWM e ADC rápido
- RS-485 a bordo
- UART com saída para conector de exibição (compatível com Nextion)
- Implementação de proteção de hardware na lógica
- Energia de 12V para usar um módulo AC / DC a 12V para os drivers do “cérebro” e da seção de energia
- O custo é pelo menos três vezes menor que o custo do cartão de controle TMS320F28379D, ou seja, US $ 50 no máximo
- Entrada do sensor de temperatura para o radiador
- Alguns GPIOs, por exemplo, um acionamento de relé
- Entrada e saída de sinais de sincronização para que vários dispositivos possam trabalhar em paralelo
Como resultado, obtivemos um diagrama estrutural:

Deve-se notar imediatamente que também consegui reduzir significativamente o custo do módulo. Encomendei componentes para 5 placas, onde os componentes custam cerca de US $ 70, ou seja, US $ 14 / módulo. Aqui a verdade é um truque - este é o custo de todos os componentes, mas sem uma placa de circuito impresso. A aritmética é simples: encomendar 5 placas em 4 camadas custa US $ 80-100, ou seja, outros US $ 14-20 para cada módulo, não concorda humanamente? Com a quantidade de 100 peças, o custo da placa já é de US $ 1,5 / peça, então, no futuro previsível, planejo encomendar 100-200 placas (verei como ficará mais barato) e aqueles que desejarem terão a oportunidade de comprar placas muitas vezes mais baratas do que US $ 14. Quem precisa de 20 a 30 pranchas ou US $ 100 não o incomoda, você já pode encomendá-las, pois também haverá gerberas preparadas.
Desenvolvimento
Não há nada complicado e incompreensível nos circuitos do módulo. Para começar, sugiro que você abra o diagrama de circuitos para entender o que é, e falarei sobre como o diagrama de blocos acima se transformou em uma solução pronta. Você pode fazer o download do diagrama aqui -
PDF .
- O módulo possui 1 "conector principal", onde fonte de alimentação de 12 V, alguns GPIOs, um UART adicional (de repente você deseja fixar o ESP), RS-485 e entrada / saída para dispositivos de sincronização são conectados a 12 pinos;
- Existem 5 canais, todos eles são exatamente iguais. Um par complementar de alto resultado PWM (HRPWM), que permite controlar a meia ponte, é enviado para cada canal. Existem também 2 canais ADC para implementar feedback de corrente e tensão e uma cereja no bolo - uma entrada de erro (falha). Por exemplo, você tem um curto-circuito na unidade de energia, o comparador detectou um excesso de corrente e emitiu um log. 1 como sinal de acidente, portanto, a alimentação de “1” para esta entrada interrompe a operação do dispositivo;
- O sinal de erro da entrada de falha vai para 2 lugares: para a entrada BKIN do microcontrolador e, através do inversor, para a entrada do elemento lógico AND. A entrada BKIN também é uma proteção de hardware e desativará a geração de PWM mesmo se o MK travar, mas eu queria jogar com segurança e adicionar mais lógica para interromper o sinal;
- No módulo, um conector CWF-4 separado exibe a interface SWD para depuração conveniente, além de UART e energia para conectar a tela ou comunicação com outros módulos ao segundo conector. Os displays Nextion agora são populares; portanto, o conector para eles é projetado e também faço meu painel IHM com um método de comunicação semelhante (UART, + 5D, GND);
- A placa contém PHY para a interface RS485 com resistor de terminação e proteção ESD. A escolha caiu nessa interface porque está em qualquer lugar, porque é um padrão do setor. Por exemplo, você deseja combinar seu inversor de tensão com um motor diesel e será conveniente enviar / receber comandos. Sim, e em qualquer CLP também possui RS485;
- Também instalei uma pequena memória não volátil para armazenar configurações ou outra coisa útil.
Esse diagrama de circuito acabou se transformando em uma placa de circuito impresso de 4 camadas, medindo 115x40 mm. Em princípio, você pode criar sua versão em 2 camadas, mas as dimensões aumentarão. Era importante para mim ter uma largura não superior a 40 mm, para que, após a instalação nos conectores PBD, a altura total fosse de 47 a 50 mm - o tamanho dos capacitores eletrolíticos fosse de 35x50 mm. O quadro é o seguinte:

Infelizmente, quando encomendei as placas, em vez de uma máscara preta, indiquei uma verde - o principal fiasco desta revisão)) Quem não entendeu como o módulo é inserido, sugiro olhar aqui:


Na primeira foto, você também pode observar uma certa placa com vários conectores e principalmente sem componentes. Isso é algo como uma "placa-mãe" para prototipagem mais conveniente. Os conectores BH-10 (IDC-10) distribuem os mesmos 5 canais de controle + as interfaces de comunicação são exibidas nos blocos de terminais e um conector de energia é instalado. Tudo isso permite que você não colete vários fios. As "placas-mãe" foram encomendadas separadamente, para que elas cheguem um pouco mais tarde e após a verificação, haverá fontes disponíveis.
Assembléia
Quanto ao módulo anterior, os PCBs foram encomendados à
PCBway , os caras receberam placas gratuitas e outro estêncil. Este último simplificou significativamente minha vida e economizou tempo, foram montadas 5 placas com mais de 200 componentes em cada 1 hora. 2 semanas após o pedido, os correios me trouxeram um charme:


Sim, eu não mudei a máscara no formulário de pedido, mas, aparentemente, sentindo isso, fiquei
dourada, a alça foi revestida com ouro de imersão para não ficar triste. Isso não é crítico para a minha tarefa, mas devido à excelente planaridade dos contatos, a pasta de solda é aplicada de maneira mais uniforme e os componentes não levam aos lados, mesmo que o perfil térmico do forno não seja o ideal.
O estêncil foi encomendado com uma moldura de perfil de alumínio, Eu tenho uma impressora de tela, mas sem uma moldura, ela não pode ser fixada lá. Se você não possui uma impressora, faça o pedido sem bordas: você pode aplicar colar (levar alguns minutos mais) e ainda economizar dinheiro, porque um estêncil sem moldura pesa aproximadamente 400 g e uma moldura de 1,8 kg. Devido a esse peso, você o receberá imediatamente por correio, conforme o correio não carrega mais de 2 kg, apenas o EMS e você precisará pagar US $ 30-40 a mais, portanto, lembre-se. O estêncil em si é assim:

Agora você precisa instalar a placa na impressora e aplicar a pasta. Aqui estão algumas dicas. Em primeiro lugar, se você colar em aliexpress, em seguida, apenas latas de 500 g, é da melhor qualidade nelas (aparentemente elas armazenam corretamente). Em segundo lugar, mantenha a pasta na geladeira. Em terceiro lugar, depois de usar o estêncil, certifique-se de lavá-lo da pasta, uma esponja comum e uma gota de detergente (as fadas são as melhores) farão maravilhas, depois seque o estêncil e envolva-o em uma película aderente após a secagem, se você não usá-lo por mais de uma semana. Coloque a pasta no quadro:

Após a aplicação, obtemos a seguinte peça:

Nesta fase, eu jogo com segurança: removo a pasta do chassi LQFP-64 sob o microcontrolador STM32F334R8T6. O fato é que eu poderia estragar o sistema de energia em algum lugar e há uma chance de + 12V entrar no MK e queimá-lo, mas eu não gostaria de destruir pedras por US $ 5. Portanto, soldo tudo nesta fase, exceto o microcontrolador, conectores e campainha. Vou instalá-los manualmente já após verificar as tensões + 3.3V e + 5V. Agora, o estágio mais chato é instalar os componentes, mas planejo comprar uma máquina de escolher em breve e só vou tomar café))

Os componentes estão instalados e agora os enviamos ao forno:

Agora resta verificar os níveis de tensão na saída CC / CC e, se tudo estiver normal, então solde os componentes restantes com um ferro de soldar / secador de cabelo, lave a placa dos resíduos de fluxo e obtenha este resultado:

Conectamos um programador, por exemplo, um apito st-link chinês, mas eu recomendo fortemente que você compre um st-link v.2-ISOL firme com isolamento galvânico. Tudo é como administradores com backups:
"Alguns já queimaram um laptop e começaram a usar isoladores, enquanto outros ainda não começaram a usar isoladores" . Se o preço no st-link nativo o assusta, ou seja, a opção de comprar junto com o apito chinês e o módulo isolador de Ali, eles geralmente são implementados no ADuM-ah. Para não ser atormentado com o pino ao conectar o depurador, fiz um cabo para conectar esses módulos em particular, agora definitivamente não posso cometer um erro ao conectar:

Resta verificar se o módulo está pronto para funcionar, se o MK é lido, para que você possa começar a escrever o código com segurança. Para fazer isso, você pode instalar o utilitário
STM32CubeProgrammer . Nós o abrimos, seu depurador deve ser definido. Se você viu seu ID no canto superior direito, clique em
Conectar e se tudo estiver montado corretamente, veremos o ID do microcontrolador, o kernel, uma série de MK (eu tenho o F334):

Isso é tudo! O módulo está pronto para operação e desenvolvimento de vários conversores.
Código fonte
- Diagrama de circuitos - PDF
- Lista de componentes (BOM) - Excel
- Arquivos PCB Gerber - RAR
- Projeto com pinagem para STM32CubeMX - IOC
Conclusão
Agora, existem 2 módulos para desenvolvimento, isso é suficiente para montar o conversor. É claro que haverá um terceiro módulo, mas sem a HMI, você poderá viver, e aqueles que desejarem poderão comprar nextion no bolso. No próximo artigo, já será possível montar um conversor completo, para realizar os reguladores P e PI que eles tão ansiosamente solicitaram nos comentários. Para a obviedade dos resultados, os artigos subseqüentes serão sobre topologias específicas: suas análises, cálculos, prototipagem, código e, provavelmente, começarei com as topologias dinâmicas e dinâmicas, como as mais simples e comuns.
Também gostaria de agradecer aos caras da
PCBway que ajudam com placas de qualquer complexidade de excelente qualidade. Graças a eles, o projeto está avançando bastante ativamente e, em alguns meses, consegui fazer o que era preguiçoso para implementar os dois anos anteriores.

Espero que o artigo tenha sido interessante para você, se você tiver alguma dúvida sobre a topologia do buck, poderá expressá-la nos comentários ou no PM e, quando escrever o próximo artigo, tentarei respondê-las e, assim, tornar o material mais útil.