CN100551634C - 一种基于can总线的模块化机器人控制系统 - Google Patents
一种基于can总线的模块化机器人控制系统 Download PDFInfo
- Publication number
- CN100551634C CN100551634C CNB2007100111682A CN200710011168A CN100551634C CN 100551634 C CN100551634 C CN 100551634C CN B2007100111682 A CNB2007100111682 A CN B2007100111682A CN 200710011168 A CN200710011168 A CN 200710011168A CN 100551634 C CN100551634 C CN 100551634C
- Authority
- CN
- China
- Prior art keywords
- bus
- control
- return step
- atmega64
- pin
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
一种基于CAN总线的模块化关节型机器人控制系统,其特征在于该系统包括上位主控计算机、CAN智能接口卡、多个控制模块(每个控制模块控制机器人的一个关节),以及连接这些模块和CAN智能接口卡的CAN总线组成;本系统中的双路智能CAN接口卡,它一端通过USB接口与上位机连接,另一端通过CAN总线接口连接到CAN总线上,控制模块连接到CAN总线上;本系统及其方法具有较好的可移植性、开发周期短、造价低,还具有可重组性、可替代性、开放性和高稳定性并可对机器人进行实时监控。
Description
技术领域
本发明涉及一种机器人控制系统,特别涉及一种基于CAN总线的模块化关节型机器人控制系统。
背景技术
目前,绝大多数机器人的控制系统都是基于具体的受控对象,采用专用硬件平台、专用系统和操作语言进行开发设计的,结构多为封闭式。这样造成了用户或第三方开发人员就很难根据需要对机器人的控制系统的功能进行扩展,对控制系统的软硬件进行增减和移植。如果控制系统的各项功能都集中在一起,没有结构功能方面清晰的划分,那么一项功能出现故障,势必影响整个控制系统的可靠性,甚至造成整个系统的瘫痪。控制系统的成本,安装维护费用也会相应地增加。因此,针对关节型机器人控制系统,其开放性、模块化、维护方便、成本低成为系统优劣的重要评价标准。随着CAN总线技术在世界范围内的应用和成熟,使实现以上标准成为可能。采用基于CAN总线的控制系统结构,可以根据需要方便地增减控制模块的数量,扩充功能;采用标准的硬件平台、操作系统以及开发语言,控制系统具有较好的可移植性,能够较为方便地移植到其他平台工作。并且各控制模块都是一个可以独立执行的系统,在运行时,各控制模块互不干扰;还具有可重组性、可替代性、开放性和高稳定性等特点。由于CAN总线只需一条主干线,大大减少了线缆数量,降低了布线难度,缩减了成本;模块化的设计不仅方便安装和维护,也降低了开发成本。
发明内容
为了克服现有的机器人控制系统在开放性、可靠性等方面的不足,以及造价成本、安装维护费用高等缺点,本发明提供一种基于CAN总线的模块化机器人控制系统,该控制系统采用CAN总线作为机器人控制系统的体系结构,可以根据需要方便地增加硬件设备,扩充功能,在硬件发生改变的情况下,只需要针对相关节点的现场设备做出调整,而不会影响到其它节点,而且可以方便地调整控制节点数量,以改变机器人的自由度。
基于CAN总线的模块化机器人控制系统由上位主控计算机、CAN智能接口卡、多个控制模块(每个控制模块控制机器人的一个关节),以及连接这些模块和CAN智能接口卡的CAN总线组成。本系统中的双路智能CAN接口卡,它一端通过USB接口与上位机连接,另一端通过CAN总线接口连接到CAN总线上,控制模块连接到CAN总线上,如图1所示;系统所需电源均采用外部电源。
本发明控制模块的电路图如图3(a)所示:
控制模块的主控制器芯片选用ATmega64,它与CAN控制器SJA1000、CAN总线驱动器PCA82C250构成CAN总线的通信接口电路;ATmega64的管脚43、42、34、33、20、9、51、50、49、48、47、46、45、44分别与SJA1000的管脚3、4、5、6、17、16、23、24、25、26、27、28、1、2相连;SJA1000的管脚13、19、20分别与PCA82C250的管脚1、4、5相连;PCA82C250的管脚7、6分别通过电阻R2、R7与CANBAS的1、2脚相连;四个铁电存储器的管脚5、6、7分别与ATmega64的管脚26、25、18相连;JTAG接口的管脚1、3、5、9分别与ATmega64的管脚57、55、56、54相连,如图3(b)所示;ISP接口的管脚1、5、7、9分别与ATmega64的管脚2、20、11、3相连,如图3(c)所示;ATmega64的管脚27、28、29、30、31、32、35、36、37、38分别与步进电机motor的接线端子1、2、3、4、5、6、7、8、9、10相连,如图3(e)所示;ATmega64的管脚61、60、59、58、57、56、55、54分别与接线端子1、3、5、7、9、11、13、15脚相连,采集的模拟信号(包括工作电压、温度)分别与接线端子相连,接线端子再与电位计、温度计相连如图3(d)所示。
控制模块的工作原理是主控节点(包括上位主控计算机和CAN智能接口卡)中的主控计算机负责机器人的运动控制、任务分配、实时监测,并可通过以太网或internet组成远程监控层。本系统软件包括上位机主控软件和下位机控制模块的软件,采用分层和模块化结构。上位机主控软件是在CAN接口卡提供的ZLGVCI接口函数的基础上进行开发,在Windows环境下编写;下位机控制模块的软件用标准C语言进行编程,这使得系统软件具有开发周期短、可读性强、可移植性好的特点。下位机控制模块软件采用模块化的结构,即按任务将整个软件划分为几个模块:CAN总线通信模块、驱动控制模块、数据采集模块、数据存储模块。
在每个控制模块中,ATmega64负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送通信任务;
SJA1000初始化是按以下步骤进行的,如图4(a)所示:
(1)、设置控制寄存器进入复位模式;
(2)、然后判断是否进入复位模式,如果否,返回步骤(1);
(3)、设置时钟分频寄存器,设置验收代码寄存器、验收屏蔽寄存器,设置总线定时寄存器;
(4)、设置控制寄存器回到操作模式;
(5)、判断是否进入操作模式;如果否,返回步骤(4);
(6)、结束。
数据接收程序,是按以下步骤进行的,如图4(b)所示:
(1)、读状态寄存器;
(2)、判断接收缓存器状态位是否置位,如果否,返回步骤(1);
(3)、读取接收缓存器数据,释放接收缓存器,判断是否结束,如果否,返回步骤(1);
(4)、结束。
数据发送程序是按以下步骤进行的,如图4(c)所示:
(1)、读状态寄存器;
(2)、判断发送缓存器状态位是否置位,如果否,返回步骤(1);
(3)、将数据写入发送缓存器,发送请求位置位,然后判断是否结束,如果否,返回步骤(1);
(4)、结束。
采用ATmega64内部集成的8通道、逐次逼近型10位A/D转换器实现对所采集的模拟信号进行A/D转换;其数据采集是按以下步骤进行的,如图4(d)所示:
(1)、读取采集参数,初始化定时器(设置采集频率);
(2)、启动定时器;
(3)、等待定时器中断,判断是否进入中断,如果否,返回步骤(3);
(4)、启动A/D转换;
(5)、等待转换,判断是否转换结束,如果否,返回步骤(5);
(6)、数据存储,判断是否结束,如果否,返回步骤(2);
(7)结束。
通过ATmega64的SDA、SCL、WP引脚以标准I2C总线接口方式连接铁电存储器FM24C256,用来存储临时数据和设置的参数,其数据存储是按以下步骤进行的,如图4(e)所示:
(1)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(1);
(2)、发送芯片地址和写方式,判断发送是否成功,如果否,返回步骤(2);
(3)、发送字节地址,判断发送是否成功,如果否,返回步骤(3);
(4)、判断是否写操作,如果否,执行步骤(7);
(5)、写入数据,判断是否成功,如果否,返回步骤(5);
(6)、释放I2C总线控制权,结束。
(7)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(7);
(8)、发送芯片地址和读方式,判断发送是否成功,如果否,返回步骤(8);
(9)、读出数据,判断是否成功,如果是,返回步骤(6);如果否,返回步骤(9)。
ATmega64通过PD2、PD3、PD4分别提供步进电机驱动器电机释放信号、步进脉冲信号和方向控制信号来控制步进电机的运转,其驱动控制是按以下步骤进行的,如图4(f)所示:
(1)、读取电机运转参数,使能电机;
(2)、设置旋转方向,初始化定时器(设定脉冲频率);
(3)、启动定时器;
(4)、等待定时器中断,判断是否进入中断,如果否,返回步骤(4);
(5)、脉冲信号输出电平取反,判断是否达到指定脉冲数,如果否,返回步骤(3);
(6)、结束。
JTAG和ISP接口用于单片机的仿真调试和在线下载。所有控制模块的上述结构相同,可相互替代。
上位机主控软件是在CAN接口卡提供的ZLGVCI接口函数的基础上进行开发,在Windows环境下编写;上位机控制过程按以下步骤进行,如图2所示:
(1)、系统上电后,下位机各关节控制模块CPU、CAN控制器SJA1000、ADC进行初始化,然后等待上位机发送命令。
(2)、用户在上位主控计算机的主控界面输入相应关节的配置参数(电机运行角度和速度、旋转方向,数据采集的频率和采集时间、数据存储方式:分为本地铁电存储和直接上传至上位机两种方式),然后发送相应命令,则此命令以报文形式通过CAN智能接口卡发送到CAN总线上。
(3)、判断关节控制模块接到命令后,如果是,执行步骤(4);如果否,继续等待命令,即返回步骤(3)。
(4)、判断任务类型,执行相应的任务(驱动控制、数据采集、数据处理)。
(5)、工作是否结束,如果是,执行步骤(6);如果否,返回步骤(3)。
本发明具有以下特点:
1、开放性
采用基于CAN总线的控制系统结构,可以根据需要方便地增减控制模块的数量,扩充功能;采用标准的硬件平台、操作系统以及开发语言,控制系统具有较好的可移植性,能够较为方便地移植到其他平台工作。
2、模块化
各控制模块都是一个可以独立执行的系统,在运行时,各控制模块互不干扰,因此一个控制模块出现故障不会给系统带来灾难性的影响;采用模块化设计的控制系统开发周期短、造价低,还具有可重组性、可替代性、开放性和高稳定性等特点。
3、维护方便、成本低
由于CAN总线只需一条主干线,大大减少了线缆数量,降低了布线难度,缩减了成本;模块化的设计不仅方便安装和维护,也降低了开发成本。
4、采集到的数据信息可以以数据或曲线形式显示到上位主控计算机的主控界面上,便于操作者对机器人进行实时监控。本系统可扩展高级的控制算法,进行机器人的研究工作。
附图说明
图1是本发明的系统结构图;
图2是本发明下位机控制模块的软件流程图;
图3是本发明控制模块的电路原理图;
图4(a)是SJA1000初始化程序流程图;
(b)是数据接收程序流程图;
(c)是数据发送程序流程图;
(d)是数据采集程序流程图
(e)是铁电存储器读写程序流程图
(f)是电机驱动程序流程图
具体实施方式
本发明控制模块的电路原理图如2所示:
控制模块的主控制器芯片选用ATmega64,它与CAN控制器SJA1000、CAN总线驱动器PCA82C250构成CAN总线的通信接口电路;ATmega64的管脚43、42、34、33、20、9、51、50、49、48、47、46、45、44分别与SJA1000的管脚3、4、5、6、17、16、23、24、25、26、27、28、1、2相连;SJA1000的管脚13、19、20分别与PCA82C250的管脚1、4、5相连;PCA82C250的管脚7、6分别通过电阻R2、R7与CANBAS的1、2脚相连;四个铁电存储器FM01-FM04的管脚5、6、7分别与ATmega64的管脚26、25、18相连;JTAG接口的管脚1、3、5、9分别与ATmega64的管脚57、55、56、54相连,如图3(b)所示;ISP接口的管脚1、5、7、9分别与ATmega64的管脚2、20、11、3相连,如图3(c)所示;ATmega64的管脚27、28、29、30、31、32、35、36、37、38分别与步进电机motor的接线端子1、2、3、4、5、6、7、8、9、10相连,如图3(e)所示;ATmega64的管脚61、60、59、58、57、56、55、54分别与接线端子1、3、5、7、9、11、13、15脚相连,,采集的模拟信号(包括工作电压、温度)分别与接线端子相连,接线端子再与电位计、温度计相连如图3(d)所示。
控制模块的工作原理是主控节点(包括上位主控计算机和CAN智能接口卡)中的主控计算机负责机器人的运动控制、任务分配、实时监测,并可通过以太网或internet组成远程监控层。本系统软件包括上位机主控软件和下位机控制模块的软件,采用分层和模块化结构。上位机主控软件是在CAN接口卡提供的ZLGVCI接口函数的基础上进行开发,在Windows环境下编写;下位机控制模块的软件用标准C语言进行编程,这使得系统软件具有开发周期短、可读性强、可移植性好的特点。下位机控制模块软件采用模块化的结构,即按任务将整个软件划分为几个模块:驱动控制模块、数据采集模块、数据存储模块、CAN总线通信模块。
所述控制模块以ATmega64单片机为核心,它与CAN控制器SJA1000、CAN总线驱动器PCA82C250构成CAN总线的通信接口电路,通过CANBUS接口连接到CAN总线上;CAN总线收发器PCA82C250,是CAN控制器与CAN总线的接口器件,对CAN总线差分方式发送,PCA82C250的RS引脚接地选择高速工作方式,接电阻R6减少干扰;CANH、CANL通过电阻R2、R7与CANBUS的一组双绞线相连,PCA82C250的收、发端管脚1、2通过匹配电阻R1、R5与CAN控制器SJA1000的脚13输出端TX0、脚19输入端RX0相连实现通信,R3、R8为CAN总线的终端匹配电阻;CAN控制器SJA1000的I/O口直接与单片机ATmega64的I/O口相连,片选信号由ATmega64的9脚控制,SJA1000的读写端与ATmega64的的读写端相连,以便协调工作;ATmega64负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送通信任务;
SJA1000初始化是按以下步骤进行的,如图4(a)所示:
(1)、设置控制寄存器进入复位模式;
(2)、然后判断是否进入复位模式,如果否,返回步骤(1);
(3)、设置时钟分频寄存器,设置验收代码寄存器、验收屏蔽寄存器,设置总线定时寄存器;
(4)、设置控制寄存器回到操作模式;
(5)、判断是否进入操作模式;如果否,返回步骤(4);
(6)、结束。
数据接收程序,是按以下步骤进行的,如图4(b)所示;
(1)、读状态寄存器;
(2)、判断接收缓存器状态位是否置位,如果否,返回步骤(1);
(3)、读取接收缓存器数据,释放接收缓存器,判断是否结束,如果否,返回步骤(1);
(4)、结束。
数据发送程序是按以下步骤进行的,如图4(c)所示:
(1)、读状态寄存器;
(2)、判断发送缓存器状态位是否置位,如果否,返回步骤(1);
(3)、将数据写入发送缓存器,发送请求位置位,然后判断是否结束,如果否,返回步骤(1);
(4)、结束。
采用ATmega64内部集成的8通道、逐次逼近型10位A/D转换器实现对所采集的模拟信号进行A/D转换;其数据采集是按以下步骤进行的,如图4(d)所示:
(1)、读取采集参数,初始化定时器(设置采集频率);
(2)、启动定时器;
(3)、等待定时器中断,判断是否进入中断,如果否,返回步骤(3);
(4)、启动A/D转换;
(5)、等待转换,判断是否转换结束,如果否,返回步骤(5);
(6)、数据存储,判断是否结束,如果否,返回步骤(2);
(7)结束。
通过ATmega64的SDA、SCL、WP引脚以标准I2C总线接口方式连接铁电存储器FM24C256,用来存储临时数据和设置的参数,其数据存储是按以下步骤进行的,如图4(e)所示:
(1)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(1);
(2)、发送芯片地址和写方式,判断发送是否成功,如果否,返回步骤(2);
(3)、发送字节地址,判断发送是否成功,如果否,返回步骤(3);
(4)、判断是否写操作,如果否,执行步骤(7);
(5)、写入数据,判断是否成功,如果否,返回步骤(5);
(6)、释放I2C总线控制权,结束。
(7)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(7);
(8)、发送芯片地址和读方式,判断发送是否成功,如果否,返回步骤(8);
(9)、读出数据,判断是否成功,如果是,返回步骤(6);如果否,返回步骤(9)。
ATmega64通过PD2、PD3、PD4分别提供步进电机驱动器电机释放信号、步进脉冲信号和方向控制信号来控制步进电机的运转,其驱动控制是按以下步骤进行的,如图4(f)所示:
(1)、读取电机运转参数,是能电机;
(2)、设置旋转方向,初始化定时器(设定脉冲频率);
(3)、启动定时器;
(4)、等待定时器中断,判断是否进入中断,如果否,返回步骤(4);
(5)、脉冲信号输出电平取反,判断是否达到指定脉冲数,如果否,返回步骤(3);
(6)、结束。
JTAG和ISP接口用于单片机的仿真调试和在线下载。所有控制模块的上述结构相同,可相互替代。
上位机主控软件是在CAN接口卡提供的ZLGVCI接口函数的基础上进行开发,在Windows环境下编写;以两自由度关节机器人为例,其上位机控制过程按以下步骤进行,如图2所示:
(1)、系统上电后,下位机各关节控制模块CPU、CAN控制器SJA1000、ADC进行初始化,然后等待上位机发送命令。
(2)、用户在上位主控计算机的主控界面输入相应关节的配置参数(电机运行角度和速度、旋转方向,数据采集的频率和采集时间、数据存储方式:分为本地铁电存储和直接上传至上位机两种方式),然后发送相应命令,则此命令以报文形式通过CAN智能接口卡发送到CAN总线上。
(3)、判断关节控制模块接到命令后,如果是,执行步骤(4);如果否,继续等待命令,即返回步骤(3)。
(4)、判断任务类型,执行相应的任务(驱动控制、数据采集、数据处理)。
(5)、工作是否结束,如果是,执行步骤(6);如果否,返回步骤(3)。
JTAG和ISP接口用于单片机的仿真调试和在线下载。系统所需电源采用外部电源D-30BGD、+5V、+24V输出;同时信号、电源之间采用电容滤波。
上位机主控软件是在CAN接口卡提供的ZLGVCI接口函数的基础上进行开发,在Windows环境下编写;下位机控制模块的软件用标准C语言进行编程,这使得系统软件具有开发周期短、可读性强、可移植性好的特点。
以两自由度关节机器人为例,其上位主控计算机按以下步骤进行:
(1)、系统上电后,下位机各关节控制模块CPU、CAN控制器SJA1000、ADC进行初始化,然后等待上位机发送命令。
(2)、用户在上位主控计算机的主控界面输入相应关节的配置参数(电机运行角度和速度、旋转方向,数据采集的频率和采集时间、数据存储方式:分为本地铁电存储和直接上传至上位机两种方式),然后发送相应命令,则此命令以报文形式通过CAN智能接口卡发送到CAN总线上。
(3)、判断关节控制模块接到命令后,如果是,执行步骤(4);如果否,继续等待命令,即返回步骤(3)。
(4)、判断任务类型,执行相应的任务(驱动控制、数据采集、数据处理)。
(5)、工作是否结束,如果是,执行步骤(6);如果否,返回步骤(3)。
Claims (8)
1、一种基于CAN总线的模块化关节型机器人控制系统,该系统包括上位主控计算机、双路智能CAN接口卡、多个独立控制关节的控制模块,以及连接这些模块和双路智能CAN接口卡的CAN总线组成;本系统中的双路智能CAN接口卡,它一端通过USB接口与上位机连接,另一端通过CAN总线接口连接到CAN总线上,控制模块连接到CAN总线上,其特征在于所述控制模块以ATmega64单片机为核心,它与CAN控制器SJA1000、CAN总线驱动器PCA82C250构成CAN总线的通信接口电路,通过CANBUS接口连接到CAN总线上;CAN总线驱动器PCA82C250,是CAN控制器与CAN总线的接口器件,对CAN总线差分方式发送,PCA82C250的RS引脚接地选择高速工作方式,接电阻R6减少干扰;PCA82C250的引脚CANH、CANL通过电阻R2、R7与CANBUS的一组双绞线相连,PCA82C250的发、收端引脚1、4通过匹配电阻R1、R5与CAN控制器SJA1000的引脚13输出端TX0、引脚19输入端RX0相连实现通信,R3、R8为CAN总线的终端匹配电阻;CAN控制器SJA1000的I/O口直接与单片机ATmega64的I/O口相连,片选信号由ATmega64的9引脚控制,SJA1000的读写端与ATmega64的读写端相连;采用ATmega64内部集成的8通道、逐次逼近型10位A/D转换器实现对所采集的模拟信号进行A/D转换,ATmega64的引脚61、60、59、58、57、56、55、54分别与接线端子1、3、5、7、9、11、13、15引脚相连,采集的模拟信号分别与接线端子相连,接线端子再与电位计、温度计相连,同时ATmega64的引脚64通过一个电感L1与+5V电源相连,ATmega64的引脚64与地之间接一个电容C1;通过ATmega64的SDA、SCL、WP引脚以标准I2C总线接口方式连接铁电存储器FM24C256,用来存储临时数据和设置的参数;
在每个控制模块中,ATmega64负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送通信任务;
ATmega64通过引脚PD2、PD3、PD4分别提供步进电机驱动器电机释放信号、步进脉冲信号和方向控制信号来控制步进电机的运转。
2、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于所述的SJA1000的初始化按以下步骤执行:
(1)、设置控制寄存器进入复位模式;
(2)、然后判断是否进入复位模式,如果否,返回步骤(1);
(3)、设置时钟分频寄存器,设置验收代码寄存器、验收屏蔽寄存器,设置总线定时寄存器;
(4)、设置控制寄存器回到操作模式;
(5)、判断是否进入操作模式;如果否,返回步骤(4);
(6)、结束。
3、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于所述的数据接收是按以下步骤进行的:
(1)、读状态寄存器;
(2)、判断接收缓存器状态位是否置位,如果否,返回步骤(1);
(3)、读取接收缓存器数据,释放接收缓存器,判断是否结束,如果否,返回步骤(1);
(4)、结束。
4、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于所述的数据发送是按以下步骤进行的:
(1)、读状态寄存器;
(2)、判断发送缓存器状态位是否置位,如果否,返回步骤(1);
(3)、将数据写入发送缓存器,发送请求位置位,然后判断是否结束,如果否,返回步骤(1);
(4)、结束。
5、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于所述的控制模块中的ATmega64对所采集的模拟信号进行A/D转换,按以下步骤进行的:
(1)、读取采集参数,初始化定时器,设置采集频率;
(2)、启动定时器;
(3)、等待定时器中断,判断是否进入中断,如果否,返回步骤(3);
(4)、启动A/D转换;
(5)、等待转换,判断是否转换结束,如果否,返回步骤(5);
(6)、数据存储,判断是否结束,如果否,返回步骤(2);
(7)结束。
6、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于采用铁电存储器FM24C256存储临时数据和设置的参数,是按以下步骤进行的:
(1)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(1);
(2)、发送芯片地址和写方式,判断发送是否成功,如果否,返回步骤(2);
(3)、发送字节地址,判断发送是否成功,如果否,返回步骤(3);
(4)、判断是否写操作,如果否,执行步骤(7);
(5)、写入数据,判断是否成功,如果否,返回步骤(5);
(6)、释放I2C总线控制权,结束;
(7)、启动I2C总线,判断是否获得总线控制权,如果否,返回步骤(7);
(8)、发送芯片地址和读方式,判断发送是否成功,如果否,返回步骤(8);
(9)、读出数据,判断是否成功,如果是,返回步骤(6);如果否,返回步骤(9)。
7、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于ATmega64控制步进电机的运转,是按以下步骤进行的:
(1)、读取电机运转参数,使能电机;
(2)、设置旋转方向,初始化定时器,设定脉冲频率;
(3)、启动定时器;
(4)、等待定时器中断,判断是否进入中断,如果否,返回步骤(4);
(5)、脉冲信号输出电平取反,判断是否达到指定脉冲数,如果否,返回步骤(3);
(6)、结束。
8、根据权利要求1所述的基于CAN总线的模块化关节型机器人控制系统,其特征在于所述的上位主控计算机,把用户配置的参数发送到相应的控制模块中,其控制过程按以下步骤进行:
(1)、系统上电后,下位机各关节控制模块CPU、CAN控制器SJA1000、ADC进行初始化,然后等待上位机发送命令;
(2)、用户在上位主控计算机的主控界面输入相应关节的配置参数,即输入电机运行角度和速度、旋转方向、数据采集的频率和采集时间、数据存储方式;所述数据存储方式分为本地铁电存储和直接上传至上位主控计算机两种方式,然后发送相应命令,此命令以报文形式通过双路CAN智能接口卡发送到CAN总线上;
(3)、判断关节控制模块接到命令后,如果是,执行步骤(4);如果否,继续等待命令,即返回步骤(3);
(4)、判断任务类型,执行相应的任务;
(5)、工作是否结束,如果是,执行步骤(6);如果否,返回步骤(3);
(6)、结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100111682A CN100551634C (zh) | 2007-04-29 | 2007-04-29 | 一种基于can总线的模块化机器人控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100111682A CN100551634C (zh) | 2007-04-29 | 2007-04-29 | 一种基于can总线的模块化机器人控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101053954A CN101053954A (zh) | 2007-10-17 |
CN100551634C true CN100551634C (zh) | 2009-10-21 |
Family
ID=38794087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100111682A Expired - Fee Related CN100551634C (zh) | 2007-04-29 | 2007-04-29 | 一种基于can总线的模块化机器人控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100551634C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9417944B2 (en) | 2011-10-05 | 2016-08-16 | Analog Devices, Inc. | Two-wire communication system for high-speed data and power distribution |
US9772665B2 (en) | 2012-10-05 | 2017-09-26 | Analog Devices, Inc. | Power switching in a two-wire conductor system |
US9946680B2 (en) | 2012-10-05 | 2018-04-17 | Analog Devices, Inc. | Peripheral device diagnostics and control over a two-wire communication bus |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193533B (zh) * | 2011-01-12 | 2013-11-13 | 大连佳峰电子有限公司 | 运动控制系统 |
CN102248536B (zh) * | 2011-06-14 | 2013-07-24 | 武汉科技大学 | 一种用于可拓展模块化的移动机械臂控制系统 |
CN102950598B (zh) * | 2012-11-02 | 2015-10-28 | 北京农业信息技术研究中心 | 一种用于细胞组织离子流采集的便携式三维微距运动装置 |
CN103203748A (zh) * | 2013-04-08 | 2013-07-17 | 布法罗机器人科技(苏州)有限公司 | 外骨骼机器人控制系统及控制方法 |
CN103453933A (zh) * | 2013-08-18 | 2013-12-18 | 吉林大学 | 农业机械作业参数综合监测平台及使用方法 |
CN103744375A (zh) * | 2013-12-25 | 2014-04-23 | 长城信息产业股份有限公司 | 一种搅拌站称重仪表的分布式控制装置及控制方法 |
CN104290096B (zh) * | 2014-09-16 | 2015-12-09 | 湖南大学 | 一种基于CANopen的机械臂关节电机控制方法及系统 |
CN104626190B (zh) * | 2015-02-03 | 2016-10-05 | 亿嘉和科技股份有限公司 | 用于模块化机械手关节的控制系统及方法 |
CN105429532B (zh) * | 2015-12-18 | 2024-03-01 | 航天恒星科技有限公司 | 步进电机驱动控制系统 |
CN105500362B (zh) * | 2015-12-23 | 2016-10-26 | 福建省汽车工业集团云度新能源汽车股份有限公司 | 一种多关节全向式管外机器人控制系统 |
CN105666491B (zh) * | 2016-03-11 | 2017-12-05 | 福建省汽车工业集团云度新能源汽车股份有限公司 | 一种多关节管道检修机器人控制系统 |
CN106677581A (zh) * | 2016-12-16 | 2017-05-17 | 宁夏鑫华源智能立体停车设备制造有限公司 | 基于i2c串行总线控制的立体停车设备控制方法 |
CN108247632A (zh) * | 2017-12-28 | 2018-07-06 | 哈尔滨工业大学深圳研究生院 | 一种基于ros的协作机器人控制系统 |
CN108646618A (zh) * | 2018-04-26 | 2018-10-12 | 大连理工大学 | 一种拧紧机的通用人机接口系统 |
CN109195367A (zh) * | 2018-09-30 | 2019-01-11 | 山西平阳广日机电有限公司 | 一种养殖场环境控制柜 |
CN109605345B (zh) * | 2018-12-20 | 2020-07-07 | 清华大学 | 一种模块化机器人结构感知方法 |
CN112985517B (zh) * | 2021-05-11 | 2021-10-15 | 成都卡诺普机器人技术股份有限公司 | 一种工业机器人动态数据自动化检测的方法 |
-
2007
- 2007-04-29 CN CNB2007100111682A patent/CN100551634C/zh not_active Expired - Fee Related
Non-Patent Citations (11)
Title |
---|
I2C总线在MCS51系列单片机数据采集系统中的实现. 陈志辉.微计算机信息,第21卷第1期. 2005 |
I2C总线在MCS51系列单片机数据采集系统中的实现. 陈志辉.微计算机信息,第21卷第1期. 2005 * |
基于CAN总线的分布式机器人控制系统设计. 邓遵义,宁祎,刘保国.微计算机信息,第22卷第6-2期. 2006 |
基于CAN总线的分布式机器人控制系统设计. 邓遵义,宁祎,刘保国.微计算机信息,第22卷第6-2期. 2006 * |
基于CAN总线的通信设计与应用. 党杰,刘涤尘,刘锦泉.控制工程,第12卷第1期. 2005 |
基于CAN总线的通信设计与应用. 党杰,刘涤尘,刘锦泉.控制工程,第12卷第1期. 2005 * |
基于MSP430单片机的步进电机控制系统设计. 张朋涛,肖世德,黄灿泉.机电工程技术,第34卷第11期. 2005 |
基于MSP430单片机的步进电机控制系统设计. 张朋涛,肖世德,黄灿泉.机电工程技术,第34卷第11期. 2005 * |
心率检测系统设计. 徐新萍,赵鹏等.医疗卫生装备,第27卷第12期. 2006 |
心率检测系统设计. 徐新萍,赵鹏等.医疗卫生装备,第27卷第12期. 2006 * |
用DSP芯片开发实时数据采集与处理系统. 刘焕淋,陈勇.微型电脑应用,第17卷第10期. 2001 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9417944B2 (en) | 2011-10-05 | 2016-08-16 | Analog Devices, Inc. | Two-wire communication system for high-speed data and power distribution |
US9875152B2 (en) | 2011-10-05 | 2018-01-23 | Analog Devices, Inc. | Methods for discovery, configuration, and coordinating data communications between master and slave devices in a communication system |
US9946679B2 (en) | 2011-10-05 | 2018-04-17 | Analog Devices, Inc. | Distributed audio coordination over a two-wire communication bus |
US10311010B2 (en) | 2011-10-05 | 2019-06-04 | Analog Devices, Inc. | Two-wire communication systems and applications |
US9772665B2 (en) | 2012-10-05 | 2017-09-26 | Analog Devices, Inc. | Power switching in a two-wire conductor system |
US9946680B2 (en) | 2012-10-05 | 2018-04-17 | Analog Devices, Inc. | Peripheral device diagnostics and control over a two-wire communication bus |
Also Published As
Publication number | Publication date |
---|---|
CN101053954A (zh) | 2007-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100551634C (zh) | 一种基于can总线的模块化机器人控制系统 | |
CN102710478B (zh) | Profibus-DP和Modbus集成化从节点装置 | |
CN104589367B (zh) | 基于EtherCAT的模块化机器人驱动器和控制方法 | |
CN111614422B (zh) | 一种菊花链通讯仿真测试系统 | |
CN202878325U (zh) | 小型模块化机械手臂 | |
CN110412921B (zh) | 基于EtherCAT的机器人单腿高实时性控制系统 | |
CN101131586B (zh) | 机械臂系统中的m-lvds高速串行通信控制方法 | |
CN109634256B (zh) | 一种通用can控制器芯片的板级验证系统 | |
CN101895534B (zh) | 变电所智能设备协议转换接口装置 | |
CN106292543A (zh) | 基于fpga的多轴运动控制器及其应用 | |
CN104518716A (zh) | 一种小型直流电动机闭环控制系统及该系统的控制方法 | |
CN104932385A (zh) | 用于波浪模拟的多轴控制系统及方法 | |
US4332013A (en) | Characterizable distribution means in a supervisory and control system | |
CN105373109B (zh) | 一种Delta机器人驱控系统 | |
CN115982050A (zh) | 一种用于IO-Link主站的多功能测试系统及方法 | |
CN102621950A (zh) | 一种纯电动汽车整车控制器刷新工具及刷新方法 | |
CN109358550A (zh) | 一种通讯设备的检测装置及检测方法 | |
CN206594476U (zh) | 基于rs485总线的多节点两轴控制器 | |
CN208896134U (zh) | 一种机器人底盘监测调试系统 | |
CN100471006C (zh) | 用控制器局域网进行内部通信的电能量管理终端及控制方法 | |
CN208841415U (zh) | 一种机器人手爪模组运动控制系统 | |
CN206585579U (zh) | 一种面向航天测控设备并行组网运行的信号控制系统 | |
CN219740545U (zh) | 一种用于rs485通讯的总线接入控制模块 | |
Kang et al. | The control of Dynamixel RX-28 based on VC++ for the locomotion of cockroach robot | |
CN212794965U (zh) | 一种基于模型的多轴机器人控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091021 Termination date: 20120429 |