饮料罐装生产流水线的单片机控制系统设计.docx

上传人:b****3 文档编号:900317 上传时间:2022-10-13 格式:DOCX 页数:22 大小:647.72KB
下载 相关 举报
饮料罐装生产流水线的单片机控制系统设计.docx_第1页
第1页 / 共22页
饮料罐装生产流水线的单片机控制系统设计.docx_第2页
第2页 / 共22页
饮料罐装生产流水线的单片机控制系统设计.docx_第3页
第3页 / 共22页
饮料罐装生产流水线的单片机控制系统设计.docx_第4页
第4页 / 共22页
饮料罐装生产流水线的单片机控制系统设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

饮料罐装生产流水线的单片机控制系统设计.docx

《饮料罐装生产流水线的单片机控制系统设计.docx》由会员分享,可在线阅读,更多相关《饮料罐装生产流水线的单片机控制系统设计.docx(22页珍藏版)》请在冰豆网上搜索。

饮料罐装生产流水线的单片机控制系统设计.docx

饮料罐装生产流水线的单片机控制系统设计

XX大学

课程设计报告

 

课题名称饮料罐装生产流水线的单片机控制系统设计

院(系)机电工程学院

专业机械设计制造及其自动化

姓名XXXX

学号XXXX

起讫日期2016.8.29-2016.9.9

指导教师XX

 

2016年9月9日

饮料罐装生产流水线的单片机控制系统设计

摘要

本设计是饮料灌装生产流水线的单片机控制系统。

其硬件部分主要包括电源电路、开关电路、光电传感器模块、数码显示模块、继电器控制模块、报警模块6个主要组成部分。

硬件选择以AT89C51为主体、数码显示采用74LS164串行显示方案,光电传感器采用对射式光电开关电路方案,继电器控制模块采用单片机控制5V继电器,进而控制交流接触器方案。

软件设计主要完成信号检测,多种工作状态的转换,以及显示灌装计数值三个工作。

关键词:

灌装流水线单片机光电传感器串行数码管显示继电器控制

 

摘要……………………………………………………………………………………………....1

 

1.课程设计内容与要求

1.1课程设计内容

设计一套饮料罐装生产流水线的PLC控制系统,控制要求:

(1)系统通过开关设定为自动操作模式,一旦启动,则传送带的驱动电机启动并一直保持到停止开关动作或罐装设备下的传感器检测到一个瓶子时停止;瓶子装满饮料后,传送带驱动电机必须自动启动,并保持到又检测到一个瓶子或停止开关动作。

(2)当瓶子定位在罐装设备下时,停顿1秒,罐装设备开始工作,罐装过程为5秒钟,罐装过程应有报警显示,5秒后停止并不再显示报警。

(3)一旦系统启动,记录罐装瓶数,设最多不超过9999瓶。

(4)可以手动对计数值清零(复位)。

1.2课程设计要求

(1)采用MCS-51单片机控制,画出控制系统的硬件电路图;

(2)采用220V交流电源供电,设计控制系统直流电源模块硬件电路图;

(3)编制控制程序,并画出程序框图;

(4)撰写课程设计报告。

 

2.控制系统的硬件电路设计

2.1硬件电路设计proteus软件简介

Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前比较好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

[1]

2.2控制系统硬件电路详细设计

2.2.1控制系统结构图

 

 

(1)

如图

(1)所示整个控制系统输入量有四个,分别为启动开关、停止开关、复位计数值开关以及光电传感器输入信号。

输出有三个,分别为数码管显示、传送带继电器以及灌装设备继电器。

单片机在接收到启动开关信号后,控制4位数码管显示初始计数值,同时输出信号使传送带继电器线圈得电,进而闭合在强电电路中的相应的继电器开关,使传送带带动瓶子运动。

当光电传感器检测到瓶子到达灌装位置时,向单片机发送信号,单片机接收到信号后立即停止传送带,通过内部计时器计时1S后启动灌装设备,同时报警指示灯保持常亮。

单片机内部定时器继续计时5S后,停止灌装设备,关灭报警指示灯,数码管显示值加1,然后启动传送带等待光电传感器检测到下一个信号开启再一次的循环。

在系统运行期间如果接收到停止信号系统会立即关闭传送带和灌装设备,以及数码管显示;如果接收到复位信号,单片机控制的数码管计数值立即清零;如果数码管当前的计数值达到了9999,再接收到灌装完成的信号数码管显示值会变成0进而重新计数。

2.2.2电源电路设计

由于设计要求用220V交流电供电,而单片机电路需要的电源是直流5V。

故需要设计220V转5V的直流稳压电路。

本系统采用的为常见的直流稳压方案如图

(2)所示。

(2)

变压器输出端的9V电压经桥式整流并电容滤波,在电容C1两端大约会有11V多一点的电压,假如从电容两端直接接一个负载,当负载变化或交流电源有少许波动都会使C1两端的电压发生较大幅度的变化,因此要得到一个比较稳定的电压,在这里接一个三端稳压器的元件U2。

三端稳压器是一种集成电路元件,内部由一些三极管和电阻等构成,在分析电路时可简单的认为这是一个能自动调节电阻的元件,当负载电流大时三端稳压器内的电阻自动变小,而当负载电流变小时三端稳压器内的电阻又会自动变大,这样就能保持稳压器的输出电压保持基本不变。

因为我们要输出5V的电压,所以选用7805,7805。

前面的字母可能会因生产厂家不同而不同。

LM7805最大可以输出1A的电流,内部有限流式短路保护。

三端稳压器后面接有电容,起滤波和阻尼作用。

2.2.3单片机开关按钮设计

由于单片机上电P2、P3口均为高电平,故此处设计最简单的开关电路,单片机口接按钮接地。

以停止开关为例,如图3所示

图(3)

2.2.4光电传感器电路设计

如图4所示

图(4)

光电传感器由两部分组成,一部分是发光的二极管,一部分是由光电三极管组成的光电开关。

当左部分和右部分没有物体遮挡时,发光二极管的光照射到光电三极管基极上,光电三极管导通,电压比较器LM3933脚电平高于2脚2.5V输出电压为低电平0V;当左部分和右部分有物体遮挡时,光电三极管截止,电压比较器LM3933脚电平低于2脚电平2,5V输出电压为高电平5V。

2.2.5数码管显示模块

图(5)

显示模块选用4个LED共阴极数码管,为节省单片机输入输出口选用用74LS164芯片进行串行数码显示。

接线图如图所示,4个74LS164芯片串行连接,U2接收来自单片机的数据,U3、U4、U5输入端接在前一个数据输出的最高位。

每一次刷新显示时,单片机通过第一个74LS164向显示模块输入4个字节通过串行移位的方式,分别保存在U2、U3、U4、U5内进而控制4个数码管的显示。

2.2.6报警模块

图(6)

报警模块选用LED指示灯,由于单片机驱动电流较小故电路中加入三极管进行电流放大。

当三极管的基极接收到来自单片机的低电平信号,三极管正向导通,LED指示灯亮。

2.2.7传送带模块

传送带电机模块由两部分组成:

一部分为弱电的控制电路(图7),一部分是强电电路如(图8,图9)。

图(7)图(8)图(9)

当三极管的基极接收到来自单片机的低电平信号时,三极管正向导通吸合继电器开关K1,位于强电电路中的KM1线圈得电,传送带电机启动运行。

当三极管的基极接收到来自单片机的高电平信号时,三极管截止,继电器的线圈通过二极管D1放电,K1断开,KM1线圈掉电,KM1断开,电机停止运行。

 

2.2.8灌装设备模块

此模块和传送带模块类似,此处不再赘述,电路图如图10、图11、图12所示。

图(10)图(11)图(12)

3.控制程序设计与仿真

3.1控制程序设计平台软件keiluvision2简介

KeiluVision2是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。

KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。

C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。

C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:

编译器,汇编器,实时操作系统,项目管理器,调试器。

uVision2IDE可为它们提供单一而灵活的开发环境。

[2]

3.2控制程序详细设计

3.2.1控制程序流程图

控制程序框图包括主程序框图图(13)和定时器中断函数框图(14)。

 

 

图(13)

 

 

N

 

Y

Y

 

 

Y

 

N

 

图(14)

 

3.2.2详细程序设计

(1)数码管显示函数

voiddisplay()

{

ucharLED_code[4];//存放四个数码管显示代码

uchari,j,chr,sel;

for(i=0;i<4;i++)//将显示的数值转换为显示代码

LED_code[i]=LED_Map[disdata[i]];

for(i=0;i<4;i++)//74LS164数码管串行显示程序

{

chr=LED_code[i];//

sel=0x80;

for(j=0;j<8;j++)

{

Din=chr&sel;

CLK=0;

sel=sel>>1;

delay

(1);

CLK=1;

delay

(1);

}

}

}

(2)计数显示函数

void cunt_disp()                         //计数显示

disdata[0]=cunt%1000%100%10;//取个位

disdata[1]=cunt%1000%100/10;//取十位

disdata[2]=cunt%1000/100;//取百位

disdata[3]=cunt/1000;//取千位

display();

   }

计数显示函数,取出计数值的各个位送给disdata数组。

(3)关闭显示函数

void disp_off() //关闭显示函数

{

        uchar i,j,chr,sel;

       for(i=0;i<4;i++)

        {

           chr= 0x00;  //关闭数码管显示

   sel=0x80;

           for(j=0;j<8;j++)

{

   Din=chr&sel;

   CLK=0;

   sel=sel>>1;

   delay

(1); 

   CLK=1;

       delay

(1);   

}

}

}

关闭显示函数本质上是通过单片机赋值将数码管的每个LED灯关灭。

(4)初始化函数

void init()                     //初始化

{

TMOD=0x01;                  //定时器初始化

TH0=(65536-50000)/256;      //50ms

TL0=(65536-50000)%256;

EA=1;//开中断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1