随着电子技术的快速发展,脉宽调制控制技术逐渐成熟,主要应用于电力电子技术行业。模拟控制方式产生的脉宽调制(PWM)信号,根据相应负载的变化,调制晶体管基极或MOS管栅极的偏置,从而实现晶体管或MOS管导通时间的变化,最终实现开关稳压电源输出的变化,产生PWM信号,复杂且成本高。用单片机产生脉宽调制信号简单、方便、成本低。
第一章 方案论证
STM32F103的ARM芯片被本项目硬件系统设计采用,程序的编写应用keilMDK4.53,结合STM32V3.5标准库。写好程序,调试运行没问题后下载进入单片机。通过示波器记录实验结果。系统结构图如下图所示。
图1 系统结构图
单片机通上电之后,输出并且由示波器检测到PWM信号,用户可由按键可以控制其输出。
1.1 产生PWM信号方案论证
PWM波在直流电机调速经常被使用,在机械装置控制、机器人应用等行业被大量涉及,这里讲解几种PWM的制备方法:第一种方法是直接控制单片机时钟模块,通过使用中断来实现,PWM波参数可以很容易被设置;第二种方法是用555时基电路产生PWM波,硬件电路简单,但调试要小心;第三种方法是采用积分电路获得PWM波,然后经过迟滞比较器,这种方法电路相对复杂,电路调试也需要经验。选择方法时,请注意组件的细微差别以及温度漂移造成的影响。
①利用单片机内部的PWM波电路产生
单片机利用内部晶振产生PWM波,具备两路PWM输出,适用于各种干扰较强的场合使用。stm32将定时器设置成PWM模式需要通过程序,然后就可以产生相应频率、相应占空比的PWM波。
②555时基电路产生PWM波
因为内部有定时触发电路的存在,555时基电路只需要在外部搭建脉冲产生电路就可以触发内部时基电路,从而输出不同频率和占空比的方波。555时基电路于1971年首次引入,其使用比较容易、制作成本不高的特性,使得该芯片到今天为止大量应用于各种电路设计中。当我们需要产生频率和占空比可变的PWM波,通过改变555时基电路外面的电阻和电容就可以实现。555时基电路如图
图2 555时基电路
555时基电路产生PWM波包含单稳态触发器,所以他具有以下的特征:首先,它具有稳定和暂稳状态;其次,当从外部加上触发脉冲时,可以从稳定状态转换成暂稳状态;第三,经过一段时间后,暂时稳定状态自动返回到稳定状态,该状态的持续时间独立于触发脉冲,仅由电路本身的参数决定。数字系统和设备中的这种电路通常用于同步(以产生特定宽度的方波)、整形(以将不规则波形转换成具有相等宽度和幅度的脉冲)和延迟(以在输入信号延迟一段时间后输出)。
③运算放大器产生PWM波
此节讲述的是利用带滞回比较器的级联和反向积分运算电路产生PWM波的情况,并且可以调节PWM波频率和占空比等工作系数。
图3 反向比例积分器电路
图4 方波经反向比例积分器得到的三角波
1.2 参数储存器模块的方案论证
储存器可以分为很多种,按是否易失分为是易失存储器和非易失存储器。而对于十分重要的参数储存器要求数据能一直保存,即使掉电后数据依然保存的非易失存储器。参数储存器的选择多种多样,各有各的优点,用户可根据条件择优选取。以下介绍三种参数储存器方案,分别是SD卡、EEPROM和EEPROM。
①EEPROM
EEPROM(ElectricallyErasableProgrammableROM)是电可擦除储存器。EEPROM是由电路来控制擦除和写入,所以写入和擦除不受次数的限制。它按字节为单位修改数据,处理数据时更方便。
②Flash存储器
Flash存储也是比较受欢迎的存储器,由于它可以重复擦写和容量大的特点,目前被广泛使用。和EEPROM相比最大的区别就是Flash必须按块擦除。其另一大应用领域用作硬盘驱动器的替代品,具有抗震、高速、无噪声和低功耗的优点。有的时候它也被称为闪存。
但对于单片机FLASH有一定的擦除、写入次数,一般的单片机的FLASH擦除写入次数的标称值是10000次。此外FLASH写入数据需要比较长的时间,大约需要4-6ms.而且写FLASH需要加上9V的高压,麻烦。所以单片机不适合采用Flash储存。
第二章 理论分析与计算
PWM波其实就是一连串的的方波,这些方波就是由一个周期内的高低电平来构成的。用单片机控制的PWM波改变的就是方波的频率和周期内电平的翻转时间,所以PWM波最重要的两个参数分别时周期和占空比。为了保证PWM信号的可靠性必需对单片机内部定时器、计数器器和输出比较进行配置。
2.1 输出频率的计算
下面我们来讲解PWM1模式,由于计数器CNT计数的方向不同,还分为边沿对齐、中心对齐模式。PWM信号主要都是用来控制电机,一般的电机控制用的都是边沿对齐模式,FOC电机一般用中心对齐模式。
图5 PWM模式的边沿对齐波形
第三章 硬件设计
根据系统结构图,系统由:信号输出电路、储存模块电路、单片机最小系统电路组成。
3.1 信号输出电路
这个电路是用来输出高低电平的,它的优点是负载能力和开关速度都比普通方式有很大提高,稳定性好。
图6 推挽等效电路
所谓的推挽输出模式是根据这两个MOS管的工作方式来命名的。当高电平输入该结构时,经上方的P-MOS导通后,下方的N-MOS关断,向外输出高电平;而当本结构输送低电平时,经过反向后,N-MOS管导通、P-MOS管关闭,向外输出低电平。当引脚高低电平切换时,两个MOS管轮流导通,P管负责灌电流,N管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。
3.2 单片机最小系统电路图
单片机最小系统就是使单片机能够实现简单运行的最少元件组合,括晶振电路、复位电路、电源电路,电路如图所示
图7 单片机最小系统电路图
第四章 软件设计
通过程序实现占空可调的PWM波,要求实现在上电后自动读取上一次保存的占空比并输出对的应PWM波,当输出通道打开时能自由切换通道1和通道2,如果一个通道处于输出状态,另一个通道就必须处于关闭状态。当信号从某一通道输出时,按通过键可以改变输出占空比的值,并且每按一次按键占空比增加10%,最后把当前占空比的值保存到EEPROM。当需要停止输出时,也可以通过按键停止信号输出功能。根据系统软件设计要求将软件划分为:主程序,储存模块。
4.1 主程序
主程序完成EEPROM的读写,初始化按键、PWM模块,实现按键改变占空比比
图8 程序流程图
4.2 EEPROM读写子程序
EEPROM读程序将EEPROM中的有用数据读出来,EEPROM写程序是将有用的数据写入EEPROM中,这样就可以在单片机掉电后再次使用
图9 EEPROM读写程序流程图