基于PIC芯片嵌入式电机控制器的研究
时间:11-05
来源:互联网
点击:
随着现代科学技术的飞速发展和社会的进步,服务机器人与人们的生活联系越来越紧密,故日益受到关注。电机控制器作为机器人的核心部分,直接决定了其功能和性能。虽然用于工业机器人的伺服电机控制器技术已经成熟,但用于服务机器人的伺服电机控制器的研究和开发仍然存在许多问题。开发一种“具有开放式结构的模块化、标准化、小型化的嵌入式电机控制器”已经成为当前服务机器人控制器的一个发展方向。
基于美国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所示。
基于美国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所示。
机器人 嵌入式 Microchip PIC 单片机 神经网络 电流 电压 电力电子 PWM 传感器 编码器 相关文章:
- 基于气动人工肌肉的双足机器人关节设计(02-07)
- 基于ARM9的仿人机器人分布式控制系统(11-27)
- 基于MCS-51单片机的智能机器人迷宫车设计(04-20)
- 基于AVR单片机的灭火机器人设计与实现(06-13)
- 基于CANopen协议的救援机器人调试系统(08-16)
- 基于STM32F的搬运机器人电机控制系统的设计与实现(04-05)