基于单片机的直流电机控制模块设计
2017-10-09
(四川文化传媒学院五年一贯制校区 四川 成都 611700)
基于单片机的直流电机控制模块设计
刘春梅
(四川文化传媒学院五年一贯制校区 四川 成都 611700)
利用单片机和电子技术等方面的知识,通过C语言编程,使 STC系列单片机的定时器产生不同频率、不同占空比的PWM信号,由单片机的I/O口输出,去控制L298N电机驱动芯片,达到对电机转速和方向控制的目的。
单片机;PWM;信号;转速 ;转向
电机为运动提供动力,无论旋转运动还是直线运动,电机在人们日常生活的各个方面发挥着重要作用。与气压或液压系统相比,电机系统工作时更加清洁和高效。因此高效的电机控制技术显得尤为重要,近年来,随着脉宽调制技术、特种电机材料技术、微电子技术及现代控制技术的进步,电机控制技术正朝着数字化智能化的方向发展,因此脉宽调制(PWM)技术是较优越的电机控制技术。
一、 设计的总体任务和要求
(一)设计单片机开发系统,利用C语言或汇编语言实现PWM信号的产生,对直流电机转速进行有效控制。
(二)采用单片机的编程技术设计并产生PWM信号,对直流电机进行控制,无需外接D/A转换器,使控制电路大大简化,控制方式简洁,控制精度高、控制效果好。
二、直流电机PWM调速原理
在脉冲作用下,当电动机通电时,速度增加;电动机断电时,速度逐渐减少。只要按一定规律改变通、断电时间,即可使电动机速度达到一定的稳定性。
设电动机永远接通电源时其转速为最大Vmax,占空比D=t1/T,如图1所示,则电动机的平均速度为
Vd=VmaxD
(公式一)
式中:Vd——电动机的平均速度; Vmax——电动机全通电时的速度(最大); D=t1/T——占空比。
图1 脉冲信号
三、硬件系统组成
(一) 总体框图
图2 总体框图
如图2所示,硬件系统由单片机最小系统、L298N电机驱动模块、按键模块、1602液晶显示模块、LED指示模块组成。
(二) 各模块电路说明
1、 单片机最小系统
STC系列是单片机是一款高性价比的单片机,它虽然功能强大,但要想完成其强大的功能,单靠它也是不行的。因此要让单片机运行起来,就要创设单片机工作的环境,即单片机的最小系统,它包括振荡电路、复位电路、电源电路。
2、 L298N电机驱动模块
驱动芯片比较常见的是15脚Multiwatt封装的L298N,如图2所示,内部包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。表1是L298N逻辑功能。
表1 L298N功能模块
3、 按键模块及功能
表2 按键功能表
4、 液晶显示模块
1602液晶主要用于显示直流小电机的速度等级及电机的转向。
5、LED指示模块及功能
表3 指示模块及功能
四、软件系统设计
(一) 定时/计数器工作方式及控制寄存器的设置
1、选用T0和T1作为产生脉冲用的定时器并且使它们工作在模式1(定时模式)下。在模式1中,寄存器TH0、TH1和TL0、TL1以全8位参与操作,构成16位定时/计数器,当TH0(TH1)溢出时向中断标志位TF0(TF1)进位,并申请中断。在这种模式下T0(T1)定时时间最长,有利于在更大的范围内对电机进行调速。
2、工作模式寄存器TMOD。如表4所示:
表4定时器工作模式寄存器TMOD
TMOD的高4位用于T1,低4位用于T0,4种符号含义如下:
GATE:门控位。
C/T:定时/计数器方式选择位。C/T=0为定时器方式,C/T=1时为计数器方式。
M1M0:工作模式选择位,具体如下:
M1M0=00:模式0(13位定时/计数器)
M1M0=01:模式1(16位定时/计数器)
M1M0=10:模式2(8位自动重装常数的定时/计数器)
M1M0=11:模式3(2个8位定时/计数器,仅对T0)
(二)定时/计数器常数的计算
定时/计数器中的计数器是在计数初值基础上以加法计数的,并能在计数器从全“1”变为全“0”时自动产生溢出中断请求。因此,可以把计数器计数初值设定为TC,定时器定时时间T的计算公式为:
T=(M-TC)T计数
(公式二)
式中M为计数器模值,该值和计数器工作模式有关。在模式1时M为216。在定时器模式下,T计数是单片机振荡周期的12倍。
上式也可写成:TC=M-T/T计
(公式三)
在程序设计中工作模式为模式1,计数器模值M=216=65536;
则给定时器赋值:
TH0=(65535-T计数)/256
(公式四)
TL0=(65535-T计数)%256
(公式五)
(三)中断控制
除特殊功能寄存器TCON和SCON中的某些位与中断有关以外,还有一个特殊功能寄存器即中断允许寄存器IE用来设定各个中断源的打开和关闭。其形式如表5所示:
表5 中断允许寄存器IE
EA:CPU中断允许位。
ES:串口中断允许位。
ET0:定时/计数器0中断允许位。
以上各位等于1时,CPU开放中断;等于0时,CPU禁止该中断。单片机系统复位后,IE中各位均被清零,即禁止所有中断。程序中要开T0或T1中断则应将ET0或ET1置1,另外如果要使用中断EA也要置1。
五、总结
用单片机做开发比模拟电路有明显优势,即不用对电路有大改动就可以适应新的工作条件,升级也很方便,只需对CPU重新刷写一次程序就可以了。单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器/计数器、中断系统资源丰富,有应用价值。而且电路的可靠性比较高,功能也比较强大,可以随时更新系统,进行不同状态的组合。但是实际应用中单片机也有很多局限性,比如内部存储器容量不够大,运算速度不够快,内部输出信号功率很小,因而要驱动电机必须用电机驱动芯片。
[1]何立民,单片机应用技术大全[J],北京,北京航空航天大学出版社, 1994
[2]康华光,电子技术基础(数字部分)[M],高等教育出版社,2005.07