




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易立体仓储系统(H题)设计报告 参赛队号:简易立体仓储系统(H题)摘 要本设计是结合企业车间实际需要而确定的设计类课题。设计的智能小车能够自动启停止、往返运动、避障功能、记录行驶路程与时间,另外根据题目需要设计了自动货梯,用来衔接一层和二层物体搬运。根据设计要求,利用现有车模采用51单片机作为控制核心,充分利用其内部丰富的资源,大大简化电路。使用L298N芯片控制电机转动,实现小车快慢行驶。利用光电开关控制小车自动避障,并且利用电机转速差实现小车方向的变动。利用光电对管实现小车自动循迹,保证小车行驶在规定的线路上。在辨别图案时利用光电对管矩阵检测图案的非公共部分,从而实现图案识别。在测量速度上采用霍尔元件,利用霍尔元件输出方波个数算出小车行驶的路程,利用LCD显示路程以及行驶时间。关键词: AT89S51;循迹 ;避障;集成电路目录一、引言2二、方案设计:22.1、设计思路22.2、总体方案22.2、方案论证与比较32.3、部分硬件电路设计52.4、程序软件流程图7三、设计实现8四、测试8五、结论9参考文献9程序附录10一、引言 本题需要设计两个小车,将四个分别带有三角形()、圆形()、四方形()和十字形()标志的立方体分别由一层仓库运送到二层仓库的指定位置。在两辆车上分别安装了红外对管模块组成矩阵,用来识别四种图形的非公共部分,从而实现图案的识别,根据要求,一层小车启动后,沿着黑线循迹前进当检测到指定图案的物体时会转向直至面对物体,由机械手臂摆下拖住物体左转再沿黑线循迹到货梯前,此时三个光电对管会同时检测到黑线,张开手臂即将物体送入货梯,货梯上方有个光电开关检测到物体进入时延时一定时间后会自动上升至50厘米处停止,二层的小车也在启动后通过循迹到货梯前等候物体,当检测到物体时机械手臂摆下将物体拖至指定位置,这里二层用到金属传感器识别指定的四个位置,将物体送至指定位置后再次回到货梯前,而货梯刚刚物体挪走后短暂延时自动下降,等待一层小车将物体运来,由此循环完成题目要求,由于引脚紧张,所以每辆小车用了两块STC51单片机,分别控制行驶搬运功能和记录行驶路程时间的功能。二、方案设计:2.1、设计思路 基于STC89C51单片机的智能小车制作简单,原理易懂,作为智能小车前提地稳定而不是追求于速度,利用其各个引脚功能可以达到题目要求,其中本题中将所有中断等特殊引脚全部利用,但是此类型单片机并无内置pwm,所以需要程序模拟pwm波来直接控制舵机2.2、总体方案89C51单片机如下图所示,是本次设计智能小车的电路框图。以AT89C51单片机作为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源,以便能正常工作。液晶显示器显示路程和行驶时间。L298模块电源电梯结构框图:光电开关小车整体框图:CPUAT89C51LCD液晶显示器避障传感器电机驱动测速传感器稳压模块电源循迹模块控速电路霍尔传感电路光电开关机械臂金属传感器2.2、方案论证与比较(一)、电机驱动选择方案由于本设计为智能小车,电机的选择就显得尤为重要。结合实际情况,本设计采用直流电动机驱动,外加一些辅助电路,完成单片机对直流电动机的控制。使用L298N芯片驱动电机。L298N是一个具有高电压大电流的全桥驱动芯片,并且可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。从电路简单、性能稳定等因素考虑,选择此方案作为电动机的驱动电路。此驱动原理图如下:(二)、避障模块的论证与比较方案一:采用红外线避障。利用单片机来产生信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管采用数字接受器件对反射回来信号进行解调,输出TTL电平,外界对红外信号的干扰比较小,但设备相对复杂。方案二:用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。这样虽然能准确完成测量,但易受到干扰。方案三:用漫反射式光电开关进行避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反应,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。有利于单片机对信号的处理。考虑到本系统需要,为了便于操作,选择方案三。(三)、循迹模块的选择与论证方案一:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。方案二:用红外发射管和接收管自己制作光电对管寻迹传感器。红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。但是工作不够稳定,且容易受外界光线的影响。方案三:使用光电对管。光电对管由发光二极管以及光敏三极管组成。三极管依靠二级管发射的光经地面反射以后的光形成相应大小的电流。由此电流即可判断出地面黑白情况。当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。综合考虑我们选择了方案三。(四)、小车行驶距离检测模块的选择与论证根据以往的经验只能想到霍尔元件增量式光电编码器来实现小车路程的计算,码盘上有20个格栅,小车车轮直径为4.7cm,将小车车轮周长平分为20等分,即光电编码器没产生一个脉冲行驶的距离,再利用单片机计数器的功能记录小车行驶的距离,从多种因素考虑应选择此种方案作为小车行驶距离检测。(五)、物体上图案识别方案的选择与论证方案一:利用摄像头采样进行处理后识别再进行接下来的功能实现。摄像头采样精度极高,正确率高达100%,但是摄像头模块使用对控制器要求较高,一般51单片机根本无法驱动,而其他单片机接触较少,时间有限,所以不得不放弃此方案。方案二:利用红外对管模块组成一个矩阵,题目中四种图案重叠后有公共区和非公共区,根据红外对管返回的信号组成四个不同的代码分别对应四中图案,从而实现四种不同图案的识别,只是精度并不是那么的理想。考虑到原理简单实现,充分利用现有资源固选用方案二。(六)、控制器的选择方案一:选择STC12C560S2单片机,此单片机具有高速,低功耗的特点,程序也都兼容,但是部分元器件速度跟不上,实际情况也不需要高速运转,所以不选用此控制器。方案二:选择STC89C51单片机,此类型单片机是很基础的单片机,简单易学,足以满足此次题目需要。综合考虑选择方案二。(七)、显示方案的选择与论证方案一:采用LCD1602液晶屏作显示。方案二:采用LCD12864液晶作显示。 综上可知,案一1602液晶显示器具有耗电少、配置简单灵活、安装方便、耐振动、使用寿命长、美观等优点。同时可以显示菜单等复杂的界面,更易于操作。方案二12864功能比较完善,但功耗较大,而且采用1602已经完全可以实现本次设计的要求。故本设计系统采用LCD1602作为显示器。2.3、部分硬件电路设计(一)、主控电路 在本次题目中对控制器要求并不高,STC89C51单片机足以实现所要要求功能,51单片机是最基本的控制器,比较简单易学。该单片机最小系统原理图如图所示:(二)、电机驱动电路电机驱动电路由L298N驱动模块构成,使用电机驱动芯片L298N,不仅可以大大简化驱动电路而且功率容量大有利于电机转速的稳定。L298N在电机控制中可以灵活的应用如对电机输出能力的拧制在单片机中可以进行脉宽调制(PWM),实现对电机转速的精确控制。当使能端为高电平,通过PWM信号输入端In1和In2可以控制电动机的正反转(输入端In1为PWM信号,输入端In2为低电平,电动机正转;输入端In2为PWM信号,输入端In1为低电平,电动机反转);当它为低电平时,驱动桥路上的4个晶体管全部截止,使正在运行的电动机电枢电流反向,电动机自由停止。电动机的转速由单片机调节PWM信号的占空比来实现。其具体原理如表2-2。表2-2直流电机运转使能端IN1 (IN3)IN2 (IN4) 电机的运转 1 1 0 正传 1 0 1 反转 1 1 1 杀停 1 0 0 停止 0 X X 停止(“1”代表PWM信号,“0”代表低电平)(三)、图案识别原理在需要搬运的物体上没有任何可以检测的东西,就是在物体上画上几个图案,最常想到的就是用摄像头来实现,而本次是采用红外对管矩阵的方法来识别图案,图形有公共区及非公共区,所以红外对管检测时就会产生不同的信号,再经过单片机处理即可实现图案识别的功能,如下图所示:如图,当7个红外对管均检测到信号时为正方形的图案,当上面5个检测到信号时为圆形图案,当上面3个检测到信号时为三角形图案,当最上面一个检测到信号时为十字架图案。2.4、程序软件流程图无否是否是否是有开始系统初始化循迹记录路程和时间手臂摆下拖走物体判断是否有物体判断图案是否符合送至电梯电梯判断是否有物体电梯自动上升小车返回继续取物判断二层是否检测到物体开始循迹行驶,根据检测金属次数送至指定位置三、设计实现1、出现问题:小车行驶过程中不太稳定,受外界影响比较严重,比如电池电量和光线的强弱等等。解决办法:这类客观原因人为也很难改变,我们只能做到尽力让小车在最好的环境下运行。2、出现问题:在实现小车的寻迹过程中,小车左右晃动严重,无法沿轨道行驶。解决办法:在之前的设计方案中,中间2个传感器之间距离大于黑线宽度,当车有较大的偏向时才能检测到,检测到后反馈给单片机已经有一定的时间差。另外由于单片机速度快于机械速度,导致左右晃动严重。直行时由于两电机存在差异,小车硬件左右也不可能完全对称,如果采用相同占空比驱动则小车本身就会偏转。解决方法:根据黑线的宽度来调节光电传感器的摆放位置,中间两个传感器之间的宽度小于黑线的宽度。安装距离距黑线边810毫米比较稳定。在直行时调好两轮的占空比,当差20时,小车可沿直线行驶。3、出现问题:寻迹过程中有时会突然停车,重启后小车启动解决办法:小车在实验室进行测试,有日光灯的干扰,可能日光灯发出的光照射在黑线上造成反光。在程序中修改,首先检查环境中的光照情况,根据这个情况动态设置环境变量因子,这样就避免了环境的干扰。四、测试1、测试使用仪器和设备表4-1 测试使用的仪器设备序号名称、型号、规格数量备注1电源3小车供电2万用表1测管脚电压3电烙铁2测试时备用4胶枪1固定探头2、测试方法程序烧进单片机后装入小车,对其供电,用万用表测量电机驱动输出电压,检测电机驱动输出是否稳定,在实际赛道测试时,通过人为障碍以检测避障的距离范围,测试时实时显示行驶路程和时间,然后单独测试货梯上升高度是否达到要求。3、测试数据经过多次实际测试,LCD显示屏显示小车路程和行驶时间非常精准而且稳定。货梯上升高度和对货梯的控制比较精确。一层小车将第一个物体搬运至电梯再返还搬运第二个的时间大约为15秒钟,以此算来整体完成后需要2分钟左右,并未完全达到题目要求。4、测试结果分析通过多次对两辆小车的实际测试,最好的情况下能够完成题目要求的基本要求,由于时间紧迫,发挥部分暂时无法实现,而且小车受外界影响比较大,运行并不是理想的那么稳定。五、结论经过方案论证、设计实现,测试调整,结果分析等环节,基本实现了题目的基本要求。但由于时间紧,任务重,还有发挥部分要求并不能一一实现,总的来说此次竞赛并没有完美的完成,比如红外对管布局、抗干扰性等方面还有很大的提升空间,经过改进,相信性能还会有进一步的提升。本次竞赛极大的锻炼了我们各方面的能力,对电子系统设计有了新的认识,虽然我们遇到了很多困难和障碍,但总体上成功与挫折交替,困难与希望并存,我们会在以后的学习中更加努力,争取更大的进步。参考文献1 蓝和慧全国大学生电子设计竞赛单片机应用技术技能精解M北京:电子工业出版社,2009年2 郭天祥51单片机C语言教程-入门、提高、开发、拓展全攻略M北京:电子工业出版社,2012年3 谢文和传感器技术及其应用M北京:高等教育出版社,2002年4 张友德. 单片机微型机原理、应用于实验M.(3版).上海:复旦大学出版社,2000.5 杨海东,陈高平.ISD400416M语音芯片的循环录放电路设计J.单片机与嵌入式系统应用,2009,12.6 李维军,韩小刚,李晋.基于单片机用软件实现直流电机调速系统J.机电一体化,2004,5.7 张立勋.机械电子学M.哈尔滨:哈尔滨工程大学出版社,1999.8 康华光.电子技术基础(模拟部分).高等教育出版社,1999.9 康华光.电子技术基础(数字部分).高等教育出版社,1980.程序附录1602液晶显示时间与路程void main(void) unsigned char i,z,xianshi7; float a; unsigned long shuju; Init(); LcdInit(); LcdWriteCom(0x80); for(i=0;i5;i+) LcdWriteData(julii);LcdWriteCom(0xc0);for(z=0;z5;z+)LcdWriteData(timez); / IT0=0; IT0=1; EA=1; EX0=1; while(1) a=LedNumVal*0.74;shuju=a*10;LcdWriteCom(0x88);LcdWriteData(shuju%/10000+0);LcdWriteData(shuju%10000/1000+0);LcdWriteData(.);LcdWriteData(shuju%1000/100+0);LcdWriteData(shuju%100/10+0);LcdWriteData(M);for(i=0;i5;i+)if(xianshii=0x30)xianshii=0x20;elsebreak;LcdWriteCom(0xc6);LcdWriteData(tableshi/10);LcdWriteData(tableshi%10);LcdWriteData(:);LcdWriteData(tablefen/10);LcdWriteData(tablefen%10);LcdWriteData(:);LcdWriteData(tablemiao/10);LcdWriteData(tablemiao%10); void counter(void) interrupt 0 / if(k=0)/ / delay(20); if(k=0) EX0=0; LedNumVal+; /delay(100); /中断计数 EX0=1; / void time0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt+; if(tt=20) tt=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; void init() TMOD=0x01;/使用计时器1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; tt=0; P3=0xff; shi=0; fen=0; miao=0; 第二层小车程序int miss()/计数 / uint a; if(jst=1) flag=1; if(jst=0&flag=1) a+; flag=0; return a; void bian() / 循迹 if(zuo1=0)&(zhong1=1)&(you1=0) qianjin(); if(zuo1=1)&(zhong1=0)&(you1=0) you(); if(zuo1=0)&(zhong1=0)&(you1=1) zuo(); if(zuo1=0)&(zhong1=0)&(you1=0) stop(); void main() flag2=1; flag1=1; flag3=1; zhengqian=1; k=3;/ uint i; init(); Time1Config(); lunint(); while(1) miss();bian();if(zuo1=1)&(zhong1=1)&(you1=1) stop(); delay(100); if(zhengqian=0)&(flag2=1) k=15; delay(100); houtui(); qianjin(); delay(500); dingyou(); qianjin1(); delay(300); lunint(); flag2=0; if(a=1) break; ZUO(4); delay(10); k=3; delay(100); houtui(); qianjin(); delay(500); lunint(); ZUO(2); while(1) bian(); miss(); if(zuo1=1)&(zhong1=1)&(you1=1) stop(); delay(1000); if(zhengqian=0) delay(500); k=15; houtui(); qianjin(); delay(300); dingyou(); qianjin1(); delay(200); lunint(); if(a=8) break; houtui();delay(100);dingzuo(); qianjin1(); delay(10);k=3;houtui();qianjin();delay(100);dingzuo(); qianjin1();delay(100);lunint();while(1) bian(); miss(); if(zuo1=1)&(zhong1=1)&(you1=1) stop(); delay(200); ZUO(3); flag1=0; if(zuo1=1)&(zhong1=1)&(you1=1)&(flag1=0) stop(); delay(1000); if(zhengqian=0) delay(500); k=15; houtui(); qianjin(); delay(300); lunint(); YOU(3); if(a=15) break; dingzuo(); qianjin1(); delay(10);k=3;houtui();qianjin();delay(100);dingzuo(); qianjin1();delay(100);lunint();while(1) bian(); miss(); if(zuo1=1)&(zhong1=1)&(you1=1) stop(); delay(200); ZUO(3); flag1=0; if(zuo1=1)&(zhong1=1)&(you1=1)&(flag2=0) stop(); delay(1000); if(zhengqian=0) delay(500); k=15; houtui(); qianjin(); delay(300); lunint(); YOU(3); if(a=20) break; dingzuo(); qianjin1(); delay(10);k=3;houtui();qianjin();delay(100);dingzuo(); qianjin1();delay(100);lunint();while(1) bian(); miss(); if(zuo1=1)&(zhong1=1)&(you1=1) stop(); delay(200); ZUO(3); flag1=0; if(zuo1=1)&(zhong1=1)&(you1=1)&(flag3=0) stop(); delay(1000); if(zhengqian=0) delay(500); k=15; houtui(); qianjin(); delay(300); lunint(); YOU(3); 第一层小车程序void bian() / 循迹 if(zuo1=0)&(zhong1=1)&(you1=0) qianjin(); if(zuo1=1)&(zhong1=0)&(you1=0) you(); if(zuo1=0)&(zhong1=0)&(you1=1) zuo(); if(zuo1=1)&(zhong1=1)&(you1=1) stop(); void main() flag=1; flag1=1;flag2=1;zhengqian=1; k=3;init(); Time1Config(); lunint(); while(1) bian(); if(zhengqian=0)&(flag=1) stop(); delay(100); k=17; YOU(6); flag=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 齐鲁大联考数学试卷
- 施工方案管理培训内容(3篇)
- 户外丛林寻宝活动方案策划(3篇)
- 配套主体结构施工方案(3篇)
- 新闻编辑考试题库及答案
- 公安考试题库做法及答案
- 安徽省六安市金寨县2024-2025学年高三上学期期末考试历史题目及答案
- 心理学应用题目及答案
- 心肺复苏考试题目及答案
- 农村社区物业管理服务合同
- 铜矿采选工程可行性研究报告
- 2025年秋季学期学校全面工作计划
- 收费站文明服务培训
- 战术基础动作课件教学
- 2024年医师定期考核超声专业试题及答案
- 二手车寄售合同
- 2025中国人寿招聘笔试参考题库完整答案详解
- 充电桩行业知识培训总结课件
- 武汉市纳帕溪谷剩余产品价格策略及3月份销售策略报告
- 2024-2030年钻石行业市场调研及前景趋势预测报告
- 景区植物管理办法
评论
0/150
提交评论