基于串行通信的8轴同动步进电机控制系统的制作方法

文档序号:7464319阅读:657来源:国知局
专利名称:基于串行通信的8轴同动步进电机控制系统的制作方法
技术领域
本发明属于一种步进电机的控制系统,具体而言,是一种基于串行通信的8轴同动步进电机控制系统。
背景技术
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机的转速与输入 的脉冲频率成正比,控制输入的脉冲频率就能准确地控制步进电机的转速,可以在宽广的范围内精确地调速。所以步进电机广泛应用于绕线机,切片机,雕刻机,排线机,包装机械,食品加工行业,复印机,雕刻机,排线控制器,医疗器械,舞台灯光,光电子技术,自动化工程,机器人应用等方面。在数字控制系统出现之初,步进电动机经历过一个大的发展阶段。在日本,60年代初期,开发了用于数控装置及计算机外部设备的磁阻式步进电动机。60年代中期至今,开发了混合式步进电动机。在我国,步进电动机的研制开始于1958年。当时只有清华大学,华中理工大学等少数高等院校在从事这项工作。到了 60年代末,70年代初,由于电子工业和数字技术的发展,特别是数字控制线切割机床发展的需要,才使步进电动机的研究工作蓬勃开展起来。经过四十几年的发展,随着步进电动机理论的日趋完善,特别是磁阻式步进电动机,产品品种、规格、门类的系列化以及出现了像无刷直流电动机系统那种更优越的伺服系统,才使得步进电动机的发展势头有所缓和,总体看来,目前其发展趋于平缓。

发明内容
本发明的目的是提供一种结构简单、性能稳定可靠、运行精度高的基于串行通信的8轴同动步进电机控制系统,以克服现有技术的不足。为了实现上述目的,本发明所采用的技术方案是一种基于串行通信的8轴同动步进电机控制系统,包括MCU、电源模块、串行通信模块、电机限位开关检测模块、PWM光电隔离输出模块以及指示灯显示模块,其特点是=MCU中的单片机与串行通信模块相连,用于接收上位PC机的控制及查询指令,并向PC机发送步进电机的位置信息;单片机与电机限位开关检测模块相连,接收8轴步进电机的起点和终点位置信息;单片机与PWM光电隔离输出模块相连,输出不同频率和方向的PWM方波给步进电机驱动器。所述的MCU采用PIC18F67K90单片机,通过串行通信模块接收外部PC机发来的8轴步进电机运动控制及查询指令,循环控制单片机内部具有的8个独立PWM模块,实现对8轴步进电机的同动运行;MCU单片机通过串行通信模块向外部PC机发送8轴步进电机位
置信息。上述的8轴步进电机运动控制指令与8轴步进电机同动运行状态一一对应,包括8轴步进电机任意I轴独立运行,任意2轴同时运行,任意3轴同时运行,任意4轴同时运行,任意5轴同时运行,任意6轴同时运行,任意7轴同时运行,8轴同时运行,以及8轴步进电机任意I轴独立停止,任意2轴同时停止,任意3轴同时停止,任意4轴同时停止,任意5轴同时停止,任意6轴同时停止,任意7轴同时停止,8轴同时停止,其特点是电机运行控制指令包括目标运行步数设定(O 99999999)、目标运行方向设定(O,I)、目标运行速度设定(00 99)以及启动运行设定。单片机收到运行控制指令后,通过PWM光电隔离输出模块相应输出PWM脉冲,其中PWM脉冲个数等于目标运行步数,PWM频率与目标运行速度成线性正比关系,PWM起步加速频率与目标起 步加速度成线性正比关系。其中,目标运行步长设定特点为,运行控制指令I次能设定的目标运行步数范围为0 99999999,代表8轴步进电机任意I轴电机一次运行目标步数范围为0 99999999 ;目标运行速度设定特点为,运行控制指令能设定的目标运行速度范围为00 99,其中99代表外部步进电机驱动器能驱动相应步进电机的最高速度,00 98则为线性正比关系。上述的8轴步进电机查询指令,单片机收到外部PC机查询指令后,实时通过串行通信模块向PC机发送8轴位置信息,查询指令与8轴步进电机实时位置信息一一对应,包括8轴步进电机任意I轴位置信息,任意2轴位置信息,任意3轴位置信息,任意4轴位置信息,任意5轴位置信息,任意6轴位置信息,任意7轴位置信息,8轴位置信息。所述的MCU中掉电保护电路采用MAX803芯片,当发生突然断电情况时,芯片向单片机发送外部中断信号,单片机马上保存电机当前的运行位置信息,当再次上电时单片机读取保存的位置信息。所述的电源模块中主电源经过DC/DC模块输出为串行通信模块单独提供电源,以实现串行通信总线与MCU的电源隔离。由于采用上述技术方案,本发明与现有技术相比较,有以下几点和创新点I)系统的电源模块中主电源经过DC/DC模块输出为串行通信模块单独提供电源,以实现串行通信总线与MCU的电源隔离;2)系统的MCU中运用了掉电保护电路,当发生突然断电情况时,芯片向单片机发送外部中断信号,单片机马上保存电机当前的运行位置信息,当再次上电时单片机读取保存的位置信息;3)通过利用PIC单片机实现对8轴同动步进电机状态——对应,包括8轴步进电机任意I轴独立运行和停止,任意2轴同时运行和停止,任意3轴同时运行和停止,任意4轴同时运行和停止,任意5轴同时运行和停止,任意6轴同时运行和停止,任意7轴同时运行和停止,8轴同时运行和停止以及8轴步进电机任意I轴位置信息,任意2轴位置信息,任意3轴位置信息,任意4轴位置信息,任意5轴位置信息,任意6轴位置信息,任意7轴位置信息,8轴位置信息。


图I是本发明的总体结构示意图;图2是本发明的MCU中掉电保护电路原理示意图;图3是本发明的实现流程图。
具体实施方式
下面结合附图对本发明进行进一步说明和阐述。如图I所示,是本发明的一种基于串行通信的8轴同动步进电机控制系统,系统主要由MCU、电源模块、串行通信模块、电机限位开关检测模块、PWM光电隔离输出模块、指示灯显示模块组成。其中MCU中单片机(01)采用Microchip公司的PIC18F67K90芯片,其特点是循环控制单片机内部具有的8个独立PWM模块,掉电保护电路06采用Maxim公司的MAX803芯片,当发生突然断电情况时,芯片向单片机发 送外部中断信号,单片机马上保存电机当前的运行位置信息,当再次上电时单片机读取保存的位置信息,图2所示为掉电保护电路原理示意图;电源模块中DC/DC模块(05)采用M0RNSUN公司的B0505S-2W芯片,为串行通信模块单独提供电源,以实现串行通信总线与MCU的电源隔离;串行通信模块用于接收上位PC机的控制及查询指令,并向PC机发送步进电机的位置信息,步进电机控制指令包括8轴步进电机任意I轴独立运行与停止,任意2轴同时运行与停止,任意3轴同时运行与停止,任意4轴同时运行与停止,任意5轴同时运行与停止,任意6轴同时运行与停止,任意7轴同时运行与停止,8轴同时运行与停止;步进电机查询指令包括8轴步进电机任意I轴位置信息,任意2轴位置信息,任意3轴位置信息,任意4轴位置信息,任意5轴位置信息,任意6轴位置信息,任意7轴位置信息,8轴位置信息;电机限位开关检测模块中高速光电隔离开关(02)采用TOSHIBA公司的TLP521芯片,将接收到的8轴步进电机的起点和终点位置信息传递给单片机;PWM光电隔离输出模块中高速光电隔离开关(07)采用TOSHIBA公司的TLP521芯片,单通道高速光稱合器(08)采用Agilent Technologies公司的6N137芯片,分别将单片机输出的不同方向和频率的PWM方波给步进电机驱动器。如图3所示,是本发明基于串行通信的8轴同动步进电机控制系统的实现流程图,其中图中读取8轴步进电机的位置信息当发生突然断电情况时,芯片向单片机发送外部中断信号,单片机马上保存电机当前的运行位置信息,当再次上电时单片机读取8轴步进电机的位置信息;图中RS232是否接收步进电机的指令所述的指令包括步进电机的控制及查询指令,其中控制指令又包括运行与停止指令。图中RS232指令解析将上述接收的步进电机指令进行解析,得到的解析指令为8 轴基本运行参数设置指令分别为DS speedl, dirl, total_stepl ;DT speed2,dir2, total—step2 ;DU speed3, dir3, total—step3 ;DV speed4, dir4, total—step4 ;DWspeed5, dir5, total_step5 ;DX speed6, dir6, total_step6 ;DY speed7, dir7, total—step7 ;DZ speed8,dir8, total—step8 ;其中 speedl_speed8 为 00,01,02 . . . 99 档速度输入;dirl_dir8为0 (正向),1 (反向);total—stepl-total—step8为目标步长,范围为0 99999999 ;8轴运行控制指令为任意I 轴独立运行时GS,GTj GUj GVj GWj GXj GYj GZ;任意2 轴同时运行时GST,GSUj GSVj GSWj GSXj GSYj GSZj GTUj GTVj GTWj GTXj GTYj GTZj GUVj GUWj GUXj GUYj GUZ,GVWj GVXj GVYj GVZj GWXj GWYj GWZj GXYj GXZj GYZ;任意3 轴同时运行时GSTU,GSTVj GSTWj GSTXj GSTYj GSTZj GSUVj GSUWj GSUXj GSUYjGSUZj GSVWj GSVXj GSVYj GSVZj GSWXj GSWYj GSWZj GSXYj GSXZj GSYZj GTUVj GTUWj GTUXj GTUYj GTUZj GTVWj GTVXj GTVYj GTVZj GTWXj GTWYj GTWZj GTXYj GTXZj GTYZj GUVWj GUVX,GUVYj GUVZj GUWX,GUWYj GUWZj GUXYj GUXZj GUYZj GVWXj GVWYj GVWZj GVXYj GVXZj GVYZj GWXYj GWXZj GWYZj GXYZ;任意4 轴同时 运行时GSTUV,GSTUW, GSTUX, GSTUY, GSTUZ, GSTVW, GSTVX, GSTVY, GSTVZj GSTWXj GSTWYj GSTWZj GSTXYj GSTXZj GSTYZj GSUVWj GSUVXj,GSUVY, GSUVZ, GSUWX, GSUWYjGSUWZ, GSUXYj GSUXZj GSUYZj GSVWXj GSVWYj GSVWZj GSVXYj GSVXZj GSVYZj GSWXYj GSWXZj GSWYZ,GSXYZ, GTUVWj GTUVXj GTUVYj GTUVZj GTUWXj GTUWYj GTUWZj GTUXYj GTUXZj GTUYZj GTVWXj GTVWY,GTVWZ, GTVXYj GTVXZj GTVYZj GTWXYj GTWXZj GTWYZj GTXYZj GUVWXj GUVWYj GUVWZj GUVXYj GUVXZj GUVYZj GUWXYj GUWXZj GUWYZj GUXYZj GVWXYj GVWXZj GVWYZj GVXYZj GWXYZ;任意5 轴同时运行时GSTUVW,GSTUVX, GSTUVY, GSTUVZ, GSTUWX, GSTUWY, GSTUWZ, GSTUXY, GSTUXZj GSTUYZj GSTVWXj GSTVWYj GSTVWZj GSTVXYj GSTVXZj GSTVYZj GSTWXYj GSTWXZj GSTWYZj GSTXYZj GSUVWXj GSUVWYj GSUVWZj GSUXYj GSUXZj GSUYZj GSUWXYj GSUWXZj GSUWYZj GSUXYZj GSVWXYj GSVWXZj GSVWYZj GSVXYZj GSWXYZj GTUVWXj GTUVWYj GTUVWZj GTUVXYj GTUVXZj GTUVYZj GTUWXYj GTUWXZj GTUWYZj GTUXYZj GTVWXYj GTVWXZj GTVWYZj GTVXYZj GTWXYZj GUVWXYj GUVWXZjGUVWYZjGUVXYZjGUWXYZjGVWXYZ;任意6 轴同时运行时GSTUVWX,GSTUVWY, GSTUVWZ, GSTUVXY, GSTUVXZ, GSTUVYZ, GSTUWXY, GSTUWXZjGSTUWYZjGSTUXYZjGSTVWXYjGSTVWXZjGSTVWYZjGSTVXYZjGSTWXYZjGSUVWXY,GSUVWXZ, GSUVWYZjGSUVXYZjGSUWXYZjGSVWXYZjGTUVWXYjGTUVWXZjGTUVWYZjGTUVXYZjGTUWXYZjGTVWXYZjGUVWXYZ;任意7 轴同时运行时GSTUVWXY,GSTUVWXZ, GSTUVWYZ, GSTUVXYZ, GSTUWXYZ, GSTVWXYZjGSUVWXYZ, GTUVWXYZ;8轴同时运行时G0;例如DS88,0,80000; DT 88,0,80000; DU 88,0,80000; GSTU;该指令表示 S、T、U三轴都以88的速度正向运行80000步。8轴停止指令为任意I 轴独立停止时PS,PT,PU,PVj PWj PXj PYj PZ;任意2 轴同时停止时PST, PSUj PSVj PSWj PSXj PSYj PSZj PTUj PTVj PTWj PTXj PTYj PTZ, PUVj PUWj PUXj PUYj PUZj PVWj PVXj PVYj PVZj PWXj PWYj PWZj PXYj PXZj PYZ;任意3 轴同时停止时PSTU,PSTVj PSTWj PSTXj PSTYj PSTZj PSUVj PSUWj PSUXj PSUYjPSUZj PSVWj PSVXj PSVYj PSVZj PSWXj PSWYj PSWZj PSXYj PSXZj PSYZj PTUVj PTUWj PTUXj PTUYj PTUZj PTVWj PTVXj PTVYj PTVZj PTWXj PTWYj PTWZj PTXYj PTXZj PTYZj PUVWj PUVXj PUVYj PUVZj PUWX,PUWYj PUWZj PUXYj PUXZj PUYZj PVWXj PVWYj PVWZj PVXYj PVXZj PVYZj PWXYj PWXZj P WYZj PXYZ;任意4 轴同时停止时PSTUV,PSTUW, PSTUXj PSTUYj PSTUZj PSTVWj PSTVXj PSTVYj PSTVZj PSTWXj PSTWYj PSTWZj PSTXYj PSTXZj PSTYZj PSUVWj PSUVXj,PSUVY, PSUVZ, PSUWX, PSUWYjPSUWZ, PSUXYj PSUXZj PSUYZj PSVWXj PSVWYj PSVWZj PSVXYj PSVXZj PSVYZj PSWXYj PSWXZj PSWYZ,PSXYZ, PTUVWj PTUVXj PTUVYj PTUVZj PTUWXj PTUWYj PTUWZj PTUXYj PTUXZj PTUYZj PTVWXj PTVWY,PTVWZ, PTVXYj PTVXZj PTVYZj PTWXYj PTWXZj PTWYZj PTXYZj PUVWXj PUVWYj PUVWZj PUVXYj PUVXZ, PUVYZ, PUWXY, PUWXZ, PUWYZ, PUXYZ, PVWXY, PVWXZ, PVWYZ, PVXYZ, PffXYZ;任意5 轴同时停止时PSTUVW, PSTUVX, PSTUVY, PSTUVZ, PSTUWX, PSTUWY, PSTUWZ, PSTUXY, PSTUXZ, PSTUYZ, PSTVWX, PSTVWY, PSTVWZ, PSTVXY, PSTVXZ, PSTVYZ, PSTWXY, PSTWXZ, PSTWYZ, PSTXYZ, PSUVWX, PSUVWY, PSUVWZ, PSUXY, PSUXZ, PSUYZ, PSUWXY, PSUWXZ, PSUWYZ, PSUXYZ, PSVWXY, PSVWXZ, PSVWYZ, PSVXYZ, PSWXYZ, PTUVWX, PTUVWY, PTUVWZ, PTUVXY, PTUVXZ, PTUVYZ, PTUWXY, PTUWXZ, PTUWYZ, PTUXYZ, PTVWXY, PTVWXZ, PTVWYZ, PTVXYZ, PTWXYZ, PUVWXY, PUVffXZ, PUVWYZ, PUVXYZ, PUWXYZ, PVffXYZ;任意6 轴同时停止时PSTUVWX, PSTUVWY, PSTUVWZ, PSTUVXY, PSTUVXZ, PSTUVYZ, PSTUWXY, PSTUWXZ, PSTUWYZ, PSTUXYZ, PSTVWXY, PSTVWXZ, PSTVWYZ, PSTVXYZ, PSTWXYZ, PSUVffXY,PSUVWXZ, PSUVWYZ, PSUVXYZ, PSUWXYZ, PSVWXYZ, PTUVWXY, PTUVWXZ, PTUVWYZ, PTUVXYZ, PTUffXYZ, PTVWXYZ, PUVffXYZ;任意7 轴同时停止时PSTUVWXY, PSTUVWXZ, PSTUVWYZ, PSTUVXYZ, PSTUWXYZ, PSTVffXYZ, PSUVWXYZ, PTUVffXYZ;8轴同时停止时PSTUVWXYZ;8轴查询指令为任意I轴独立查询时任意2轴同时查询时任意3轴同时查询时任意4轴同时查询时任意5轴同时查询时任意6轴同时查询时任意7轴同时查询时8轴同时查询时图中S轴是否到达目标步长执行此步骤时,单片机会进入定时器脉冲计数中断,使步进电机当前步长自动加1,每加I后进入S轴判断程序依次进行判断,其余7轴同理;图中是否有查询指令当流程图中8轴步进电机运行过程中,若接收到任一查询指令,则发送相应的步进电机位置信息;所述的系统在运行过程中,当发生突然断电情况时,芯片立即向单片机发送外部中断信号,此时进入中断程序,使单片机马上保存电机当前的运行位置信息,当再次上电时,单片机读取保存的位置信息。最后说明,本发明的上述实施仅用于说明本发明的技术方案,一切不脱离本发明的精神与原理的情形下进行的修改和替换,其均应涵盖在本发明的权利要求范围当中。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种基于串行通信的8轴同动步进电机控制系统,包括MCU、电源模块、串行通信模块、电机限位开关检测模块、PWM光电隔离输出模块以及指示灯显示模块,其特征在于所述MCU中的单片机与串行通信模块相连,所述MCU通过串行通信模块接收外部PC机发来的8轴步进电机运动控制指令及查询指令,循环控制所述单片机内部具有的8个独立PWM模块,实现对8轴步进电机的同动运行;所述MCU中单片机通过串行通信模块向外部PC机发送8轴步进电机位置信息;所述单片机与电机限位开关检测模块相连,检测8轴步进电机的起点和终点位置信息;所述单片机与PWM光电隔离输出模块相连,输出不同频率和方向的PWM方波给步进电机驱动器。
2.如权利要求I所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述PC机发来的8轴步进电机运动控制指令与8轴步进电机同动运行状态一一对应,包括8轴步进电机任意I轴独立运行或停止,任意2轴至7轴的同时运行或停止以及8轴同时运行或停止。
3.如权利要求I所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述单片机收到外部PC机查询指令后,实时通过串行通信模块向PC机发送8轴位置信息,查询指令与8轴步进电机实时位置信息一一对应,包括8轴步进电机任意I轴位置信息,任意2轴至7轴的位置信息以及8轴的位置信息。
4.如权利要求I或2所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述PC机发来的8轴步进电机运行控制指令包括目标运行步数设定、目标运行方向设定、目标运行速度设定以及启动运行设定,所述单片机收到运行控制指令后,通过PWM光电隔离输出模块相应输出PWM脉冲,其中PWM脉冲个数等于目标运行步数,PWM频率与目标运行速度成线性正比关系,PWM起步加速频率与目标起步加速度成线性正比关系。
5.如权利要求4所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述PC机发来的8轴步进电机运行控制指令I次能设定的目标运行步数范围为O 99999999,代表8轴步进电机任意I轴电机一次运行目标步数范围为O 99999999。
6.如权利要求4所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述PC机发来的8轴步进电机运行控制指令能设定的目标运行速度范围为OO 99,其中99代表外部步进电机驱动器能驱动相应步进电机的最高速度,00 98则为线性正比关系。
7.如权利要求I所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述MCU中包括掉电保护电路,当发生突然断电情况时,所述掉电保护电路向所述单片机发送外部中断信号,所述单片机马上保存电机当前的运行位置信息,当再次上电时所述单片机读取保存的位置信息。
8.如权利要求I所述的基于串行通信的8轴同动步进电机控制系统,其特征在于所述电源模块中主电源经过DC/DC模块输出为串行通信模块单独提供电源,以实现串行通信总线与MCU的电源隔离。
全文摘要
本发明涉及一种基于串行通信的8轴同动步进电机控制系统,包括MCU、电源模块、串行通信模块、电机限位开关检测模块以及PWM光电隔离输出模块,其特点是MCU中的单片机与串行通信模块相连,用于接收上位PC机的控制及查询指令,并向PC机发送步进电机的位置信息;单片机与PWM光电隔离输出模块相连,输出不同频率和方向的PWM方波给步进电机驱动器;单片机与电机限位开关检测模块相连,检测8轴步进电机的起点和终点位置信息;系统主电源经过DC/DC模块输出为串行通信模块单独提供电源,以实现串行通信总线与MCU的电源隔离。通过接收上位机的串行命令,本发明的控制系统采用8路独立PWM实现对8轴步进电机的同动控制,可简化系统设计,提高效率。
文档编号H02P8/14GK102857166SQ20121027567
公开日2013年1月2日 申请日期2012年8月3日 优先权日2012年8月3日
发明者谢长君, 程洪, 全书海, 黄亮, 张智, 刘江波, 柴治国, 杜康 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1