基于LM629的机器人单关节控制器设计

基于LM629的机器人单关节控制器设计 近年来随着人工智能技术、计算机技术以及网络技术等相关技术的飞速发展,机器人在各个领域已经得到了广泛的应用,成为了一类关键的基础装备。机 器人单关节控制器是机器人的重要组成部分,每个完整的机器人控制系统都是由 单个的机器人单关节控制器所组成,因此机器人单关节控制器对机器人控制系统 起着决定性的作用。 LM629 是美国国家半导体公司生产的可编程全数字精密运动控制芯片,内置 PID 算法和梯形图发生器能够自动生成速度曲线,平稳地加速、减速。本文采用 LM629 精密运动控制芯片、AT89C51CC03 单片机和少量的驱动电路构成了基于 LM629 CAN总线的机器人单关节控制器。实验表明,由 AT89C51CC03 LM629建立的CAN 总线的机器人单关节控制器,不仅简化了机器人控制系统软、硬件设 计,提高系统可靠性,减轻设计工作量,而且提高了系统性能,具有反应快,控 制精度高、实时性能好等优点。 通过对机器人单关节控制器的软硬件设计和反复的调试,所制作的机器人单 关节控制器已经初步完成了预定的功能。AT89C51CC03 单片机对LM629 进行控制 和初步的数据处理,通过CAN 现场总线与主机或其他设备进行实时通信,可以组 成现场总线控制系统。 在本次毕业设计中完成了机器人单关节控制器的设计制作及软件系统的设 计调试。 关键词 LM629 运动控制器 51 单片机 CAN 总线 TitleDesign SimplexArticulatory Controller RobotBased LM629Abstract recentyears, correlationtechnology, artificial intelligence technology, computer technology networkingrapid development, robot has already obtained application widespread eachdomain essentialfoundation equipment. simplexarticulatory controller mostconstituent robot.Each complete control system simplexarticulatory controller robot.Therefore, simplexarticulatory controller decisiverole controlsystem robot.LM629 programmablecontrol chip precisemovement which produced SemiconductorCompany PIDalgorithm trapezoidalchart generator which can produce velocitycurve automatically, acceleration decelerationsteadily. articleused LM629,AT89C51CC03 fewactuation electric circuits simplexarticulatory controller robotbased CANbus. experimentindicates simplexarticulatory controller robotwhich madeup LM629can simplify design robotcontrol system hardware,enhance reliability system,reduce work load hasmerits including respond quickly control precision high, real time debuggingrepeatedly simplexarticulatory controller robothas already completed predeterminedfunction initially. AT89C51CC03carries preliminarydata processing LM629,carries real-timecommunication through CANbus mainengine otherequipment, may compose fieldbus control system. hascompleted manufacture simplexarticulatory controller softwaresystem KeywordsLM629 movement controller 51 MCU CAN bus 1.1机器人单关节控制器的研究背景及应用 1.2机器人单关节控制器研究现状 2.1机器人单关节控制器的总体设计 2.2机器人单关节控制器的方案论证 2.3机器人单关节控制器的组成 LM629运动控制器选择 3.1LM629 的特点 3.2LM629 的操作理论 3.3LM629 读和写操作 113.4 旋转编码器接口 CAN现场总线 134.1 CAN 通信协议 134.2 CAN 控制器配置 165.1 位置检测模块设计 165.2 运动模块设计 175.3 CAN 通讯模块设计 326.1 单片机的C 语言程序设计说明 336.2 系统对象字典 346.3 控制器总体程序流程图 绪论机器人单关节控制器的研究背景及应用 机器人单关节控制器的研究背景 近年来随着人工智能技术、计算机技术以及网络技术等相关技术的发展,对智能 机器人的研究越来越多。机器人控制器成为各种智能控制方法(包括动态避障、群体 协作策略)的良好载体;同时,以现场总线为代表的控制网络在工业以及其他控制系 统中扮演着不可缺少的角色。机器人控制系统开始从集散控制系统(DCS)向现场总线 控制系统(FCS)过度,现场总线将成为控制领域的主流。CAN 总线由于具有可靠性高、 成本低、容易实现等优点,在控制系统中得到广泛的应用。由于机器人的各个组成部 分构成网络化的分布式系统,为了开展多智能的调度、规划等控制,所以对机器人控 制器的研究越来越受到重视。特别是在智能工程、控制工程以及机器人工程等领域起 着举足轻重的作用。 机器人控制系统之间的双向信息交换和实时数据传输需通过控制器来完成,因此 其控制器的运算工作量和通信工作量都很大。如果采用集中控制,CPU 的运算速度 难以满足实时性和高保真的性能要求。采用基于现场总线的分布式控制,把大量的伺 服控制和传感器信息处理放在每个智能控制器节点来处理,有利于进一步提高控制系 统的性能。 机器人单关节控制器的传感器较多,线路比较复杂,线束的布局往往直接影响系统的性能。 大量的布线不仅影响使用和维修,而且也不美观。 机器人单关节控制器的主要应用 机器人单关节控制器针对于各种智能机器人、工业机器人、航天机器人等的设计, 对机器人各个关节进行实时的控制,因此机器人单关节控制器不仅可以对机器人的各 个关节控制进行管理,而且在各个智能节点设备,也可以应用,特别是在研究和开发 领域,更是不可或缺的工具。 机器人单关节控制器作为一种很有潜力的高级机器人技术,在航天、军工、核工 业、深海探测等特殊工作环境下正在大显身手,而且在微创手术、生物医学、虚拟现 实和地下开采等领域也扮演着越来越重要的角色。机器人单关节控制器是系统的关键设备,其性能好坏直接影响整个系统的可靠、稳定性。 机器人单关节控制器研究现状 国外研究现状 国外的研究成果:目前,美国、英国、日本、新加坡、德国、法国、澳大利亚等 国家都早已研制出机器人单关节控制。如:东芝试制家用机器人“ApriAlpha” 该概念模型配备了新开发的利用分散对象技术的开放式机器人控制器,因此可以很容 易追加新功能。另外该公司建立了利用分散对象技术的“开放式机器人控制器架构 (ORCA)”并且基于该架构新开发出控制器。采用模块化设计的 IRC5 控制器是 ABB 公司最近推出的第五代机器人控制器,它标志着机器人控制技术领域的一次最重大。 值得指出的是,由于将处理速度更高的微处理器引入至机器人控制器,从而显著地提高 了机器人运动控制性能,使机器人制造商能将诸如减振算法、前馈控制、预测算法等 先进的现代控制理论嵌入到机器人控制器内。 图1-1 为带机器人单关节控制器的机械手实物照片: 图1-1带机器人单关节控制器的机械手实物照片 国内研究现状 我国目前的研究状况:国家863 计划在“八五”、“九五”和“十五”期间分别 将机器人技术作为主题,制定了相应的高技术研究发展规划。“八五”期间重点围绕 恶劣环境的室外移动机器人,用于处理核废料的遥控移动作业机器人,壁面爬行机器 人,水下无缆自治机器人,高精度装配机器人等五种类型开展先进机器人控制技术研 究。“九五”期间重点围绕汽车,家电等工业机器人产业化与以水下 6000 米机器人 为代表的特种机器人等方面开展了先进机器人关键技术与应用示范研究。“十五”期 间进一步拓宽了机器人技术向自动化装备技术方面的发展,一方面围绕国家急需的关 键基础装备,包括高精尖数控机床,全断面盾构掘进机与工程机械.自动化生产线 等.开展了相应关键技术与应用示范研究另一方面围绕国家社会发展需求的机器人与 自动化装备,包括深海载人潜器、仿人仿生机器人,危险作业与反恐防爆机器人.医 疗外科机器人等方面 开展了先进机器人控制器研究。 机器人控制器在我国应用的主要问题是: 机器人控制器价格昂贵,许多企业和科学研究机构无法接受; 机器人控制器的许多标定基础是以外国标准进行的,由于技术保密,系统参数 的修定只能由机器人控制器生产厂家来进行,无法适应我国产品品种多的现状。 总之,无论从高校还是从企业来看,对机器人控制器的研究都已有很大的进展, 虽然还是落后于发达国家的研究水平,但随着我国对科研研究力度的加大,对机器人 单关节控制的研究将更为深入,相信在不久的将来会研制出更加先进的机器人控制 机器人单关节控制器的主体设计机器人单关节控制包括硬件电路和软件系统。硬件电路是软件系统的载体,因此, 设计机器人单关节控制的电气部分先得确定硬件电路的设计方案,然后再通过软件系 统控制其工作。 机器人单关节控制器的总体设计 总体设计思想 基于LM629 精密运动控制器,利用CAN 现场总线与其他设备控制器进行通信。 通过调研决定选取单片机AT89C51CC03 作为控制器的核心,C 语言作为设计程序语 言。机器人单关节控制总体设计方框图如下图2-1: 2-1机器人单关节控制总体设计方框图 拟解决的主要问题和研究的主要内容 拟解决的主要问题: 微处理芯片(AT89C51CC03)硬件电路设计及用高级语言C 的程序设计; LM629 精密运动控制芯片的硬件电路设计及程序设计; CAN 现场总线通信的软件设计; 拟研究的主要内容:AT89C51CC03 的接口电路设计及C 语言编程与PCB 图的设计; 选择LM629 精密运动控制芯片以及光电编码器的确定; CAN 现场总线原理及应用; 机器人单关节控制器的方案论证 硬件电路的方案 AT89C51CC03 是ATMEL 公司推出的一款内带 CAN 控制器增强型 80C51 单片 机。由于内置CAN 控制器,具有抗干扰能力强和性能价格比高等优点,特别是在机 器人控制和实时通讯方面更具有其独特的魅力。AT89C51CC03 具有完善的 CAN 制器,利用TXDC和RXDC 两个引脚来作为CAN 通信接口。通过此功能可以方便的 组成基于CAN 总线的分布式控制系统,实现数据的实时传输和交换。AT89C51CC03 单片机内部嵌入的ADC 模块具有10 位数字量精度,共有8 个模拟通道,不用外加专 ADC即可以对模拟信号进行数字信号的转化。因此,AT89C51CC03 可以作为 机器人单关节控制器的微处理器。 如图2-2 AT89C51CC03 片内资源示意图: 图2-2AT89C51CC03 片内资源示意图 如图2-3 AT89C51CC03 片PLCC 封装的外观示意图: 图2-3 AT89C51CC03 的PLCC 封装的外观示意图 AT89C51CC03 增强型51 单片机的主要特点: 80C51 内核;256 的片内RAM;2K 的片内ERAM;2K 的EEPROM;双数据指针; 64KB片内可编程序Flash存储器; 14个中断向量,其具有4个优先级的中断; 工作时钟频率2MHz—60MHz; 3级程序存储器保密; 32+4个可编程I/O口; 3个16位定时器/计数器;1个21位的看门狗; 5通道16位的PCA; 8通道10位的ADC; CAN控制器,全面支持CAN2.0A、CAN2.0B协议; 10 软件系统的方案 在编写单片机程序时,可以用汇编语言编写,也可以用 高级语言来编写,还可以用两者混合编程。C 语言作为高级语言,它更接近和体现人的设计思想;C 高级 语言是目前流行的一种计算机语言,它主要用于单片机和一般微型计算机。 高级语言程序设计快、可读性好、可靠性高、可移植性好、代码转换质量高。单片机 高级语言的特点是同时兼有高级语言和汇编语言的优点,还能像汇编语言那样直接利用 CPU 的硬件特性进行程序设计,直接操作单片机的硬件和接口。C 级语言目标模块还可以同汇编连接组成一个完整的程序,目前在单片机应用领域,C高级语言越来越受到人们的重视。使用 高级语言的工作效率高,其生成的机器代码质量也是高水平的。 总体方案的确定 总体方案:基于LM629 运动控制芯片和内带CAN 控制器的AT89C51CC03 单片 机构成的机器人单关节控制器,机器人单关节控制器示意图如下图2-4 所示。运动控 制芯片LM629 通过8 位数据线和6 根控制线与单片机AT89C51CC03 连。单片机通过数据线向LM629发送位置或速度命令、设定PID 调节参数,或者从 LM629 中读取速度、加速度等数值。LM629 输出的脉宽调制幅度信号和方向信号, 经过功率放大后驱动直流电动机。增量式光电编码器提供闭环控制所需的反馈信号 (A、B、IN),梯形图发生器计算出位置或速度模式下所需控制的运动轨迹。 AT89C51CC03 为LM629 提供加速度、速度和目标位置量,在每个采样周期用这些值 来计算出新的命令和位置给定值,将其作为指令值。由增量式光电编码器检测电动机 的实际位置,其输出信号经过LM629 四倍频后进行解码,形成位置反馈值。指令值 与反馈值的差值作为数字PID 校正环节的输入。通过数字调节器PID 计算,LM629 输出脉宽调制信号PWMM 和方向信号PWMS 用于控制,进而驱动电动机运动到指 定的位置。LM629 在进行位置控制的同时,还对速度进行控制。LM629 在接受到主 机送来的位置信号后,按梯形图生成加速、匀速、减速的速度曲线,曲线与坐标横轴 所包围的面积就是指定的位置。PID 算法中的比例、积分和微分系数有时需要进行修 改,因此将它们存贮在单片机的中。控制器和主机可以通过CAN 现场总线进行实时 通信。 11 机器人单关节控制器示意图如图2-4 所示: 图2-4 机器人单关节控制器示意图 机器人单关节控制器的组成 基于LM629 的机器人单关节控制器,由传感器电路,控制电路,单片机接口电 路,CAN 现场总线接口电路以及应用程序软件等组成。 传感器电路: 把位移信号和转数信号转化成电信号。传感器电路是机器人单关节控制器的输入 部分,是系统的数据源。 控制电路: 对数据的采集、初步处理和执行控制的芯片,并通过接口电路与单片机进行数据 传输。 单片机接口电路: 单片机和运动控制芯片以及 CAN 现场总线通信接口所需要的电路。单片机接口 电路是机器人单关节控制器数据交换及控制处理的基础。 CAN 现场总线接口电路: 对单片机传来的数据通过接口电路与主机或者其他设备控制器进行数据传输。 12 LM629 运动控制器选择 LM629 致力于运动控制处理器与一些直流和无刷直流饲服电动机或其他具有积 分增量位置反馈信号的伺服机制的设计。这部分执行高精密数字运动控制所要求的精 密实时计算任务。微处理器控制软件接口因一个高级别命令集而更便利。LM629 位输出,这8位输出可驱动一个8 位或12 位的DAC。这个组成需要建立一个伺服系 统简化直流电动机/驱动器、旋转编码器、数模转换、功率放大器和 LM629。它提供 一个8 位脉宽调制(PWM)输出,用于直接驱动H 开关(H-switches)。这部分在NMOS 中制作并封装为 28 管脚双列直插形式或 24 管脚贴片封装形式。最大频率为 6MHZ 和8MHZ 的版本均用到后缀-6 或-8,分别地用于表示不同的版本。它们由SDA把SDA 中心处理器和单元设计为一体。基于以上诸多优点,我们选择 LM629 作为机器人单 关节控制器的运动控制芯片。 LM629 的特点 32 位位置、速度和加速度寄存器 16 位的可编程数字化PID 过滤器 可编程微分采样周期 位或12位DAC 输出数据(LM628) 位信号级PWM输出数据(LM629)内部梯形速率特性发生器 在运动期间可以改变速率、目标位置和过滤器参数 位置和速度两种操作模块 实时可编程微处理器中断 位异步并行微处理器接口标准脉冲输入的积分增量编码器 在28 管脚双列直插式封装或一个24 管脚贴片封装的优点(只有LM629) LM629 的操作理论 应用LM629 建立一个伺服系统。微处理器通过I/O 端口与LM629 通信更易规划 梯形速度特性和数字补偿滤波器。DAC 输出送入外部数模转换器产生功率放大的信 号且驱动电动机运动。旋转编码器为趋近位置提供反馈伺服回路。梯形速度特性发生 13 器为位移操作模式或速度操作模式计算所要求的轨迹。在操作状态,LM629 用期望 位置(特性发生器位置)减去实际位置(反馈位置)得到位置偏离被数字过滤器用来 驱动电动机运动到期望位置。 位置反馈接口 LM629 经由旋转编码器接入电动机,提供了三个输入端:两个积分信号输入和一 个标准脉冲输入。积分信号用于保持电动机的精密位置轨迹。每次一个积分输入出现 逻辑变换时,LM629 的内部位置寄存器随之增加或减少。编码器提供的周期被四倍 频。每个编码器信号输入与LM629 时钟同步。 一些编码器提供的可选INDEX 脉冲输出每旋转一周呈现一个逻辑低电平状态。 如果用户使用 LM629 这样编程,当三个编码器输入都是逻辑低电平时将把绝对的电 动机位置记录到专用的寄存器。 速度轨迹发生 梯形速率特性发生器计算电动机相对时间的期望位置。在位置操作模式,微处理 器详细说明加速度,最大速率和最终位置。LM629 利用这些数据通过标明的加速度 影响运动直到达到最大速率或直到在标明的最终位置减速度开始停止。减速度等于加 速度。在运动过程的任何时刻,最大速率和/或目标位置可以改变,而且电动机将相 应地加速或减速。 当在速率模式操作时,电动机以指定的加速度加速到指定的速度而且保持指定的 速率直到命令结束。以不变速度接近期望位置保持速率。如果在速率操作模式运动有 干扰,长期的平均速度保持不变。如果电动机不能保持指定的速率(例如闭环引起的), 期望位置将继续增加,结果导致非常大的位置偏差。如果这种情形没被发觉,对电动 机的压迫力随之减小,电动机为了与预期位置(仍然是被指定的期望值)一致会达到 一个很高的速率。这种情形很容易被发觉。 PID 反馈滤波器 LM629 运用PID 滤波器补偿控制环。通过应用一个与位置偏差成比例的恢复力 加于电动机上,电动机在期望位置有效,加上偏差的积分,加上偏差的微分。下面的 离散时间等式说明了LM629 的控制执行: 14在这里 u(n)为电动机在采样时间 的位置偏差,n’表示微分采样速度,而且kp,ki,kd 为用户下载的离散时间滤波器参数。 第一个阶段,比例阶段,提供一个与位置偏差成比例的恢复力。 第二个阶段,积分阶段,提供一个随着时间增长的恢复力,而且因此确保静态位 置偏差为0。 第三个阶段,微分阶段,提供一个与位置偏差的变化速率成比例的压力。 在操作中,滤波器运算法则接收从总的连接回路得来的 16 位偏差信号。这个偏 差信号充满16 位以保证可预知的行为。另外乘上滤波器参数kp,偏差信号加到先前 的偏差上(组成积分信号),而且以所选择的积分采样周期所确定的速度,再减去先 前的偏差(从积分信号)。所有滤波器乘法都为16 位操作;只有乘积的底部16 积分信号保持24位,但只有顶部16 位有用。这个测量技术结果导致参数ki 的更可用(不敏感)范围。这16位正好转换为8 位且与滤波器参量ki 相乘组成一组 由于电动机控制输出。这个乘积的相对级与参数il 相比较,而且至少适当地标记量然 后加入电动机控制信号。每个微分采样周期,微分信号与参数 kd 相乘。这个乘积加 入到每个采样周期的电动机控制输出,独立于用户所选择的微分采样周期。kp,限制 的ki 和kd 产生阶段被相加组成一个16 位数。依赖于输出模式(字号),高8 12位成为电动机控制输出信号。 LM629 读和写操作 当端口选择端(PS)为逻辑低电平时,微处理器通过主机I/O 端口向LM629 入数据。期望命令编码应用到并行端口且写输入被激活。当WR输入为上升沿时命令 字锁入LM629。当写命令字时需要首先读状态字而且核对被称作“busy bit”(Bit0)的 状态。当busy bit 为逻辑高电平时,不会发生命令写状态。busy bit 决不可能保持逻 辑高电平状态长于100ps,而且在15 到25ps 之内显著降低。 微处理器用相似的方法读LM629 的状态字:当PS 为逻辑低电平时激活读(RD) 输入;当RD 为低电平时状态信息保持不变。当PS(Pin 16)逻辑高电平时发生写和 读数据到/从LM629(就像写命令和读状态)。这些写和读通常是双字节字的整数(从 到7),而且每个字的首字节更为重要。每个字节都需要写(WR)或读(RD)触发。当传输数据字时,需要首先读状态字和核对 “busy bit”的状态。当busy bit 为逻辑低 电平时,用户可以随之传输一个数据字的双字节,但busy bit 必须重新核对而且在试 15 图传输下一个字节前被确认为逻辑低电平(当传输多字节字时)。数据传输通过 LM629 内部中断完成;当LM629 可能不对数据传输(或命令字)产生中断时,busy bit 将通告微处理器。当busy bit 为高电平时写命令,命令将被忽略。当写命令字或读 或写数据的第二个字节时,busy bit 迅速变为逻辑高电平。 旋转编码器接口 旋转(位置反馈)编码器接口由三相组成:相 A(管脚 标准脉冲(管脚1)。标准脉冲输出对一些编码器无效。LM629 将与两种编码器类型 工作,但命令SIP 和RDIP 在没有标准脉冲时没有意义(或者为了这个输入选择两个 输入中的一个,要确定不使用时将管脚1 置为高电平)。 一些注意事项相对于使用在高高斯噪音环境下有更多优点。如果噪音添加入编码 器输入(一个或两个输入)且直到下一个编码器转换才持续,LM628 译编器逻辑将 拒绝它。模仿积分数值或经由编码器转换的噪音必须通过近似EMI 设计来消除。 简易数字过滤设计仅仅减小噪音的易感性(这将会总是有宽于过滤器可以消除的 噪音脉冲)。此外,任何噪音过滤设计都将减小译码器带宽。在LM629 中已经规定不 包括有利于提供最大可能译码器带宽的噪音过滤器(由于简易过滤不消除噪音的问 题)。试图驱动与简单TTL 线相当长距离的编码器信号也能以信号衰减(短暂的上升 时间和/或响声)的形式成为“噪音”的一个来源。这也能引起一个系统丢失位置的 完整性。也许能通过在编码器输入上使用平衡链驱动器和接收器拥有对噪音感应更有 效的对策。 LM628/LM629 芯片图如下图3-1 所示: 图3-1 LM628/LM629 芯片图 16 CAN 现场总线 CAN 通信协议 CAN 通信协议 2.0B 规定了 种不同的帧格式:数据帧、远程帧、错误帧和超载帧。其中数据帧用来传输数据的,远程帧用于请求数据,超载帧用于扩展帧序列的 延迟时间,而当局部检测出错条件后产生一个全局信号出错帧。在这里,我们使用的 是CAN2.0B 协议。 CAN2.0B 标准帧 CAN 标准信息帧为 11 个字节,包括两部分:信息和数据部分。前 个字节为信息部分,如表4-1 所示: 表4-1 CAN2.0B 标准帧 字节1FF RTR DLC(数据长度)字节2 (报文识别码)ID.10—ID.3 字节3 ID.2—ID.0 RTR 字节4 数据1 字节5 数据2 字节6 数据3 字节7 数据4 字节8 数据5 字节9 数据6 字节10 数据7 字节11 数据8 注:字节1 为帧信息: 位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1 表示为远程 帧;DLC 表示在数据帧时实际的数据长度。 字节2、字节3 为报文识别码,11 位有效。 字节4—字节11 为数据帧的实际数据,远程帧时无效。 17 CAN 2.0B 扩展帧 CAN 扩展帧信息为 13B,包括两部分:信息和数据部分。前 个字节为信息部分,如表4-2 所示: 表4-2 CAN2.0B 扩展帧 字节1FF RTR DLC(数据长度)字节2 (报文识别码)ID.28—ID.21 字节3 ID.20—ID.13 字节4 ID.12—ID.5 字节5 ID.4—ID.0 字节6数据1 字节7 数据2 字节8 数据3 字节9 数据4 字节10 数据5 字节11 数据6 字节12 数据7 字节13 数据8 至于数据帧对于不同的CAN 上层协议,存在着不同的定义,本机器人单关节 控制器使用的是CAN2.0B 标准帧,应用层由用户定义,因为CAN 只提供了物理层和 数据链路层。 CAN 控制器配置 CAN 控制器在应用时,根据所要完成功能的不同而需要做的不同配置做具体描 述。这包括报文对象初始化处理、发送对象配置、接收对象配置、中断处理配置;另 外,还有发送对象、位定时寄存器等配置。 报文对象初始化处理 报文 RAM 中的报文对象配置在使用前必须由 CPU 来初始化为零或者被设置为 无效。报文对象的配置是通过相应的接口寄存器来设置其屏蔽码、仲裁场、控制场和 数据场值,而这一设置过程由相应的命令寄存器来完成。 18 当CAN 控制寄存器中的GRES 位置零,CAN 控制器中的协议控制器、状态机制 和报文处理机将控制 CAN 的内部数据流。接收到的报文通过接收滤波后都存放在报 RAM中,而得到传输请求的报文都要移入 CAN 控制器的移位寄存器中并通过 CAN 总线传出。 发送对象的配置 当报文对象作为发送对象时,仲裁寄存器将被应用,它们定义了即将发送的报文 识别符和类型,如果使用11 位识别符(标准帧),那么使用的是ID0~ID11,而ID12~ ID28 将被忽视。 如果TxIE位被置位,则TxOK位在此报文对象被成功发送后被置位;如果RxENA 位被置位,在接收到匹配的远程帧将引起TxRqst 位被置位。若数据寄存器将被使用, TxRqst 和RxENA 在数据有效前不会被置位。屏蔽寄存器可以用来允许相同识别符的 数据帧组被接收。 中断处理 在所有中断中,状态中断具有最高优先级,报文对象的中断优先级随着报文编号 的增大而减小。如果有几个中断产生,那么CAN 中断寄存器将指向优先级最高的中 断,而不是按中断先后顺序排列。 状态中断通过读取状态寄存器来清除,报文中断通过清除报文对象的ENCH 能表明中断的原因,如果这个寄存器的值为0,没有中断产生;否则,有中断发生。 CPU 控制着状态寄存器的改变是否可以引起中断;当中断寄存器的值不为 (CANCONCH控制寄存器中的IE 位)时中断队列是否有效。CPU 有两种方式判断 报文中断源,每一种是判断中断寄存器中的ENCH 位;另一种是顺序扫描中断发生寄存器。 19 机器人单关节控制器硬件设计 机器人单关节控制器硬件电路是控制系统的载体,主要包括位置检测模块、运动 模块和CAN通讯模块。位置检测模块用于把采集过来的信号处理为控制器可以识别的 信号;CAN通讯模块用于电平转换以使其他机器通过CAN协议通信;运动模块用于 控制运动。AT89C51CC03单片机是数据通信和控制的核心,也是位置检测模块、运 动模块和CAN通讯模块不可或缺的组成部分。 位置检测模块设计 机器人控制器主要有两种传感器,一种是用于感知机器人局部环境的红外传感 器;另外一种则是检测电动机轴位置的增量式光电编码器。本文主要介绍电动机轴位 置反馈信号的检测,采用检测电动机轴位置的增量式光电编码器。电路将增量式光电 编码器输出的差动信号(A+、A-、B+、B-、,Z+、,Z-)经过AM26LS32差分放大器合 成单端信号A、B、IN。合成后的单端信号A、B、IN分别与LM629的管脚A 相连。利用差动信号传输,可以有效地解决干扰问题和远距离传输问题。为了进一步消除干扰,在输入端每根线上都加上一个滤波电容,在每根差动的信号线上接一个用 于线路阻抗匹配的限流电阻。增量式码盘反馈的脉冲信号经过四倍频后,提高了分辨 率。A和B的逻辑状态每改变一次,LM629的位置寄存器就加(减)1。当码盘的A、 IN都为低电平时,产生一个Index信号送人寄存器,记录电动机的绝对位置。图5-1为位置检测模块电路,其中CON8为增量式旋转编码器接口。 图5-1 位置检测模块电路 20 运动模块设计 运动模块电路 运动模块的核心芯片是LM629精密运动控制器。LM629精密运动控制器的8位数 据口D0~D7与AT89C51CC03单片机的P0.0~P0.7口相连,单片机的P1.0与LM629的CS 片选端相连,用于控制片选(低电平有效)。AT89C51CC03单片机的P3.7、P3.6(RD、 WR)分别与LM629的读/写端(RD、WR)相连,用于控制读/写操作(低电平有效)。 AT89C51CC03单片机的P1.1与LM629的命令/数据控制端(PS)相连,用于控制命令 /数据。LM629接收来自AT89C51CC03单片机的位置、速度或加速度等命令,经过内 部梯形图发生器和PID调节器的运算,输出脉宽调制信号和方向信号,由引脚PWMM (脉宽调制信号)和PWMS输出(方向控制信号)。功率放大部分主要由L298N芯片 和续流二极管组成。L298N是双极性H桥功率放大驱动器,与LM629输出信号PWMM 和PWMS通过一个逻辑门电路相连,控制直流电机的正、反转和停止。 LM629精密运动控制器与AT89C51CC03单片机的连接电路如下图5-2所示: 图5-2 LM629与AT89C51CC03接口电路 21 运动控制初始化 LM629 准备工作前,必须初始化LM629 运动控制芯片,设置各个控制参数,否 LM629将无法正常工作。在初始化时,首先复位 LM629,向 LM629 写入控制命 令字0X00,将命令字写入LM629 控制寄存器中,等待LM629 空闲时再进行下一个

暂无简介

文档格式:
.doc
文档页数:
65页
文档大小:
4.21M
文档热度:
文档分类:
论文  --  毕业论文
文档标签:
机器人 控制器 关节 articulatory robot simplex

更多>> 相关文档