毕业论文-基于at89s52单片机的自动灌装控制系统设计内容摘要:
图 基于 51 单片机的自动灌装控制系统设计 18 程序描述 按键 I/O口分配程序 为了硬件电路的设计方便和程序的编写,在程序开写之前要定义好相应的管脚对应硬件电路相应的功能,以下是相应的程序和对应的注 释。 sbit BELL=P1^0。 //设置 ,为控制蜂鸣器发声的引脚 sbit jia = P1^1。 //加料控制信号灯位 sbit zheng = P1^2。 //液体是否完毕检测传感器 sbit dong = P1^3。 //继电器控制电动机通电位 sbit miao =P1^4。 //系统正常工作 s闪烁灯 sbit jiance = P1^5。 //有瓶子到来传感器位按键 sbit start = P1^6。 //开始工作按键 sbit stop = P1^7。 //停止,暂停按键 sbit shujia = P3^4。 //产量按键加 sbit shujian = P3^5。 //产量按键减 sbit KEY = P3^6。 //按住加料与加料量显示,放开记住加料量 sbit qingling = P3^7。 //加料量重新定义清零键 数码管显示子程序 数码管显示部分为了节约 I/O 口的使用,利用动态扫描的方式来实现数据的显示,以下是显示部分。 void xianshi(uchar h1, uchar h, uchar m1, uchar m)//产量显示函数 { P0 = du[m]。 P2 = 0xef。 delay(2)。 P0 = du[m1]。 P2 = 0xdf。 delay(2)。 P0 = du[h]。 P2 = 0xbf。 delay(2)。 P0 = du[h1]。 P2 = 0x7f。 基于 51 单片机的自动灌装控制系统设计 19 delay(2)。 } void sxianshi(uchar s1, uchar s,uchar h1,uchar h)//加料量显示函数 { P0 = du[h1]。 P2 = 0xfd。 delay(2)。 P0 = du[h]。 P2 = 0xfe。 delay(2)。 P0 = du[s1]。 P2 = 0xf7。 delay(2)。 P0 = du[s]。 P2 = 0xfb。 delay(2)。 } 加料时间设定子程序 为了加料时间的准确性,程序编写应用了定时器的功能,精确度的设定是 ,最大值可以设置到 ,完全足够了对灌装各种容器的加料,同时设定了相应的清零按键,用来为下次设定时间而做出复位的功能。 //定时器 0中断子程序 void time0_Int() interrupt 1 //中断 0进入函数 { TH0=0x4c。 TL0=0x00。 flag++。 if(flag == 2) { sec++。 flag=0。 if(sec == 10000) { 基于 51 单片机的自动灌装控制系统设计 20 sec = 0。 } } if(KEY!=0) { EA=0。 jia = 1。 she = sec。 } } //按住加料与加料量显示,放开记住加料量按键子程序 void key_jialiao() { uchar j=0。 while(j==0) { miao =0。 key_srp()。 key_shu()。 gongzuo()。 fengming()。 if(qingling == 0) { sec = 0。 } key_shu()。 key_srp()。 if(KEY==0) { delay(2)。 if(KEY == 0) { time0_kai()。 jia = 0。 基于 51 单片机的自动灌装控制系统设计 21 j++。 } } sxianshi(sec/1000,sec%1000/100,sec%100/10,sec%10)。 xianshi(chanliang/1000,chanliang%1000/100,chanliang%100/10,chanliang%10)。 } } 挡板步进电机驱动程序 由于步进电机的驱动是要靠脉冲来驱动,所以我们可以按照步进电机相应的说明,不同的时刻给定相应的脉冲就可以实现驱动和正反转工作,从而带动挡板工作,实现拦截容器的功能。 void fa(void) { uchar i。 while(i250) { sxianshi(sec/1000,sec%1000/100,sec%100/10,sec%10)。 xianshi(chanliang/1000,chanliang%1000/100,chanliang%100/10,chanliang%10)。 step8。 delay(2)。 step7。 delay(2)。 step6。 delay(2)。 step5。 delay(2)。 step4。 delay(2)。 step3。 delay(2)。 step2。 delay(2)。 step1。 delay(2)。 基于 51 单片机的自动灌装控制系统设计 22 i++。 } } 系统工作子程序 将设定好的加料时间保存到应该加料时间内,传送带电机工作,有挡板挡住的情况下检测到有容器的到来就 会按照之前设定好的是假开始加料,以下是实现此功能的程序。 void gongzuo() //功能子函数 { uchar xian0。 xian0 = 0。 while(jiance == 0) { jia = 0。 delay_10ms(3*sec)。 jia = 1。 xian0 = 1。 if(xian0 == 1) { chanliang。 fa()。 } } } 此程序的功能用来实现自动灌装的功能,在这之后还有其他子程序,同上面的这些子程序一 起能够实现自动灌装系统的功能。 基于 51 单片机的自动灌装控制系统设计 23 第五章 系统的安装、调试与分析 系统的安装 当自动灌装系统安装完成就如图 51 所示,此图只是简单的安装平面示意图,控制面板是由单片机与显示部分和按键部分组成,起到智能操作的功能;传送部分由交流电机、减速控制箱以及传送带组成还有步进电机组成的挡板部分组成,实现需要灌装容器的传输功能;加料部分由一个接近传感器检测容器的到来,并且停止在了电磁水阀的下面,确保要加的液体是流入容器内的,同时又电磁水阀和原料储存容器组成,在 容器中加有一个光电检测传感器,用来检测原料储存容器是否还有液体,要是没有则系统报警,提示工作人员。 图 51 系统安装平面简图 系统接线图如图 52所示。 基于 51 单片机的自动灌装控制系统设计 24 图 52 系统接线图 模拟系统中元器件的安装与焊接 模拟系统中安装元器件时要避免元器件发热而减弱铜箔对基板的附着力,且防止元器件的裸露部分同印制导线短路。 焊接时如有跳线应先焊接跳线,再安装机械元器件,如电阻、中心芯片插座等。 焊接的温度和焊接的时间 也是有讲究的, 电烙铁的温度 应略 高于焊锡的温度 , 以烙铁头 接触松香刚刚冒烟为好 ,焊锡时必须使焊点融化充分, 焊锡 能够 将焊接点上的元 器 件引脚全部浸没, 但 轮廓 还 隐约可见 ,既要美观又要保证不虚焊。 焊接好元器件后要检查元器件是否安装正确,安装正确的是否有虚焊或者元器件松动的情况,对于虚焊或者松动的要及时改正。 模拟调试系统 模拟调试系统如图 53 所示,在真实的自动灌装系统不是像下图所示的模拟系统一样用发光二级管代替的,模拟系统中显示部分和按键部分与实际系统一致;挡板部分也是一致的,只是在实际的系统中用到的步进电机功率要比模拟系统中的大,液位传感器也报警电路也是与实际 系统是一致的;传送带工作装置由一个 LED灯代替,实际系统中要有交流电机和减速控制箱还有传送带组成,所以这里不再模拟。 基于 51 单片机的自动灌装控制系统设计 25 图 53 模拟调试系统 系统安装带传动的设计说明 按照下面的计算可以确定带传动的各个参数要求: 取带轮的传动比 i=2,小带轮转速 n1=1400r/min,电动机的额定功率 P=,一天运转时间大于 12小时。 ( 1) 确定计算功率 Pca[12] 有《机械设计(第七版)》表 86查的工作情况系数 KA为 ,则 Pca=KAP==。 (2) 选取 V带带 型 [12] 根据 Pca、 n1由《机械设计(第七版)》图 89确定选用普通 V带型。 (3) 确定带轮基准直径 [12] 由《机械设计(第七版)》表 83和表 87取主动轮基准直 dd1=63mm。 按是 i=n1/n2,从动轮基准直径 dd2, dd2=idd1=263=126mm 根据表 87,取 dd2=132mm。 按式 1验算带的速度后得出式 2所得的数值,所以带的速度合适。 1000601000601 nnv dd dd 式 1 smsmnd d /25/ 140063100060 1 式 2 ( 4) 确定普通 V带的基准长度和传动中心矩 [12] 根据 (dd1+dd2)ɑ02(dd1+dd2),初步确定中心距 ɑ0=250mm。 根据式 3普通 V带基准长度计算公式计算所需要的基准长度,计算后得到如式 4所示的值。 由《机械设计(第七版)》表( 82)选带的基准长度 Ld=800mm。 基于 51 单片机的自动灌装控制系统设计 26 a ddddaL ddddd 0 2210 4 12)(22 )( 式 3 mmdd a ddddaL ddd )13263(225024 12)(22 )63132()( 20 2210 式 4 ( 5)验算主动轮上的包角 ɑ1[12] 由式 5计算的 ɑ1=176。 120176。 , 故主动轮上的包角合适。 211 oddo a LLa 式 5 ( 6)计算 V带的根数 z[12] 由《机械设计(第七版)》 V带根数由 z=Pcɑ/(P0+P1)KɑKL计算得出。 由 n1=1400r/min、 dd1=63mm、 i=2查《机械设计(第七版)》表 85a和表 85b得 P0=、 P1=查《机械设计(第七版)》表 88得 Kɑ=,查《机械设计(第七版)》表 82得 KL=1则 z=,所以 z=5根。 ( 7) 计算作用在轴上的压轴力 F0[12] NvzvzqvKpFqvKpFacaaca) ( )(500)(500 22020 式 6 (8)计算作用在轴 上的压轴 Fp Nz op aFF i i n2 6 310 式 7 基于 51 单片机的自动灌装控制系统设计 27 第六章 总结 本设计是采用一个单片机系统和电机控制系统来进行自动灌装控制的典型应用,单片机控制了灌装的量的时间、灌装个数、步进电机、蜂鸣器、传感器。 通过控制电磁阀水开关从而达到对灌装的量的时间控制,利用电机和减速器带动传送带运送瓶子,传感器对瓶子进行检测,并有挡板辅助,形成一个完整的自动灌装控制系统,本灌装控制系统具有成本低、控制系统稳定、灌装量的控制时间精度高、具有良好的快速性、可控制不同大小的容器等优点,因此具有很高的工程应用价值和现实意义。 在本设计中,我通过查阅网络与 图书馆搜集到的资料,以及指导老师的指导与建议,在确定课题和研究方向上,通过对单片机的工作原理及自动灌装控制理论的理解和研究,设计出了这一套自动灌装控制系统的硬件结构和软件结构,基本上完成了任务书的要求,通过调试,此进瓶控制方法能够达到这个灌装系统的灌装要求,各个部分从进瓶、灌装到出瓶之间的协调能力能够稳定地运行。 但是由于设计的理论基础浅薄,对课题的研究尚有不足之处,使得在技术的解决与运用上显得不够成熟,在本系统中没有解决系统时间的数据储存,后序的对瓶子异物的检测等没有在本系统中体现,在某些关键技术上的叙述不 够详细、精辟。 但这个系统的设计还是有自己的独特之处和创新所在的。 考虑到了成本使用的问题,在硬件上使用了 AT89S52 单片机;在软件上,充分利用了 AT89S52的强大功能,实现了信息的快速处理和控制、显示功能,能精确检测。毕业论文-基于at89s52单片机的自动灌装控制系统设计
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。