Um inversor com seno puro em 15 minutos ou "eletrônica de potência - para todos"

O que é eletrônica de potência? Sem dúvida - este é o mundo inteiro! Moderno e cheio de conforto. Muitas pessoas imaginam a eletrônica de potência como algo “mágico” e distante, mas olham em volta - quase tudo o que nos rodeia contém um conversor de energia: uma fonte de alimentação para laptop, uma lâmpada LED, UPS, vários reguladores, estabilizadores de tensão e medidores de frequência (IF) ) na ventilação ou elevador e muito mais. A maioria desses equipamentos torna nossa vida confortável e segura.

Por várias razões, o desenvolvimento da eletrônica de potência é uma das áreas mais difíceis da eletrônica - o preço do erro é muito alto, enquanto o desenvolvimento de conversores de energia sempre atraiu amantes, trabalhadores de bricolage e não apenas. Certamente você queria construir uma fonte de alimentação poderosa para o seu projeto? Ou talvez on-line UPS por um par de kW e não ir à falência? Ou talvez um chastotnik na oficina?

Hoje vou falar sobre o meu pequeno projeto aberto, ou melhor, sobre a parte dele, que permitirá a quem quiser entrar no mundo do desenvolvimento da eletrônica de potência e, ao mesmo tempo, permanecer vivo. Como demonstração das possibilidades, mostrarei como montar um inversor de tensão de 12V DC a 230V AC com uma saída senoidal em 15 minutos. Intrigado? Vamos lá!




Razões do projeto


Nos últimos dois anos, o desenvolvimento de conversores de energia representou cerca de 90% dos meus pedidos, os principais custos de mão-de-obra vão principalmente para desenvolvimento e prototipagem de software, projeto de circuitos + rastreamento final da placa do custo total geralmente não é superior a 10-15%. Aí vem o entendimento de que o processo de prototipagem, que inclui o desenvolvimento de software, precisa ser reduzido e otimizado de alguma forma.

Como sempre, existem pelo menos duas maneiras: comprar depuração pronta, por exemplo, da Texas Instrumets ou Infineon, mas elas geralmente são personalizadas para uma tarefa específica e custam de US $ 500 a US $ 5.000, enquanto não há garantia de que haverá uma ordem semelhante e esse investimento com alta probabilidade é fácil não vai pagar.
A segunda opção é fazer você mesmo, mas fazê-lo completamente é quase o mesmo que lançar "revisão +1 de ferro", o que resultará em despesas adicionais para o cliente. Se não for feito completamente, como sempre, tudo ficará irritado e em algum lugar algo cairá até o layout, os componentes e o tempo.
Depois de algum tempo, chamei a atenção para a solução mais óbvia. É tão simples e óbvio que, durante muito tempo, me perguntei por que a mesma TI ou Infineon ainda não haviam feito isso. Agora vou falar sobre a minha "iluminação".

Vejamos algumas das topologias de conversor de energia mais populares:







Agora olhe com cuidado novamente. Pintei especificamente sem amarrar, apenas os principais componentes para torná-lo mais claro. O que essas topologias têm em comum? A primeira coisa que chama sua atenção é uma série de pontos em comum:
  • Todas as topologias incluem os principais componentes - capacitores, transistores e indutância (indutor ou transformador). São três baleias de eletrônica de potência;
  • Os transistores são ligados em todos os lugares da mesma forma e formam a chamada "meia ponte". Quase todas as topologias de conversor são criadas a partir dele;
  • A opção de ligar o acoplador de meia ponte + capacitor não muda em todas as topologias. O tipo de indutância e as opções para incluir meias-pontes estão mudando.


A partir disso, podemos concluir que, com um determinado módulo padrão na forma de meia ponte + capacitor acoplado, você pode construir qualquer conversor adicionando apenas o indutor ou transformador necessário. Portanto, a solução óbvia para simplificar a criação de protótipos foi a criação desse módulo:


A luta entre o bem e o mal


Infelizmente, um número limitado de horas por dia e a preguiça banal ditam suas condições. Cheguei à necessidade de criar este módulo há um ano, mas a implementação era constantemente transferida sob o lema - "Definitivamente vou fazê-lo no próximo fim de semana!" .

Talvez a ideia tenha permanecido na prateleira, se não fosse por 2 eventos. Em primeiro lugar, dois clientes me procuraram em um mês e todos queriam um conversor complexo e interessante de implementar, e o mais importante, eles estavam prontos para pagar muito bem. Embora considerando que ele é da Europa, pode ter saído barato para eles)) Ambos os projetos foram interessantes para mim, por exemplo, um deles era um "regulador de tensão trifásico com isolamento galvânico (sic!)", Ou seja, um sistema trifásico Conversores PFC + 3 pontes (com mudança de fase) + retificador síncrono + inversor trifásico. Tudo isso em SiC e muito compacto. Em geral, aceitei 2 pedidos grandes, cada um deles ~ 800 horas-homem e um período de 6 meses. Como resultado, fui "forçado" a procurar maneiras de otimizar.

Em segundo lugar, os caras da empresa PCBway me escreveram inesperadamente, muitos provavelmente pediram placas deles e se ofereceram para cooperar. Eles apoiam ativamente projetos de hardware aberto, ou seja, a própria iniciativa do CERN - Open Source Hardware. A cooperação é simples e compreensível para ambas as partes - elas me fornecem taxas gratuitas para meus projetos, eu as abro e as coloco em seu site, em outros lugares já por solicitação. Para mim, tornou-se uma motivação adicional e, mais importante, minha consciência está limpa, porque Encomende placas para protótipos há vários anos e, para produção em massa, digo a amigos e parceiros sobre eles. Agora, para isso, eu também tenho um bolo na forma de placas gratuitas para pequenos projetos, você pode escrever frequentemente no hub))

E então o gelo quebrou, foi decidido criar não apenas o módulo descrito anteriormente, mas todo um conjunto de desenvolvedores de eletrônica de potência e torná-lo aberto e acessível a todos.

Estrutura do projeto


No começo do artigo, mencionei que vou contar apenas uma parte hoje - este é o módulo de energia da meia ponte . Somente ele permite criar um conversor simplesmente parafusando um circuito de controle, por exemplo, depurando o STM32-Discovery, Arduino, TMS320, TL494 ou o que você possui lá. Não há vinculação a nenhuma plataforma ou MK.

Somente este não é o projeto inteiro, mas parte)) Em que consiste o conversor de energia acabado? Antes de tudo, a unidade de potência precisa de um determinado módulo de controle para funcionar, para entender o que está acontecendo, é necessária uma indicação e para entender o que está acontecendo a uma distância segura, também há uma interface, por exemplo, Modbus RTU ou CAN.

Como resultado, a estrutura geral do projeto fica assim:



Provavelmente, no futuro, também escreverei um programa para calcular transformadores e bobinas, convencionais e planares. Até agora. As diferentes partes do diagrama em forma de rascunho já foram implementadas e executadas em dois projetos; após pequenas modificações, os artigos também serão escritos nelas e o código-fonte estará disponível.

Módulo de alimentação de meia ponte


Agora é hora de dar uma olhada no herói de hoje. O módulo é universal e permite que você trabalhe com transistores Mosfet e IGBT, interruptores de baixa e alta tensão de até 1200V.

Recursos do módulo:
  • Isolamento galvânico do lado de controle (digital) da energia. Tensão de ruptura do isolamento 3 kV;
  • As teclas superior e inferior são independentes, cada uma com seu próprio driver isolado galvanicamente e isolado galvanicamente dc / dc;
  • O driver moderno da Infineon - 1EDC60I12AHXUMA1 é aplicado. A corrente de abertura / fechamento do pulso é 6A / 10A. Frequência máxima - 1 MHz (testado até 1,5 MHz de forma estável);
  • Proteção de corrente de hardware: shunt + op-amp + comparador + optocoupler;
  • A corrente máxima é 20A. É limitado não por chaves, mas pelo tamanho do radiador e pela espessura dos polígonos de cobre.


A primeira revisão do módulo aparece no artigo, está totalmente operacional, mas haverá uma segunda revisão, na qual as falhas de design puramente serão eliminadas e os conectores serão substituídos por outros mais convenientes. Depois de completar a documentação, ele jogou o gerber na PCBway e após 6 dias o correio bateu na minha porta e me entregou um charme:



Uma semana depois, os cães finalmente trouxeram componentes de uma bela loja doméstica. Como resultado, tudo foi montado:





Antes de prosseguir, vejamos o diagrama de circuitos do módulo. Você pode fazer o download aqui - PDF .

Não há nada complicado ou mágico. A meia ponte habitual: 2 chaves abaixo, 2 acima, você pode soldar uma de cada vez. O motorista, como escrito acima da família 1ED, é muito mau e imortal. Em todos os lugares da energia há uma indicação, incluindo + 12V na saída dc / dc. A proteção é implementada no elemento lógico AND, se a corrente for excedida, o comparador produzirá + 3,3V, iluminará o acoplador óptico e atrairá uma das entradas AND para o solo, o que significa que o estabelecimento de log.0 e o sinal PWM dos drivers desaparecerão. E com 3 entradas foi usado especificamente, na próxima revisão, pretendo fazer proteção contra superaquecimento pelo radiador e iniciar o sinal de erro também. Todas as fontes estarão no final do artigo.

Montamos o layout do inversor


Pensei durante muito tempo em como demonstrar a operação do módulo, para que não fosse muito chato, útil e não muito difícil, alguém poderia repetir. Portanto, parei em um inversor de tensão, eles são usados ​​para trabalhar com painéis solares, se algo cheira no lado de baixa tensão, não é assustador, mas no lado de alta tensão, apenas quando você o liga, não coloque as mãos nele.

O inversor em si é feio e simples, a propósito, o MAP Energy é rebitado assim mesmo, aqui está um exemplo até da implementação comercial dessa idéia. O trabalho do inversor é formar uma variável sinusoidal com uma frequência de 50 Hz a partir de uma tensão de 12V DC, porque é com isso que um transformador convencional a 50 Hz está acostumado a trabalhar. Eu uso algum tipo de soviético, como OSM, fábrica de enrolamento de 220V e é usado como secundário, e o ~ 8V primário é enrolado com um barramento de cobre. É assim:



E esse monstro tem apenas 400 watts! O peso do transformador é de cerca de 5-7 kg, de acordo com as sensações. Se você o deixar cair na perna, eles definitivamente não serão levados para o exército. Na verdade, este é o menos dos inversores com transformadores de "ferro", eles são enormes e pesados. A vantagem deles é que esses inversores são muuuuito simples, não exigem nenhuma experiência para criar e, é claro, são baratos.

Agora vamos conectar os módulos e o transformador. De fato, o módulo para o desenvolvedor deve ser apresentado simplesmente como uma “caixa preta” que possui uma entrada de 2 PWMs e 3 saídas de potência: VCC, GND e a própria saída de meia ponte.



Agora, dessas "caixas pretas", vamos desenhar nosso inversor:



Sim, foram necessários apenas 3 elementos externos: um transformador + filtro LC. Para o último, dei um estrangulamento simplesmente enrolando o fio do módulo ao transformador em um anel de material Kool Mu, tamanho R32 com permeabilidade de 60 e uma indutância de cerca de 10 μH. Obviamente, o acelerador deve ser calculado, mas precisamos de 15 minutos)) Em geral, se você dirige algo assim a 400 W, precisa de um anel do tamanho R46 (esse é o diâmetro externo). Capacitância - filme de 1-10 uF, isso é suficiente. Na verdade, você não pode definir o capacitor como uma economia, porque a capacidade de enrolamento do transformador é saudável ... em geral, os chineses e o MAP fizeram exatamente isso)) O indutor se parece com isso:



Resta jogar uma carga de teste na saída, tenho duas lâmpadas LED de 20 W (nada mais estava à mão), elas mesmas comem 24 W, no entanto, a eficiência. Além disso, a corrente de circuito aberto do transformador é de cerca de 1A. Com bateria vai comer cerca de 5A. Como resultado, temos essa posição:



Além disso, o layout usa a bateria Delta HR12-17, respectivamente, a 12V e com capacidade de 17 A * h. Controlaremos o conversor da placa de depuração STM32F469-Discovery.

Código


Inicialmente, planejava-se usar o meu STM32VL-Disco, recebido na exposição em 2010, para gerenciamento, mas aconteceu que era nesse layout que estava destinado a morrer quando todo o código foi escrito e o layout foi lançado. Eu esqueci as pontas de prova do osciloscópio e combinei duas terras, amém. Como resultado, tudo foi reescrito no STM32F469NIH6, foi essa depuração que estava em mãos, portanto haverá dois projetos: para o F100 e para o F469, ambos verificados. O projeto foi desenvolvido para o TrueSTUDIO, a versão eclipse do ST.

Código do calçado
#include "main.h" /********************************************* Sinus table **********************************************************/ uint16_t sinData[240] = {0,13,26,39,52,65,78,91,104,117,130,143,156,169,182,195,207,220,233,246,258,271,284,296,309,321,333,346,358,370, 382,394,406,418,430,442,453,465,477,488,500,511,522,533,544,555,566,577,587,598,608,619,629,639,649,659,669,678,688,697, 707,716,725,734,743,751,760,768,777,785,793,801,809,816,824,831,838,845,852,859,866,872,878,884,891,896,902,908,913,918, 923,928,933,938,942,946,951,955,958,962,965,969,972,975,978,980,983,985,987,989,991,993,994,995,996,997,998,999,999,999, 999,999,999,998,997,996,995,994,993,991,989,987,985,983,980,978,975,972,969,965,962,958,955,951,946,942,938,933,928,923, 918,913,908,902,896,891,884,878,872,866,859,852,845,838,831,824,816,809,801,793,785,777,768,760,751,743,734,725,716,707, 697,688,678,669,659,649,639,629,619,608,598,587,577,566,555,544,533,522,511,500,488,477,465,453,442,430,418,406,394,382, 370,358,346,333,321,309,296,284,271,258,246,233,220,207,195,182,169,156,143,130,117,104,91,78,65,52,39,26,13,0}; uint16_t sinStep; uint8_t sinStatus; /******************************************** Used functions ********************************************************/ void StartInitClock (void) { RCC->CR |= RCC_CR_HSEON; // Enable HSE while (!(RCC->CR & RCC_CR_HSERDY)); FLASH->ACR |= FLASH_ACR_LATENCY_5WS; RCC->PLLCFGR = 0x00; RCC->PLLCFGR |= RCC_PLLCFGR_PLLM_3; // Div for HSE = 8 RCC->PLLCFGR |= RCC_PLLCFGR_PLLN_4 | RCC_PLLCFGR_PLLN_5 | RCC_PLLCFGR_PLLN_6 | RCC_PLLCFGR_PLLN_7; // PLL mult x240 RCC->PLLCFGR |= RCC_PLLCFGR_PLLSRC; // Source HSE RCC->CR |= RCC_CR_PLLON; while((RCC->CR & RCC_CR_PLLRDY) == 0){} RCC->CFGR &= ~RCC_CFGR_SW; RCC->CFGR |= RCC_CFGR_SW_PLL; // Select source SYSCLK = PLL while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1) {} // Wait till PLL is used RCC->CR |= RCC_CR_PLLSAION; while ((RCC->CR & RCC_CR_PLLSAIRDY) == 0) {} } void EnableOutputMCO (void) { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; // Enable clock port A GPIOA->MODER &= ~GPIO_MODER_MODER8; GPIOA->MODER |= GPIO_MODER_MODER8_1; // Alternative PP GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR8; // Very high speed RCC->CFGR |= RCC_CFGR_MCO1; // Source PLL RCC->CFGR &= ~RCC_CFGR_MCO1PRE; // Div = 1 } void InitIndicatorLED (void) { /* * LED1 - PG6 * LED2 - PD4 * LED3 - PD5 * LED4 - PK3 */ RCC->AHB1ENR |= RCC_AHB1ENR_GPIOGEN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOKEN; GPIOG->MODER &= ~GPIO_MODER_MODER6; GPIOG->MODER |= GPIO_MODER_MODER6_0; // Output PP GPIOD->MODER &= ~GPIO_MODER_MODER4; GPIOD->MODER |= GPIO_MODER_MODER4_0; // Output PP GPIOD->MODER &= ~GPIO_MODER_MODER5; GPIOD->MODER |= GPIO_MODER_MODER5_0; // Output PP GPIOK->MODER &= ~GPIO_MODER_MODER3; GPIOK->MODER |= GPIO_MODER_MODER3_0; // Output PP } void EnableIndicatorLED (void) { GPIOG->BSRR |= GPIO_BSRR_BR_6; GPIOD->BSRR |= GPIO_BSRR_BR_4; GPIOD->BSRR |= GPIO_BSRR_BR_5; GPIOK->BSRR |= GPIO_BSRR_BR_3; } void InitLowPWM (void) { /* * TIM1-CH1 - PA8 * TIM1-CH1N - PB13 */ RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN; /*********** GPIO **********/ GPIOA->MODER &= ~GPIO_MODER_MODER8; GPIOA->MODER |= GPIO_MODER_MODER8_1; // Alternative output PP GPIOA->AFR[1] |= GPIO_AFRH_AFRH0_0; // Select TIM1-CH1 GPIOB->MODER &= ~GPIO_MODER_MODER13; GPIOB->MODER |= GPIO_MODER_MODER13_1; // Alternative output PP GPIOB->AFR[1] |= GPIO_AFRH_AFRH5_0; // Select TIM1-CH1N /*********** Timer *********/ TIM1->PSC = 2400-1; // div for clock: F = SYSCLK / [PSC + 1] TIM1->ARR = 1000; // count to 1000 TIM1->CR1 &= ~TIM_CR1_CKD; // div for dead-time: Tdts = 1/Fosc = 41.6 ns TIM1->CCR1 = 500; // duty cycle 50% TIM1->CCER |= TIM_CCER_CC1E | TIM_CCER_CC1NE; // enable PWM complementary out to PB15 and to PA10 TIM1->CCER &= ~TIM_CCER_CC1NP; // active high level: 0 - high, 1 - low TIM1->CCMR1 &= ~TIM_CCMR1_OC1M; TIM1->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1; // positiv PWM1_CH3 and PWM1_CH3N TIM1->BDTR &= ~TIM_BDTR_DTG; // clear register TIM1->BDTR |= TIM_BDTR_DTG_2 | TIM_BDTR_DTG_1 | TIM_BDTR_DTG_0; // value dead-time: = 31*Tdts = 32*41,6ns = 1.29us TIM1->BDTR |= TIM_BDTR_MOE | TIM_BDTR_AOE; // enable generation output and dead-time TIM1->CR1 &= ~TIM_CR1_DIR; // count up: 0 - up, 1 - down TIM1->CR1 &= ~TIM_CR1_CMS; // aligned on the front signal: 00 - front; 01, 10, 11 - center TIM1->CR1 |= TIM_CR1_CEN; // start count } void InitSinusPWM (void) { /* * TIM3-CH1 - PB4 * TIM3-CH2 - PC7 */ RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; /*********** GPIO **********/ GPIOB->MODER &= ~GPIO_MODER_MODER4; GPIOB->MODER |= GPIO_MODER_MODER4_1; // Alternative output PP GPIOB->AFR[0] |= GPIO_AFRL_AFRL4_1; // Select TIM3-CH1 GPIOC->MODER &= ~GPIO_MODER_MODER7; GPIOC->MODER |= GPIO_MODER_MODER7_1; // Alternative output PP GPIOC->AFR[0] |= GPIO_AFRL_AFRL7_1; // Select TIM3-CH2 /*********** Timer *********/ TIM3->PSC = 5-1; // div for clock: F = SYSCLK / [PSC + 1] TIM3->ARR = 1000; // count to 1000 TIM3->CCR1 = 0; // duty cycle 0% TIM3->CCR2 = 0; // duty cycle 0% TIM3->CCER |= TIM_CCER_CC1E; // enable PWM out to PA8 TIM3->CCER &= ~TIM_CCER_CC1P; // active high level: 0 - high, 1 - low TIM3->CCER |= TIM_CCER_CC2E; // enable PWM complementary out to PA9 TIM3->CCER &= ~TIM_CCER_CC1P; // active high level: 0 - high, 1 - low TIM3->CCMR1 &= ~(TIM_CCMR1_OC1M | TIM_CCMR1_OC2M); TIM3->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1; // positiv PWM1_CH1 and PWM1_CH2 TIM3->CR1 &= ~TIM_CR1_DIR; // count up: 0 - up, 1 - down TIM3->CR1 &= ~TIM_CR1_CMS; // aligned on the front signal: 00 - front; 01, 10, 11 - center TIM3->CR1 |= TIM_CR1_CEN; // start count } void InitStepSinus (void) { RCC->APB1ENR |= RCC_APB1ENR_TIM6EN; // enable clock for basic TIM6 TIM6->PSC = 5-1; // div, frequency 24 kHz TIM6->ARR = 1000; // count to 1000 TIM6->DIER |= TIM_DIER_UIE; // enable interrupt for timer TIM6->CR1 |= TIM_CR1_CEN; // start count NVIC_EnableIRQ(TIM6_DAC_IRQn); // enable interrupt TIM6_DAC_IRQn } /************************************* Main code *********************************************/ int main (void) { StartInitClock(); // EnableOutputMCO(); InitIndicatorLED(); InitLowPWM(); InitSinusPWM(); InitStepSinus(); EnableIndicatorLED(); while(1) { } } /****************************** Interrupts ******************************************************/ void TIM6_DAC_IRQHandler (void) { TIM6->SR &= ~TIM_SR_UIF; if (sinStatus == 0) {TIM3->CCR1 = sinData[sinStep];} if (sinStatus == 1) {TIM3->CCR2 = sinData[sinStep];} sinStep++; if (sinStep >= 240) { sinStep = 0; sinStatus = sinStatus ? 0 : 1; } } 


Em geral, em outro artigo, ele descreveu em detalhes e claramente como gerar um sinal sinusoidal, como escrever código e assim por diante. Você pode ler aqui .

Você leu? Deseja colecionar? Mantenha o projeto:


Executamos o código, armar-nos com um osciloscópio e seguir em frente. Antes de tudo, verificamos a presença de um sinal na entrada dos drivers, deve ser assim:



Vale a pena notar que eu dou 2 sinais desenhando um seno em uma meia ponte (módulo) e 50 Hz em 2 sinais. Além disso, uma diagonal é "vermelho + amarelo" e a outra é "azul + verde". No artigo que eu dei acima, isso está escrito em detalhes, se você de repente não entender. Agora, quando os sinais chegaram, colocamos meia ponte + 12V e GND da fonte de alimentação do laboratório. Imediatamente a bateria não aconselha, se você cometer algum erro, algo poderá queimar. A proteção na placa evita sobrecorrentes, mas não de ombreiras óbvias, quando o mais e o menos são misturados, mas o técnico do laboratório economiza. 12V e 1A são suficientes para testes. Levamos a sonda do osciloscópio, seu fio terra à saída da primeira meia ponte e a própria sonda à saída da outra meia ponte, e deve haver uma imagem:



Onde está o seno que você pergunta? O fato é que a resistência de entrada do osciloscópio é grande e não constitui uma carga; portanto, a corrente não flui e não há onde obter o seno. Adicionar uma carga, eu fiz uma carga de 90 Ohm a partir de resistores de 10 Ohm, basta ligar 9 peças em série. Ligamos a carga às saídas das meias-pontes e vemos a seguinte figura:



Você tem o mesmo? Portanto, é hora de conectar o indutor, o transformador, a carga e tentar iniciar. Achtung! Você não pode ligar este modelo sem carga, porque em modo inativo, a saída pode ser de até 350 ... 380V. Para que isso não precise de carga ou sistema operacional. Não teremos o último, este é o tópico de um artigo separado. Você pode estragar o regulador-P tão simples quanto opcional, pois você já possui um modelo de projeto.

Inclusão


Depois de ligar, obtemos cerca de 230V na saída, a saída certamente não está estabilizada e flutuará 230V + -30V, para testes, em outro artigo, finalizaremos o layout enquanto decido falar sobre os controladores P e PI e sua implementação.

Agora você pode apreciar o resultado do trabalho e, se necessário, colocar tudo em uma caixa e até aplicá-lo na fazenda ou no país para fornecer luz e outras comodidades.



Você provavelmente notou um atraso entre o “clique”, ou seja, ligando o Discovery e acendendo as lâmpadas - esse é o tempo que o MK gastou na inicialização. Esse atraso pode ser reduzido gravando um único dígito no registro de uma só vez, em vez de dividir a entrada do registro em várias linhas. Esmaguei-o apenas para fins ilustrativos. Embora isso não seja assustador, com o código HAL, o atraso é três vezes maior e as pessoas de alguma forma vivem com ele))

Até que eu esqueci, a fonte do projeto:

  • Diagrama esquemático - PDF
  • BOM - Excel
  • Arquivos Gerber - RAR


Resta ver como estão as temperaturas no quadro, se houver algum ponto particularmente quente. 5-6A certamente não é suficiente, mas se houver um erro de corrente contínua ou algum erro grave, isso será suficiente para transformar a placa em uma chaleira:



Como você pode ver, o elemento mais quente é o módulo dc / dc para isolamento galvânico, que é de 2 watts, que aquece até 34 graus, bem, também é uma derivação. Os transistores e o radiador têm uma temperatura ambiente após 30 minutos de operação do conversor))

Obrigado e planos


Em um futuro próximo, pretendo escrever sobre a placa DSP e gerenciá-la não a partir da descoberta de depuração, mas a partir do módulo "especializado". Os conselhos da 2ª revisão chegaram a ele da mesma PCBway, espero pelos componentes e escrevo imediatamente.

Espero que tenham gostado do artigo e da própria ideia. No futuro, nos mesmos módulos, mostrarei como montar um chastotnik, um controlador de mppt ou talvez algo mais interessante. Se você tiver dúvidas, não hesite em perguntar nos comentários ou no PM, se de repente você não tiver uma conta completa, tentarei responder a todas as perguntas.

Agora, graças ao PCBway , é realmente muito bom que eles suportem o mecanismo de código aberto. Em breve, os fabricantes de hardware podem até encontrar escritores de software em termos de número e qualidade de projetos de código aberto.

Source: https://habr.com/ru/post/pt428550/


All Articles