PCB抄板STM32正弦波逆变器设计
PCB抄板逆变电源设计概要
PCB抄板市电或其他的交流电可以通过二极管或可控硅的单向导电性整流成直流电供给需要使用直流电的场合。这种把交流电变换成直流电的过程我们叫做整流,也叫做顺变。那么逆变呢?我们自然地就会想到,应该就是把直流电变换成交流电的过程。逆变电源就是相对于整流器而言通过半导体功率开关器件的开通和关断把直流电变换成交流电的这么一个装置。 逆变电源也叫做逆变器, 下面分单元地讲一下逆变器主要的单元电路。 主要内容为:
一.电池输入电路PCB抄板
二.辅助电源电路PCB抄板
1. 12V 电池输入的辅助电源电路
2. 24V-48V电池输入的辅助电源电路
3. 多路隔离辅助电源电路
三.高频逆变器前级电路的设计
1. 闭环前级变压器匝数比的设计
2. 准开环前级变压器匝数比的设计
四.高频逆变器后级电路的设计
1. 米勒电容对高压 MOS 管安全的影响及其解决办法
2. IR2110应用中需要注意的问题
3. 正弦波逆变器 LC 滤波器的参数
五.逆变器的部分保护电路
1. 防反接保护电路
2. 电池欠压保护
3. 逆变器的过流短路保护电路的设计
4. IGBT 的驱动和短路保护
- /****************************************************************
- * Copyright (c) 2010 ,
- * All rights reserved.
- *
- *
- *文件名称:
- *文件标示:
- *摘要 :
- *当前版本:v1.0
- *****************************************************************/
- #include "includes.h"
- #include "math.h"
- __align(8) static OS_STK TaskStartStk[500];
- __align(8) static OS_STK TaskLedStk[500];
- #define START_PRIO 1u
- #define LED_PRIO 5u
- OS_EVENT * spk;
- OS_EVENT * lcd;
- OS_EVENT * time_10;
- static void TaskStart( void *parg);
- static void TaskLed(void *parg);
- void MenusTask( void *parg);
- int main()
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
- OSInit();
-
- spk=OSSemCreate( 1 );
- lcd=OSSemCreate( 1 );
- time_10=OSSemCreate( 1 );
- OSTaskCreateExt( TaskStart,
- (void *)0,
- &TaskStartStk[500-1],
- START_PRIO,
- START_PRIO,
- TaskStartStk,
- 500,
- ( void *)0,
- OS_TASK_OPT_STK_CHK+OS_TASK_OPT_STK_CLR);
-
- OSStart();
- return 0;
- }
- #include "math.h"
- static float x_est_last1 = 0;
- static float P_last1 = 0;
- /*/the noise in the system */
- static float Q1 = 0.1;
- static float R1 = 0.8;
- static float K1;
- static float P1;
- static float P_temp1;
- static float x_temp_est1;
- static float x_est1;
- static float z_measured1; /*/the 'noisy' value we measured */
- // float z_real = 0.5; /*/the ideal value we wish to measure */
- static float sum_error_kalman1 = 0;
- static float sum_error_measure1 = 0;
- static float kalman1(float z_real)
- {
- /*/do a prediction */
- x_temp_est1 = x_est_last1;
- P_temp1 = P_last1 + Q1;
- /*/calculate the Kalman gain */
- K1 = P_temp1 * (1.0/(P_temp1 + R1));
- /*/measure*/
- z_measured1 = z_real ;
- x_est1 = x_temp_est1 + K1 * (z_measured1 - x_temp_est1);
- P1 = (1- K1) * P_temp1;
-
- sum_error_kalman1 += fabs(z_real - x_est1);
- sum_error_measure1 += fabs(z_real-z_measured1);
-
- P_last1 = P1;
- x_est_last1 = x_est1;
- return x_est1;
- }

芯片解密