0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用LM629和PIC16F877实现平面关节型机械手的设计

电子设计 来源:单片机与嵌入式系统应用 作者:刘仕良,方建军 2021-03-20 11:00 次阅读

平面关节型机械手是应用最广泛的机械手类型之一,既可以用于实际生产,又可以用于教学实验和科学研究。用于实际生产,它能够满足装配作业内容改变频繁的要求;用于教学实验,它能够使人直观地了解机器人结构组成、动作原理等,所以开发设计和研究平面关节型机械手具有最广泛的实际意义和应用前景。

LM629是美国国家半导体公司生产的可编程全数字运动控制芯片,它具有32位的位置、速度和加速度寄存器,内置PID算法,其参数可以修改;支持实时读取和设定速度、加速度以及位置等运动参数,内置的梯形图发生器能够自动生成速度曲线,平稳地加速、减速;支持增量式光电码盘的4倍频输入;芯片的主频为6MHz和8MHz。因此,本文采用LM629和PIC16F877构成机械手的伺服控制系统

1 机械手结构

本文设计的平面关节型机械手的实物照片如图1所示,其主要包括三个旋转关节(分别控制机械大臂和小臂旋转以及手抓张合)和一个移动关节(控制手腕伸缩),图2为机械手简化模型。各关节均采用直流电机作为驱动装置,在机械大臂和小臂的旋转关节上还装配有增量式光电编码器,提供半闭环控制所需的反馈信号。直流电机的运动控制采用自行开发的基于LM629和PIC16F877构成的多关节控制卡,并编制了能满足运动控制要求的软件,实现对机械手的速度、位置以及4关节联动控制。由于机械手4个关节电机的控制系统基本类似,因此在下文中,笔者将以单个关节电机为例向读者介绍平面关节型机械手的控制系统设计过程。

图1机械手实物照片

注:1—机身;2—大臂电机;3—光电编码器;4—大臂;5—小臂电机

6—同步带;7—光电编码器;8—小臂;9—手腕升降电机;

10—手抓电机;11—手抓。

图2机械手简化模型

2 控制系统设计

2.1控制系统的工作原理

基于LM629芯片和PIC16F877单片机构成的单个关节直流电机伺服驱动系统如图3所示。

图3控制系统原理图

运动芯片LM629通过8位数据线和6根控制线与单片机PIC16F877的I/O口相连。单片机通过数据线向LM629发送位置或速度命令、设定PID调节参数,并从LM629中读取速度、加速度等数值。LM629输出的脉宽调制幅度信号和方向信号直接驱动L298N,经过功率放大后驱动直流电机。增量式光电编码器提供半闭环控制所需的反馈信号(A、B、IN),梯形图发生器计算出位置或速度模式下所需控制的运动轨迹。

PIC16F877为LM629提供加速度、速度和目标位置量,在每个采样周期用这些值来计算出新的命令和位置给定值,将其作为指令值。由增量式光电编码器检测电机的实际位置,其输出信号经过LM629四倍频后进行解码,形成位置反馈值。指令值与反馈值的差值作为数字PID校正环节的输入。通过数字调节器PID计算,LM629输出脉宽调制信号PWMM和方向信号PWMS用于控制功率芯片L298N,进而驱动电机运动到指定的位置。LM629在进行位置控制的同时,还对速度进行控制。LM629在接受到主机送来的位置信号后,按梯形图生成加速、匀速、减速的速度曲线,曲线与坐标横轴所包围的面积就是指定的位置。PID算法中的比例、积分和微分系数有时需要进行修改,因此将它们存储在单片机的E2PROM中。单片机和PC机通过无线发射和接收模块进行串行通信

2.2控制系统的硬件设计

本文所研究的平面关节型机械手的控制系统硬件结构主要包括运动模块、功率放大模块、位置检测模块和通信模块。

(1) 运动与功率放大模块

运动与功率放大模块如图4所示。运动模块的核心芯片是LM629。LM629的8位数据口D0~D7与PIC单片机的RD0~RD7口相连,RC0~RC3分别和LM629的CS、RD、WR、PS相连,用于控制片选、数据的流向等。LM629接收来自单片机的位置、速度或加速度数据,经过内部梯形图发生器和PID调节器的运算,输出脉宽调制信号和方向信号,由引脚PWMM和PWMS输出。功率放大模块主要由L298N芯片和电流泄放回路组成。L298N是双极性H桥功率放大电路,与LM629输出信号PWMM和PWMS通过一个逻辑门电路相连,控制直流电机的正、反转和停止。在芯片LM629和L298N之间增加光电耦合器4N25,进行电气隔离,保护单片机和运动芯片并减少强电干扰。由于直流电机是感性负载,因此选用功率二极管DIN5391组成电流泄放回路,以保护功率芯片L298N。

图4 运动与功率放大模块

(2) 位置检测模块

位置检测模块主要通过检测与电机轴相连的增量式光电编码器,从而实现检测并获取各关节电机轴位置的目的。图5所示的电路将增量式光电编码器输出的差动信号(A+、A-、B+、B-、IN+、IN-)经过75175合成单端信号A、B、IN(图5中只画出一路信号的合成)。合成后的单端信号A、B、IN分别与LM629的引脚A、B、IN相连。利用差动信号传输,可以有效地解决干扰和远距离传输问题。为了进一步消除干扰,在输入端每根线上都加上了一个滤波电容,在两根差动的信号线之间接了一个用于线路阻抗匹配的电阻。增量式码盘反馈的脉冲信号经过4倍频后,提高了分辨率。A和B的逻辑状态每改变一次,LM629的位置寄存器就加(减)1。当码盘的A、B、IN都为低电平时,产生一个Index信号送入寄存器,记录电机的绝对位置。

图5单端差动信号的合成

(3) 通信模块

通信模块主要解决人机接口问题。在本文设计的控制系统中,没有设计显示模块和键盘输入模块。但在实际应用中,常常需要输入一些参数,如PID参数等。利用PC机丰富的资源和良好的用户界面,通过串行口通信来解决控制系统的参数输入和显示。

2.3控制系统的软件设计

控制系统的软件部分主要包括初始化模块、运动控制模块、位置检测模块和通信模块。单片机根据位置检测模块获取的信息,确定机械手各关节的速度、加速度和位置,将这些信息传入LM629,由速度梯形图生成速度曲线,进行位置控制。PID调节器根据输入指令和反馈信息来补偿闭环系统。式(1)表示LM629输出的控制信号。

在程序编制过程中,通常采用增量式PID算法。

通信模块建立单片机和PC机之间的通信。在PC机端,利用Visual C++编写串行通信程序和参数输入界面。在PIC16F877端,用汇编语言编写通信程序,实现PC机和单片机之间的双向通信。图6表示主程序和中断子程序的流程。

图6PC机和PIC16F877通讯程序流程

结语

本文介绍了平面关节型机械手的位置伺服控制板的设计方法,采用LM629和PIC16F877构成机械手各关节的伺服系统,同单纯用单片机来实现机械手控制系统相比,具有硬件电路结构简单、可靠性高、成本低廉以及单片机CPU负担小,控制的实时性好等优点。这种自行开发制作的控制电路板应用面较广,在移动机器人中也能取得很好的应用效果。

zrbj:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50710

    浏览量

    423073
  • 半导体
    +关注

    关注

    334

    文章

    27284

    浏览量

    217994
  • 控制系统
    +关注

    关注

    41

    文章

    6603

    浏览量

    110571
收藏 人收藏

    评论

    相关推荐

    PIC16F877 datasheet 中文资料 pdf

    PIC16F877 datasheet 中文资料 PIC16F87X 28/40引脚,8位CMOS Flash单片机. 
    发表于 11-03 10:08

    pic16f877

    请问一下各位,PIC16F877单片机的使用的烧录程序的接口叫什么名字啊,我在画原理图的时候用到那个接口了,但由于不知道叫什么,在库里就没办法找到
    发表于 06-06 17:30

    PIC16F877编译器问题

    刚开始接触PIC16F877,遇到这样的问题
    发表于 07-22 20:21

    PIC16F877微处理机实习-焊接电源电路图

    PIC16F877微处理机实习-焊接电源电路图
    发表于 10-06 00:42 55次下载

    采用PIC16F877单片机的汽车电动助力转向系统

    采用PIC16F877单片机的汽车电动助力转向系统  1 引言   随着电子控制技术的发展及其在汽车领域的广泛应用, 电动助力转向系统(Electric Power Steering, 简称EPS)越
    发表于 01-06 14:23 2991次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>PIC16F877</b>单片机的汽车电动助力转向系统

    上海某公司PIC16F877单片机编程实例教程下载

    上海某公司PIC16F877单片机编程实例教程下载
    发表于 06-17 11:37 46次下载

    基于PIC16F877单片机通过SPWM脉宽调制技术软件产生纯正

    通过PIC16F877单片机实现PWM脉宽调节
    发表于 05-03 16:42 14次下载

    基于PIC16F877单片机的GPS车速传感器的设计与应用

    基于PIC16F877单片机的GPS车速传感器的设计与应用
    发表于 02-07 16:14 22次下载

    一种基于PIC16F877的温度显示报警装置的设计与实现

    一种基于PIC16F877的温度显示报警装置的设计与实现
    发表于 10-13 10:14 28次下载
    一种基于<b class='flag-5'>PIC16F877</b>的温度显示报警装置的设计与<b class='flag-5'>实现</b>

    PIC16F877单片机与LCD的接口电路设计及LCD字符显示的实现

    以字符形式显示输出电流、电压的大小是电源的主要功能之一。本文主要介绍在可编程电源中,由 PIC16F877 单片机作为控制芯片,控制点阵字符液晶显示模块(LCD)显示字符的接口电路设计以及软件控制
    发表于 12-01 09:19 19次下载
    <b class='flag-5'>PIC16F877</b>单片机与LCD的接口电路设计及LCD字符显示的<b class='flag-5'>实现</b>

    PIC16F877实现直流无刷电机的控制

    PIC16F877实现直流无刷电机的控制(深圳市核达中远通电源技术有限公司电话)-PIC16F877实现直流无刷电机的控制。PDF中有详尽的直流无刷电机介绍。
    发表于 09-28 12:11 97次下载
    <b class='flag-5'>PIC16F877</b><b class='flag-5'>实现</b>直流无刷电机的控制

    PIC16F877的外围功能示例代码

    @PIC16F877的外围功能示例代码第5章 PIC16F877的外围功能模块5.1.2 简单应用实例该例用于令与PORTD口相连的8个发光二极管前4个点亮,后4个熄灭。在调试程序前,应使
    发表于 11-16 16:06 4次下载
    <b class='flag-5'>PIC16F877</b>的外围功能示例代码

    PIC16F877矩阵键盘的识别

    PIC16F877矩阵键盘的识别
    发表于 11-16 19:51 7次下载
    <b class='flag-5'>PIC16F877</b>矩阵键盘的识别

    PIC16F877矩阵键盘的识别

    PIC16F877矩阵键盘的识别
    发表于 11-16 21:06 17次下载
    <b class='flag-5'>PIC16F877</b>矩阵键盘的识别

    平面关节机械手

    平面关节机械手
    发表于 05-29 11:11 0次下载