基于单片机的步进电动机控制系统设计
2014-06-14李盾
李盾
摘要:步进电动机是一种受脉冲信号控制的电机元件,文章介绍了一种选用单片机STC89C52系统,该系统遵循操作方便,性价比高的原则,设计出一种安全稳定、适应性强的步进电动机控制系统。
关键词:步进电动机;STC89C52;系统设计
中图分类号:TM383 文献标识码:A 文章编号:1009-2374(2014)12-0019-03
步进电动机又被称为脉冲电动机或阶跃电动机,每给步进电动机一个脉冲信号,它就转过一个固定角度。步进电动机只存在周期性误差,故精确度很高。目前,控制步进电动机主要有三种方式,分别是基于电子电路控制、基于单片机控制和基于PLC控制。由于电子电路控制步进电动机时,若用于开环系统,精度较低,用于闭环系统,虽可以实现高精度控制,但需要通过一系列集成电路来实现,灵活性反而降低;通过PLC控制时,由于PLC扫描周期过短,工作在高频区域时会导致精度降低;基于单片机控制步进电动机,灵活性较高,只需要改变软件就能适用于不同的环境,配合上显示电路、复位电路和控制电路,将大大提高人机交互性。
1 总体设计
本系统的组成框图(图1)如下,单片机接受来自键盘控制模块的指令,并将状态信息传递至显示模块,单片机控制信号经驱动电路,可控制步进电动机的转速及方向。本系统选用的单片机STC89C52有40个引脚,其中P2.0--P2.3为步进电动机驱动信号,P1为数码管控制端口,P2.5为数码管控制芯片74HC573位码选通控制端,P2.7为74HC573段码选通控制端,P0.0--P0.2为位显示端口,P2.4为运行状态显示端口,P2.6为运行方向显示端口,P3.4--P3.7为扫描键盘行线,P3.2--P3.3为扫描键盘列线。
2 硬件电路设计
本系统工作电压为5V,初始化复位操作有上电复位和手动复位两种方式。上电复位即STC89C52上电后,通过外部复位电容实现自动复位,手动复位是通过运行过程中按下RST按键实现的。单片机的内部震荡方式是在Pin18和Pin19引脚上接上12M晶振,晶振两端接30pF电容,电容另一端并联接地。
由于单片机的输入输出端口有限,故按键输入电路采用动态扫描的设计方式,扫描键盘的返回线端口是P3.2和P3.3,即单片机的外部中断输入端口。按键扫描的原理是,扫描线顺序设定为P3.4~P3.7,当P3.4置零后,单片机读取返回线的状态如果全是1,则表示没有按键按下;如果P3.2或P3.3为零,则表示相应的按键按下,随即进入相应的处理程序。扫描完成后,将P3.4置1。以此类推,先后扫描P3.5、P3.6和P3.7。在处理相应程序前,需要增加一个延时函数,以去除抖动避免重复执行程序。
系统的显示电路由四位共阴数码管和74HC573组成。选用74HC573,可以节省单片机的输入输出端口。两片74HC573的2--9引脚分别连接单片机P1.0--P1.7端口,其中一片74HC573控制数码管的段显示,其19--12引脚与数码管的A—DP相连接,另一片74HC573控制数码管的位显示,其19--16引脚与数码管的使能端相连接。数码管动态显示时,如要显示“1、2、3、4”,单片机的P1口先输出令第一个数码管点亮的位码0xfe,然后令控制位显示的74HC573锁存端置1,段显示74HC573置0,相应数码管点亮。随后P1口输出1的段显示码0x06,经短暂延时后,依次点亮第二个、第三个和第四个数码管,并相应显示对应的数字。
本系统选用的28BYJ48型步进电动机属于四项五线电机,步进角度为5.625/64度,转动一周所需的脉冲数为4096,工作电压为直流5-12V,本系统使用ULN2003直接驱动步进电动机,并采用单项绕组通电四拍模式的驱动方式(A-B-C-D-A)。
3 软件设计
系统经过初始化后,便进入待机状态,等待按键中断的产生。在连续运行模块中,定时器1开启后,便进入显示扫描。在连续运行模块中,位按键按下,再按上升键和下降键调节,最后按下启停键,步进电动机便按照设定的速度运行。如果需要改变方向,按下反向键即可。进入预置步模式时,首先开启定时器1,数码管便显示当前的模式是模式3,设定的步数是零,然后用位选择键、上升键和下降键可以调整步数,反向键可以改变运行的方向。定时器0控制步进电动机的输出频率,当定时器0发生中断后,相应的记录中断次数元素t加1,当t的数值与设定的档位大小相等的时候,单片机向步进电动机输出一个脉冲信号,步进电动机便运行一步。定时器1的中断发生,重设初始值时,调用显示函数,数码管便显示设定的各项数值。
4 仿真实验和调试
本系统使用Keil代码调试软件和Proteus仿真软件,分别对模式键、位选择键、上升键、下降键、启停键、反向键、顺时针键、逆时针键、连续运行模式和预置步模式进行仿真调试,设计完全达到了预期功能。
5 结语
本系统通过分析步进电动机的工作原理,按照实用、可靠和低成本的原则,设计出一种满足精度较高,控制较为完备的步进电动机控制系统,大大提高了系统的灵活性和适应性。本系统的开发设计,将对数控系统、通信和雷达设备、医疗装置及数控系统的发展产生积极的影响。
参考文献
[1] 毕少新.步进电机驱动控制的应用研究[M].北京:电子工业出版社,2007.
[2] 杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.
摘要:步进电动机是一种受脉冲信号控制的电机元件,文章介绍了一种选用单片机STC89C52系统,该系统遵循操作方便,性价比高的原则,设计出一种安全稳定、适应性强的步进电动机控制系统。
关键词:步进电动机;STC89C52;系统设计
中图分类号:TM383 文献标识码:A 文章编号:1009-2374(2014)12-0019-03
步进电动机又被称为脉冲电动机或阶跃电动机,每给步进电动机一个脉冲信号,它就转过一个固定角度。步进电动机只存在周期性误差,故精确度很高。目前,控制步进电动机主要有三种方式,分别是基于电子电路控制、基于单片机控制和基于PLC控制。由于电子电路控制步进电动机时,若用于开环系统,精度较低,用于闭环系统,虽可以实现高精度控制,但需要通过一系列集成电路来实现,灵活性反而降低;通过PLC控制时,由于PLC扫描周期过短,工作在高频区域时会导致精度降低;基于单片机控制步进电动机,灵活性较高,只需要改变软件就能适用于不同的环境,配合上显示电路、复位电路和控制电路,将大大提高人机交互性。
1 总体设计
本系统的组成框图(图1)如下,单片机接受来自键盘控制模块的指令,并将状态信息传递至显示模块,单片机控制信号经驱动电路,可控制步进电动机的转速及方向。本系统选用的单片机STC89C52有40个引脚,其中P2.0--P2.3为步进电动机驱动信号,P1为数码管控制端口,P2.5为数码管控制芯片74HC573位码选通控制端,P2.7为74HC573段码选通控制端,P0.0--P0.2为位显示端口,P2.4为运行状态显示端口,P2.6为运行方向显示端口,P3.4--P3.7为扫描键盘行线,P3.2--P3.3为扫描键盘列线。
2 硬件电路设计
本系统工作电压为5V,初始化复位操作有上电复位和手动复位两种方式。上电复位即STC89C52上电后,通过外部复位电容实现自动复位,手动复位是通过运行过程中按下RST按键实现的。单片机的内部震荡方式是在Pin18和Pin19引脚上接上12M晶振,晶振两端接30pF电容,电容另一端并联接地。
由于单片机的输入输出端口有限,故按键输入电路采用动态扫描的设计方式,扫描键盘的返回线端口是P3.2和P3.3,即单片机的外部中断输入端口。按键扫描的原理是,扫描线顺序设定为P3.4~P3.7,当P3.4置零后,单片机读取返回线的状态如果全是1,则表示没有按键按下;如果P3.2或P3.3为零,则表示相应的按键按下,随即进入相应的处理程序。扫描完成后,将P3.4置1。以此类推,先后扫描P3.5、P3.6和P3.7。在处理相应程序前,需要增加一个延时函数,以去除抖动避免重复执行程序。
系统的显示电路由四位共阴数码管和74HC573组成。选用74HC573,可以节省单片机的输入输出端口。两片74HC573的2--9引脚分别连接单片机P1.0--P1.7端口,其中一片74HC573控制数码管的段显示,其19--12引脚与数码管的A—DP相连接,另一片74HC573控制数码管的位显示,其19--16引脚与数码管的使能端相连接。数码管动态显示时,如要显示“1、2、3、4”,单片机的P1口先输出令第一个数码管点亮的位码0xfe,然后令控制位显示的74HC573锁存端置1,段显示74HC573置0,相应数码管点亮。随后P1口输出1的段显示码0x06,经短暂延时后,依次点亮第二个、第三个和第四个数码管,并相应显示对应的数字。
本系统选用的28BYJ48型步进电动机属于四项五线电机,步进角度为5.625/64度,转动一周所需的脉冲数为4096,工作电压为直流5-12V,本系统使用ULN2003直接驱动步进电动机,并采用单项绕组通电四拍模式的驱动方式(A-B-C-D-A)。
3 软件设计
系统经过初始化后,便进入待机状态,等待按键中断的产生。在连续运行模块中,定时器1开启后,便进入显示扫描。在连续运行模块中,位按键按下,再按上升键和下降键调节,最后按下启停键,步进电动机便按照设定的速度运行。如果需要改变方向,按下反向键即可。进入预置步模式时,首先开启定时器1,数码管便显示当前的模式是模式3,设定的步数是零,然后用位选择键、上升键和下降键可以调整步数,反向键可以改变运行的方向。定时器0控制步进电动机的输出频率,当定时器0发生中断后,相应的记录中断次数元素t加1,当t的数值与设定的档位大小相等的时候,单片机向步进电动机输出一个脉冲信号,步进电动机便运行一步。定时器1的中断发生,重设初始值时,调用显示函数,数码管便显示设定的各项数值。
4 仿真实验和调试
本系统使用Keil代码调试软件和Proteus仿真软件,分别对模式键、位选择键、上升键、下降键、启停键、反向键、顺时针键、逆时针键、连续运行模式和预置步模式进行仿真调试,设计完全达到了预期功能。
5 结语
本系统通过分析步进电动机的工作原理,按照实用、可靠和低成本的原则,设计出一种满足精度较高,控制较为完备的步进电动机控制系统,大大提高了系统的灵活性和适应性。本系统的开发设计,将对数控系统、通信和雷达设备、医疗装置及数控系统的发展产生积极的影响。
参考文献
[1] 毕少新.步进电机驱动控制的应用研究[M].北京:电子工业出版社,2007.
[2] 杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.
摘要:步进电动机是一种受脉冲信号控制的电机元件,文章介绍了一种选用单片机STC89C52系统,该系统遵循操作方便,性价比高的原则,设计出一种安全稳定、适应性强的步进电动机控制系统。
关键词:步进电动机;STC89C52;系统设计
中图分类号:TM383 文献标识码:A 文章编号:1009-2374(2014)12-0019-03
步进电动机又被称为脉冲电动机或阶跃电动机,每给步进电动机一个脉冲信号,它就转过一个固定角度。步进电动机只存在周期性误差,故精确度很高。目前,控制步进电动机主要有三种方式,分别是基于电子电路控制、基于单片机控制和基于PLC控制。由于电子电路控制步进电动机时,若用于开环系统,精度较低,用于闭环系统,虽可以实现高精度控制,但需要通过一系列集成电路来实现,灵活性反而降低;通过PLC控制时,由于PLC扫描周期过短,工作在高频区域时会导致精度降低;基于单片机控制步进电动机,灵活性较高,只需要改变软件就能适用于不同的环境,配合上显示电路、复位电路和控制电路,将大大提高人机交互性。
1 总体设计
本系统的组成框图(图1)如下,单片机接受来自键盘控制模块的指令,并将状态信息传递至显示模块,单片机控制信号经驱动电路,可控制步进电动机的转速及方向。本系统选用的单片机STC89C52有40个引脚,其中P2.0--P2.3为步进电动机驱动信号,P1为数码管控制端口,P2.5为数码管控制芯片74HC573位码选通控制端,P2.7为74HC573段码选通控制端,P0.0--P0.2为位显示端口,P2.4为运行状态显示端口,P2.6为运行方向显示端口,P3.4--P3.7为扫描键盘行线,P3.2--P3.3为扫描键盘列线。
2 硬件电路设计
本系统工作电压为5V,初始化复位操作有上电复位和手动复位两种方式。上电复位即STC89C52上电后,通过外部复位电容实现自动复位,手动复位是通过运行过程中按下RST按键实现的。单片机的内部震荡方式是在Pin18和Pin19引脚上接上12M晶振,晶振两端接30pF电容,电容另一端并联接地。
由于单片机的输入输出端口有限,故按键输入电路采用动态扫描的设计方式,扫描键盘的返回线端口是P3.2和P3.3,即单片机的外部中断输入端口。按键扫描的原理是,扫描线顺序设定为P3.4~P3.7,当P3.4置零后,单片机读取返回线的状态如果全是1,则表示没有按键按下;如果P3.2或P3.3为零,则表示相应的按键按下,随即进入相应的处理程序。扫描完成后,将P3.4置1。以此类推,先后扫描P3.5、P3.6和P3.7。在处理相应程序前,需要增加一个延时函数,以去除抖动避免重复执行程序。
系统的显示电路由四位共阴数码管和74HC573组成。选用74HC573,可以节省单片机的输入输出端口。两片74HC573的2--9引脚分别连接单片机P1.0--P1.7端口,其中一片74HC573控制数码管的段显示,其19--12引脚与数码管的A—DP相连接,另一片74HC573控制数码管的位显示,其19--16引脚与数码管的使能端相连接。数码管动态显示时,如要显示“1、2、3、4”,单片机的P1口先输出令第一个数码管点亮的位码0xfe,然后令控制位显示的74HC573锁存端置1,段显示74HC573置0,相应数码管点亮。随后P1口输出1的段显示码0x06,经短暂延时后,依次点亮第二个、第三个和第四个数码管,并相应显示对应的数字。
本系统选用的28BYJ48型步进电动机属于四项五线电机,步进角度为5.625/64度,转动一周所需的脉冲数为4096,工作电压为直流5-12V,本系统使用ULN2003直接驱动步进电动机,并采用单项绕组通电四拍模式的驱动方式(A-B-C-D-A)。
3 软件设计
系统经过初始化后,便进入待机状态,等待按键中断的产生。在连续运行模块中,定时器1开启后,便进入显示扫描。在连续运行模块中,位按键按下,再按上升键和下降键调节,最后按下启停键,步进电动机便按照设定的速度运行。如果需要改变方向,按下反向键即可。进入预置步模式时,首先开启定时器1,数码管便显示当前的模式是模式3,设定的步数是零,然后用位选择键、上升键和下降键可以调整步数,反向键可以改变运行的方向。定时器0控制步进电动机的输出频率,当定时器0发生中断后,相应的记录中断次数元素t加1,当t的数值与设定的档位大小相等的时候,单片机向步进电动机输出一个脉冲信号,步进电动机便运行一步。定时器1的中断发生,重设初始值时,调用显示函数,数码管便显示设定的各项数值。
4 仿真实验和调试
本系统使用Keil代码调试软件和Proteus仿真软件,分别对模式键、位选择键、上升键、下降键、启停键、反向键、顺时针键、逆时针键、连续运行模式和预置步模式进行仿真调试,设计完全达到了预期功能。
5 结语
本系统通过分析步进电动机的工作原理,按照实用、可靠和低成本的原则,设计出一种满足精度较高,控制较为完备的步进电动机控制系统,大大提高了系统的灵活性和适应性。本系统的开发设计,将对数控系统、通信和雷达设备、医疗装置及数控系统的发展产生积极的影响。
参考文献
[1] 毕少新.步进电机驱动控制的应用研究[M].北京:电子工业出版社,2007.
[2] 杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.