CN1052587C - 单片机精确控制步进电机系统 - Google Patents
单片机精确控制步进电机系统 Download PDFInfo
- Publication number
- CN1052587C CN1052587C CN98111309A CN98111309A CN1052587C CN 1052587 C CN1052587 C CN 1052587C CN 98111309 A CN98111309 A CN 98111309A CN 98111309 A CN98111309 A CN 98111309A CN 1052587 C CN1052587 C CN 1052587C
- Authority
- CN
- China
- Prior art keywords
- high speed
- stepping motor
- register
- content
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Control Of Stepping Motors (AREA)
Abstract
本发明公开了一种单片机精确控制步进电机的系统。本发明用单片机,以5相10拍的数字信号用于驱动步进电机的控制系统;单片机经光电隔离接口,再经功放电源,接步进电机,步进电机经齿轮传动带动工作物体。本发明可用于各种场合的步进电机驱动,实现精确到十分之一毫米精度精确定位。本发明系统可广泛用于工业设备、家电、控制其直线距离行走或精确的角度转动。
Description
本发明涉及用于控制步进电动机的装置,特别是单片机对步进电机位置或方向的控制技术。
步进电机是一种特殊的电动机,是以脉冲方式工作的。线圈中每输入一个脉冲,转子就旋转一个固定角度,即步距角。如果用传动系统,将步进电机输出的旋转运动变成直线运动,那么转过一个步距角相应于沿直线运动了一段固定的距离。由于步进电机具有精度高,惯性小,工作可靠,且能实现高精度快速开环和闭环控制,可以在各种自动控制系统和计算机模拟通道中获得广泛的应用。
近年来,随着MCS-96系列单片机的诞生,尤其是8098单片机及其开发系统的出现,为步进电机控制系统提供了理想的机种,已经有四相4拍8个触发事件的步进电机驱动程序的简要介绍,其中仅用一次中断申请,为此步进电机移动直线距离或转角精度不够。加之程序中不涉及行进距离的输入、计算及行进方向的设定等问题,且只能用于特定型号的步进电机。
本发明的目的,是提供一种可以精确控制步进电机作直线移动和转动角度的控制系统。
本发明的目的是这样实现的:单片机经光电隔离接口,再经功放电源,接步进电机,步进电机经齿轮传动带动工作物体;在单片机内有:行进距离设定、行进方向设定、锁定/工作方式设定。其中,单片机是以5相10拍的数字信号的输出来驱动步进电机的控制系统。
由于采用光电隔离接口,大大提高了系统抗干扰的能力,隔断了工作物体所在现场中可能产生的干扰性高压,确保了单片机等弱电系统不受损坏。功放电源的接入,解决了步进电机所需特定输入功率问题。步进电机经齿轮传动带动工作物体,既可变步进电机的转动为工作物体的直线运动,又可平稳无滑动地驱动工作物体移动。单片机内置有的行进距离设定程序,其运行可保证工作物体精确移动到特定工作位置后正常停止。行进方向设定程序的存在使得用户可预先设定工作物体移动方向,从而实现工作物体的双向精确移动。锁定/工作方式的设定,使得工作物体能工作在两种状态,即:工作状态:此时工作物体在步进电机驱动下正常移动;锁定状态:此时步进电机在单片机控制下呈″抱闸″状态,从而保证了工作物体一直处于静止的正常位置。由于使用了5相10拍的数字信号来驱动步进电机,使得在同等条件下对直线位移或转角的控制精度有较大的提高。
下面结合附图对本发明作进一步详述。
图1是本发明系统框图;
图2是步进电机控制系统主程序框图;
图3是步进电机控制系统高速输出中断服务程序框图;
图4是步进电机控制系统高速输出按内存寻址存储器的装载子程序框图;
图5是步进电机经齿轮传动移动工作物体结构图;图中:1、真空室;2、天线;3、真空室;4、步进电机;5、减速齿轮;6、滚珠丝杠;7、支承。
本发明系统框图,如附图1所示:其构成是单片机经光电隔离接口,再经功放电源,接步进电机,步进电机经齿轮传动带动工作物体。在单片机内有:行进距离设定;行进方向设定;(锁定/工作)方式设定。本发明系统单片机内的软件:
1.单片机的7、8、9、10、5脚经光电隔离后分别接功放电路入口的A、B、C、D、E相,各相有效时序为:
a).正转AB-ABC-BC-BCD-CD-CDE-DE-DEA-EA-EAB
b).反转AB-EAB-EA-DEA-DE-CDE-CD-BCD-BC-ABC
2.高速输出各引脚状态见表1、表2。
表1、表2中,给时间间隔以不同值,就得到不同的正反转速度,且间隔时间越大,步进电机转速越低。正转时,正转状态见表1。
表1:
正转取命令字的循环过程:26H-07H-04H-22H-00H-27H-16H-24H-02H-20H-07H-36H以上26H-07H仅用于有效端口的初始化。
拍序 | 步进电机相序 | A | B | C | D | E | 高速输出命令寄存器命令字 | 高速输出时间寄存器时间间隔 |
高速输出口 | 0 | 1 | 2 | 3 | 4 | |||
1 | 1 | 1 | 0 | 0 | 0 | (26H-07H-)04H | (T1-T1-)T1 | |
2 | 1 | 1 | 1 | 0 | 0 | 22H | 2T1 | |
3 | 0 | 1 | 1 | 0 | 0 | 00H | 3T1 | |
4 | 0 | 1 | 1 | 1 | 0 | 27H | 4T1 | |
5 | 0 | 0 | 1 | 1 | 0 | 18H要求中断 | 5T1 | |
6 | 0 | 0 | 1 | 1 | 1 | 24H | T1 | |
7 | 0 | 0 | 0 | 1 | 1 | 02H | 2T1 | |
8 | 1 | 0 | 0 | 1 | 1 | 20H | 3T1 | |
9 | 1 | 0 | 0 | 0 | 1 | 07H | 4T1 | |
10 | 1 | 1 | 0 | 0 | 1 | 36H要求中断 | 5T1 |
正转取时间间隔的循环过程:
T1-T1-T1-2T1-3T1-4T1-5T1-T1-2T1-3T1-4T1-5T1
以上T1-T1仅用于有效端口的初始化。
反转时,反转状态见表2:
表2:
拍序 | 步进电机相序 | A | B | C | D | E | 高速输出命令寄存器命令字 | 高速输出时间寄存器时间间隔 |
高速输出口 | 0 | 1 | 2 | 3 | 4 | |||
1 | 1 | 1 | 0 | 0 | 0 | (26H-04H-)07H | (T1-T1-)T1 | |
2 | 1 | 1 | 0 | 0 | 1 | 24H | 2T2 | |
3 | 1 | 0 | 0 | 0 | 1 | 01H | 3T2 | |
4 | 1 | 0 | 0 | 1 | 1 | 23H | 4T2 | |
5 | 0 | 0 | 0 | 1 | 1 | 16H要求中断 | 5T2 | |
6 | 0 | 0 | 1 | 1 | 1 | 27H | T2 | |
7 | 0 | 0 | 1 | 1 | 0 | 04H | 2T2 | |
8 | 0 | 1 | 1 | 1 | 0 | 21H | 3T2 | |
9 | 0 | 1 | 1 | 0 | 0 | 03H | 4T2 | |
10 | 1 | 1 | 1 | 0 | 0 | 36H要求中断 | 5T2 |
反转取命令字的循环过程:26H-04H-07H-24H-01H-23H-16H-27H-04H-21H-03H-36H以上26H-04H仅用于有效端口的初始化。
反转取时间间隔的循环过程:T2-T2-T2-2T1-3T1-4T2-5T2-T2-2T2-3T2-4T2-5T2以上T2-T2仅用于有效端口的初始化。
3.步进电机控制系统软件:a.主程序;
b.高速输出中断服务程序;
c.高速输出按内容寻址存储器装载子
程序。
a.主程序框图,见附图2。
设栈指针:选高速输出中断服务程序的入口地址存放单元,选择单片机5脚为高速输出口;关中断;将行进距离以十进制数输入到A5寄存器(存整数)及A6寄存器(存小数)并计数所需中断次数,这在实际使用中,步进电机转轴必须配以特定形式的传动齿轮,才能将转角的变化转换成距离的前后移动,因此,在此处须将输入距离值转化为所需的中断次数,(即必须经历5拍为一周期的次数,这是因为传动齿轮及行走机构确定后,每中断一次所走过的路程即为定值。)这一过程由下式完成;确定A/B的粗略数值时,需要考虑传动齿轮的变速比,丝杆螺距及步进电机在特定工作方式下的步距角,然后再配以精密量具,由实验最终确定A、B精确值,以提高运行精度。只允许高速输出中断,清除中断登记寄存器,判断决定行进方向的高速输入口是否为"1",因为步进电机正反转所需的命令字完全不同,故两者的命令字须分区安放,在此处均要对所要行进方向进行判别,如果要求正反转速度也不同,则它们各自的时间间隔表同样必须分区安放。若决定行进方向的高速输入口1不为"1",#00H送位移指针寄存器,再至开中断;若决定行进方向的高速输入口1为"1",则#20H送位移指针寄存器,再至开中断,再至将当前高速输出事件数#07H送50H寄存器;以正转为例,此时的事件指26H-07H-04H-22H-00H-27H-16H,这7个事件,其中包括首次装载所必须的2个事件即26H-07H,再至调用高速输出按内容寻址存储器的装载子程序,再至位移指针寄存器内容加1,再至判断所有高速输出事件是否装载完毕,若不是即至调用高速输出按内容寻址存储器的装载子程序,若是,则至在此循环等待中断。
b.高速输出中断服务程序框图,见附图3。
首先,中断循环次数减1,判断中断循环次数是否为零,如是中断循环次数为零,表明此时已将工作物移动到了目的地,则至关中断复位结束;如果中断循环次数不为0,存当前高速输出事件数#05H到50H寄存器,此处以反转为例,当前要高速输出的事件为27H-04H-21H-03H-36H或者是07H-24H-01H-23H-16H,事件数都是5。再至调用高速输出按内容寻址存储器的装载子程序,再至位移指针寄存器内容加1,再至判断所有高速输出事件装载完毕,若不是,再返回调用高速输出按内容寻址存储器的装载子程序,若是,则至判断位移指针内容与#0CH比较两者不相等吗,以正转为例,此时位移指针寄存器初始值为#00H,判断命令字是否取到最后一个命令字36H,如果是,位移指针内容减#0AH,即将该指针指向04H命令字,以便下次循环取命令字;如果不是,则表明是16H命令字发出的中断请求,此时,位移指针不变,接着继续往下判断位移指针寄存器内容与#2CH比较两者不相等吗?判断反转时,命令字是否取到最后一个命令字36H,若两者相等,则返回,若不等位移指针内容减#0AH,再返回。
c.高速输出按内容寻址存储器的装载子程序,见附图4。
首先,判断高速输出保持寄存器空否,若不空则返回,继续该判断,若是空的则装入命令字/时间间隔,再至调整位移指针寄存器内容,再返回。
4.传动装置:
本发明的传动装置是由步进电机,传动装置组成的,其结构见附图6,步进电机4与减速齿轮5啮合,减速齿轮5与支承7上的滚珠丝杠6啮合,被移动物体1、2、3放在滚珠丝杠6上。
本发明系统工作时;
1.给单片机及步进电机功放电源通电,将工作程序送至单片机的RAM区;
2.设定行进距离及行进方向,将工作方式设定在工作状态;
3.按2080+EXEC键,步进电机开始转动,通过齿轮减速,带动丝杠转动,从而带动工作物体作直线运动。
(1)首先计算所需中断次数,然后经一定语句的运行进入初始化在内的第一次中断,即先后共7次调用高速输出按内容寻址存储器的装载子程序,每次调用后除将位移指针寄存器内容加1外,还将50H寄存器的内容减1,再判断是否为零,若为零则表示前7次装载已经做完,而后等待中断信号,伺机进入高速输出中断服务程序。
(2)程序执行到高速输出中断服务程序后,每执行一次中断,要5次装载所需命令字/时间间隔的内容,(即不再需要初始化了),并使中断循环次数减1,最终以中断循环次数为零为依据,循环次数为零则退出中断,并执行相应的关机语句,若中断循环次数不为零则依次执行中断服务程序的各步骤后,等待下一次中断。
4.将工作方式设定在锁定状态,此时可保证工作物体不会受外力作用而移动。
5.在步骤1不改变的情况下,重复执行步骤2、3、4则可将工作物体精确移动至任意位置。
6.单片机及步进电机功放电源关电。
本发明的工作方式为5相10拍,如使用160BC548步进电机,其最大优点是最大静力矩高达30mm,因而可用于移动数吨重的物体,并实现精确到十分之一毫米精度的精确定位。本发明可用于三相、四相、五相、六相、拓展了步进电机的应用范围。
本发明中的软件程序,固化在单片机内,再经光电隔离接口,经功放电源接步进电机,光电隔离的作用是提高系统抗干扰的能力,隔断工作物体所在现场中可能产生的干扰性高压,保护单片机不受损坏。
本发明可用于各种场合的步进电机驱动,可广泛应用于工业设备,家电,干扰性高控制其直线距离行走或精确的角度转动。
1.选用8090单片机,160BC548步进电机,移动HT-7托卡马克装置的低杂波天线。
1)开机:
a.确定控制室里的控制盒K1开关处于锁相状态。
b.到工作现场合电源控制柜上的电源380V插头,按控制柜开机开关,柜内风机开始转动;
c.按锁相按钮到工作状态;
d.在控制室,合+5V输出的单片机电源。
2).将EPROM固化程序移至RAM区
a.按复位键RET;
b.按数字键0400,再按功能健F1;
c.同上法09FF+F2;
d.2000+F2
e.64+EPMOFY键,然后数码最左端显示P。
3).将K1置于工作状态;
4).先按MON键,在A5、A6寄存器中存入天线要移动的毫米整数值和毫米小数位(例:要使天线移动28.58mm按A5+REG键,键入数字28,再按NEXT出现A6,然后键入数字58,再按NEXT及MON键。
5).拨动K2,选定天线移动方向;
6).按2080+EXEC键,步进电机开始驱动天线,天线到位后数码管最左端又显示P,然后将K1,置于锁相状态。
7).如需再次移动天线位置,则仅重复步骤3~6即可;
8)关机:a.按单片机复位键;
b.关单片机+5V电源
c.到工作现场(HT-7平台上),先按锁相按钮,再按关机
按钮拨掉380V插头。
Claims (3)
1.一种单片机精确控制步进电机系统,其特征在于,单片机经光电隔离接口,再经功放电源,接步进电机,步进电机经齿轮传动带动工作物体;在单片机内有:行进距离设定;行进方向设定;锁定/工作方式设定。
2.如权利要求1所述的系统,其特征在于:
A、单片机的7、8、9、10、5脚经光电隔后分别接功放电路入口的A、B、C、D、E相,各相有效时序为:
a).正转AB-ABC-BC-BCD-CD-CDE-DE-DEA-EA-EAB
b).反转AB-EAB-EA-DEA-DE-CDE-CD-BCD-BC-ABC
B、高速输出各引脚状态,正转取命令字的循环过程:26H-01H-04H-24H-01H-23H-16H-27H-04H-21H-03H-36H以上26H-01H仅用于有效端口的初始化。
正转取时间间隔的循环过程:
T1-T1-T1-2T1-3T1-4T1-5T1-T1-2T1-3T1-4T1-5T1
以上最先的T1-T1仅用于有效端口的初始化。
反转取命令字的循环过程:26H-04H-07H-24H-01H-23H-16H-27H-04H-21H-03H-36H以上26H-04H仅用于有效端口的初始化。
反转取时间间隔的循环过程:T2-T2-T2-2T2-3T2-4T2-5T2-T2-2T2-3T2-4T2-5T2以上最先的T2-T2仅用于有效端口的初始化。
C、步进电机控制系统软件:a.主程序;
b.高速输出中断服务程序;
c.高速输出按内容寻址存储器装载
子程序。
D.传动装置:步进电机与减速齿轮啮合,减速齿轮与支承上的滚珠丝杠啮合,被移动物体放在滚珠丝杠上。
3.如权利要求2所述的系统,其特征在于,所述步进电机控制系统软件:
a.主程序:
b.高速输出中断服务程序;
c.高速输出按内容寻址存储器装载子程序。
设栈指针;选高速输出中断服务程序的入口地址存放单元,选择单片机5脚为高速输出口;关中断;将行进距离以十进制数输入到A5寄存器(存整数)及A6寄存器(存小数)并计数所需中断次数,这在实际使用中,步进电机转轴必须配以特定形式的传动齿轮,才能将转角的变化转换成距离的前后移动,因此,在此处须将输入距离值转化为所需的中断次数,只允许高速输出中断,清除中断登记寄存器,判断决定行进方向的高速输入口是否为"1",因为步进电机正反转所需的命令字完全不同,故两者的命令字须分区安放,故均在此处要对所要行进方向进行判别,如果要求正反转速度也不同,则它们各自的时间间隔表同样必须分区安放;若决定行进方向的高速输入口1不为"1",#00H送位移指针寄存器,再至开中断;若决定行进方向的高速输入口1为"1",则#20H送位移指针寄存器,再至开中断,再至将当前高速输出事件数#07H送50H寄存器;以正转为例,此时的事件指26H-07H-04H-22H-00H-27H-16H,这7个事件,其中包括次装载所必须的2个事件即26H-07H,再至调用高速输出按内容寻址存储器的装载子程序,再至位移指针寄存器内容加1,再至判断所有高速输出事件是否装载完毕,若不是即至调用高速输出按内容寻址存储器的装载子程序,若是则至在此循环等待中断;
b.高速输出中断服务程序:
首先,中断循环次数减1,判断中断循环次数是否为零,如是中断循环次数为零,表明此时已将工作物移动到了目的地,则至关中断复位结束;如果中断循环次数不为0,存当前高速输出事件数#05H到50H寄存器,再至调用高速输出按内容寻址存储器的装载子程序,再至位移指针寄存器内容加1,再至所有高速输出事件装载完毕,若不是,再返回调用高速输出按内容寻址存储器的装载子程序,若是,则至位移指针内容与#0CH比较两者不相等吗?以正转为例,此时位移指针寄存器初始值为#00H,判断命令字是否取到最后一个命令字36H,如果是,位移指针内容减#0AH,即将该指针指向04H命令字,以便下次循环取命令字;如果不是,则表明是16H命令字发出的中断请求,此时,位移指针不变,接着继续判断位移指针寄存器内容与#2CH比较两者不相行吗?判断反转时,命令字是否取到最后一个命令字36H,若两者相等,则返回,若不等位移指针内容减#0AH,再返回;
c.高速输出按内容寻址存储器的装载子程序
首先,判断高速输出保持寄存器空否,若不空则返回,继续该判断若是空的则装入命令字/时间间隔,再至调整位移指针寄存器内容,再返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN98111309A CN1052587C (zh) | 1998-05-18 | 1998-05-18 | 单片机精确控制步进电机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN98111309A CN1052587C (zh) | 1998-05-18 | 1998-05-18 | 单片机精确控制步进电机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1195924A CN1195924A (zh) | 1998-10-14 |
CN1052587C true CN1052587C (zh) | 2000-05-17 |
Family
ID=5221298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98111309A Expired - Fee Related CN1052587C (zh) | 1998-05-18 | 1998-05-18 | 单片机精确控制步进电机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1052587C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212839B (zh) * | 2007-12-25 | 2011-11-16 | 宁波东威电子有限公司 | 扬声器定心支片及振膜弹性测试仪 |
CN102347727B (zh) * | 2010-07-29 | 2014-08-06 | 深圳市汇川技术股份有限公司 | 电机定长控制系统及方法 |
CN104242753A (zh) * | 2013-06-24 | 2014-12-24 | 中国计量学院 | 步进电机摆动控制器 |
CN108741793A (zh) * | 2018-08-01 | 2018-11-06 | 华北水利水电大学 | 一种图书馆用自动还书式书架及其工作方法 |
-
1998
- 1998-05-18 CN CN98111309A patent/CN1052587C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1195924A (zh) | 1998-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105007012B (zh) | 一种车载转台控制系统及方法 | |
CN207596395U (zh) | 一种用于自动化立体仓库的堆垛机 | |
CN1052587C (zh) | 单片机精确控制步进电机系统 | |
CN201918952U (zh) | 一种基于直线电机的摆动装置 | |
CN1743980A (zh) | 折弯机的控制方法和系统 | |
CN1949656A (zh) | 基于dsp的励磁控制器数据采集与处理系统及其工作方法 | |
CN1551939A (zh) | 洗衣机 | |
CN1854949A (zh) | 交流伺服控制装置 | |
CN200972840Y (zh) | 一种高压断路器直线电机操动机构 | |
CN108512467B (zh) | 直流无刷电机控制装置及控制方法 | |
EP0429659A4 (en) | Driving system and controller therefor | |
CN1267846A (zh) | 可控制多轴转动位置的集成电路 | |
CN207104954U (zh) | 曲轴抓取机械手 | |
CN1624612A (zh) | 模块化嵌入式数控系统 | |
CN209317570U (zh) | 一种金属屋面防水涂料搅拌装置 | |
CN2768312Y (zh) | 程控变频器 | |
CN201245763Y (zh) | 一种工业缝纫机控制器的信号发送装置 | |
CN105405708A (zh) | 一种电机直驱的快速接地开关 | |
Gong et al. | LabVIEW-base automatic rising and falling speed control of stepper motor | |
CN1701034A (zh) | 驱动电梯门的装置和方法 | |
CN111003492B (zh) | 一种铜板材加工流水线的自动上料系统 | |
CN1925315A (zh) | 一种实现实时控制马达转速的方法和装置 | |
CN211662002U (zh) | 螺纹传动测试台 | |
CN208453942U (zh) | 一种多轨迹电子凸轮取置机械手 | |
CN209308478U (zh) | 一种可移动的节能型集装箱房屋 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |