目录
摘 要 1
ABSTRACT 2
第1章 绪论 4
1.1 机器人概述 4
1.2 机器人的历史、现状 6
1.3 机器人发展趋势 7
第2章 实验平台介绍及搬运机器人的设计 9
2.1自由度及关节 9
2.2基座及连杆 9
2.2.1 基座 9
2.2.2 大臂 10
2.2.3 小臂 10
2.3搬运机器人的设计 10
2.4驱动方式 13
2.5传动方式 15
2.6制动器 16
第3章 控制系统硬件 18
3.1 控制系统模式的选择 18
3.2控制系统的搭建 18
3.2.1工控机 19
3.2.2数据采集卡 19
3.2.3伺服放大器 20
3.2.4端子板 20
3.2.5电位器及其标定 22
3.2.6电源 25
第4章 基于51单片机的控制系统软件 25
4.1预期的功能 25
4.2 实现方法 26
4.2.1实时显示各个关节角及运动范围控制 26
4.2.2直流电机的伺服控制 26
4.2.3电机的自锁 26
4.2.4示教编程及在线修改程序 29
4.2.5设置参考点及回参考点 30
第5章 总结 30
5.1 所完成的工作 30
(1) 对实验平台的改造 30
(2) 对关节轴电位器进行重新标定 30
(3) 设计端子板电路及驱动电路 31
(4) 控制软件的设计 31
5.2 设计经验 31
(1) 底座设计成长方体不合理 31
(2) 最好安装机械制动装置 31
(3) 电机上应安装放电回路 31
(4) 电位器输出电压会在一定范围内会有无规则的波动 31
(5) 关节角的方向及电位器的安装 31
5.3 误差分析 31
5.4 可以继续探索的方向 32
致 谢 33
第4章 基于51单片机的控制系统软件
以上完成了机器人的本体设计和控制系统硬件的搭建,下面将通过设计控制软件,使计算机通过数据采集卡有条不紊地向外部发送指挥信号,最终驱动机器人各个关节的运动,使之按照人的意愿“工作”。
4.1预期的功能
(1). 实时显示各个关节角,并且可以防止各个关节的运动角度超出预定的关
节角范围内;
(2). 实现直流电机的伺服控制;
(3). 实现电机的自锁;
(4). 实现示教编程及在线修改程序;
(5). 可以设置参考点,使机器人在空间有一个固定的参考位置,可以回参考
点。
4.2 实现方法
以模块化程序设计思想为指导,以预期要实现的功能作为各个模块,设计控制软件。
从图3.1可以看出,工控机通过数据采集控制 。编程的任务其实就是用计算机控制数据采集卡使之发出或获取一系列数字量、模拟量。
研华公司的数据采集卡驱动程序中,附带许多与板卡相关的函数和数据结构以供使用,极大的方便了程序编写。
本文采用了Visual C++作为编程工具。
4.2.1实时显示各个关节角及运动范围控制
在BOOL CRobotDlg::OnInitDialog()函数中,
设置定时器SetTimer(1, gwScanTime, NULL),
然后在void CRobotDlg::OnTimer(UINT nIDEvent)函数中,
通过调用bool CRobotDlg::position_now(USHORT ka1_chan),采样电位器输出电压,通过前面的电位器标定函数,换算出各个关节的角度,并显示出来。
在void CRobotDlg::OnChangeAngle?Edit()函数中(?表示1,2,3,4,5),
将换算出的角度与该关节预设的运动范围作比较,看其是否在此区间内,否则弹出警告对话框,并且自动停止该关节的运动。文章来源:https://www.toymoban.com/news/detail-842904.html
4.2.2直流电机的伺服控制
对于大功率的直流电机,一般采用PWM控制来调节运行速度,这样可以提高电路及电机的运行效率,而本文中的电机功率并不是很大,为方便期间,采用了线性控制方法来调速。
以关节1为例,与该模块相关的函数有OnZ1Button(), OnF1Button(), OnT1Button(),它们分别表示用来控制电机的正转、反转和停止,其中电机的运行速度靠输入的电压值调节;另外一个函数OnRun1Button()是用来实现电机的位置伺服控制,在预定的关节角范围内,电机可以运行到任何一输入的位置停止。
文章来源地址https://www.toymoban.com/news/detail-842904.html
到了这里,关于基于单片机的搬运机器人设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!