基于STM32协作机器人机械臂控制系统设计.docVIP

基于STM32协作机器人机械臂控制系统设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM32协作机器人机械臂控制系统设计

基于STM32协作机器人机械臂控制系统设计   文章编号:2095-6835(2017)10-0027-02   摘 要:目前,针对协作机器人的柔顺控制、零力控制问题,提出了一种基于以ST公司的STM32为微控制器的协作机器人机械臂控制系统。该系统采用数字PID闭环算法改善机械臂的柔顺运动,增强其稳定、可靠性能,并加上力矩传感器或电流检测电路感知外界的力矩变换情况,补偿机械臂的自重,实现零力控制,为机器人的快速示教奠定基础。实验结果表明,将STM32系列微控制器作为主控制器具有可行性,可以应用于协作机器人的机械臂控制系统中,且具有广阔的应用前景,并最终将其运用于实际工业生产加工中。   关键词:机械臂;协作机器人;PID;STM32   中图分类号:TP242 文献标识码:A DOI:10.15913/j.cnki.kjycx.2017.10.027   一直以来,控制器都是机器人控制系统的核心,但是,国外相关产业公司对我国实行严厉的保密措施。随着微处理器行业的快速发展,市面上陆续出现了高性能、高性价比的32位微处理器,它们的性能能够满足机械臂对控制器的运算需求。针对目前协作机器人控制系统资源匮乏,价格昂贵且工作不稳定等问题,提出了一种改进设计,以满足中小企业对机械臂的控制需求。在设计该控制系统时,首先提出了电机的硬件驱动电路设计方案。主控芯片采用一种抗干扰能力比较强、运算速度快、价格合理的STM32微控制器,相比现在广泛使用的电机控制的DSP,STM32成本比较低,自带能产生电机控制所必须的PWM输出的TIM,且外围电路较为简单,适用于机械臂的电机控制。接着分析机械臂电机伺服控制所需要的PID位置环算法,最后通过实物样机试验机械臂的运动柔顺度,通过Matlab进行电机旋转位置的数据拟合,得出响应曲线,并最终证实了该设计方案的可行性。   1 硬件驱动电路设计   机械臂的电机驱动电路是整个研究的基础,具有良好的启动和调速性能,而其稳定控制也成了重要的研究对象。   1.1 电机的选型   本文研究选用的是直流有刷电机。与无刷直流电机相比,有刷电机具有更好的启动和调速性能以及控制简单、价格低廉等特性,常被应用于对启动和调速有?^高要求的场合,例如精密机床和工业机器人装配等场合。   1.2 电机位置传感器的选用   编码器有增量型编码器和绝对型编码器2种。增量型编码器是测量以前一个时刻为基点测角的位移增量,它测量的小角度准,测量的大角度则有误差累计;绝对型编码器是测量从开始工作后的角位移量,它测量小角度不准,但是,测量的大角度没有累计误差。因为机械臂转动角度不大,所以,取舍后采用增量型编码器,以减少小角度的测量误差。   1.3 电机控制电路设计   电机驱动采用的是H桥电路,选用4个常见的功率开关器件MOSFET作为H桥中的4条腿,电机为H中的横杆。另外,采用2块IR2106S作为自举电路的驱动芯片,提供对2对上下桥臂的开断控制。由于单片机输出的PWM信号功率不足以驱动IR2106S,因此,需配合芯片74ACT244的驱动增强电路,将单片机输出信号驱动增强再后引入IR2106S的输入端。驱动电路如图1所示。   2 系统软件算法设计   如果硬件作为控制的基础,那么,软件算法则为控制的核心,控制着机械臂控制系统的中枢神经。机械臂控制主要包括以下3点:①实时性。在控制机械臂时,要想实现实时控制,就需要确保机械臂数据的实时性。只有确保设备的整体实时性,才能确保机械臂不会出现死区等故障。②稳定性。稳定性是判定一个检验程序的重要指标,为了提高其稳定性,在设计程序的过程中,需要考虑运行时可能出现的不正常问题,并加以解决。③可再开发性。好的程序软件不是一次就可以设计调试完成的,需经过多次修改后才能达到系统的设计要求。所以,在开发过程中,要规范程序设计结构,以便多次调试。   系统软件主要由主程序和中断子程序构成,如图2所示。为了控制机械臂电机和检测电机的实时位置,主程序主要完成系统初始化和电机控制参数初始化,包括配置必要的TIM1的互补PWM输出和TIM3的电机编码器捕获模式等。中断服务子程序主要采用了2个中断,即接受电机控制指令的CAN中断和TIM2定时PID运算中断。其中,TIM2定时中断是10 ms一次。在主循环中,等待CAN口接收到控制指令后,进入中断,在中断子程序中判断是否符合控制指令协议,并提取机械臂相关的控制量。等待TIM2进入中断后,提取电机编码器反馈的位置数据,进行PID运算,得出当前PWM控制量,将当前PWM控制量配置如TIM1后,将控制电机转到指定位置。   PID控制器是通过比例、积分、微分3个环节的串联控制系统偏差的控制器,如图3所示。STM32作为一个微控制器,无法直接对偏

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档