一种适用于医疗机器人的步进电机网络控制装置的制作方法

文档序号:6651525阅读:147来源:国知局
专利名称:一种适用于医疗机器人的步进电机网络控制装置的制作方法
技术领域
本发明涉及一种控制步进电机的装置,具体地说,是指一种适用于医疗机器人中使用的步进电机在基于现场总线条件下的步进电机网络控制装置。
背景技术
目前,机器人技术已广泛运用于医疗外科手术规划、微损伤精确定位操作、无损伤诊断与检测、新型手术医学治疗方法等方面。与人相比,机器人具有定位准确、无抖动、不怕辐射和感染等优势。机器人技术与医疗技术的结合,必将从根本上改变外科手术的面貌,导致医疗技术领域新的变革,受到了普遍的重视。
步进电机、直流伺服电机和交流伺服电机是数控系统中常用的三种驱动元件,直流伺服电机以其良好的控制性能,在数控领域一直处于主流地位。近年来,交流伺服技术的进步使得交流伺服电机有逐步取代直流伺服电机的趋势。但是步进电机具有的开环控制,能够实现精确的定位,以及系统简单,控制方便等优点,在机器人技术中被大量采用。
一般的步进电机控制系统由发出指令信息的上位机、生成控制脉冲信号的控制卡、完成电流分配和放大的驱动器以及步进电机组成,各设备之间采用电缆相接。系统可扩展性能差,不能满足模块化设计的要求;各部件安装位置分离,接线烦琐,布线难度大,系统体积大,对于安装空间有限情况下,这样的系统也难以应用。
因此,一种结构紧凑,体积小,基于标准计算机总线的步进电机控制器具有相当广阔的应用前景。

发明内容
本发明的目的是提供一种适用于医疗机器人的步进电机网络控制装置,该步进电机网络控制装置是将电机控制和驱动集成一体,同时依靠现场总线通讯,实现单个或多个步进电机的驱动控制。该控制装置体积小,可扩展性能好,可用于分布式步进电机控制系统中。
本发明适用于医疗机器人的步进电机网络控制装置,所述医疗机器人接收由上位机下发经转接器、现场总线后的控制指令,并由多个步进电机驱动所述医疗机器人的各个智能机构;所述步进电机采用模块化的控制装置,所述控制装置是通过现场总线与上位机实现通讯;所述控制装置与步进电机采用分布控制模式;所述控制装置是由单片机、通讯接口电路、脉冲发生电路、电机驱动电路和电源电路构成;通讯接口电路接收所述上位机下发的控制指令;单片机接收上述控制指令经地址匹配处理获得所需驱动的步进电机地址信息;然后,单片机接收上述控制指令经参数解码处理获得所需驱动的步进电机的控制信息,并对上述控制信息进行步进电机加减速曲线生成处理,从而控制脉冲发生电路产生的方波信号;其中,步进电机生成加减速曲线方法为Ci=fXTAL2(v0+iv-v0k),si=vi(tk-Tp),(i<k)Ck=fXTAL2(v0+kv-v0k),sk=s-2sa-vkTpCi=C2k-i,sk=s2k-i,(k<i≤2k)]]>式中,i表示运行级序数,k表示加速段总级数,t表示加速时间,Ci表示脉冲周期参数,fXTAL表示晶振频率,v0表示初速度,si表示级步数,Tp表示处理时间间隔,s表示转角,sa表示加速段总步数;电机驱动电路接收上述所需驱动的步进电机的控制信息和上述方波信号驱动步进电机运行。
本发明适用于医疗机器人的步进电机网络控制装置的优点在于1)引入分布式控制策略,本控制器所连接的上位计算机作为主控计算机,多个控制器组成下位机,下位机可以根据需要扩展多个控制器。2)以高性能的单片机为核心组成控制器的中心控制单元,设计出步进电机调速和位置控制算法,以及控制器与上位主控计算机的通信程序,使控制器具有自主运行能力,和与上位机联机运行能力。3)以集成步进电机驱动芯片为核心,组成步进电机驱动电路,采用单极恒流细分驱动。4)以定时/计数器82C54为核心的步进电机控制脉冲发生器。


图1是本发明步进电机网络控制装置的结构示意图。
图2是一种上位机与控制装置、步进电机的控制模式框图。
图3A是步进电机的驱动电路原理图。
图3B是通讯接口电路的电路原理图。
图3C是脉冲发生器的电路原理图。
图3D是单片机与锁存器、复位电路以及接口的电路原理图。
图中1.步进电机 2.电机驱动电路 3.电源电路 4.脉冲发生电路5.单片机 6.通讯接口电路 7.上位机 8.转接器 9.现场总线具体实施方式
下面将结合附图对本发明作进一步的详细说明。
请参见图1、图2所示,本发明是一种适用于医疗机器人的步进电机网络控制装置,所述医疗机器人接收由上位机7下发经转接器8、现场总线9后的控制指令,并由多个步进电机驱动所述医疗机器人的各个智能机构;所述步进电机采用模块化的控制装置,所述控制装置是通过现场总线9与上位机7实现通讯;所述控制装置与步进电机采用分布控制模式;所述控制装置是由单片机5、通讯接口电路6、脉冲发生电路4、电机驱动电路2和电源电路3构成;通讯接口电路6接收所述上位机7下发的控制指令;单片机5接收上述控制指令经地址匹配处理获得所需驱动的步进电机1地址信息;然后,单片机5接收上述控制指令经参数解码处理获得所需驱动的步进电机1的控制信息,并对上述控制信息进行步进电机加减速曲线生成处理,从而控制脉冲发生电路4产生的方波信号;其中,步进电机1生成加减速曲线方法为Ci=fXTAL2(v0+iv-v0k),si=vi(tk-Tp),(i<k)Ck=fXTAL2(v0+kv-v0k),sk=s-2sa-vkTpCi=C2k-i,sk=s2k-i,(k<i≤2k)]]>式中,i表示运行级序数,k表示加速段总级数,t表示加速时间,Ci表示脉冲周期参数,fXTAL表示晶振频率,v0表示初速度,si表示级步数,Tp表示处理时间间隔,s表示转角,sa表示加速段总步数;电机驱动电路2接收上述所需驱动的步进电机的控制信息和上述方波信号驱动步进电机1运行。
在本发明中,步进电机的网络实现是将与多个分布控制步进电机1的控制装置执行的控制指令通过RS485现场总线9公布到各自的所需驱动对象上进行的(如图2所示),步进电机A101由控制装置A111控制,步进电机B102由控制装置B112控制,依顺次,则有步进电机N104由控制装置N114控制。每一个控制装置对步进电机的控制是相同的,当接收上位机7下的指令信息后首先进行地址判断所指向的步进电机,然后对该步进电机进行加减速曲线的脉冲波控制其运行。其电路中部分未指出的端子连接为常规连接,特定的各端子连接如下,单片机U1的低8位数据60、59、58、57、56、55、54、53端与锁存器U6的3、4、7、8、13、14、17、18端连接,单片机U1的地址48端与锁存器U6的1端连接,单片机U1的写有效40端与锁存器U6的11端连接,锁存器U6的输出2、5、6、15端与电机驱动电路U2的9、12、13、15端连接,锁存器U6的输出9、16端分别串联限流电阻R4、R6,锁存器U6的输出12端与脉冲发生电路U4的11端和16端连接,锁存器U6的输出19端与通信接口电路U3的2端和3端连接;单片机U1的低8位数据60~53端与脉冲发生电路U4的8~1端连接,单片机U1的地址51~49端与脉冲发生电路U4的19~21端连接,单片机U1的写有效40端与脉冲发生电路U4的23端连接,单片机U1的读有效61端与脉冲发生电路U4的22端连接,单片机U1的时钟65端与脉冲发生电路U4的9端连接,单片机U1的输入24端与脉冲发生电路U4的13端和18端连接,单片机U1的输入25端与脉冲发生电路U4的17端连接,脉冲发生电路U4的10端和15端与电机驱动电路U2的10端连接;单片机U1的12、14、36端接地,1、13、37端接电源,单片机U1的62端与复位电路U7的7端连接,单片机U1的复位输入16端与复位电路U3的6端连接,单片机U1的串行17、18端与通信接口电路U3的1、4端连接,单片机U1的P1口低5位19~23端与接口J5的1~5端连接,单片机U1的P1口高3位30~32端与拨码开关S1的6~4端连接,单片机U1的存储地址选择输入2端与接口JP1的2端连接,电机驱动电路U2的16端接驱动电源VDD,11端接地。电机驱动电路U2的外围控制器件包括复位电路、参考电压电路,电机电流采样电阻RSA和RSB以及滤波电容CA。复位电路由电容C111和电阻R3组成,电容C111一端与电源VCC相连,另一端同时与电阻R3和U2的8端相连,电阻R3另一端接地。参考电压电路由两个PNP型三极管Q1、Q2,4个电阻R1、R4、R5、R6和一个电位器R2组成。R1、R5、R2依次串联接在电源VCC和地之间,R5的前端与U2的7端连接。Q1发射极与R1前端相连,集电极与R1的后端连接,基极与电阻R4连接。Q2发射极与R2前端连接,集电极与R2后端连接,基极与电阻R4连接。电流采样RSA接在U2的7和11端间,RSB接在SLA7062的17和11端之间。滤波电容直接并联在U2的16和11端之间。复位电路、参考电压电路、电机电流采样电阻和电源在U2的11端接成星形地,电机驱动电路U2的输出1端和2端与接口J2的2端连接,输出3端和4端与接口J2的3端连接,输出18端和19端与接口J2的5端连接,输出20端和21端与接口J2的6端连接,脉冲发生电路U4的10、15端同时与电机驱动电路U2的10端连接,锁存器U6的输出口2、5、6、15端与电机驱动电路U2的9、12、13、15端连接,锁存器U6的输出口9、16端与电机驱动电路U2的外围控制器件电阻R4、R6连接,锁存器U6的输出口12端同时与脉冲发生器U4的11、16端连接,锁存器U6的输出口19端同时与通信电路U3的2、3端连接。
本发明的控制器的中心控制单元是有一个高性能的单片机和外围的数据锁存芯片组成,单片机选用Intel公司的16位单片机87C196KC20,数据锁存芯片采用单边8D数据锁存器74HC377。87C196KC20晶震频率可达20M,具有标准输入输出口及全双工异步和同步串行输入/输出口,内部程序存取器16K,具有高速输入接口HSI等,丰富的系统资源使得只需扩展很少的器件即可满足系统的要求。数据锁存器74HC377直接与单片机低位数据总线相连,为系统提供8个控制信号CW/CCW——电机运行方向控制。0电机正转,1电机反转M1,M2-—电机驱动细分数选择。
表1 信号状态与细分选择逻辑关系对照表

电机驱动的细分数通过程序设定,在电机运行过程中,可以在线调节。因此,在电机运行速度较低时,可以选择较大的细分,有效抑制低频振荡;而在电机运行速度较高时,选择较小的细分,满足高速运行要求。
Sleep和Reduce——电机运行模式控制信号休眠状态电机绕组电流为零,无定位力矩输出,电机处于自由状态。
节流状态电机绕组电流比运动状态小,有一定的锁定能力,但是能量消耗更小,发热量更小。
在机器人工作期间,在不需要电机运动时,将电机调整到休眠状态或者节流状态,可以节省能源消耗,同时减小电机的发热量。
表2 信号状态与电机运行模式逻辑关系对照表

Sync——PWM调制模式扩展。1同步调制,0异步调制。同步调制可以减少电机停止时PWM调试产生的随机噪声,但是同步调制将加剧电机运行时的振荡。因此,有必要在电机运行时采用异步调制,电机停止时转为同步调制。
Gate——控制脉冲发生控制端。1脉冲发生器正常工作,0脉冲发生器停止工作。以次控制电机的启停。
R/W——串行口读写控制信号。0写有效,控制器可以向上位机发送数据;1读有效,控制器可以读取上位机命令电机驱动模块以日本SANKEN公司的单极恒流驱动芯片SLA7062M为核心组成。该芯片提供完整的4相步进电机驱动和控制功能,提供串行控制接口,用户只需至少提供驱动脉冲和方向两路控制信号,应用方便。通过控制信号的设置,可以取得多种细分,通过改变参考电压Vref,可以调整驱动芯片的额定输出电流,使得控制器可以拖动0.3A~3A的不同额定电流的电机。实际控制器中,通过调整电位器R2的值来调整Vref,实现额定电流的调节。为减少能耗,降低电机的发热,延长使用寿命,电机有三种运行模式工作模式、节流模式、休眠模式。电机的运行模式由程序控制,可以灵活设置。这些控制信号,使得电机的控制灵活性很强,适合于多种应用。
本发明的步进电机驱动器采用恒流细分驱动方法,需要频率很高的控制脉冲,并且需要复杂的速度和位置控制,因此采用扩展定时/计数器82C54结合87C196KC的高速输入功能的方法为电机驱动提供控制脉冲。结合电路原理图,说明该控制脉冲发生器的工作原理8254计数器0工作在方波发生器模式,对clk0输入的脉冲分频后输出。计数器1工作在计数模式,计数器0输出的脉冲一边送到步进电机驱动模块作为控制脉冲,同时送到计数器1脉冲输入端,计数器1对计数器0输出的脉冲计数。通过控制计数器0的计数初值可以控制电机运行速度。在该系统中,单片机设定好82C54的参数后,自动产生脉冲并自动计数脉冲个数,不需要单片机的干预。计数器0发出的脉冲个数达到计数器1的设定值时,计数器1向单片机申请中断,请求处理。单片机接收到中断信号,执行相应操作,82C54按照新的参数运行。利用这种方法,MCU不需要直接负责脉冲的产生和计数,而只要在需要修改8254的工作参数时才干预控制脉冲器的工作,因而提高了脉冲频率和MCU的运行效率,可以方便的进行复杂的速度和位置控制。
电机在运动过程中,要经历加速、恒速、减速过程。经过离散化处理,加速轨迹呈阶梯状。电机在每一级速度上保持一定的时间,电机运行一段距离,到达该级的运行步数后,8254发出中断信号,MCU响应中断,改变8254的计数器1、2的初值,调整速度和位移后继续运行,直到停止。实际系统中,电机启动前,主控程序首先根据运行参数计算出运行频率和相应频率级的运行步数的数据表,并进行级步数补偿,运行中从数据表中查出运行频率和级步数,对82C54进行设置。利用查表法和级步数补偿,本发明的步进电机控制器达到了较高的定位精度。
本发明的通信系统是在87C196KC的全双工串行输入输出口上扩展RS485接口构成。当需要控制多个轴时,直接在485网络上挂接多个控制器接口即可,系统扩展相当简便。各个控制器在网络中的地址由地址选择拨码开关设定,3为拨码开关可设置成0~7共8个地址。系统在上电初始化是,读取该拨码开关的值作为自己的地址。系统的通讯利用了87C196KC的多机通讯方法,配合自定义的通讯协议完成,通信效率高,可靠型好,应用灵活。系统为用户提供API函数,支持MFC编程,方便开发。
I/O接口提供5个手动控制信号停止、位移控制、复位、正转、反转。手动控制使控制器可以脱离上位主控计算机独立运行,为系统的运行提供了一种冗余的控制方式。当系统故障时,控制器可单独运行,提高了控制系统的可靠性。
在先进的步进电机驱动控制技术的基础上,引入分布式控制策略,采用标准的计算机总线,将传统的步进电机控制系统中的控制卡和驱动器集成在一块板卡上,使得该控制器具有结构紧凑,体积小,可扩展性能好的特点。
权利要求
1.一种适用于医疗机器人的步进电机网络控制装置,所述医疗机器人接收由上位机(7)下发经转接器(8)、现场总线(9)后的控制指令,并由多个步进电机驱动所述医疗机器人的各个智能机构;所述步进电机采用模块化的控制装置,其特征在于所述控制装置是通过现场总线(9)与上位机(7)实现通讯;所述控制装置与步进电机采用分布控制模式;所述控制装置是由单片机(5)、通讯接口电路(6)、脉冲发生电路(4)、电机驱动电路(2)和电源电路(3)构成;通讯接口电路(6)接收所述上位机(7)下发的控制指令;单片机(5)接收上述控制指令经地址匹配处理获得所需驱动的步进电机(1)地址信息;然后,单片机(5)接收上述控制指令经参数解码处理获得所需驱动的步进电机(1)的控制信息,并对上述控制信息进行步进电机加减速曲线生成处理,从而控制脉冲发生电路(4)产生的方波信号;其中,步进电机(1)生成加减速曲线方法为Ci=fXTAL2(v0+iv-v0k),si=vi(tk-Tp)(i<k)Ck=fXTAL2(v0+kv-v0k),sk=s-2sa-vkTpCi=C2k-i,sk=s2k-i(k<i≤2k)]]>式中,i表示运行级序数,k表示加速段总级数,t表示加速时间,Ci表示脉冲周期参数,fXTAL表示晶振频率,v0表示初速度,si表示级步数,Tp表示处理时间间隔,s表示转角,sa表示加速段总步数;电机驱动电路(2)接收上述所需驱动的步进电机的控制信息和上述方波信号驱动步进电机(1)运行。
2.根据权利要求1所述的步进电机网络控制装置,其特征在于步进电机(1)的驱动电流为0.3A~3A。
3.根据权利要求1所述的步进电机网络控制装置,其特征在于所述转接器(8)选取RS232/RS485转接器。
4.根据权利要求1所述的步进电机网络控制装置,其特征在于现场总线(9)是RS485总线。
5.根据权利要求1所述的步进电机网络控制装置,其特征在于单片机(5)选用87C196KC芯片,通讯接口电路(6)选用MAX485芯片,脉冲发生电路(4)选用P82C54芯片,电机驱动电路(2)选用SLA7062M芯片。
6.根据权利要求1所述的步进电机网络控制装置,其特征在于电路的各端子连接为单片机U1的低8位数据60、59、58、57、56、55、54、53端与锁存器U6的3、4、7、8、13、14、17、18端连接,单片机U1的地址48端与锁存器U6的1端连接,单片机U1的写有效40端与锁存器U6的11端连接,锁存器U6的输出2、5、6、15端与电机驱动电路U2的9、12、13、15端连接,锁存器U6的输出9、16端分别串联限流电阻R4、R6,锁存器U6的输出12端与脉冲发生电路U4的11端和16端连接,锁存器U6的输出19端与通信接口电路U3的2端和3端连接;单片机U1的低8位数据60~53端与脉冲发生电路U4的8~1端连接,单片机U1的地址51~49端与脉冲发生电路U4的19~21端连接,单片机U1的写有效40端与脉冲发生电路U4的23端连接,单片机U1的读有效61端与脉冲发生电路U4的22端连接,单片机U1的时钟65端与脉冲发生电路U4的9端连接,单片机U1的输入24端与脉冲发生电路U4的13端和18端连接,单片机U1的输入25端与脉冲发生电路U4的17端连接,脉冲发生电路U4的10端和15端与电机驱动电路U2的10端连接;单片机U1的12、14、36端接地,1、13、37端接电源,单片机U1的62端与复位电路U7的7端连接,单片机U1的复位输入16端与复位电路U3的6端连接,单片机U1的串行17、18端与通信接口电路U3的1、4端连接,单片机U1的P1口低5位19~23端与接口J5的1~5端连接,单片机U1的P1口高3位30~32端与拨码开关S1的6~4端连接,单片机U1的存储地址选择输入2端与接口JP1的2端连接,电机驱动电路U2的16端接驱动电源VDD,11端接地,电机驱动电路U2的外围控制器件包括复位电路、参考电压电路,电机电流采样电阻RSA和RSB以及滤波电容CA,复位电路由电容C111和电阻R3组成,电容C111一端与电源VCC相连,另一端同时与电阻R3和U2的8端相连,电阻R3另一端接地,参考电压电路由两个PNP型三极管Q1、Q2,4个电阻R1、R4、R5、R6和一个电位器R2组成,R1、R5、R2依次串联接在电源VCC和地之间,R5的前端与U2的7端连接,Q1发射极与R1前端相连,集电极与R1的后端连接,基极与电阻R4连接,Q2发射极与R2前端连接,集电极与R2后端连接,基极与电阻R4连接,电流采样RSA接在U2的7和11端间,RSB接在SLA7062的17和11端之间,滤波电容直接并联在U2的16和11端之间,复位电路、参考电压电路、电机电流采样电阻和电源在U2的11端接成星形地,电机驱动电路U2的输出1端和2端与接口J2的2端连接,输出3端和4端与接口J2的3端连接,输出18端和19端与接口J2的5端连接,输出20端和21端与接口J2的6端连接,脉冲发生电路U4的10、15端同时与电机驱动电路U2的10端连接,锁存器U6的输出口2、5、6、15端与电机驱动电路U2的9、12、13、15端连接,锁存器U6的输出口9、16端与电机驱动电路U2的外围控制器件电阻R4、R6连接,锁存器U6的输出口12端同时与脉冲发生器U4的11、16端连接,锁存器U6的输出口19端同时与通信电路U3的2、3端连接,其余各端子为常规连接。
全文摘要
本发明公开了一种适用于医疗机器人的步进电机网络控制装置,所述步进电机采用模块化的控制装置,所述控制装置是通过现场总线(9)与上位机(7)实现通讯;所述控制装置与步进电机采用分布控制模式;所述控制装置是由单片机(5)、通讯接口电路(6)、脉冲发生电路(4)、电机驱动电路(2)和电源电路(3)构成;通讯接口电路(6)接收所述上位机(7)下发的控制指令;单片机(5)接收上述控制指令经地址匹配处理获得所需驱动的步进电机(1)地址信息;然后,单片机(5)接收上述控制指令经参数解码处理获得所需驱动的步进电机(1)的控制信息,并对上述控制信息进行步进电机加减速曲线生成处理,从而控制脉冲发生电路(4)产生的方波信号;电机驱动电路(2)接收上述所需驱动的步进电机的控制信息和上述方波信号驱动步进电机(1)运行。
文档编号G06F15/163GK1808885SQ20051013251
公开日2006年7月26日 申请日期2005年12月26日 优先权日2005年12月26日
发明者王田苗, 王满宜, 胡磊, 张维军, 王豫, 刘文勇, 王军强, 张 杰, 赵春鹏, 徐颖, 苏永刚, 周力, 张家磊, 张丰全, 张利军, 张薇 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1