1、 XXXX 大大 学学 模拟电路课程设计报告模拟电路课程设计报告 课题名称:课题名称:基于 STC12 系列单片机的串联型开关电源设计与实现 学 院 计算机与电子信息学院 专 业 班 级 学 号 姓 名 摘要摘要: 本模拟电路课程设计要求制作开关电源的模拟电路部分, 在 掌握原理的基础上将其与单片机相结合,完成开关电源的设计。 本报 告旨在详述开关电源的原理分析、计算、仿真波形、相关控制方法以 及程序展示。 一、一、 开关电源原理分析开关电源原理分析 本课程设计采用单片机控制与模拟电路相结合的方法来实现开 关电源。 单片机所采用的芯片为 STC12C5A60S2, 该芯片在拥有 8051 内核
2、的基础上加入了 10 为 AD 和 PWM 发生器。通过程序,即可控 制单片机产生一定占空比的 PWM 脉冲, 将此脉冲输入到模拟电路部 分,在模拟电路的输出端即可产生一定的输出电压,可比较容易的通 过程序来实现对输出电压的控制。 但上述的开环控制是无法达到精确 的调节电压,因此需要采用闭环控制来精确调制。即,对输出电压进 行 AD 采样,将其输入回单片机中进行数据处理。 单片机根据处理的 结果来对输出电压做出修正, 经过这样的逐步调节即可达到闭环的精 密输出。由此原理,可以将整个过程分成一下模块:MCU 控制模块, PWM 波形输出模块,模拟电路模块,AD 转换模块,数码管显示模 块,键盘输
3、入模块。原理图如下: 二、本设计的特色二、本设计的特色 经过几次完善, 本课程设计的程序改掉了之前的独立按键而换用 了矩阵键盘,同时,矩阵键盘与数据的对应形式与手机键盘相同,操 作方便。对于显示函数进行了一定的修改,废弃了应用 Delay 函数的 原始办法,改用中断进行显示,这样的效果更佳。同时,对于闭环控 制也进行了一定的更改, 由原来的简单的对占空比进行操作变成了在 一定时刻后对占空比进行 10000 次叠加取均值, 这样使显示更加的稳 定准确。 将每次输入数据都要复位的缺点进行看修改,只需先按独立 按键就可进入重复键入数据的模式, 使得程序更加实用。 同时程序中 也加入了对输入数据进行修
4、改和按键音的功能, 使得整个设计更加人 性化。 三、三、模拟电路模拟电路原理说明原理说明 模拟电路图如下: 该模拟电路的控制部分原理为, 通过 MCU 输出的 PWM 脉 冲来不断的使三极管导通和截止,这样就达到了一个类似开关 的功能, 使得三极管的射极与 VCC 导通和截止。 而射极的电压 经过后续电路后,其输出端就会输出一定的电压值。也就是说 通过调整 PWM 脉冲即可该电路的输出电压。 四、四、相关控制说明相关控制说明 本系统通过 STC12C5A60S2 单片机对其进行控制,具体控制流 程为:首先,程序先对定时器进行初始化,通过定时器中断来对数据 进行显示,之后通过键盘输入程序对数据进
5、行输入,并将其输入的数 据保存在数组中。在这个过程中可以对输入的数据进行更改。之后对 单片机进行 AD、PWM 初始化。使其处于工作状态。在初始化时, 应该将 PWM 的占空比设定为最小,即 CCAP0H、CCAP0L=0XFE。 之后,AD 采样回电压并将其储存在数组中同时转化成能够与键盘输 入值进行比较的形式。 将该值与键盘输入值进行比较,通过比较结果 来对 CCAP0H,CCAP0L 进行调整,考虑到如果闭环控制如果是在不 断的调整占空比,那么随之接收到并且显示的电压必定在不断跳动, 因此,可以采用将不断调整的占空比进行叠加取出均值然后赋给 CCAP0H,CCAP0L 的方法, 直至调整
6、为与键盘输入的数值达到最优为 止,这样即完成了闭环精确调制电压的过程。 在编程中,需要注意的问题有:1、在 AD 采样时,不一定会达到 很高精度,这时需要实测数据,根据数据对程序进行修正。2、关于 闭环控制,起初,程序中将键盘输入与占空比设置联系到了一起。这 是十分不明智的。应将键盘输入数据与占空比的设置分开,键盘输入 的数据仅仅作为一个标准用于比较。 五五、设计中存在的不足、设计中存在的不足 在设计过程中,虽说程序可以正确运行,但是程序中语句的运用 确实存在不合理之处。例如本应是 ifelse 的语句却用了两个 if, 这样看似可以正常运行,但是效率却不如 ifelse。这些细微之处 都应该加以注意。 六、本次课程设计的体会六、本次课程设计的体会 本次课程设计的最大体会就是:对待程序, 要多注意关注它的细 节,不要以程序可以正确运行为目的,而应当尽可能的提高程序的效 率,尽可能的增强程序的可读性,尽可能的达到人性化的设计。增加 一些诸如可删除,按键音,可重复输入数据,状态指示灯等小功能。 这些看似容易的小功能实