ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:348.48KB ,
资源ID:16910874      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16910874.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(自动搬运机械人毕业设计.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

自动搬运机械人毕业设计.docx

1、自动搬运机械人毕业设计自动搬运机械人成员:周丽丽 刘蕾 张长春 时刻:8月4号-8月8号 摘要 本设计采纳STC89C52单片机作为主操纵器芯片,辅以木块探测模块、液晶显示、电源等模块,以实现对自动搬运机械人的自动操纵。搬运机械人在移动进程中通过红外线探测技术来感测木块的位置,然后传给STC89C52单片机,通过单片机处置后操纵PWM波来改变机械人的运动方向,然后通过操纵机械手上的舵机来实现对木块的抓取。另外本设计能够通过显示模块显示每次运行时刻。 AbstractThis design uses STC89C52 microcontroller as the main controller

2、chip, with wooddetection module, liquid crystal display, power supply module, in order to realize the automatic control of automatic guided robot. Handling robot in the process of moving through the infrared detection technology to sense the block position, and then transmitted to the STC89C52 micro

3、controller, control the direction of movement to change the robot PWM processed by the single chip, and then by controlling the servo manipulator to realize the catch block. In addition the design can be displayed through the display module for each run time.No table of contents entries found.7 附录.程

4、序.171、系统方案的设计、比较与论证 依照题目的大体要求,设计任务要紧完成自动搬运机械人在规定形成范围内把三个木块运动仓库,并力求所历时刻最短,同时对行程中的有关数据进行处置显示。为完成相应功能,系统能够划分为几个模块:电机驱动模块、电源模块、红外避障模块、机械手模块、显示模块。 图 11.1 电源模块 本系统要求6V和5V两种电压供电,应选用7.2V大功率镍镉电池组做电源,经由二端稳压器LM7805和LM7806稳压后输出标准5V和6V电压。别离向单片机和电机单独供电,实现了操纵电路电源和单片机电源隔离,避由免了电源供电时电机启停产生的大电流对单片机和其他模块的阻碍。 图 21.2 单片机

5、显示操纵系统选择方案一:采纳飞思卡尔系列单片机进行操纵。该系列单片机专用性强,是16位单片机处置速度快,拥有4个按时器,可是价钱昂贵,在短时刻内很难学懂及熟练的利用。方案二:采纳8位的STC89C52作为自动搬运机械人的核心操纵器。STC89C52单片机通用性强,运用比较普遍,容易上手,市场价钱低。就本设计而言,足以知足要求。 经分析可得,STC89C52单片机不管从完成设计要求仍是性价比上都更优于飞思卡尔系列单片机,应选方案二。1.3 电机驱动模块 依照题目中的要求,电机的速度可不能专门快,普通的电机很难知足要求,而直流减速电性能够知足此要求。故咱们选用直流减速电机。 在选用驱动模块方面有以

6、下两种方案:采纳分立三极管驱动电路。经分析此电路的焊接比较复杂,而且稳固性差,很难知足要求。采纳专用驱动芯片。该芯片集成度高,占用空间小。要紧应用于电机调速场合。用电机专用集成驱动电路能够达到预期的目标。故咱们最后决定用后方案。 图 3 电机驱动电路1.4 红外避障模块方案一:TK-20黑白线检测传感器。在目标木块和仓库的表面贴上白色胶带,可是,黑白线检测传感器检测距离近,难以调剂,很难达到预期的目标。方案二:红外避障传感器。该集成传感器是专用于障碍物测量模块。其体积小,灵敏度高,测量距离远,靠得住的工作性能等优势,可高度知足该题的要求。通过以上两个方案的比较,方案二明显优于方案一,故采纳方案

7、二。 图 41.5 显示模块 方案一:采纳LCD1602。占用太单片机IO口显示信息量少,占用太多的程序资源。 方案二:采纳NOKIA5110。只占用5个单片机接口,同时显示信息量大,灵活多变显示多种信息。 因此,咱们拟采纳后者。1.6 机械手驱动模块本模块采纳舵机来完成设计要求,其工作原理是由单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将取得的直流偏置电压与电位器的电压比较,取得电压差输出。经由电路板上的IC判定转动方向,在驱动无核心马达开始转动。透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判定是不是已经抵达定位。鉴于此种舵机摆臂比较

8、长很容易实现本设计要求,因此选用舵机。通过一番认真的论证比较,咱们最终确信的系统详细方框图如下: 图 52 硬件电路的设计2.1 硬件电路设计原理分析 本设计要求机械人从起始线动身(动身前,机械人任何部份不得超出起跑线,后端不限),自动将木块一一送到库房内(许诺倒车)。运行时刻应力求最短(从合上电源开关开始计时)。木块运到库房时,应能堆放到库房挡板20cm线之内;若是不能全数运到库房,记录木块距离20cm线的最大距离。咱们依照小车走过的路程s和平均速度v来计算小车行驶所用的时刻t。 图 6 机械手搬运示用意计算公式如下所示: v = s / t t总 = t1 + t2 +t3 S总 = v1

9、t1 + v2t2 + v3t32.2 机械手工作模块设计 利用红外避障传感器不断向外发射红外线进行探测。在小车行进的进程中,当探测到目标时,小车停止前进,进行转向,再利用车体下端的红外避暲传感器进行对物体的定位,并通过单片机驱动小车向目标前进,行进进程中自动校正方位,抵达目标后,舵手夹住目标倒车转向,最终把目标松紧仓库。2.3 红外避障探测电路 本设计采纳类似镜面反射原理来实现对物体的探测的,先通过调试电位器设定好红外探测的距离,红外避障传感器发出红外线后对目标探测,当红外线探测到目标后,依照镜面反射原理,光线返回被接收,传给单片机进行处置。 图 7 红外探测电路2.4 显示电路设计 该设计

10、采纳Nokia5110液晶来实现的。该模块采纳串行接口与主处置器进行通信,接口线数量大幅度减少,包括地和电源信号线共有8支,传输速度高达4bps,可全速写入显示数据,无等待时刻。 图 8 显示电路 3 系统软件设计3.1 整体程序流程图 图 9 系统流程示用意3.2 红外避障传感器软件设计当小车行进进程中,当红外避障传感器探测到目标后,把数据传给单片机处置,不然小车继续前进。设计流程图如下(图 10) 图 10 红外避障传感器探测示用意4 系统测试4.1 测试环境 测试日期:2021-8-8 测试时刻: 测试温度:30OC4.2 测试仪器秒表,米尺S4.3 测试结果左右误差 前后误差 搬运所用

11、的时刻4.4 数据分析与总结由以上数据咱们能够看出,数据测试的成效,达到了题目的要求,尽管还有一点误差,可是通过咱们的多次反复校正,测量的数据是在误差许诺的范围内,且系统性能靠得住稳固。5 总结通过为期四天的设计,咱们终于成功的实现了题目的大体要求和部份发挥功能。同时加入了自己的创新部份,通过本次模拟设计大赛能够让咱们学以致用,同时也激发了咱们的创新思维。在这次模拟设计竞赛中,咱们不但历练了实践能力和协作精神,而且懂了联系实际的重要性,这对咱们以后的学习和生活有专门大帮忙。另外咱们发觉了红外避障传感器对不同的材质性能有专门大阻碍的特点,固然,咱们的设计也存在一些小问题,还有待改良。在此恳请列位

12、评委批评指正。6 参看文献1. 华成英 【M】模拟电子技术基础(第四版) 高等教育出版社2. 阎石 【M】数字电子技术基础 (第五版) 高等教育出版社3. 郭天祥 51单片机C语言教程 电子工业出版社7 附录 程序 /*2021-08-05*/*PWM波模块操纵电机*/ /*头文件和预处置命令*/#include #include#define uchar unsigned char #define uint unsigned int#define Left_moto_pwm ENA /接驱动模块ENA 使能端,输入PWM信号调节速度#define Right_moto_pwm ENB /接驱

13、动模块ENB#define Left_moto_go IN1=1,IN2=0; /P00 P01 接IN1 IN2 当 P3_4=0,P3_5=1; 时左电机前进#define Left_moto_back IN1=0,IN2=1; /P00 P01 接IN1 IN2 当 P3_4=1,P3_5=0; 时左电机后退 #define Left_moto_stop IN1=1,IN2=1; /P00 P01 接IN1 IN2 当 P3_4=1,P3_5=1; 时左电机停转 #define Right_moto_go IN3=1,IN4=0; /P02 P03 P3_7 接IN1 IN2 当 P3_

14、6=0,P3_7=1; 时右电机前转#define Right_moto_back IN3=0,IN4=1; /P02 P03 接IN1 IN2 当 P3_6=1,P3_7=0; 时右电机后退#define Right_moto_stop IN3=1,IN4=1; /P02 P03 接IN1 IN2 uchar i;uchar t1; /此参数改变占空比uchar t2;uchar num1; /计数器uchar num2; uchar PWM1_MAX=100; /此参数调节上限值uchar PWM2_MAX=100;/*位概念*/sbit Left_moto_pwm = P02; /根据自

15、己板子定义引脚sbit Right_moto_pwm = P05;sbit IN1 = P00; /控制左电机sbit IN2 = P01;sbit IN3 = P03; /控制右电机sbit IN4 = P04;sbit zuochuan=P07; /红外避障传感器sbit xiachuan=P20;sbit chuan=P21;sbit shangchuan=P22;uint a,c;sbit p10=P06;/*延时函数*/void DelayMS(uint z) uint i,j; for (i=z;i0;i-) for (j=110;j0;j-); /*前进函数*/ void run

16、() t1 =40; t2 =40; Left_moto_go ; Right_moto_go ; /*后退函数*/ void back() t1 =40; t2 =40; Left_moto_back ; Right_moto_back ; /*左转函数*/ void left() t1 =55; t2 =55; Right_moto_go; /右电机继续 Left_moto_back; /左电机停走 void left1() t1 =40; t2 =40; Right_moto_go; /右电机继续 Left_moto_back; /左电机停走 /*右转函数*/ void right()

17、t1 =50; t2 =50; Right_moto_back; /右电机停走 Left_moto_go; /左电机继续 void right1() t1 =60; t2 =60; Right_moto_stop; /右电机停走 Left_moto_go; /左电机继续 /*中断效劳子程序*/void timer0(void) interrupt 1 p10=!p10; c=20000-c; TH0=-(c/256); TL0=-(c%256); if(c=500&c=2500) c=a; else c=20000-a; /*中断效劳子程序2*/ void time1(void) interr

18、upt 3 TH1=(65535-100)/256; TL1=(65535-100)%256; num1+; num2+; if(num1=t1) Left_moto_pwm=1; /左电机pwm else Left_moto_pwm=0; if(num1=PWM1_MAX) num1=0; if(num2=t2) Right_moto_pwm=1; /右电机pwm else Right_moto_pwm=0; if(num2=PWM2_MAX) num2=0;/*中断初始化函数*/void init() TMOD=0X11; a=500; /a小角度放开木块,大角度夹紧 c=a; TH0=-

19、(a/256); TL0=-(a%256); EA=1; ET0=1; TR0=1; TH1=(65535-100)/256; TL1=(65535-100)%256; ET1=1; TR1=1; /*主函数*/ void main(void) num1=0; /给计数器赋初值 num2=0; init(); while(1) /无限循环 run(); if(zuochuan=0) run(); while(zuochuan=0); left1();DelayMS(480); Left_moto_stop; Right_moto_stop ; DelayMS(500); run();Delay

20、MS(200); Left_moto_stop; Right_moto_stop ; DelayMS(500); if(xiachuan=0) a=2000;DelayMS(500); /夹紧延时 right1();DelayMS(1000); Left_moto_stop; Right_moto_stop ; DelayMS(500); while(chuan) back(); DelayMS(50); /消抖 DelayMS(50); while(chuan) back(); if(chuan=0) Left_moto_stop; Right_moto_stop ; DelayMS(100

21、0); left();DelayMS(800); Left_moto_stop; Right_moto_stop ; DelayMS(500); while(shangchuan) run(); DelayMS(50); DelayMS(50); while(shangchuan) run(); if(shangchuan=0) run();DelayMS(700); Left_moto_stop; Right_moto_stop ; DelayMS(500); a=500;DelayMS(2000); / run();DelayMS(700); back();DelayMS(2150);/此处延不时刻需调整 Left_moto_stop; Right_moto_stop ; DelayMS(500); right();DelayMS(365); /buzu 390 while(zuochuan&xiachuan) run(); DelayMS(50); DelayMS(50); while(zuochuan&xiachuan) run(); /if shangchuan /if xiachuan /while /main

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2