pwm控制舵机转动角度程序_六自由度轻量化上下料机器人控制系统设计

bef64e516fec9217cf78521da68c2faa.png

小小的个人作品,现在看看值得一哂,怀念那段稚嫩的日子。


第1章 六自由度轻量化上下料机器人控制系统简介

机器人作为自动化生产线中的重要设备,已成为工业生产自动化的重要支柱之一,特别适用于搬运、冲压等重复性、危险性的加工行业。它可以在减轻繁重的体力劳动、改善劳动条件和安全生产;提高生产效率、稳定产品质量、降低废品率、降低生产成本及劳动成本、增强企业的竞争力等方面起到及其重要的作用。据统计,工业机器人技术广泛应用于机械加工行业,能够提高生产效率,可节省劳动力成本50% 以上。与此同时,由于机器人的介入,取代了人工在工位上的操作,能够很大程度地降低工伤事故,确保员工的安全。

六自由度轻量化上下料机器人控制系统是以Cortex-M3系列产品为核心处理器,通过控制PWM波(Pulse Wave Modulation)控制Power HD1501型舵机的运转角度。利用Keil编写下位机的控制程序,基于C#开发下位机与上位机的可视化人机界面,借助于人机交互界面,控制机器人各关节的舵机,保存对应位置的舵机角度。当传送带上的红外传感器出发后,利用串口通讯,将保存的多组执行命令组发送给下位机执行,实现其自学习功能。从而使机器人完成自动上下料的一系列动作。

1.1系统的功能模块划分

六自由度轻量化上下料机器人控制系统主要包含通讯配置模块、手动控制、自动控制等模块。

1.1.1通讯配置模块

配置模块主要包含对控制信号和触发信号的配置。上位机与下位机的通讯采用USB转串口(COM)的方式进行通讯;工件的触发信号采用红外传感器通过串口与上位机连接的方式进行通讯。

1.1.2手动控制模块

在手动模式下,选择适当的旋转角度,可以对机器人的六个关节分别进行粗调,也可以对机械爪进入工件、退出工件、抬起工件以及放下工件的动作进行微调。同时,根据自动生产线的生产节拍,可以输入合适的时间,并点击“暂停”按钮,系统会将此暂停时间记录下来,在自动模式下,机器人会依据此时设置的时间暂停运行。

在手动模式下,操纵机器人完成从自动线上抓取工件,放到对应的工位上,设置等待加工时间,最后将工件放回到自动线上。成这一系列动作之后,点击“保存”按钮,系统会将此操作过程的数据信息保存为一个文本,操作人员同时可以附上相关说明信息。操作过程中,如有操作失误,可以选择点击“复位”按钮。机器人将回到初始状态,此时需要从头开始调节机器人的动作。

1.1.3自动控制模块

在自动模式下,选择预先通过手动模式调节所保存的文档,系统将提取文档中的数据信息,并将相关说明信息显示在系统界面上。当系统接收到触发信号时(例如红外传感器接收到的有障碍物存在的信号),机器人将自动重复手动模式下所调节的一系列运动过程。

1.2 系统安装与卸载

1.2.1系统环境要求

系统要求:

支持的操作系统: Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition; Windows ME; Windows Server 2003; Windows XP Service Pack 2 或更高版本;所需软件: IE 5.01 或更高版本:您还必须运行 Microsoft Internet Explorer 5.01 或更高版本,才能完全安装 .NET Framework;磁盘空间要求:280 MB (x86) 或 610 MB (x64)。

建议配置:

CPU:奔腾4 1.6GHz或更高 ;内存:512MB以上;屏幕分辨率:1024 x 768 像素;颜色质量: 最高(32 位);硬盘:500MB以上。

1.2.2安装

六自由度轻量化上下料机器人控制系统演示软件的安装方便、简单、快捷,基本操作如下:进入 Windows 系统后,将随机光盘放入光驱,首先在光盘相应目录下寻找到名为setup.exe的文件,此文件就是光盘安装程序的执行文件(或直接下载该安装执行文件),双击运行这个文件以启动安装;按步骤即可完成软件安装。

1.2.3退出系统

六自由度轻量化上下料机器人控制系统界面的安全退出,系统提示“确定要退出系统吗?”单击“是”,即可退出管理系统,单击“否”或者单击提示界面右上角的关闭键,则不退出管理系统,提示界面如图1.4所示:

0a82feac7ba7694f3ad6cc9ec481a999.png
图1.1 退出系统提示界面

1.2.4系统卸载

客户端程序的卸载方法同标准Windows环境下程序的卸载方法相同,主要有三种方法。

第一种是单击【开始】菜单—【程序】菜单,从中选择选择自动上下料机器人控制系统程序组,选择“卸载”进行系统的卸载。

第二种是右键单击系统桌面快捷键,选择“强力卸载此软件”,单击“下一步”即可完成系统的卸载。

第三种是通过“控制面板”中的“添加或删除程序”功能,实现程序的卸载。

第2章 系统结构介绍

2.1总体设计

在大批量生产的自动生产线上,当新的工件到达指定位置时,将触发红外传感器,给系统发送一个信号,接着系统发送指令控制机器人抓取自动线上的工件放到指定工位上。根据预先设定的生产节拍,机械手在暂停一段时间后将工位上加工好的工件放回到自动线上,最后回到初始状态,等待触发信号。

下位机以Cortex-M3处理器为核心,通过Cortex-M3产生PWM信号,该信号为舵机控制信号,控制多路舵机,实现对各个舵机的旋转角度和速度等有效而准确的控制。

上位机基于Microsoft Visual Studio 2010的人机交互界面,通过串口发送舵机号及旋转角度信息到Cortex-M3处理器,分别对应的不同舵机,产生PWM信号控制一路舵机的旋转。首先在人工模式下进行手动调节,依次控制各个舵机完成对工件的抓取、转移、安放、复位等一系列动作。完成这些动作之后选择保存,将上述人工操作过程的数据保存为文本文档,并附上相关说明信息。在自动模式下通过选择保存有人工操作过程数据的文本文档,系统将提取文本内相关数据,当系统接收到红外传感器发出的信号时,系统提取的相关数据会通过串口发送到Cortex-M3处理器,从而控制机器人自动完成上料、下料等一系列动作。

13c0233e6d3fe403575e18ca8746842f.png
图2.1系统结构框图

2.2机器人工作流程

“六自由度轻量化上下料机械手”是相对于传统固定模式的机械手,即通过固定程序实现工业控制器来做简单、规则和重复的动作,所谓“智能”是指机械手具有“自学习能力”,通过与上位机人机交互界面的配合,对于待搬运工件的多点位置进行示教和记忆,并保存在数据库中,实现多点记忆置放、任意点待机、较多自由度等功能,一般采用舵机驱动,能够精确控制各关节的运行角度,从而最大限度的模仿人执行比较复杂的操作。

599bf7936f115e46cdf3eab8f951accb.png
图2.2 机械手工作流程图

智能型关节式搬运机械手的工作流程如图2所示:系统初始化后,操作者通过人机交互界面选择手动模式进行示教,对于待搬运工件的多点位置进行示教,提取对应位置各舵机的角度数据,并保存在数据库中,当多点位置完成数据的采集并保存后,启动系统的自动模式并从数据库中选取对应的执行命令组,当工件抵达待搬运点后,自动化生产线上的红外传感器触发后,借助于串口通讯,将设定的执行命令组发送给下位机控制系统,下位机系统通过对接收命令组的判断、分析、处理等,自动的实现预期的复杂操作过程,操作过程执行完成后,系统初始化,机械手复位至初始化位置。

第3章 系统功能模块介绍

3.1Cortex-M3处理器及各关节舵机的工作原理

Cortex-M3是一个32位的核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求。在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断。

ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。Cortex-M3 处理器具有较高的性能和较低的动态功耗,因而能够提供领先的能效。将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3 处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。

Cortex-M3处理器采用ARMv7-M架构,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构,Cortex-M3处理器不能执行ARM指令集。

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。舵机都有三根外接线,通常分别用棕、红、橙三种颜色进行区分,棕色为接地线,红色为电源正极线,橙色为信号线。电源线和接地线用于提供舵机内部的直流电机和控制线路所需的能源。电源通常介于4~6V,一般取5V。

其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

利用Cortex-M3系列处理器控制机械臂的运动,即利用处理器产生一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分,以Power HD1501型舵机为例,其运转角度为180度,工作电压为4.8V或6V,对应的反映精度分别为0.22/60度或0.18/60度,对应的脉冲宽度与舵机角度关系如表1所示:

ba2d398004d079cc94e175fa83f8bc36.png
表3.1 PWM波脉冲宽度与舵机角度对应关系表

3.2串口通信模块

下位机即Cortex-M3处理器中烧入的程序中,声明一个7位字符串数组(前两位表示舵机号,后五位表示相应的旋转角度),通过串口接收舵机号及转动角度,接着将这组数据交主程序处理。下位机同样声明一个7位字符串数组,通过人工在系统界面输入舵机号和相应的旋转角度,并赋给7位字符串数组通过串口发送到下位机。

3.3上位机程序功能设计

手动模式下,通过人工在系统界面输入舵机号和相应的旋转角度以及机械手的暂停时间,控制机械手各个关节的转动。同时系统会将输入的信息放入一个n行7列的二维数组,每一行对应一个关节的舵机号及旋转角度,同时有部分行对应机械手的暂停时间信息。在手动调节完成后,根据实际操作情况,选择是否将整个手动操作过程输入的信息即上述二维数组保存为一个文本文档。

自动模式下,选择手动模式下保存的文本文档,系统将把该文本文档通过数据流放入一个新的n行7列的二维字符串数组。同时系统不断监测是否有触发信号,当系统接收到触发信号时,改二维数组里面的数据将依次按行通过串口发送到下位机,再由下位机发送适当的PWM波至相对应的舵机,从而控制机械手各个关节的连续动作。

3.4下位机程序功能设计

利用Cortex-M3系列处理器控制机械臂的运动,即利用处理器产生一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分,以Power HD1501型舵机为例,其运转角度为180度,工作电压为4.8V或6V,对应的反映精度分别为0.22/60度或0.18/60度。因此采用Keil uVision4编写机械手控制程序,并将此程序烧入Cortex-M3处理器中。该程序的主要功能是通过串口接收上位机发送过来的舵机号和相应的旋转角度,根据舵机的脉冲与角度控制关系,发送PWM波至相对应的舵机,使其按照指定命令旋转。由于本设计的重点在于上位机软件的开发,此处不再赘述该程序。

e3c6ddadc124b96af7cec024be9128f1.png
图3.1下位机程序设计

第4章 系统操作流程

4.1运行

安装好后,单击【开始】菜单—【程序】菜单,从中选择“自动上下料机械手控制系统”程序组,然后单击“自动上下料机械手控制系统”选项即可启动运行。 也可双击桌面快捷方式图标

331f23fcfac5deb8634c0f0c6828d2c6.png

启动。

启动后如图所示:

f752eb83507e75803dc3c5f753f39cf5.png
图4.1自动上下料机械手控制系统启动界面

4.2建立/断开连接与配置

4.2.1通讯模式:USB转串口(COM)

点击“连接”按钮列出可以使用的COM口及波特率,如图。 建议在设备管理器中找到设备所对应的串口号,然后在“设置系统串口波特率的窗口中”选择好串口号和波特率(本系统中波特率默认为9600),然后点击“建立连接”按钮

91624e823a802cd6c75959e062d3fc4c.png

进行连接。

ce6f385dcee1a5e9f0c91f5e20202008.png
图4.2.1选择串口号及波特率

4.2.2连接成功

连接成功后, 弹出窗口提示“建立连接成功!”,一些按钮的可用性发生变化(如图)。

c509ef42c62c9ebe86fbfbae1ebdfd4f.png
图4.2.2(1)提示:连接成功

bae98997513605945f8fa184510d893c.png
图4.2.2(2)连接成功界面

4.2.3连接失败

弹出窗口提示“连接失败!”。

7a5615e15b8cde67d1e7f45907f17121.png
图4.2.3提示:连接失败

4.2.4断开连接

点击“断开连接”按钮,一些按钮的可用性发生变化,即回到建立连接成功前的状态。

4.3手动模式

4.3.1调节各关节

点击按钮“手动调节”,“手动模式中”所有按钮的可用性发生变化(如图)。

776c5abfac20787b20d30f345416ba62.png
图4.3.1(1)手动模式下系统界面

选择输入适当的旋转角度,可以对机械手的六个关节分别进行粗调:

夹紧按钮

ea1f1f63e7608480fb5f9fbd58a94c3b.png

松开按钮

d92133498ca43653d978acfd40c82510.png

机械爪正转按钮

3d14057c6f13a37f0fa35f8420434ab0.png

机械爪反转按钮

f65061d90448520665c81e03dc018113.png

腕关节正转按钮

7a1a455229f784d80d68bc0449d110b9.png

腕关节反转按钮

571bc5e18431e640e921b587ca4b8723.png

肘关节正转按钮

11fdab1f088294d814e0625e3569910a.png

肘关节反转按钮

759efad27dcfef3ab7ddb0adaf5f7b34.png

肩关节正传按钮

0ce36b81ec33717b7eda42648c98e2a7.png

肩关节反转按钮

6a3005222f1dc0c2ecae04e7af7ca8bf.png

腰关节(底座)正转按钮

0ba6f5130db910420dfafa5c8778ad29.png

腰关节(底座)反转按钮

f49d5a4387eab410fda1383a39eee99b.png

也可以对机械爪进入工件、退出工件、抬起工件以及放下工件的动作进行微调。

a94d7dcc47826df1acf062797216543b.png
图4.3.1(2)手动调节各关节

4.3.2暂停

同时,根据自动生产线的生产节拍,可以输入合适的时间,并点击“暂停”按钮,系统会将此暂停时间记录下来,在自动模式下,机械手会依据此时设置的时间暂停。

304afbf1d751d97a73b2c426c3ddc319.png
图4.3.2(1)设置暂停时间

由于实际生产的需要,必须根据生产节拍设置正确的暂停时间。

710a46d8ac4f4d0258e511cf3a481588.png
图4.3.2(2)设置暂停时间

点击“手动调节”按钮

eec42d933d3e6a44e2d286d34d47836d.png

,在手动模式下,操纵机械手完成从自动线上抓取工件,放到相应工位上,设置等待时间,最后将工件放回到自动线上。

4.3.3保存

成这一系列动作之后,点击“保存”按钮

5c801528821c7a56967ca380d2e29413.png

,系统会将此操作过程的数据信息保存为一个文本,操作人员同时可以附上相关说明信息。操作过程中,如有操作失误,可以选择点击“复位”按钮

41d359d4488a6290d92a79462d4693d2.png

。机械手将回到初始状态,此时需要从头开始调节。

32f73e24aceb17592ab58f9206bbede1.png
图4.3.3保存手动调节过程

4.4自动模式

4.4.1配置触发信号

点击菜单栏中的“配置”,弹出“触发信号设置”串口。同上所述,首先在设备管理器中查看触发设备所对应的串口号,默认波特率为9600,最后点击连接,触发信号设置成功。(注意:触发信号设置,为自动模式下配置方式,手动模式无需配置。)

2d6307943f148eeef78b38e621bdcbc4.png
图4.4.1(1)点击触发信号

1ca052a6dfbdc0e5e4c23221885db50e.png
图4.4.1(2)触发信号设置

4.4.2自动运行

点击“自动运行”按钮

e939431e77f7f91b792d56ce3198ccfb.png

,系统会弹出文本对话框,选择预先通过手动模式调节所保存的文档,系统将提取文档中的数据信息,并将相关说明信息显示在系统界面上。当系统接收到触发信号时(例如红外传感器接收到的有障碍物存在的信号),机械手将自动重复手动模式下进行调节的一系列过程。

在自动模式下通过选择保存有人工操作过程数据的文本文档,系统将提取文本内相关数据,当系统接收到红外传感器发出的信号时,系统提取的相关数据会通过串口发送到Cortex-M3处理器,从而控制机械手自动完成上料、下料等一系列动作。

23bcd4d38193f2bb14a9f1f29a47d116.png
图4.4.2(1)选择手动调节模式下保存的数据

将手动模式下人工调节机械手进行上下料操作的数据信息进行保存,在自动模式下提取保存的信息加以利用,实现了上下料机械手从手动过渡到自动的过程。

2a90e7ae48430d451b3d7f9b5fdfe8de.png
图4.4.2(2)自动模式下系统界面

4.5帮助

点击菜单栏上的帮助选项

f78b8fb55f3fd3fecd86dccdecb33739.png

,可以查看本软件的详细使用方法。

e07028ef36347f4610bd025318e4f4a1.png
图4.5系统帮助文档

记录过去,期待未来!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值