直流电机优化控制系统设计(二)
扫描二维码
随时随地手机看文章
3 系统硬件方案设计与实现
3.1 控制芯片
选择单片机作为本控制系统的核心,根据本系统所要完成的功能,要求我们所用的控制芯片需具备以下功能或接口,PWM 输出功能、A/D 转换功能、串行通讯接口。此外,为了完成某些控制算法,需要有较高的速度,还要求具有较低的功耗和较高的性价比,能够进行硬件调试,软件开发简单。AVR 单片机是Atmel 公司推出的较为新颖的8 位单片机,采用了RISC 结构,其显著的特点为高性能、高速度低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。内部集成32 个通用寄存器,每一个都相当于51 里面的一个累加器A,避免了累加器瓶颈,进一步提高了运行速度和代码效率。AVR 单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用1~16MHz,最短指令执行时间为63ns。AVR 单片机指令代码较为简练,其编译器都C 语言进行了优化,具备ISP和IAP(In Application Program,在应用编程)。与传统的51 系列相比,AVR 单片机在速度、功耗、性价比上具有极大的优势,因此,我们选择AVR 单片机作为本系统的控制芯片。
3.1.1 ATmega16 的特点
ATMEL 公司的AVR 单片机现有50 多个品种,分为低、中、高三个不同档次。我们选择了AVR 单片机中性价比较高的一款-ATmega16 作为系统控制芯片。ATmega16 属于高档AVR 单片机,是一款性能完善、使用更加方便和功能更加强大的新型AVR 单片机。其性能及内部资源如下:
(1)高性能和低功耗的先进RISC 型8 位微控制器。
(2)32 个8 位通用工作寄存器,只需2 个时钟周期的硬件乘法器,工作于
16MHz 时性能高达16MIPS。
(3) 内部集成16KB Flash,1KB 的SRAM 和512B 的E2PROM。
(4)32 个准双向I/O 引脚,20 个中断源,其中外部中断源为2 个,1 个SPI
接口和1 个USART,2 个8 位定时器和一个16 位定时器,3 个PWM 通道,8
路10 位的A/D 通道。
(4) 具有空闲、省电、掉电、等待和ADC 降噪等多种功作模式和上电复位、
外部复位、看门狗复位和BOD(电源电压欠压和过压检测)等多种复位电路。。
(5) 符合IEEE1149.1 标准的JTAG 接口,可实现对片内存储器的编程和程
序调试。具备ISP 和IAP 功能。
(6)系统时钟为0-16MHz,可外接晶体振荡器,也可用片内振荡器,ATmega16
提供0-8MHz 可校准的内部时钟,在对时钟要求不很严格的场合可用内部时钟,
可以节省成本和降低EMI。
(7)工作电压、速度及功耗。ATmega16L:2.7-5.5V,0-8MHz,ATmega16:
4.5-5.5V,0-16MHz。ATmega16L 在1MHz,3V,25℃时功耗为:正常模式:1.1mA,
空闲模式0.35mA,掉电模式:小于1μA。
(8)DIP40 或TQFP44 封装。
3.2 AVR单片机最小系统
AVR 单片机最小系统由复位电路、晶振电路和ISP 下载下线接口及ATmega16构成。如下图3-1 所示。
虽然AVR 单片机内部带有0-8MHz 的内部时钟,但为了系统时序稳定,工作可靠,这里采用了由8MHz 的石英晶振构成的振荡器作为单片机的系统时钟。R23、C23 和S1 构成上电复位和按键复位电路。P14 为AVR 单片机的ISP 下载接口。C27、C24,L1、C26 分别构成数字电路和内部模拟电路电源滤波电路,C25 为A/D 转换所用内部参考源的滤波电容。单片机的管脚分配如下表3-1 所示。
3.3 双极性PWM 波形产生与死区发生
3.2.1 PWM波的产生
PWM 波形由控制芯片ATmega16 的定时器T/C1 产生,从OC1A(PD5)引脚输出。ATmega16 的T/C1 是一个可编程的16 位双向的定时器/计数器,既可以在系统时钟作用下作为16 位定时器使用,也可以对T1 引脚上的脉冲进行计数,可以在OC1A 和OC1B 引脚上输出两路PWM 波形,并可在ICP 引脚上输入脉冲作用下捕捉一次TCNT1 中瞬时计数值。这里我们不详细介绍T/C1 的所有功能,只阐述其产生PWM 的波形的过程。与T/C1 有关的工作寄存器有:T/C1 计数器TCNT1、输出比较匹配寄存器OCR1A 和OCR1B 以及输入捕捉寄存器ICR1,均为16 位,由相应的8 位I/O 寄存器拼装而成;T/C1 控制寄存器TCCR1A 和TCCR1B,用于设定T/C1 的工作模式。T/C1 的工作模式由一般模式、比较匹配时清零定时器(CTC)模式以及两种PWM 等15 种。PWM 模式中,又可分为8 位、9 位、10 位PWM,其中又有快速模式和相位频率可调模式。PWM 波形位数越高,则其波形输出精度也越高,但其相应频率也越低。为使电机电流连续,PWM 波形频率不能太低。在快速PWM 模式下,TCNT1 为加“1”计数器,可以从0000H 一直加到TOP值,并在下个计数脉冲到来时清零,然后再从0000H 开始加“1”计数,并重复上述过程。相比于其他两种PWM(相位可调及相位频率可调)模式,快速PWM模式频率要高出一倍,适合功率调节、电机控制等。因此我们选择快速PWM模式。
OC1A 或OC1B 引脚上PWM 输出波形的频率由下式确定,式中的N 取值为1、8、64、254 或1024(分别代表分频系数)。
fCLK_IO 为时钟频率,为8MHz,取N=1,即不对时钟进行分频,TOP 值代表CNT1 计数的最大值,跟PWM 位数有关,当选择8 位快速PWM 模式时,TOP=255,则输出频率为31.25KHz;选择9 位快速PWM时,TOP=511,则输出频率为15.6KHz,综合比较,选择9 位快速PWM 输出模式,能同时满足频率和精度的要求。频率确定后,还需确定占空比(波形)。引脚OC1A 或OC1B 的输出波形取决于触发器OC1A 或OC1B。在T/C1 设置成反向比较匹配输出模式下时,若TCNT1 中计数值和OCR1A 或OCR1B 中比较值匹配相等时,OC1A 或OC1B 触发器被清零,OC1A 或OC1B 引脚输出低电平;若TCNT1 中计数值继续计数到TOP 值并由此而返回0000H,则OC1A 或OC1B 被置位,OC1A 或OC1B 输出高电平。工作时序如图3-2 所示。当TCNT1 中的计数值达由TOP 值变为0000H 时,T/C1 产生溢出中断,置位中断标志位TOV1,若中断是开放的,则MCU 会立即转入相应中断服务程序。TOV1 也由硬件自动清零,向该标志位写”1”则由软件清除该标志位。在中断服务程序中改变OCR1A 的值,则其PWM 波形占空比会发生相应变化 。图3-2 T/C1 反向比较匹配输出模式工作时序本系统中,我们只需要一路PWM 信号即可,这里用OC1A 引脚产生,采用9 位快速PWM 模式,频率为15.6KHz,当要改变输出占空比时,改变OCR1A的值即可。
3.2.2 驱动信号形成及死区发生
H桥要由4 路其中两路反向的波形来驱动,因此需将PWM 波形进行反向处理。此外,还需加入防止H 桥上下臂直通的延时电路。如图3-3 所示。
EN 为PWM 输出使能信号,当EN 为低电平时,封锁输出与门,输出全为低电平,电机停转。同时输出与门也起着整形的作用。PWM 信号一路直接输入与门,另一路经反向后送入与门,增加其驱动能力。D1、R5、C9,D3、R9、C12构成死区发生,利用阻容充电,使波形缓慢上升,再利于与门的阈值电压(VCC/2,这里为2.5V)对波形进行整形。下降沿时,电容通过二极管进行快速放电,这样就行成了导通延时。各点波形如图3-4 所示。更新OCR1A或OCR1B的值,置位TOV1中断标志标志位TCNT1OC1A或OC1B死区时间为△t,对MOSFET,死区时间可取0.2-1μs。本文将R5 和R9 用可变电阻代替,将死区时间设为500ns。
经过该电路处理后,一路PWM 信号变成4 路PWM 信号,其中PA、PC 同相,PB、PD 也同相,这两组信号互为反相且存在死区。
图 3-4 死区波形