CN105680735A - 基于arm处理器的四轴伺服电机运动控制卡及方法 - Google Patents

基于arm处理器的四轴伺服电机运动控制卡及方法 Download PDF

Info

Publication number
CN105680735A
CN105680735A CN201610076855.1A CN201610076855A CN105680735A CN 105680735 A CN105680735 A CN 105680735A CN 201610076855 A CN201610076855 A CN 201610076855A CN 105680735 A CN105680735 A CN 105680735A
Authority
CN
China
Prior art keywords
module
arm processor
node
circuit
signal
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.)
Granted
Application number
CN201610076855.1A
Other languages
English (en)
Other versions
CN105680735B (zh
Inventor
李恩
谭民
梁自泽
丁磊
景奉水
龙腾
何峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhongke Nuobo Robot Technology Co ltd
Institute of Automation of Chinese Academy of Science
Original Assignee
Shenzhen Zhongke Nuobo Robot Technology Co ltd
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhongke Nuobo Robot Technology Co ltd, Institute of Automation of Chinese Academy of Science filed Critical Shenzhen Zhongke Nuobo Robot Technology Co ltd
Priority to CN201610076855.1A priority Critical patent/CN105680735B/zh
Publication of CN105680735A publication Critical patent/CN105680735A/zh
Application granted granted Critical
Publication of CN105680735B publication Critical patent/CN105680735B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于ARM处理器的四轴伺服电机运动控制卡及控制方法。所述运动控制卡包括ARM处理器以及以ARM处理器为控制核心的外围模块,所述外围模块包括电源模块、脉冲输出模块、编码器接口模块、抱闸接口模块、伺服电机状态反馈模块、AD/DA模块、伺服电机驱动模块、控制信号输入输出模块和人机交互通信模块。所述运动控制卡充分利用ARM处理器内部定时器资源,通过定时器的定时、脉冲计数、脉冲输出等功能,实现精确脉冲数控制、输出,使得机器人获得较高的定位精度。运动控制卡通过ARM控制器内部定时器的配合,可以控制机器人各个电机协调运动,实现机器人的精确运动控制。

Description

基于ARM处理器的四轴伺服电机运动控制卡及方法
技术领域
本发明涉及信息技术与自动化控制技术领域,具体涉及一种低成本的四轴伺服电机运动控制卡,其充分利用ARM处理器内部定时器资源,通过定时器的定时、脉冲计数、脉冲输出等功能,实现精确脉冲数控制、输出,使得机器人获得较高的定位精度。
背景技术
机器人控制系统的实现,目前多采用上位机+运动控制卡的形式,运动控制卡是机器人控制系统的核心,广泛应用于包括搬运设备、数控加工设备、串并联机器人等自动化设备。运动控制卡一般具有脉冲输出、脉冲计数、数字输入输出、D/A输出等功能,可以发出连续脉冲串控制伺服电机驱动器,通过改变发出脉冲的数量控制电机的位置,因此,精确脉冲数控制对于运动控制卡来说至关重要,直接关系到机器人运动精度和生产产品的质量。
目前,国内外已经制造出较多型号的伺服电机运动控制卡并在市场上销售,一般是采用数字信号处理器DSP,专用集成电路ASIC或可编程逻辑器件FPGA/CPLD实现,如美国DeltaTauDataSystem公司生产的四轴运动控制卡PMACPCILite,采用DSP实现,固高科技的四轴运动控制卡采用DSP+FPGA实现,上述运动控制卡单台价格都相对比较昂贵,而且系统设计复杂,设计成本较高。另外,在脉冲输出控制方法上,通过定时,在定时时间内输出要求脉冲个数的方式是目前常采用的一种方法,但这种方法,会导致脉冲个数出现误差,影响运动控制卡精度。
为此,有必要开发一种低成本,可靠性高,系统设计简单,能够进行精确脉冲数控制输出的运动控制卡。
发明内容
为了完善伺服电机运动控制卡的功能,降低伺服电机运动控制卡成本,使运动控制卡能够快速准确的驱动多个伺服电机和机器人本体完成相关作业,本发明提出了一种机器人的低成本四轴伺服电机运动控制卡,该运动控制卡采用ARM处理器实现,充分利用ARM处理器内部定时器资源,实现四个伺服电机的同步控制,同时利用定时器的定时、脉冲计数、脉冲输出等功能,实现精确脉冲数控制、输出,使得机器人获得较高的定位精度。
本发明提出的一种基于ARM处理器的四轴伺服电机运动控制卡,其包括ARM处理器以及以ARM处理器为控制核心的外围模块,所述外围模块包括电源模块、脉冲输出模块、编码器接口模块、抱闸接口模块、伺服电机状态反馈模块、AD/DA模块、伺服电机驱动模块、控制信号输入输出模块和人机交互通信模块:
所述的脉冲输出模块包括四个原理相同的对应每个轴的脉冲输出单元,每一个脉冲输出单元使用ARM处理器的两个定时器A和B,其中定时器A工作于PWM生成模式,定时器B工作于脉冲计数模式,通过ARM处理器定时器A产生PWM方波信号,并将生成的PWM方波信号接回到定时器B的时钟输入引脚作为其外部时钟源,将上述两路信号通过与第一非门电路后形成反相PWM方波信号,同时设置定时器B的输出引脚与计数器溢出状态关联,作为脉冲输出使能信号通过第二与非门电路后与反相PWM方波信号一同接入第三与非门电路,第三与非门电路的输出作为脉冲输出模块的输出信号;
所述的编码器接口模块包括差动驱动器电路,伺服电机驱动器输出的编码器信号经过所述差动驱动器电路送入ARM处理器中,ARM利用片内定时器进行脉冲计数,得到电机当前位置;
所述的抱闸接口模块,利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;
所述的伺服电机状态反馈模块,利用伺服驱动器的串列通讯功能,通过ARM处理器的串口,与伺服驱动器进行通信;
所述的AD/DA模块包括AD/DA转换电路和信号调理电路;
所述的伺服电机驱动模块包括差动驱动器电路和光耦电路,所述差动驱动器电路用于将脉冲输出模块输出的PWM脉冲信号和ARM处理器输出的方向控制信号转换形成脉冲和方向的差动信号,所述光耦电路用于将所述ARM处理器输出的控制信号光耦隔离后形成两路控制信号;
所述的控制信号输入输出模块包括线性光耦电路和驱动电路,其中来自外部设备的输入信号通过线性光耦电路送入ARM处理器进行外部设备状态读取后,通过人机交互模块发送到上位机进行状态显示和监控,ARM处理器产生的输出信号通过线性光耦电路实现强弱电隔离,通过驱动电路实现功率放大后控制继电器,继电器控制外部设备的动作,实现使机器人与外部设备的配合作业。
本发明提出的利用如上所述的运动控制卡控制机器人的方法,包括:
通过人机交互通信模块,接收上位机命令,对其进行解析,得到各关节需要运动到的位置;
ARM处理器利用关节空间的轨迹插补方法在相邻关节点之间插补出多个点,经过关节空间的轨迹插补方法后生成每个伺服周期关节需要运动的位置、速度和加速度,通过脉冲输出模块和伺服电机驱动模块控制伺服电机运动,同时通过编码器接口模块读回各电机位置进行显示,通过控制信号输入输出模块控制外部设备配合机器人进行作业。
本发明的有益效果是,通过ARM控制器内部定时器的配合,通过精确控制发送给伺服电机驱动器的脉冲数,从而保障了电机运动的精度,使机器人能准确的完成作业。并且能够在作业过程中,实时采集测量数据,便于对生产过程进行监控。此种运动控制卡的使用,相比于市面上的其他类型控制卡,在大大提高控制精度的基础上,能够将运动控制卡的成本大幅降低,使机器人更低成本,更准确的完成作业。
附图说明
图1是本发明中基于ARM处理器的四轴伺服电机运动控制卡的结构框图。
图2是本发明一实施例中中基于ARM处理器的四轴伺服电机运动控制卡的电路连接图。
图3是本发明中轨迹插补算法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
下面结合附图对本发明进行进一步说明。
如图1和2所示,本发明提出了一种机器人的四轴伺服电机运动控制卡,包括ARM处理器1以及以ARM处理器1为控制核心的外围模块,所述外围模块包括电源模块2,脉冲输出模块3、编码器接口模块4、抱闸接口模块5、伺服电机状态反馈模块6、ADDA模块7、伺服电机驱动模块8、控制信号输入输出模块9和人机交互通信模块10。
所述的电源模块2用于提供电源,其采用外部24V直流开关电源11为输入源,通过DCDC变换器产生一路+5V电源12、一路+3V电源13、一路+15V和-15V电源14、一路+3.3V电源15和一路24V电源16,其中,+5V电源12为光耦电路及人机交互通信模块10供电,+15V和-15V电源14为ADDA模块7的信号调理电路提供电源,24V电源16为电机抱闸电路5提供电源,+3.3V电源15采用LT1763CS8-3.3芯片产生,用于为ARM处理器供电,+3V电源13采用REF3030芯片产生,其作为AD、DA转换芯片的参考电压。
所述的脉冲输出模块3,如图2所示的U2A、U2B、U2C以及ARM处理器的第25、26和31引脚,实施过程中,U2A、U2B和U2C为SN74HC132D四路与非门芯片中的三路与非门,ARM处理器第31引脚用作定时器13通道1功能(TIM13_C1)连接到U2的第4引脚,ARM处理器第25引脚用作定时器9通道1功能(TIM9_C1)与U2的第5引脚相连,ARM处理器第26引脚用作定时器9通道2功能(TIM9_C2)与U2的第9和第10引脚相连,U2的第4和第5引脚相连,U2其中一路与非门U2B的输出第6引脚连接到U2的第1引脚,U2另一路与非门U2C的输出第8引脚连接到U2的第2引脚,U2第3引脚为脉冲输出模块的输出端。其工作原理如下:脉冲输出模块由四个原理相同的对应每个轴的脉冲输出单元(图2中U2A、U2B、U2C以及ARM处理器的第25、26和31引脚为其中一轴对应的脉冲输出单元)组成,每一个脉冲输出单元使用ARM处理器的两个定时器,控制第一轴伺服电机的定时器为定时器9和定时器13,ARM处理器定时器13配置为PWM生成模式,ARM处理器定时器9配置为脉冲计数模式,定时器13产生PWM方波信号,将生成的PWM信号接回ARM处理器定时器9时钟输入引脚作为其外部时钟源,将上述定时器9和13的两路信号通过与非门电路U2B后形成反相PWM方波信号,同时在定时器配置程序代码中设置定时器9的输出引脚与计数器溢出状态关联,作为脉冲输出使能信号通过与非门电路U2C后与反相PWM方波信号一同接入与非门电路U2A,与非门电路U2A的输出作为脉冲输出模块的输出信号。当定时器9脉冲计数未达到要求输出的脉冲数时,定时器9通道2输出的脉冲输出使能信号为低电平时,脉冲输出模块输出PWM脉冲信号;当定时器9脉冲计数达到要求输出的脉冲数时,定时器9通道2输出的脉冲输出使能信号反转为高电平,脉冲输出模块输出高电平,脉冲停止输出,此时发送到伺服电机驱动器的脉冲数为要求输出的脉冲数。
所述的编码器接口模块4,如图2所示的U3,实施过程中,U3采用SN75175差动驱动器芯片,伺服电机驱动器输出的编码器各相脉冲信号分别接到U3的第1、2、6、7、9、10、14、15引脚,U3第4引脚(A/BEN)和第12引脚(C/DEN)为芯片使能端口,高电平有效,连接到高电平,U3的第11引脚(YC)和第13引脚(YD)连接ARM处理器第23和24引脚,ARM处理器第23引脚用作定时器5通道1功能(TIM5_C1),第24引脚用作定时器5通道2功能(TIM5_C2)。其工作原理如下:伺服电机驱动器输出的编码器各相脉冲信号为差分信号,经过U3转换后,11引脚和13引脚输出为三态信号,将其送入ARM处理器定时器5通道1和2中,ARM处理器定时器5进行脉冲数计数,得到电机当前位置供上位机进行查询、显示和监控。
所述的抱闸接口模块5,利用伺服电机驱动器输出的电磁刹车控制信号控制24V继电器OMRON-G6D的通断,从而控制抱闸电源的接通和断开。
所述的伺服电机状态反馈模块6,如图2所示的U6,实施过程中,U6采用MAX3485芯片,ARM处理器第55引脚用作串口3发送功能(UART3_TX)连接到U6的第4引脚(DI),ARM处理器第56引脚用作串口3接收功能(UART3_RX)连接到U6的第1引脚(RO),ARM处理器第57引脚用作通用输出口(UART3_DIR)连接到U6的第2和第3引脚(RE和DE)。其工作原理如下:利用伺服驱动器的串列通讯功能,ARM处理器串口3的接收和发送引脚分别连接到U6的发送和接受引脚,ARM处理器第57引脚控制传输方向,ARM处理器需要设置或读取驱动器参数时,ARM处理器第57引脚输出高电平,此时U6为发送状态,ARM处理器向伺服驱动器发送设置或读取驱动器参数指令,伺服驱动器收到ARM处理器指令后做出应答,向ARM处理器发送回应信息,ARM处理器第57引脚输出低电平,此时U6为接收状态,ARM处理器接收伺服驱动器返回的回应信息,通过人机交互通信模块10发送到上位机进行显示,通过发送和接受命令,ARM处理器与伺服驱动器进行通信,实现伺服系统参数变更和伺服系统状态监视。
所述的AD/DA模块7,由AD/DA转换电路及信号调理电路组成,ARM输出信号经过DAC7578芯片后转换为0到3V信号,而伺服电机驱动器能接收的信号为-10到+10V,因此,需要经过信号调理电路的放大处理才能送入伺服电机驱动器,信号调理电路采用LM837精密运算放大器,首先将0到3V信号转换成-3到3V信号,然后将将-3V到3V信号转换成-10到10V信号送入伺服电机驱动器,同理,伺服电机驱动器发出的信号也需要经过信号调理模块的缩小处理,才能经过ADS7828芯片转换后送入ARM处理器,信号调理模块电路采用LM837精密运算放大器,首先将-10到10V信号转换成-3到3V信号,然后将将-3V到3V信号转换成0到3V信号,送入ADS7828芯片进行转换。
所述的伺服电机驱动模块8,如图2所示的U4和U7,实施过程中,U4采用AM26LS31差动驱动器芯片,U7采用MOCD217光耦芯片,脉冲输出模块3输出的PWM脉冲信号连接到U4第1引脚(A相输入端),ARM处理器第29引脚用作通用输出口(GPIO1_DIR1)连接到U4第7引脚(B相输入端),ARM处理器第44和45引脚作为通用输出口(GPIO10_S-ON1和GPIO10_C-CLR1)分别连接到U7第3引脚和第1引脚,U4第4引脚(A/BEN)和第12引脚(C/DEN)为使能端口,高电平有效,连接到高电平,U4第2、3、5、6引脚和U7第5、7引脚通过伺服电机驱动器接口连接到伺服电机驱动器。其工作原理如下:脉冲输出模块输出的PWM脉冲信号、ARM处理器第29引脚输出的方向控制信号经U4转换后形成脉冲和方向的差动信号,ARM处理器第44和45引脚的输出信号经U7光耦隔离后分别形成伺服驱动器的上电使能控制信号S-ON和位置偏差清除控制信号C-CLR,这四路信号经伺服驱动器接口送入伺服电机驱动器,控制伺服电机运动,此外通过RS485通信,ARM处理器可以读取电机当前的状态。
所述的控制信号输入输出模块9,其中来自外部设备的输入信号通过光耦MOCD217电路送入ARM处理器进行外部设备状态读取后,通过人机交互通信模块10发送到上位机进行状态显示和监控,ARM处理器产生的输出信号通过光耦MOCD217电路实现强弱电隔离和ULN2002驱动电路实现功率放大后控制24V继电器OMRON-G5V1,继电器控制外部设备的动作,实现机器人与外部设备配合作业。
所述的人机交互通信模块10,如图2所示的U5,实施过程中,U5采用MAX3488芯片,ARM处理器的第86引脚用作串口2发送功能连接到U5的第3引脚(DI),ARM处理器的第87引脚用作串口2接收功能连接到U5的第2引脚(RO)。其工作原理如下:运动控制卡通过RS485通信方式与上位机(电脑、嵌入式等)进行实时通信,ARM处理器的串口2的接收和发送引脚分别连接到U5的发送和接收引脚,通过U5,上位机命令送入ARM处理器进行命令解析,通过脉冲输出模块3和伺服电机驱动模块8实现伺服电机运动控制,上位机也可以通过查询命令实时查询当前机器人的工作状态和警报信息,以便于监控。
实施过程中,所述ARM处理器1选用高性价比的STM32F407VG微控制芯片,STM32F407ZVG系列是基于高性能的-M4F的32位RISC内核,工作频率高达168MHz,其功耗相比于同类型的芯片大大降低。Cortex-M4F核心功能支持所有ARM单精度数据处理指令和数据类型的单精度浮点单元(FPU)。它还实现了一套完整的DSP指令和内存保护单元(MPU),从而提高应用程序的安全性。该STM32F407VG处理器采用7重AHB总线矩阵和多通道DMA控制器,数据传输速率极快,最高1M片上闪存,最多4字节的备份SRAM,以及广泛的增强I/O的连接到两条APB总线和外设,两个AHB总线和一个32位的多AHB总线矩阵。STM32F407VG设备提供3个12位ADC,2个12位DAC,1个低功耗RTC,1个真正的随机数发生器(RNG),12个通用16位定时器,2个通用32位定时器,其中每个伺服电机用三个定时器进行脉冲数控制,还有一个定时器用于脉冲输出控制。还配备了多达15个通信接口,其中6个USART,3个SPI,3个I2C,2个CAN,1个SDIO标准和先进的通信接口,可完美的完成四轴运动控制卡所需的全部数据处理以及控制功能。
本发明中所使用的ARM处理器STM32F407VG,设计ARM处理器1的最小系统,扩展出所有IO口,供其他各模块与ARM处理器1与其通信。ARM处理器1引脚VREF+与电源模块2中REF3030所产生的3V电压连接,为ARM处理器1内部AD转换提供稳定的参考电压。ARM处理器1的NRST引脚与复位芯片MAX809的RST引脚相连为ARM处理器1提供复位信号。在电路板上为ARM处理器1预留了SWD调试接口,方便对运动控制卡进行在线调试。ARM处理器VCC与GND之间分别连上0.1uF电容,滤除电源杂波,为ARM处理器1提供平稳电源。
具体实施过程中,其控制流程如下:通过人机交互通信模块,运动控制卡接收上位机命令,对其进行解析,得到各关节需要运动到的位置,关节位置之间的时间间隔往往远大于驱动器伺服周期,需要在相邻关节点之间插补出更多的点,因此需要关节空间的轨迹插补算法,经过关节空间的轨迹插补算法后生成每个伺服周期关节需要运动的位置、速度和加速度,通过脉冲输出模块和伺服电机驱动模块控制伺服电机运动,同时通过编码器接口模块读回各电机位置进行显示,通过控制信号输入输出模块控制外部设备配合器人进行作业。
控制程序中的轨迹插补算法,如图3所示,首先进行初始化和节点数据的读取,节点数据为上位机发送给运动控制卡的命令数据,一般包括编号、位置、时间、速度和加速度,如果读取的第二个节点有速度信息,只用两个节点的数据即可得到轨迹插补点信息,否则需要判断是否引入下一节点数据,通过判断,根据第二个节点的加速度和速度特征分四种情况进行处理:第二个节点的加速度有效、第二个节点的加速度无效但速度有效、第二个节点速度无效第三个节点速度有效和第二个节点速度无效第三个节点速度也无效。
第二个节点的加速度有效时,根据公式1得到参数c5,c4,c3,c2,c1,c0,p,v,a,得到各系数值后,通过判断速度和加速度是否超限,若超限则规划出现错误,返回,若没错则保存各时刻电机位置和速度用于电机控制,然后通过判断节点数据是否用完,若没用完则继续循环规划,若用完则规划结束。
p(u)=c5u5+c4u4+c3u3+c2u2+c1u+c0
v(u)=(5c5u4+4c4u3+3c3u2+2c2u+c1)/T1
a(u)=(20c5u3+12c4u2+6c3u+2c2)/T1 2
c5=(12p1-12p2+6T1v1+6T1v2+T1 2a1-T1 2a2)/2
c4=(-30p1+30p2-14T1v1-16T1v2-2T1 2a1+3T1 2a2)/2
c3=(20p1-20p2+8T1v1+12T1v2+T1 2a1-3T1 2a2)/2
c2=(T1 2a2)/2(1)
c1=-T1v2
c0=p2
u=1-(t-T1)/T1
其中u为时间t的归一化变量,p1、v1、a1分别为第一个节点的位置、速度、加速度,p2、v2、a2分别为第二个节点的位置、速度、加速度,T1为第一个节点到第二个节点的时间间隔;c5,c4,c3,c2,c1,c0,为系数。
第二个节点的加速度无效但速度有效时,根据公式2得到系数c4,c3,c2,c1,c0,p,v,a,得到各系数值后,通过判断速度和加速度是否超限,若超限则规划出现错误,返回,若没错则保存各时刻电机位置和速度用于电机控制,然后通过判断节点数据是否用完,若没用完则继续循环规划,若用完则规划结束。
其中u为时间t的归一化变量,p1、v1、a1分别为第一个节点的位置、速度、加速度,p2、v2、a2分别为第二个节点的位置、速度、加速度,T1为第一个节点到第二个节点的时间间隔。
第二个节点速度无效第三个节点速度有效时,根据公式3得到系数c4,c3,c2,c1,c0,p,v,a,得到各系数值后,通过判断速度和加速度是否超限,若超限则规划出现错误,返回,若没错则保存各时刻电机位置和速度用于电机控制,然后通过判断节点数据是否用完,若没用完则继续循环规划,若用完则规划结束。
p ( u ) = c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 4 c 4 u 3 + 3 c 3 u 2 +2 c 2 u + c 1 ) / T 1 a ( u ) = ( 12 c 4 u 2 + 6 c 3 u +2 c 2 ) / T 1 2 c 4 = - ( - 6 T 1 T 2 p 1 - 3 T 2 2 p 1 + 3 T 1 2 p 2 + 6 T 1 T 2 p 2 + 3 T 2 2 p 2 - 3 T 1 2 p 3 - 4 T 1 2 T 2 v 1 - 3 T 1 T 2 2 v 1 + T 1 2 T 2 v 3 - T 1 2 T 2 2 a 1 ) / ( T 1 ( 2 T 1 + 3 T 2 ) ) c 3 = - ( - 32 T 1 T 2 p 1 +12 T 2 2 p 1 - 32 T 1 T 2 p 2 - 12 T 2 2 p 2 + 18 T 1 2 p 3 + 20 T 1 2 T 2 v 1 + 12 T 1 T 2 2 v 1 - 6 T 1 2 T 2 v 3 + 4 T 1 3 T 2 2 a 1 ) / ( 2 T 1 ( 2 T 1 + 3 T 2 ) ) c 2 = - ( - 12 T 2 2 p 1 - 6 T 1 2 p 2 + 6 T 1 2 p 3 - 6 T 1 T 2 2 v 1 - 2 T 1 2 T 2 v 3 - T 1 2 T 2 2 a 1 ) / ( 2 T 2 ( 2 T 1 + 3 T 2 ) ) c 1 = 2 ( 12 T 2 p 1 - 9 T 1 p 2 - 12 T 2 p 2 + 9 T 1 p 3 + 6 T 1 T 2 v 1 - 3 T 1 T 2 v 3 + T 1 2 T 2 a 1 ) / ( T 1 T 2 ( 2 T 1 + 3 T 2 ) ) c 0 = p 2 v 2 = - ( 12 T 2 2 p 1 + 6 T 1 2 p 2 - 6 T 1 2 p 3 + 6 T 1 T 2 2 v 1 + 2 T 1 2 T 2 v 3 + T 1 2 T 2 2 a 1 ) / ( 2 T 1 T 2 ( 2 T 1 + 3 T 2 ) ) a 2 = - ( - 12 T 1 T 2 p 1 + 9 T 1 2 p 2 +9 T 1 2 p 3 - 6 T 1 2 T 2 v 1 + 3 T 1 2 T 2 v 3 - T 1 3 T 2 a 1 ) / ( T 2 ( 2 T 1 + 3 T 2 ) ) u = 1 - ( t - T 1 ) / T 1
其中u为时间t的归一化变量,p1、v1、a1分别为第一个节点的位置、速度、加速度,p2、v2、a2分别为第二个节点的位置、速度、加速度,p3、v3、a3分别为第三个节点的位置、速度、加速度,T1为第一个节点到第二个节点的时间间隔,T2为第二个节点到第三个节点的时间间隔。
第二个节点速度无效第三个节点速度也无效时,根据公式4得到系数c4,c3,c2,c1,c0,p,v,a,得到各系数值后,通过判断速度和加速度是否超限,若超限则规划出现错误,返回,若没错则保存各时刻电机位置和速度用于电机控制,然后通过判断节点数据是否用完,若没用完则继续循环规划,若用完则规划结束。
p ( u ) = c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 4 c 4 u 3 + 3 c 3 u 2 +2 c 2 u + c 1 ) / T 1 a ( u ) = ( 12 c 4 u 2 + 6 c 3 u +2 c 2 ) / T 1 2 c 4 = - ( - 6 T 1 T 2 p 1 - 6 T 2 2 p 1 + 6 T 1 T 2 p 2 + 6 T 2 2 p 2 - 2 T 1 2 p 3 - 4 T 1 2 T 2 v 1 - 6 T 1 T 2 2 v 1 - T 1 3 T 2 a 1 - 2 T 1 2 T 2 2 a 1 ) / ( 2 T 2 ( T 1 + 3 T 2 ) ) c 3 = - ( 16 T 1 T 2 p 1 +12 T 2 2 p 1 - 6 T 1 2 p 2 - 16 T 1 T 2 p 2 - 12 T 2 2 p 2 + 6 T 1 2 p 3 + 10 T 1 2 T 2 v 1 + 12 T 1 T 2 2 v 1 + 2 T 1 3 T 2 a 1 + 3 T 1 2 T 2 2 a 1 ) / ( 2 T 2 ( T 1 + 3 T 2 ) ) c 2 = ( T 1 ( 12 T 2 p 1 - 6 T 1 p 2 + 6 T 1 T 2 v 1 + T 1 2 T 2 a 1 ) ) / ( 2 T 2 ( 2 T 1 + 3 T 2 ) ) c 1 = - ( - 12 T 2 2 p 1 - 2 T 1 2 p 2 + 2 T 1 2 p 3 - 6 T 1 T 2 2 v 1 - T 1 2 T 2 2 a 1 ) / ( 2 T 2 ( T 1 + 3 T 2 ) ) c 0 = p 2 v 2 = - ( 12 T 2 2 p 1 + 2 T 1 2 p 2 - 2 T 1 2 p 3 + 6 T 1 T 2 2 v 1 + T 1 2 T 2 2 a 1 ) / ( 2 T 1 T 2 ( T 1 + 3 T 2 ) ) a 2 = - ( - 12 T 2 p 1 + 6 T 1 p 2 +6 T 1 p 3 - 6 T 1 T 2 v 1 - T 1 2 T 2 a 1 ) / ( TT 2 ( T 1 + 3 T 2 ) ) u = 1 - ( t - T 1 ) / T 1 - - - ( 4 )
其中u为时间t的归一化变量,p1、v1、a1分别为第一个节点的位置、速度、加速度,p2、v2、a2分别为第二个节点的位置、速度、加速度,p3、v3、a3分别为第三个节点的位置、速度、加速度,T1为第一个节点到第二个节点的时间间隔,T2为第二个节点到第三个节点的时间间隔。
由此可得各时刻关节需要到达的位置和关节的速度及加速度,从而控制电机运动,实现机器人的作业。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于ARM处理器的四轴伺服电机运动控制卡,其特征在于,包括ARM处理器以及以ARM处理器为控制核心的外围模块,所述外围模块包括电源模块、脉冲输出模块、编码器接口模块、抱闸接口模块、伺服电机状态反馈模块、AD/DA模块、伺服电机驱动模块、控制信号输入输出模块和人机交互通信模块:
所述的脉冲输出模块包括四个原理相同的对应每个轴的脉冲输出单元,每一个脉冲输出单元使用ARM处理器的两个定时器A和B,其中定时器A工作于PWM生成模式,定时器B工作于脉冲计数模式,通过ARM处理器定时器A产生PWM方波信号,并将生成的PWM方波信号接回到定时器B的时钟输入引脚作为其外部时钟源,将上述两路信号通过与第一非门电路后形成反相PWM方波信号,同时设置定时器B的输出引脚与计数器溢出状态关联,作为脉冲输出使能信号通过第二与非门电路后与反相PWM方波信号一同接入第三与非门电路,第三与非门电路的输出作为脉冲输出模块的输出信号;
所述的编码器接口模块包括差动驱动器电路,伺服电机驱动器输出的编码器信号经过所述差动驱动器电路送入ARM处理器中,ARM利用片内定时器进行脉冲计数,得到电机当前位置;
所述的抱闸接口模块,利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;
所述的伺服电机状态反馈模块,利用伺服驱动器的串列通讯功能,通过ARM处理器的串口,与伺服驱动器进行通信;
所述的AD/DA模块包括AD/DA转换电路和信号调理电路;
所述的伺服电机驱动模块包括差动驱动器电路和光耦电路,所述差动驱动器电路用于将脉冲输出模块输出的PWM脉冲信号和ARM处理器输出的方向控制信号转换形成脉冲和方向的差动信号,所述光耦电路用于将所述ARM处理器输出的控制信号光耦隔离后形成两路控制信号;
所述的控制信号输入输出模块包括线性光耦电路和驱动电路,其中来自外部设备的输入信号通过线性光耦电路送入ARM处理器进行外部设备状态读取后,通过人机交互模块发送到上位机进行状态显示和监控,ARM处理器产生的输出信号通过线性光耦电路实现强弱电隔离,通过驱动电路实现功率放大后控制继电器,继电器控制外部设备的动作,实现使机器人与外部设备的配合作业。
2.根据权利要求1所述的运动控制卡,其特征在于,ARM处理器输出信号经过DA转换电路后,经信号调理电路的放大处理送入伺服电机驱动器,同理,伺服电机驱动器发出的信号也经过信号调理电路的缩小处理,经过AD转换电路转换后送入ARM处理器。
3.根据权利要求1所述的运动控制卡,其特征在于,ARM处理器发出的脉冲信号、方向信号以及控制信号通过光耦和差动驱动器电路控制伺服电机驱动器,伺服电机驱动器控制电机运动,ARM处理器通过485通信读取电机当前的状态。
4.根据权利要求1所述的运动控制卡,其特征在于,所述人机交互通信模块通过RS485通信方式与上位机进行实时通信,通过RS485,上位机命令送入ARM处理器进行命令解析,通过脉冲输出模块和伺服电机驱动模块实现伺服电机运动控制,上位机通过查询命令实时查询当前机器人的工作状态和警报信息,以便于监控。
5.根据权利要求1所述的运动控制卡,其特征在于,所述的电源模块采用外部24V直流开关电源为输入源,通过开关型电源转换芯片以及线性稳压器件产生一路+5V电源、一路+15V和-15V电源、一路+3.3V电源、一路+3V电源和一路24V电源,+5V电源为光耦电路及人机交互通信模块供电,24V为继电器、光耦电路和电机抱闸电路提供电源,+3.3V为ARM处理器供电,+3V电源作为AD、DA转换芯片的参考电压,+15V和-15V为ADDA模块的信号调理电路提供电源。
6.一种利用权利要求1所述的运动控制卡控制机器人的方法,其特征在于,包括:
通过人机交互通信模块,接收上位机命令,对其进行解析,得到各关节需要运动到的位置;
ARM处理器利用关节空间的轨迹插补方法在相邻关节点之间插补出多个点,经过关节空间的轨迹插补方法后生成每个伺服周期关节需要运动的位置、速度和加速度,通过脉冲输出模块和伺服电机驱动模块控制伺服电机运动,同时通过编码器接口模块读回各电机位置进行显示,通过控制信号输入输出模块控制外部设备配合机器人进行作业。
7.根据权利要求6所述的方法,其特征在于,所述关节空间的轨迹插补方法根据所述相邻关节点的第二个节点的加速度和速度特征分四种情况进行处理:第二个节点的加速度有效、第二个节点的加速度无效但速度有效、第二个节点速度无效第三个节点速度有效和第二个节点速度无效第三个节点速度也无效;
第二个节点的加速度有效时,关节位置、速度和加速度采用如下方式进行轨迹插补:
p ( u ) = c 5 u 5 + c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 5 c 5 u 4 + 4 c 4 u 3 + 3 c 3 u 2 + 2 c 2 u + c 1 ) / T 1 a ( u ) = ( 20 c 5 u 3 + 12 c 4 u 2 + 6 c 3 u + 2 c 2 ) / T 1 2
其中u为时间t的归一化变量,T1为第一个节点到第二个节点的时间间隔,c5,c4,c3,c2,c1,c0,为系数;
第二个节点的加速度无效但速度有效时,关节位置、速度和加速度采用如下方式进行轨迹插补:
p ( u ) = c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 4 c 4 u 3 + 3 c 3 u 2 + 2 c 2 u + c 1 ) / T 1 a ( u ) = ( 12 c 4 u 2 + 6 c 3 u + 2 c 2 ) / T 1 2
其中u为时间t的归一化变量,T1为第一个节点到第二个节点的时间间隔;
第二个节点速度无效第三个节点速度有效时,关节位置、速度和加速度采用如下方式进行轨迹插补:
p ( u ) = c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 4 c 4 u 3 + 3 c 3 u 2 + 2 c 2 u + c 1 ) / T 1 a ( u ) = ( 12 c 4 u 2 + 6 c 3 u + 2 c 2 ) / T 1 2
其中u为时间t的归一化变量,T1为第一个节点到第二个节点的时间间隔;
第二个节点速度无效第三个节点速度也无效时,关节位置、速度和加速度采用如下方式进行轨迹插补:
p ( u ) = c 4 u 4 + c 3 u 3 + c 2 u 2 + c 1 u + c 0 v ( u ) = ( 4 c 4 u 3 + 3 c 3 u 2 + 2 c 2 u + c 1 ) / T 1 a ( u ) = ( 12 c 4 u 2 + 6 c 3 u + 2 c 2 ) / T 1 2
其中u为时间t的归一化变量,T1为第一个节点到第二个节点的时间间隔。
CN201610076855.1A 2016-02-03 2016-02-03 基于arm处理器的四轴伺服电机运动控制卡及方法 Expired - Fee Related CN105680735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610076855.1A CN105680735B (zh) 2016-02-03 2016-02-03 基于arm处理器的四轴伺服电机运动控制卡及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610076855.1A CN105680735B (zh) 2016-02-03 2016-02-03 基于arm处理器的四轴伺服电机运动控制卡及方法

Publications (2)

Publication Number Publication Date
CN105680735A true CN105680735A (zh) 2016-06-15
CN105680735B CN105680735B (zh) 2018-05-18

Family

ID=56303971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610076855.1A Expired - Fee Related CN105680735B (zh) 2016-02-03 2016-02-03 基于arm处理器的四轴伺服电机运动控制卡及方法

Country Status (1)

Country Link
CN (1) CN105680735B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106041929A (zh) * 2016-06-24 2016-10-26 南京工程学院 一种用于六自由度机器人的控制方法
CN106295783A (zh) * 2016-07-18 2017-01-04 广州吉欧光学科技有限公司 一种基于增量式编码器的计数装置及方法
CN106444480A (zh) * 2016-08-31 2017-02-22 湖南千智机器人科技发展有限公司 手持操控设备的采集控制模块
CN108508811A (zh) * 2018-05-09 2018-09-07 浙江大学 一种轴间无通讯的四轴机器人伺服控制电路
CN111240236A (zh) * 2019-12-30 2020-06-05 扬州曙光光电自控有限责任公司 一种基于泵升耗能电阻的负载紧急制动系统及方法
CN111416557A (zh) * 2020-05-11 2020-07-14 台州中盟联动企业管理合伙企业(有限合伙) 一种交流伺服控制系统
CN111443662A (zh) * 2020-04-07 2020-07-24 上海信耀电子有限公司 一种基于四轴机器人的一体化驱控系统
CN111864608A (zh) * 2019-04-30 2020-10-30 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) 一种用于野外集装配电系统的运检装置
CN113389772A (zh) * 2021-06-23 2021-09-14 华南农业大学 一种农用小型液压站控制系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101549494A (zh) * 2009-05-11 2009-10-07 北京航空航天大学 具有自组装特征的单体自变形机器人
CN202372834U (zh) * 2011-12-08 2012-08-08 宁波海迈克数控技术有限公司 一种双核cpu的嵌入式数控系统
CN203838546U (zh) * 2014-04-02 2014-09-17 深圳市达科为医疗科技有限公司 一种电机控制电路
CN204856122U (zh) * 2015-07-28 2015-12-09 符迎利 冲压机器人控制系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101549494A (zh) * 2009-05-11 2009-10-07 北京航空航天大学 具有自组装特征的单体自变形机器人
CN202372834U (zh) * 2011-12-08 2012-08-08 宁波海迈克数控技术有限公司 一种双核cpu的嵌入式数控系统
CN203838546U (zh) * 2014-04-02 2014-09-17 深圳市达科为医疗科技有限公司 一种电机控制电路
CN204856122U (zh) * 2015-07-28 2015-12-09 符迎利 冲压机器人控制系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106041929A (zh) * 2016-06-24 2016-10-26 南京工程学院 一种用于六自由度机器人的控制方法
CN106041929B (zh) * 2016-06-24 2018-03-30 南京工程学院 一种用于六自由度机器人的控制方法
CN106295783A (zh) * 2016-07-18 2017-01-04 广州吉欧光学科技有限公司 一种基于增量式编码器的计数装置及方法
CN106444480A (zh) * 2016-08-31 2017-02-22 湖南千智机器人科技发展有限公司 手持操控设备的采集控制模块
CN108508811A (zh) * 2018-05-09 2018-09-07 浙江大学 一种轴间无通讯的四轴机器人伺服控制电路
CN108508811B (zh) * 2018-05-09 2020-09-11 浙江大学 一种轴间无通讯的四轴机器人伺服控制电路
CN111864608A (zh) * 2019-04-30 2020-10-30 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) 一种用于野外集装配电系统的运检装置
CN111240236A (zh) * 2019-12-30 2020-06-05 扬州曙光光电自控有限责任公司 一种基于泵升耗能电阻的负载紧急制动系统及方法
CN111443662A (zh) * 2020-04-07 2020-07-24 上海信耀电子有限公司 一种基于四轴机器人的一体化驱控系统
CN111416557A (zh) * 2020-05-11 2020-07-14 台州中盟联动企业管理合伙企业(有限合伙) 一种交流伺服控制系统
CN113389772A (zh) * 2021-06-23 2021-09-14 华南农业大学 一种农用小型液压站控制系统

Also Published As

Publication number Publication date
CN105680735B (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN105680735A (zh) 基于arm处理器的四轴伺服电机运动控制卡及方法
CN105242640B (zh) 一种新型的高速高精度多轴伺服运动控制器电路
CN105242587B (zh) 一种双驱动混合型直流低压智能伺服驱动器电路
CN201174041Y (zh) 全数字通用交流伺服定位控制驱动器
CN207200605U (zh) 基于dsp与fpga的模块化多电机实时控制平台
CN104391477A (zh) 一种驱控一体的网络化智能控制器
CN103455002B (zh) 一种基于Verilog HDL的FPGA超高速工业控制系统
CN1936747A (zh) 一种编译型数控系统及其数控系统的编译与运行控制方法
CN103901822A (zh) 一种多轴联动运动控制系统
CN102830658A (zh) 一种用于多轴数控机床的嵌入式数控系统
CN206224181U (zh) 一种基于fpga的多轴伺服驱动系统位置反馈数据接口卡
CN101013310A (zh) 总线式全数字伺服驱动器
CN201163363Y (zh) 数控机床上的通用多轴运动控制系统
CN100535812C (zh) 全数字数控系统的驱动及连接装置
CN102445924B (zh) 一种一体化数控系统及一体化数控机床
CN101738987A (zh) 五轴运动控制卡
CN203849591U (zh) 多轴联动运动控制系统
CN202677196U (zh) 一种基于fpga的agv接口板
CN111506021A (zh) 一种基于stm32的嵌入式多轴运动控制系统
CN104972287A (zh) 一种三自由度机械臂运动控制装置
CN201107641Y (zh) 全数字数控系统
CN202929431U (zh) 嵌入式实时数控系统
CN102722174B (zh) 基于总线控制方式的agv控制系统
CN101697467A (zh) 直线电机的驱动器及驱动方法
CN205139680U (zh) 一种基于Windows平台的开放式数控系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180518

Termination date: 20220203