2007 年第 2 期 福 建 电 脑
183
步进电机及其单片机控制
12
吴海涛 , 郭 猛
(1. 郑州市质量技术监督局 河南 郑州 450001 2. 平顶山工学院 河南 平顶山 467001 )
【摘 要】: 随着工业自动化的发展,步进电机的应用越来越广泛。步进电机是一种用于开环控制的驱动元件。本文阐述
了步进电机的基本知识和特性,提出了基于单片机控制和集成电路驱动的步进电机控制实现方法以及软硬件设计方法。
【关键词】: 步进电机;L297;L298; 1. 步进电机的基本知识 步进电机是一种将电脉冲转化为角位移的数字控制执行机
构。它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电 机就转动一个角度,因此非常适合于单片机控制。
1. 步进电机有如下特点:
当 1.1 步进电机的角位移与输入脉冲数严格成正比,因此,
它转动一周后,没有累计误差,具有良好的跟随性。
既非常简 1.2 由步进电机与驱动电路组成的开环数控系统,
单、廉价,又非常可靠。同时,它也可以与角度反馈环节组成高性 能的闭环数控系统。
1.3 步进电机的动态响应快,易于起停、正反转及变速。 1.4 速度可在相当宽的范围内平滑调节,低速下仍能保证 获得大转矩,因此,一般可以不用减速器而直接驱动负载。
它不能直接 1.5 步进电机只能通过脉冲电源供电才能运行,
使用交流电源和直流电源。
必须对控制系统和机械 1.6 步进电机存在振荡和失步现象,
负载采取相应的措施。
带惯性负载的能力较 1.7 步进电机自身的噪声和振动较大,
差。
(VR)、永磁式步进2. 步进电机的分类: 反应式步进电机
电机(PM)、混合式步进 电机(HB)
永磁式步进电机一般为两相,转矩和体积较小,步进角一般 为 7.5 度或 15 度; 反应式步进电机一般为三相,可实现大转
矩输出,步进角一 般为 但噪声和振动都很大,在欧美等发达国家 80 年代 1.5 度,已被淘汰。
混合式步进电机是指混合了永磁式和反应式的优点。它又 分为两相和五相:两相步进角一般为 1.8 度而五相步进角一般 为 0.72 度。这种步进电机的应用很广泛。
我们以四相步进电机 35BYJ46 为例, 说明步进电机的工作 方式:
35BYJ46 有四相 ABCD,如果对各个相依次单独通电,\"A- ,磁场旋转一周需要换相四次,则称为四相单四拍;如果 B- C- D\"
每次对两相同时通电,则称为四相双四拍;也 \"AB- BC- CD- DA\",可以每次对三相同时通电,\"ABC- BCD- CDA- DAB\";将单四拍和 双四拍交替使用,就称为四相八拍,如:\"A- AB- B- BC- C- CD- D- DA\"、\"AB- ABC- BC- BCD- CD- CDA- DA- DAB\",此时磁场旋转 一周需要换相八次。
双四拍每次对多相同时通电,与单四拍比较起来,每相通电 的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。同 时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使 得电机不易产生失步。
四相八拍与四相四拍相比较,步距角减小了一倍,有利于削
步进电机控制系弱振荡,提高电机的带负载能力。 一般说来,
统需要以下部分,如图 1 所示。
其中的脉冲发生器用于产生频率变化的脉冲信号; 脉冲分配器 根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉
冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步 进电机的运转,这些部分都可以由专门的电路来实现。如果用单 片机加上专门的驱动芯片来控制步进电机,可以简化电路,提高 可靠性。
图 1 典型步进电机控制系统
2. 步进电机的驱动
步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩 波驱动、细分驱动和集成电路驱动。由于集成电路集驱动和保护 于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常 方便。在实际应用中, 我们选择了 L298N 集成电路芯片作为 35BYJ46 的驱动芯片。
L298 是采用 15 脚的 Multiwatt 或 PowerSO20 封装的单片集 成电路芯片,其结构框图如图 2[3]。它内部采用两个高电压、大 电流的全桥电路 A、B,每个桥需要两个标准的 TTL 逻辑电平输 入,以驱动继电器、螺线管(电磁铁)、直流电机和步进电机(2 相 或 等负载。两个使能引脚 EnA、桥 4 相)EnB 分别使能桥 A、B。 每个桥 的 三 极 管 发 射 极 连 接 在 一 起 别 是 引 脚 SenseA、 , 分
以外接电流反馈电阻。此外 L298 还需要一个额外的电 SenseB,
压供应端 Vss 作为逻辑电路部分的电源。
L298 可以用于驱动直流电机,图 3 是直流电机的驱动电 路,接两个直流电机 A 和 B。IOA1/IOB1,IOA2/IOB2 是两个 IO 口,用于控制直流电机的转向;PWMA/PWMB 用于电机的调速 控制,增大占空比可以提高电机的转速,PWMA/PWMB 的产生 可以由单片机通过软件来实现,也可以由硬件来产生。对于一些 高档的单片机如 都有 AVR、PIC 等,PWM 输出端口。VCC 选择: 7- 46V。
图 2 L298 结构框图
图 3 L298 直流电机的驱动电路
图 每 4 是 L298 驱动四相步进电机 35BYJ46 的驱动电路,
184
福 建 电 脑
2007 年第 2 期
相流过的电流为 2A。它采用了 L297 来产生步进脉冲,当然,这
也可以通过单片机的 IO 口来软件编程实现(见以下的驱动程序 部分)。对于 L297 芯片,重要的控制引脚如下:
转方向控制。 CLOCK:步进时钟脉冲,信号的上升沿触
发。 HALF/FULL:高电平,低电平,HALF 有效,4 相 8 拍;FULL 有效,低电平,4 相单 4 拍(translator 为偶数状态);FULL 有效,4 相双 4 拍(translator 为奇数状态)。
复位到 HOME 初始状态(STATE=1,ABCD=0101)。 RSTET:
这四个控制线,可以由模拟电路产生。有关 L297 的详细的说明 可以参考 L297 文档资料。 3. 编写步进电机驱动程序
有了上面的驱动电路,可以方便地写出单片机控制步进电 机的驱动程序(Keil C51)。函数 DriveMoto 通过参数 cw、spd、num 来控制步进电机的转动方向、速度和转动步距。:
#define uchar unsigned char #define uint unsigned int uchar CONTROL[8]={ //四相八拍步进电机换相的控制字。
0x30,0x10,0x90,0x80,0xC0,0x40,0x60,0x20,
};
void Delay(uchar DelayTimes) //uS 微秒级延时 {
while(- - DelayTimes); //12Mhz 下,延时 DelayTimes*2+3 微秒
图 电机旋4 L298 驱动 4 相步进电机 CW/CCW:
}
//*********cw 转动方向,spd 速度和 num 转动的步距 ************* void DriveMoto(uchar cw,uchar spd,uint num) {
uint i; uchar j;
if(cw) //正转 {
for(i=0,j=0;iP2&=0x0F;P2|=CONTROL[j++];Delay(spd); //高四位先清 0,再赋值
j=j&0x07; //j=j%8
}
}else //反转 {
for(i=0,j=7;iP2&=0x0F;P2|=CONTROL[j- - ];Delay(spd); //高四位先清 0,再赋值
j=j&0x07; //j=j%8
}
}
}
参考文献:
电动机的单片机控制[M]。北京:北京航空航天大学出版社, 1. 王晓明,
2002
步进电机控制系统的快速实现[J]。鄂州大学学报,2. 宋锦河,2004.10,4~6
3. L298 DUAL FULL- BR IDGE DR IVER , 器件资料。ST Microelec- tronics GR O UP O F CO MPAN IES,2000
詹卫前等,ATMega8 原理及应用手册[M]。北京:清华大学出版 4. 马潮,
社,2003
5. L297 STEPPER MO TO R CO N TR O LLER S, 器件资料。ST Micro- electronics GR O UP O F CO MPAN IES,2000
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第 214 页)
为着制作一件\"成 \"任务驱动\"让学生在每一堂课上为着\"任务\"、
品\"或\"半成品\"去上机操作,去克服遇到的各种困难,当大功告 成的时候,一种收获的喜悦、一种成就感油然而生。
开始是模仿,制作出与课本例题一样 \"任务驱动\"对于学生,
的程序,积累了一定的基础知识,接踵而来的便是学生自己对程 序的不断完善,不断更新,这就是由\"任务驱动\"引发的学生的无 穷的创造力。\"授之以鱼,不如授之以渔\",教师在教会学生知识 的同时,更重要的是教会学生学习方法。\"任务驱动\"正好给了学 生这样一个机会,不断提出的新的任务,激励着学生去学习、
去创作更美妙的\"精品\"。 去 探索,
美国教育家杜威说:\"教育的目标在于使人能够继续教育自
己。\"而任务驱动教学法的目标则正是培养学生的学习动机和能 力,培养学生会思考,会归纳,有发展自己知识的能力。它体现 了\"以人的发展为本\"的观念,激发学生求知欲,提高创造力,使 学生有很大的成就感。
参考文献:
《目前的计算机普及教育还存在着误区》1. 谭浩强 [j] 《建构主义- - 革新传统教学的理论基础》2. 何克抗 [j].电化教育研究,
1997 年第 3、4 期:28- 34
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第 210 页)
术研发上、产品工业化上、产品可靠性上、应用成熟度上都已经 达到国际先进水平,已经在环境、能源、材料、人类健康、国防、政 府、教育、企业等领域得到较为广泛的应用。所以在采购高 性能计算机时应支持和优先考虑国产高性能计算机,同时也只 有全国各行各业更多的领域来使用国产高性能计算机,才能更 好的提高我国高性能计算的整体水平,才能更快的赶超世界先 进水平。
1. 世界 TO P500, http:/ / www.top500.org。 2. 中国 TO P100, http:/ / www.samss.org.cn。
高性能计算进入泛应用时代,中国电子报,3. 孙永杰,2005 年 12 月。 高性能计算机的应用和发展趋势,微电脑世界,4. 徐志伟,2000 年。
中科院软件所并 5. 张云泉,2004 年高性能计算机发展趋势分析与展望,
行计算实验室,2005 年 5 月。
高性能计算\"提速\" 本土厂商掀起合作高潮,通信产业报,6. 王辉,2004
年 11 月。
超级计算进入普及应用,信息周刊,7. 翁美飞,2006 年 3 月。
参考文献: