开关电源状态监测系统设计与实现——毕业设计总结(一)

开关电源状态监测系统设计与实现——毕业设计总结(一)

2019年6月16日10:48:40

我的毕设题目是开关电源状态监测系统设计与实现,其中的主要工作是设计制作电压和频率可以调节的开关电源,并在此基础上对主电路中的电流进行监控。下面我将从软件、硬件、仿真等方面来对本次毕业设计进行一些总结。

首先,我想谈的是软件方面的控制要求。由于此前从没有做过电源方面的控制,我对这方面知之甚少。在从同学、书籍等方面了解以后就着手进行了控制板的绘制。在此项目中,对于BUCK降压电路以及逆变电路都需要互补PWM,我自己觉得对STM32比较熟悉,使用其任意通道输出PWM我都能够做到。因此我一开始绘制PCB时,随意选择了STM32的定时器通道(考虑到以前对程序理解不够透彻,对定时器1的使用有过不成功的时候,这次选择定时器还特意避免了定时器1)。在电路板做回来以后,我发现了一系列的问题!首先是互补PWM的输出,我固然能够使用所选的几个通道输出互补PWM,但是在本项目中还要求互补PWM要带死区时间(避免同一侧的开关管同时导通造成的短路、烧电路)。通过网上查找资料,只有STM32的高级定时器(定时器1和定时器8)才能输出带死区时间的互补PWM,对于普通定时器,没有官方的配置。对此感到很苦恼,于是我去想了一些办法:

(1)上网查询找了很久的资料,终于被我找到一份关于使用普通定时器输出带死区时间的互补PWM。他使用的方法是将定时器初始化为中间对齐模式,互补通道使用反向输出。在占空比合适的时候,这种方法确实能够输出带死区时间的互补PWM,但是有一点不好的就是互补通道的输出占空值始终是对称的,在将占空比调节至较小的时候,死区时间就会显得特别大,所以这个办法只能输出固定占空比的互补PWM,对于本设计所要求的占空比可调来讲并不适用。

(2)PWM产生的原理就是电平的拉高拉低,如果单片机的I/O口被人为地置高置低,同样可以产生PWM。如果需要增加死区时间的设置,在置位复位之前添加延时就可以了。但是这个方案很快就被我放弃了(我不记得我是否尝试过这个方案了)。原因有这么几个:使用定时器产生精确的计时、及时拉高拉低电平的动作需要在中断中进行,这些并没有问题,但是如果是在中断中添加延时函数则可能会发生意外情况;另外的一个原因是,本设计所使用的互补PWM频率的在10KHz以上,使用中断内部执行拉高拉低电平的指令所使用的时间将会对频率造成巨大的误差。因此这个方案还未被我使用就否定了。

办法想完了,问题没解决,只有重新画板子了......

你可能感兴趣的:(开关电源状态监测系统设计与实现——毕业设计总结(一))