搜索
您的当前位置:首页基于STM32的无线同步机械臂的设计

基于STM32的无线同步机械臂的设计

来源:乌哈旅游
第28卷第4期 2015年7月 文章编号:1002—6673(2015)04—040—03 机电产品开发与 崭 Development&Innovation of Machinery&Electircal Products Vo1.28.No.4 Ju1.。201 5 基于STM32的无线同步机械臂的设计 杜金浩,张兴瑞,赵亚凤 (东北林业大学机电工程学院,黑龙江哈尔滨150040) 摘要:针对社会对残疾人问题和高危领域作业工人的关注,设计出一款可移动型四自由度无线同步机 械手臂 该装置以STM32为控制器,将人类灵巧的手臂行为检测量化为一组可以处理的数据并 通过无线发送到执行端,模仿人类手臂动作。使人们不需要移动就可以根据自己当时的想法进 行远程操作和取物。由于此机械手臂的同步性,可移动性,使得残疾人在取物时更加灵活方便, 高危作业时操作更加精准安全,比起普通机械手臂,用处更加广泛。 关键词:同步:仿生:四自由度机械手臂;STM32 中图分类号:TP241.3 文献标识码:A doi:10.3969/i.issn.1002—6673.2015.04.015 Design of Wireless Synchronous Mechanical Arm Based on STM32 DUJin-Hao,ZHANGXi, Rui,ZHA0 Ya-Feng (School of Mechanical and Electrical Engineering,Northeast Forestry University,Harbin Heilongjiang 150040,China) Abstract:Concern for socil iassues for disabled people and at—risk areas of exposed workers。designed a four—DOF,movable and synchro— izatnion robotic arln.The STM32 controller means,the human arm acts smart detection quantization for a set of data Can be processed and sent to the execution by the wireless terminal,mimic the human aHTI movements.So that people can operate remotely and take things with- out moving.Since this robot synchronization,mobiliy,makitng people with disabiliies when tthey extract more flexible and convenient, high—risk job securiy operattion more precise.Compared with ordinary mechanical alTn,it S used more widely. Key words:synchronization;simulate;four—DoF mechanical arln;STM32 1 0引言 I 随着科学技术的不断进步。机器人学科越来越具有 l l 强大的生命力,并在某种程度上已经代表信息技术、自 : 动化技术、系统集成技术等的最新发展l11。本文介绍的同 l 步机械手臂,通过四个绝对值旋转编码器采集人类手臂 l 的动作信息,包括肩关节,肘关节,腕关节和指关节四 : 个自由度,并将其量化为一组数据通过NRF24L01无线 l 模块发射出去,接收端根据收到的数据控制四个位于机 l 械臂上的的舵机,并使用编码器对舵机关节角度进行检 l 测,通过PID控制算法精准控制舵机姿态,从而达到完 : 电源模块,无 图1发射机组成框图 Fig.1 Rransmitterblock diagram 全复制手臂动作的目的。同时该装置辅以电机,通过按 l 线模块构成。 键无线控制装置的整体移动。  l角度检测电路采用4个绝对值旋转编码器TRD— 相比于传统的机械手臂,本文介绍的装置由于采用 l NA1024NW对人体动作进行准确的检测,1024线(10bit) 了更加直观的控制方法,降低了使用者的学习成本,减 ・ 格雷码输出绝对编码器,本设计为使编码器与舵机精度 少了误操作的几率,所以更有利于向公众普及。从而在 l 相匹配,所以舍弃后两位采用8位数据,8位数据可将 ——  l修稿日期:2015—04—25 4。/位,可以满足对肢体动作的检测要求。  精度控制在1.l控制模块中由四键构成,不同的键组合功能不同, 作者简介:杜金浩(1993-),男,河南周口人,本科学生。主要研: 究领域:嵌入式系统;张兴瑞(1994-),女,山西太原人,本科学l 分别为前进,后退,左,右,左转,右转,左后转,右 生。主要研究领域:信号处理技术。 40  后转共8种功能组合键1l3]。 ・产品与市场・ 电源模块采用11.1V航模电池,保证输出电流符合 要求。电路如图2所示。 GND GND GND GND GND GND GND 图2电源模块 Fig.2 Power module 1.2接收机硬件设计 接收机是整个系统的执行机构,主要由机械手臂模 块,电机模块,角度检测模块和无线接收模块构成。 仿真手臂由四个大 扭力舵机构成。本设计 采用MG996R舵机。 MG996R舵机拉力可达 12kg/cm(6v),反应速度 图3接收机组成框图 约为0.17sec/60度(4.8V Fig.3 Receiverblock diagram 无负载)0.14sec/60度 (6V无负载)。基本可满足设计要求。由于STM32输出信 号峰值电压为3.封一3V,无法满足舵机的驱动要求,并且为  了保护单片机,防止电流倒灌。所以采用MOS管进行 反向隔离升压,保证舵机工作稳定,电路如图4所示。 电机模块采用两轮独立 驱动机构,由两个高精度驱 动轮和一个随动轮构成。此 ・装置由滚动代替滑动摩擦, 效率较高适合在平坦的路面 图4舵机驱动电路 Fig.4 Drive 毓 上移动,定位精确。而且重 量较轻,制作简单嗍。左右两 个驱动轮分别由两个直流电 GND 机独立驱动。两个驱动轮的 速度差值决定机械手臂的前 circuit for 进方向.通过对两个电机施 steering engine 加不同的速度控制量可实现 任意方向的运动,属于差分驱动方式。 角度检测模块采用与发射机类似的硬件设计,均采 用绝对值旋转编码器,有所不同的是这里检测的是实际 执行角度。通过该角度值为PID控制提供样本。 由于本设计需要传输的数据量比较大,数据传输 速度要求极快,而且需要防止数据间的互相干扰。所 以这里采用两个独立的无线模块NRF24L01。一个无线 模块用来传输手臂动作信息,另一个用来传输整体移动 的信息。 GND GND 图5电机驱动电路 Fig.5 Drive circuit for electrical machinery 2软件设计 2.1发射机软件设计 发射机主要用于采集手臂数据和移动控制数据,并 将其经无线模块发射出去,所以发射机的软件设计主要 包括对角度的检测,对键盘的检测。 对角度检测需要采集编码器数据,由于角度编码器 为避免电平跳变错误,故采用格雷码输出。所以我们在 实际读取数据的过程中,需要使格雷码转换成二进制再 进行处理。采用如下方式进行转换: unsigned char y=x; while(x>>=1) y^=x; return Y; 即可实现从格雷码转换成二进制,将此二进制保 存,在四个编码器均检测完成后形成一个数组.即为当 前肢体动作的量化描述。 2.2接收机软件设计 接收机主要根据无线模块接收到的数据使得舵机和 电机做出相应反应,达到模仿和移动的目的,并且可以根 据反馈机制进行自我微调。所以接收机的软件设计主要 包括舵机控制程序,电机控制程序和PID控制程序[Sl。 舵机的控制信号为一个周期为20ms,脉冲宽度为 0.5ms~2.5ms的PWM方波。该信号采用sTM32内部定 时器产生,它的脉冲宽度调制模式可以产生一个由 TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定 占空比的信号。由于需产生50Hz的信号,所以需要对 72MHz的时钟频率先进行144-0的预分频和1000的分 频。配置程序如下所示: TIM_TimeBaseStructure. nM—Peirod=999;//当定时 器从0计数到999,即为1000次。为一个定时周期。 TIM_TimeBaseStructure.TIM_Prescaler=1439://设置 预分频:1440。 由于需要实时改变PWM波的占空比,即需要实时 改变TIMx_CCRx寄存器的值,所以这里采用中断方式: 4l ・产品与市场・ 每10个周期(即0.2s)进一次中断,改变一次TIMx_CCRx 的值。这样就实现了每0.2s改变一次占空比,达到快速动 作的目的。 TIMx_3系统测试 本设计靠无线传输数据,所以传输距离决定着设计 的好坏。但因电磁波,电磁场,建筑物,人体影响等多 种环境影响都会对传输距离产生一定的影响,导致实验 CCRx的值由所接收到的手臂动作数据决定, 接收到的数据范围为0-255,将接受到的数据经过一定 的线性转换,即可得到应向TIMx_CCRx寄存器里写入 的值。但是应为机械结构的原因,每一个舵机都应该有 一数据因实际操作环境的不同而有不同的传输效率。 在空旷场地,最远通信距离达到60m,在有建筑物阻 个限制.超过这个限制的话就会造成舵机卡机,造成 隔的时候。最远传输距离缩减为40~50m之间。 在接收机与发射机相距一米的情况下我们对整机进 舵机不可挽回的损坏.所以在进行线性变换的同时,还 需多舵机的占空比进行限制,主要程序如下: int Tru;Tru=(lfoat)angle/128 100-25; return 1000-max; 行了灵敏度测试,实验数据如表1所示。舵机灵敏度 约<O.1s(从发射机发出信号到接收机做出相应的反应)。 表1误差测试 Tab.1 Error test if(Tru>max) else if(Tru>=min) return 1000-Tru; else return 1000一min; \(℃) —~ 差度(℃)\ 舵机位 ——~\ 大臂 小臂 手腕 手指 \65码器旋转 30 60 90 120 180 在速度控制程序中本设计采取两套机制共同控制速 5.334 5.217 8.112 3.125 4.352 5.256 5.216 2.457 2.224 5_32l 5.341 3.845 3.253 5.443 度,一是采用超声波传感器进行避障,二是采用码盘检 测速度大小,设定阈值,采取相应的减速操作。根据时 间差距测法计算出发射点距障碍物的距离s。当距离低 于某一数值时,说明即将撞到某物,采取停车操作。反 之说明周围无障碍。通过检测码盘脉冲频率判断速度, 由于速度较慢且精度要求不高。所以这里采用线性调整 即可。 (误差(℃)=角度编码器旋转角度一舵机旋转角度) 大臂受重力影响所需扭力最大,其误差一直较大, 相比较而言其它部位舵机因其位置关系误差有不同的变 化。手指部分的误差主要由机械结构造成,其硬件结构 本装置通过PID反馈控制对舵机角度进行微调,使 用编码器检测出的角度作为实际值,向无线模块接收到 的理想值逼近。比例部分的引入是为了及时成比例地反 应控制系统的偏差,对舵机做主要调整。积分作用的引 中使用了非精密齿轮,造成抓取过程误差有一定变大。 4总结 利用STM32微控制器,编码器,NRF24L01通信模 块等.实现了一种具有同步功能的无线同步机械手臂。 入,主要是为了保证被控量在稳态时对设定值的无静差 跟踪,微分作用的引入主要是为了改善闭环系统的稳定 性和动态响应的速度[61,通过PID控制,更加准确快速的 该设计不仅具有同步性,使得残疾人在取物时能够根据 自己的意图而且操作摆脱了传统中线路的限制,用无线 收发数据.方便使用者远程操控。无线同步手臂在为残 完成响应,提高了系统的时效性。 电机控制程序主要做判 断工作,根据无线通信端接 收的指令.L298N同时驱动 2路直流电机。以其中一路 为例.当IN1和IN2为0O或 11时,电机处于制动状态, 疾人提供方便的同时.也可以为健全人们提供一种全新 的服务,更好的享受生活。 参考文献: [1]蔡自兴.2l世纪机器人技术的发展趋势口l南京化工大学学报,2000,4 【2]蒋新松.未来机器人技术的发展方向[JJ.机器人技术与应用,1997,2. 【3】楼然苗,李广飞.51系列单片机设计实例[M].北京:北京航空航天 大学出版社.2003. 阻止电机转动:当IN1,IN2 为01时,电机正转;当 IN1,IN2为10时电机反转。 为掌控接收机运动速度,对 使能端输出PWM脉冲,不 图6程序流程图 Fig.6 Pr0gr帅n0w diag咖[4】宋永端.移动机器人及其自动化技术【M】.北京:机械丁业出版社, 2012. [5]徐德,邹伟.室内移动式服务机器人的感知、定位与控制【M].北京: 科学出版社.2008. 『6樊国平.智能PID控制系统的设计与研究[D]6].浙江:浙江T业大 学.2005. 同的占空比,实现不同的速 度调节。 42 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top