广告灯箱控制器设计_第1页
广告灯箱控制器设计_第2页
广告灯箱控制器设计_第3页
广告灯箱控制器设计_第4页
广告灯箱控制器设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1绪论 31.1广告灯箱控制设计的研究意义和目的 31.2广告灯箱国内外发展现状及发展动态 31.3课题研究的主要工作 32广告灯箱幅面、首尾检测方法研究 42.1检测工具的选择 42.1.1检测系统的组成 42.1.2传感器 42.1.3反射式光电开关 42.1.4金属接近开关 52.2广告机幅面、首尾检测方法 53广告灯箱控制电路设计 73.1控制电路设计基本思路 73.2电路主要部件简介 73.2.151单片机 73.2.2光电耦合器 93.2.3共阳七段数码管 93.2.4继电器 103.2.5减速电机 103.3控制电路电路图 113.3.1电源部分 113.3.2键盘显示电路部分 113.3.3控制电路部分 134控制算法及程序设计 144.1主程序流程图 144.224小时时钟程序设计 154.3首尾和幅面检测的中断程序 164.4开关灯时间的扫描程序 174.5程序源码 17参考文献 261绪论1.1广告灯箱控制设计的研究意义和目的广告灯箱是一种新型的广告发布媒体,与普通广告媒体相比具有成本低廉、实用性强、环保、广告画面变化生动的优点,具有很高的实用性、艺术价值和经济效益。广告灯箱控制设计的研究目的在于使本产品能可靠的实现如下功能:1)出现广告幅面时能够自动定格:2)广告布运动到尽头时能够自动反向运动往复播放;3)能够定时开、关内部照明并且时间可调。同时由于广告机多工作于室外,环境条件复杂多变,本设计针对目前广告灯箱存在全天候情况下运行不可靠的问题设计可行的实施方案。1.2广告灯箱国内外发展现状及发展动态目前,欧美等发达国家户外广告发展迅速,作为一个发展中的市场,中国的市场空间依然巨大。近年随着人们休闲活动的增多,户外活动成为新趋向,户外广告预计增长速度将高于电视、报纸、杂志等传统媒体。广告灯箱作为户外广告的主要形式之一,与其他广告媒体相比具有性价比高、功耗低、环保等优点。但是目前其技术在国内外还未成熟。作为一种新兴广告发布媒体,目前国内广告灯箱正处于试用探索阶段,其工作可靠性问题尤为严重。目前国内广告灯箱的发展主要在于提高其可靠性,使其能在复杂多变的户外环境中正常运作。1.3课题研究的主要工作本论文的主要工作在于分析和掌握广告灯箱的原理,分析研究不可靠的因素,提出新思路,并对其进行改进,提高其可靠性。了解本课题的应用领域及国内外状况前景;分析广告灯箱的原理,及存在的问题;设计广告灯箱的控制算法,完成程序设计;熟悉和应用单片机及电机拖动技术;对广告灯箱进行仿真;对论文工作进行总结。2广告灯箱幅面、首尾检测方法研究2.1检测工具的选择2.1.1检测系统的组成检测技术几乎应用于所有行业,它是多学科知识的综合应用,涉及半导体技术、激光技术、光纤技术、声控技术、遥感技术、自动化技术、计算机应用技术,以及数理统计、控制论、信息论等近代新技术和新理论。检测系统的最终目的就是从测量对象中获取反应其变化规律的有用信息,为了实现此目的,一个广义的检测系统一般由激励装置、测试装置、数据处理与记录装置所组成[1]。2.1.2传感器传感器是检测系统的第一个环节,通常是检测系统与被测量对象之间的接口,其主要作用是将感知的被测非电量按一定的规律转化为某一重量值输出,通常为电信号。传感器种类繁多,几乎能检测所有非电量参数。其性能直接影响着整个检测系统,对检测精度起着重要作用。所以传感器的选择将直接影响广告灯箱在室外复杂多变环境中的可靠性。根据要求,应选用低成本、稳定性好、抗干扰能力强、功耗低的传感器,可选用反射式光电传感器和金属接近开关同时检测,两者信号接与门(单片机输入端低电平有效)接入单片机。2.1.3反射式光电开关光电传感器是采用光电元件作为检测元件的传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。光电传感器一般由光源、光学通路和光电元件三部分组成。光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光电式传感器在检测和控制中应用非常广泛。反射取样式光电传感器的工作原理是传感器红外发射管发射出红外光,接收管根据反射回来的红外光强度大小来计数的,故被检测的工件或物体表面必须有黑白相间的部位用于吸收和反射红外光,这样接收管才能有效的截止和饱和达到计数的目的。其工作原理如图2.1所示。2.1.4金属接近开关接近开关又称无触点行程开关,它除可以完成行程控制和限位保护外,还是一种非接触型的检测装置,用作检测零件尺寸和测速等,也可用于变频计数器、变频脉冲发生器、液面控制和加工程序的自动衔接等。特点有工作可靠、寿命长、功耗低、复定位精度高、操作频率高以及适应恶劣的工作环境等。其原理框图如图2.2所示。金属接近开关是工业领域广泛使用的一种自动控制电子开关,它在有金属物体靠近检测探头时,电子开关接通;当金属物体远离检测探头时,电子开关关闭。

该金属接近开关电路由高频振荡器电路、倍压整流电路和电子开关电路组成。2.2广告机幅面、首尾检测方法应用以上两种传感器,可以实现对广告幅面、首尾的检测。其方法如图2.4所示。具体方法是:在广告布每幅广告幅面的背面固定位置并列安装一块黑色标记和一块金属箔,两标记为一组测试对象,分别用反射取样式光电传感器和金属接近开关检测,将两种检测器作为一组,其输出信号接与门(单片机输入端为低电平有效)接入单片机,控制减速电机停转,实现幅面自动定格。这样可以有效提高检测的可靠性,消除在室外复杂多变环境中对检测结果的影响。这里反射取样式光电传感器发出的是红外光,可以基本忽略日光的影响。广告布首尾检测同理,在广告布首尾各安装一组标记,分别检测,将首尾两组传感器检测的输出信号接与门接入单片机,无论检测到的信号来自首还是尾,都直接通过程序控制两个运动方向相反的减速电机交替运行,实现自动反向往复运动。3广告灯箱控制电路设计3.1控制电路设计基本思路考虑到实际因素,为了在不影响性能的前提下节约材料降低成本,可以将电路分为两部分,一部分在广告机箱内,负责控制单片机的运行以及夜间照明,作为控制电路,这部分电路在每台广告机内都有;另一部分在箱外,用于调整开关夜间照明时间等调试工作,作为键盘显示电路,这部分可以所有广告机共用。3.2电路主要部件简介3.2.151单片机单片机是广告机控制的核心。AT89C51是具有MCS-51内核、片内带有4KB的flashROM的单片机,图3.1为AT89C51引脚示意图。图3.1AT89C51引脚示意图51系列管脚说明:VCC电源电压。GND接地。RST复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2P1口8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。在闪速编程与编程校验期间,P1P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。P3口也可用作特殊功能口,其功能见表1。P3P3口特殊功能如下[2]:P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)3.2.2光电耦合器光电耦合器是利用发光元件与光敏元件封装为一体而构成电-光-电转换的原件,加到发光器件上的电信号为耦合器的输入信号,接收器件输出的信号为耦合器的输出信号。当有信号电压加到光电耦合器的输入端时,发光器发光,光敏管受到光照而产生光电流,使输出端产生相应的电信号,从而实现了电-光-电的传输和转换。光电耦合器采用密封管壳,不受外界光的干扰。同时,由于器件利用光作为信号输出介质,输入端与输出端之间在电气上是完全绝缘的。抗电磁干扰能力很强,在测试技术、计算机控制技术等领域作为优良的电气耦合与格力元件而被大量使用。图3.2为光电耦合器基本组合。图3.2光电耦合器基本组合3.2.3共阳七段数码管使用七段数码管来显示时间以及开关照明的定时时间。图3.3为七段数码管引脚图。图3.3七段数码管引脚图3.2.4继电器继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。图3.4继电器3.2.5减速电机减速电机是指减速机和电机(马达)的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。通常由专业的减速机生产厂进行集成组装好后成套供货。减速电机广泛应用于钢铁行业、机械行业等。使用减速电机的优点是简化设计、节省空间。减速电机广泛应用于冶金、矿山、起重、运输、水泥、建筑、化工、纺织、印染、制药等各种通用机械设备的减速传动机构[10]。减速电机如图3.5所示。图3.5减速电机3.3控制电路电路图3.3.1电源部分广告机中控制电路需要稳定的直流电源供电。单相交流电源经过电源变压器、整流电流、滤波电路和稳压电源转换成稳定的直流电压,其方框图及各电路的输出电压波形如图3.6所示[3]。图3.6直流稳压电源方框图220V交流电经过变压器转变为9V和15V交流电,经过单相桥式整流电路、电容滤波电路、稳压器W1W2组成的稳压电路,输出所需的5V和12V直流电。直流电源电路原理图如图3.7所示。图3.7直流电源电路图3.3.2键盘显示电路部分四个按键中K1是功能键,用于现在时刻、停顿时间、关灯定时时刻、开灯定时时刻四个功能之间进行切换。K2~K4用于调时,起作用分别为小时+1、分钟+1、秒+1七个七段数码管中,第一个用于显示当前功能,后六个用于显示时间,时分秒各占两个。单片机的P0口每2ms依次向每一个七段数码管输出数据,在如此高的频率下,由于视觉暂留现象,肉眼无法识别闪烁,数据仍然是清晰的。这样就实现了由一组输出端向多个七段数码管输送数据。七个PNP三极管用于驱动七个七段数码管,实现位选择操作。26个接口中包括接电源和接地只用到了21个,多余管脚接地,用于与广告机内部的电路进行连接。键盘显示电路原理图如图3.8所示。图3.8键盘显示电路原理图3.3.3控制电路部分控制电路存在于每台广告机内,用于控制广告机的自动运行。JK为26PIN接口,用于与键盘电路连接。JL为4PIN接口,其中2、3口用于输入幅面、首尾两组传感器的输入信号。JJ1为8PIN接口,4、5口用于控制两台减速电机,2、3口用于控制两个夜间照明灯。单片机89C51为控制电路的核心。P0口用于向七个七段数码管输出信号,分别与JK的16~9口连接。P2.0~P2.6用于驱动与选择七段数码管,分别与JK的8~2口连接。P1.0~P1.3为键盘按键的输入端,分别与JK的20~17连接。P1.4~P1.7为控制输出端,分别与JJ1的2、3、4、5口连接。INT0、INT1是信号输入端,分别与JL的2、3口连接。XTAL1和XTAL2两端跨接晶体振荡器,构成稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。各器件间安装光电耦合器,使各器件在电气上隔离,有抗干扰作用。控制电路部分电路图如图3.10所示[5]。JJ1的2、3口输出的控制信号与光控电路综合控制开关灯,既可以通过定时准确地开关灯,也可以在一些特殊的天气下,根据光线的强弱,控制照明灯光的开关。光控电路原理图如图3.9所示。图3.9光控电路原理图图3.10控制电路部分电路原理图4控制算法及程序设计4.1主程序流程图本程序的设计主要解决三大问题。第一,需要一个24小时的时钟程序;第二,首尾和幅面检测的中断程序;返回扫描键盘程序时间显示执行中断程序启动定时器系统初始化开始第三,开关灯时间的扫描程序。返回扫描键盘程序时间显示执行中断程序启动定时器系统初始化开始NY主程序流程图如图4.1所示。NY图4.1主程序流程图4.224小时时钟程序设计24小时时钟程序使用T0定时器实现,流程图如下:图4.224小时时钟程序流程图Y时显示加1调用显示程序是否到一时YYYNNN调用显示程序中断返回分显示加1调用显示程序是否到一分秒显示加1调用显示程序是否到下一秒T0定时中断Y4.3首尾和幅面检测的中断程序Y时显示加1调用显示程序是否到一时YYYNNN调用显示程序中断返回分显示加1调用显示程序是否到一分秒显示加1调用显示程序是否到下一秒T0定时中断Y首尾检测和幅面检测分别由两个中断程序完成。当检测到首尾标记时,进入中断程序1,两个减速电机转换工作状态,中断返回,如图4.3所示;当检测到幅面标记时,进入中断程序0,电机停止工作15秒(停止时间可设置),中断返回如图4.4所示。4.4开关灯时间的扫描程序将设定的开关灯时间储存在单片机中,时时与24小时时钟的时间进行对比,当达到指定的开关灯时间时,进行相应的开灯或者关灯操作。voidTime_Read(void){get_clock_data();if(get_clock_data()==get_function_data3()){P1.4=0;P1.5=0}//关灯if(get_clock_data()==get_function_data4()){P1.4=1;P1.5=1}//开灯}4.5程序源码[7][8]/*****************************************************说明:P0的8个I/O口控制数码管的段码P2.0~P2.6控制LED的位码P1.0~P1.3接key1~key4********************************************************/#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintunsignedcharhour,minute,second;unsignedintfunction=1;//定义时分秒对应的变量以及功能选择键switch(function){case1:hour=23,minute=50,second=55;break;case2:hour2=0,minute2=0,second2=15;break;case3:hour3=7,minute3=0,second3=0;break;case4:hour4=18,minute4=0,second4=0;break;}intms=0;//累加变量unsignedcharkey_code=0,key_press=0;//键值及按键状态变量chardd[7]={0x01,0x02,0x03,0x04,0x05,0x06,0x07};//7个数码管对应的数值存储区charff[18]={0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29};//设定数值的数值存储区chardisp_count;//计数变量 ucharcodetab_num[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};//共阳数码管(0-9)unsignedcharWeiTbl[7]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//开启各个位码对应的数值(从右向左7个管)/***************延时函数***************/voiddelay(uchark){uinti,j;for(i=0;i<k;i++){for(j=0;j<400;j++);}}/***********时间变化函数************/voidclock(void){ms++;if(ms>499)//定时器2ms中断一次中断500次为一秒{ms=0;second++;if(second>59){second=0;minute++;if(minute>59){minute=0;hour++;if(hour>23){hour=0;}}}}}/**********时间数值获取函数*************/voidget_clock_data(void){dd[0]=hour/10;dd[1]=hour%10;dd[2]=minute/10;dd[3]=minute%10;dd[4]=second/10;dd[5]=second%10;dd[6]=function;}/**********设定时间数值获取函数*************/voidget_function_data2(void){ff[0]=hour2/10;ff[1]=hour2%10;ff[2]=minute2/10;ff[3]=minute2%10;ff[4]=second2/10;ff[5]=second2%10;}voidget_function_data3(void){ff[6]=hour3/10;ff[7]=hour3%10;ff[8]=minute3/10;ff[9]=minute3%10;ff[10]=second3/10;ff[11]=second3%10;}voidget_function_data4(void){ff[12]=hour4/10;ff[13]=hour4%10;ff[14]=minute4/10;ff[15]=minute4%10;ff[16]=second4/10;ff[17]=second4%10;}/**************显示函数*************/voidled_disp(){unsignedchardat;P0=0x00;P2=0xff;P2=WeiTbl[disp_count];dat=dd[disp_count];if(disp_count==6){P0=dd[disp_count];}else{if(disp_count==2|disp_count==4|disp_count==6)P0=(~(tab_num[dat]))+0x80; else P0=~(tab_num[dat]); }disp_count=disp_count+1;if(disp_count>6)disp_count=0;}/*************定时器0初始化函数**********/voidTimer0_int(){TMOD=0x01;TH0=0xF8;TL0=0xCD;TR0=1;ET0=1;EA=1;}/**********定时器中断函数**************/voidtimer0(void)interrupt1{TH0=0xF8;TL0=0xCD;clock();led_disp();get_clock_data();}/*************中断0初始化函数**********/voidinterrupt0_int(){IE=0x81;//开外中断0和CPU中断允许TCON=0x00;//设定中断0为低电平触发EX0=1;EA=1;}/**********中断0函数**************/voidinterrupt0(void)interrupt2{P1.6=1;P1.7=1;for(ms=0;ms<=((minute2*60+second2)*500);ms++)//设定的停顿时间}/*************中断1初始化函数**********/voidinterrupt1_int(){IE=0x84;//开外中断1和CPU中断允许TCON=0x00;//设定中断1为低电平触发EX1=1;EA=1;}/**********中断1函数**************/voidinterrupt1(void)interrupt3{intaba=0;//转换工作电机aba=P1.6;P1.6=P1.7;P1.7=P1.6;}/**************读键值*********/voidKey_Read(void){unsignedlongx;x=P3&0xfc;if(x!=0xfc){delay(100);//去抖x=P3&0xfc;if(x!=0xfc){key_code=x;key_press=1;}}}/**************读时间*********/voidTime_Read(void){get_clock_data();if(ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论