当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于PIC芯片嵌入式电机控制器的研究

0 引 言
   
随着现代科学技术的飞速发展和社会的进步,服务机器人与人们的生活联系越来越紧密,故日益受到关注。电机控制器作为机器人的核心部分,直接决定了其功能和性能。虽然用于工业机器人的伺服电机控制器技术已经成熟,但用于服务机器人的伺服电机控制器的研究和开发仍然存在许多问题。开发一种“具有开放式结构的模块化、标准化、小型化的嵌入式电机控制器”已经成为当前服务机器人控制器的一个发展方向。
    基于美国Microchip公司生产的PIC单片机具有速度快、体积小、低功耗、驱动能力大、可靠性高等优点,故采用该系列微型芯片:PIC18F452开发了一种小型嵌入式电机控制器。该控制器和主控微机、驱动器共同构成机器人伺服控制系统。伺服控制系统采取了可变的控制模式,并且控制器能和驱动电机一起安装在机器人的各个关节,因此特别适合电池驱动的多轴服务机器人的应用。
    本文着重介绍控制器的软件构造、操作指令和通信模式。设计了一种使用方便的指令模式,该模式能识别几十种指令语句,并容易实现对指令语句的扩展。同时用串口方式形成机器人伺服控制系统的神经网络,各个小型控制器不但能和主控微机之间通信,而且各个控制器之间也可以进行信息交流。为了保证通信的连续性和可靠性,该伺服控制系统具有通信错误处理机制。

1 控制器的软件构造
    该控制系统最大的特点在于位置、速度、电流三种控制方式可随时变更。为了获得可调的直流电压,利用电力电子器件的完全可控性,采用PWM脉宽调制技术,直接将恒定的直流电压调制成可变大小和极性的直流电压作为电机的电枢端电压,实现系统的平滑调速。在每一个控制周期,三种控制模式独立计算,控制器将计算结果以PWM信号形式输出到电机驱动器,同时电机的位置、速度和电流能实时测量并送到主控微机,从而机器人的各个关节能根据不同的外部环境采取不同的控制方式。该控制器的控制原理如图1所示。

    为了实现上述目标,在控制器软件的开发上,采用了模块化和子程序嵌套的设计思想。控制器的计算周期T为400μs,每一个周期划分成32个处理模块,利用中断处理在每一个处理模块(t=12.5μs)中对电机位置译码的脉冲进行计数测量。控制器软件构造及主要模块的功能如图2所示。

2 操作指令
    该控制器的操作指令包括控制指令、设定指令、询问指令等。指令格式的最高字节为命令字节,即控制器的ID号和Code(指令号)。ID指出控制器的识别号码,Code指出指令代码,它们各占4位。
    需要注意的是,对于控制和设定指令,紧随命令字节的是n个字节组成的控制或设定指令数据,但询问指令仅有命令字节,没有指令数据。
2.1 控制指令
    伺服控制系统的三种控制模式均有相应的控制指令。
    位置控制应用于进行连续点控制的插补点位置控制。位置控制数据由三个字节的有符号数来表示,其最大值和最小值分别为223-1(=7FFFFFH)和-223+1(=800000H)。其中,0H~7FFFFF为电机的正方向,800000H~FFFFFFH为电机的负方向。位置控制指令的格式如图3所示。

    速度控制应用于机器人关节以一定速度运动的场合。速度控制数据由一个字节的有符号数来表示,其最大值和最小值分别为27-1(=7F)和-27+1(=80)。
    其中,0H~7F为电机的正方向,80H~FFH为电机的负方向。在速度控制模式下,需要停止指令、目标值为零的速度或电流控制指令或到达极限位置时,系统才能停止运行。
    电流控制(转矩控制)不仅可以应用于电机的转动方向和电流的控制方向相同的场合,还可以应用在外力作用下,电机处于停止状态或电机的转动方向和电流的控制方向相反的场合。电流控制指令的格式和数据字节的最大最小值与速度控制指令相同。在电流控制模式下,停止方式也和速度控制模式相同。
    位置速度复合控制应用于一般位置控制,包括启动阶段的加速控制、速度控制、到达目标前的减速控制和位置控制四个部分。位置速度复合控制指令的控制数据包括3个字节的目标位置数据,1个字节的目标速度数据,1个字节的最大电流数据,共5个字节。各数据的最大最小值分别对应同上。
2.2 设定指令
    控制增益设定指令用于设定位置、速度和电流控制的比例和积分常数。其指令格式如图4所示。

    运动范围设定指令用于设定机器人关节的极限位置,其指令格式如图5所示。其中动作端A和动作端B分别表示正方向的最大和最小位置。

    系统设定主要用于根据控制系统的需要设定各种系统数据。设定数据由一个字节的无符号数来表示。
2.3 询问指令
    询问指令的主要功能是查询各电机的位置、速度和电流数据,并且发信侧只有接收到受信侧返回的数据后才能发送下一个询问指令,即询问指令通过一问一答的形式进行通信。询问指令仅由命令字节组成。
    位置询问指令的返信数据格式同图3。
    速度和电流询问指令的返信数据均只有一个命令字节和一个数据字节。其返信数据的格式如图6所示。

3 通 信
3.1 控制系统连接方式
   
由于该控制器的通信接口为RS 485,PC机一般只有常用的RS 232串行通信口,主控微机通过转换器将标准的RS 232C转换为RS 485后与控制器连接。一个串口可接16个控制器。控制器包括串联通信接口,电机位置传感器脉冲接收接口,电机电流检测A/D转换接口,PWM控制输出接口和其他I/O接口。主控微机、控制器、驱动器和电机的连接如图7所示。

    当主控微机对控制器进行控制时,所有的控制器均接收指令。每个控制器对接收的指令首先要进行ID校验,如果接收的数据ID与本身的ID号一致,则执行该指令,否则忽略该指令,如图8所示。

3.2 通信时间
    主控微机和控制器之间的通信速率为38 400 b/s。在每一个控制周期,设计了两次接收和送信程序,即控制器在一个控制周期最多可同时接收和送出两个字节的数据。需要注意的是,主控微机和控制器之间采用的是10位为一帧的异步串行通信方式,因此每个字节的通信时间还应包括帧的起始位和停止位的传输时间。若传输两个字节的数据,则通信时间为[2×(8+2)×1 000]/38 400=0.521 ms,依此类推,即可计算出各指令的通信时间。主要指令及其通信时间如表1所示。[!--empirenews.page--]

3.3 通信错误处理机制
   
由于外界干扰或电压波动等原因,主控微机和控制器之间的通信可能会出现错误,导致数据丢失,受信侧不能正常接收数据或系统运行错误。为了确保通信的连续性和可靠性,设计了通信错误处理机制。
    由于各指令的通信时间均在2 ms之内,如果受信侧在2 ms之内依然没有接收到完整的数据,则认为通信出现错误,系统将进行恢复处理。受信侧会把已接收的数据清零并等待重新接收,送信侧将再次发送数据。如此循环,如果发送三次之后依然不能恢复正常通信,系统将停止运行。
3.4 通信协议软件
   
通信协议软件在Windows XP操作系统上用汇编语言开发而成,其编制方案简要介绍如下:
    (1)主控微机发送数据
    当主控微机发送数据时,需要自动记录指令的命令字节,即需要记录接收该指令的控制器ID号以及指令号Code。
    (2)控制器接收数据
    控制器接收数据时,首先将会进行ID校验,如果一致则接收,然后根据指令号Code决定需要接收的数据字节数。如果指令ID号与自身的ID号不一致或者在2 ms内没有接收到完整的数据,控制器将会把已接收的数据清零并等待主控微机重新发送。
    (3)控制器发送数据
    当控制器接收到询问指令,并确认ID一致后,将返回该指令的命令字节(ID+Code)和相应的询问数据。对于控制指令和设定指令,则只返回一个命令字节(ID+Code)。
    (4)主控微机接收数据
    主控微机接收到控制器返回的数据后,对于控制和设定指令,将会把返回的数据与发送记录相比较,如果一致则删除发送记录,否则,认为通信有误,进行出错处理;对于询问指令,将把接收到的数据显示或储存以备后用。

4 实 验
    图9是开发出来的控制器和驱动器。根据软件设计方案编制和调试程序后进行了位置控制、速度控制、电流控制的实机实验。

    位置控制实验结果如图10所示。位置控制的单位是编码器的脉冲数(Pulse)。图10指出当目标位置是2 795时,位置控制能够精确地控制电机到达指定的位置。通过多次重复实验,其误差均小于±0.2脉冲。

    速度控制实验结果如图11所示。速度控制以脉冲数/周期(Pulse/0.4 ms)为单位。

    图11指出当目标速度是30 Pulse/O.4 ms时,速度控制能够精确地控制电机以指定的速度运行。通过多次重复实验,其误差均小于±2 Pulse/O.4 ms。
    电流控制实验结果如图12所示。电流控制以电机的额定电流与最大指令比(A/7 FH)为单位。图12指出当目标电流是2 A时,电流控制能够精确地控制电机在指定的电流下运行。通过多次重复实验,其误差均小于±O.1 A。

    实验表明本文提出的控制器位置精度、速度精度、电流精度能满足多轴服务机器人的需要。

5 结 语
    提出的控制器为嵌入式服务机器人控制器的研究和开发提供了一种新的控制和通信模式。实验结果指出该控制器的控制精度能满足多轴服务机器人的需要。该项目的研究将有助于推动我国服务机器人控制器的发展,具有较好的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 嵌入式 主板

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...

关键字: 嵌入式 物联网 人工智能

嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...

关键字: 嵌入式 软件 人工智能

据天眼查APP信息,9月27日,江苏和府餐饮管理有限公司(和府捞面运营主体)新增一条商标注册信息,该商标为“HF PICK ME咖啡便利店”。此前,该公司就曾申请注册过多个“和府一杯咖啡”和“和府一杯拉面”商标。(知消)...

关键字: APP PIC CK

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭