




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于MCGS的KV配电监控系统的设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
前言基于MCGS的KV配电监控系统的设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)随着我国信息化技术的发展及安全稳定性要求的提高。在10KV配电系统中,采用智能信息化监控系统能在系统稳定及安全问题上起到举足轻重的作用。目前,10KV配电系统应用的户外高压开关(负荷)设备基本为手动,操作时间长、劳动强度大、管理难度高,由于其本体质量问题或在恶劣的气候环境下,操作时存在一定的危险.针对此现状,有些变电站采用红外线或高频无线电密码技术就地遥控高压开关,但缺点是控制距离仅仅一百米之内,且仅限于高压开关单一的分、合闸功能操作;有些地方用电力载波或用自设电台的专用频率远程遥控高压开关,但因外界干扰多,维护工作量大,实际运行可靠性低。近些年来正在试验推广的布设光缆传输网络、配置馈线自动化远程终端控制器等10KV配电自动化工程,由于投入资金大、建设周期长、存在问题多而进退维谷.本文探讨基于MCGS的10KV配电监控系统的设计,以解决此类生产运行问题,提高10KV配电系统的智能化程度。MCGS(MonitorandControlGeneratedSys。tem,通用监控系统)是一套用于快速构造和生成上位机监控系统的组态软件,监控组态软件是面向监控和数据釆集的软件平台工具,具有丰富的设置项目,使用方式灵活,功能强大.作为一种用户无需改变运行程序原代码的软件平台工具,为实现工业控制免去了大量烦琐的编程工作,在各个工控领域逐步展示了其独特的优势并日渐成熟。近年来,工控组态软件被逐渐应用到煤矿等监控系统中,收到了良好的效果。MCGS是国内比较流行且运行比较可靠的几种工控组态软件之一。正因为操作简便、可视性好、可维护性强、高性能和高可靠性等特点,在自动化领域有着广泛的应用。TOC\o”1—3"\h\z\uHYPERLINKNoSignal!!!");//显示无信号 k_val=scan_key();//扫描按键key_action(k_val);//按键操作内容if (IRQ==0)//是否接收到数据 {read_chip_state();//读芯片状态tra[0]=0x27;tra[1]=0x70; write_more_byte(tra,2); read_more_bytes(Rev_dat,16);//读数据 if((Rev_dat[0]+Rev_dat[1])==0xFF)//和校验 { Count=0;//清零计数器 w_string(0x00,”RealWendu:C"); //显示当前温度 if(Rev_dat[0]〈0)//负温度显示 {Rev_dat[0]=-Rev_dat[0];w_string(0x0C,"-");w_data(0x0D,Rev_dat[0]);} else//正温度显示 {w_string(0x0C,"+”);w_data(0x0D,Rev_dat[0]);}} } }}4.2发射系统程序的设计发射程序首先点亮信号灯并且初始化无线发射模块,接着读取温度数据并校验数据,然后发射温度数据并重置信号灯,数据正常发送,则信号灯稳定闪烁.main(){ int8dataout[16]; LED=0;//上电LED亮 Wireless_init();//初始化无线模块 while(1) {start_temp_sensor();//初始化18B20 delay_ms(1000); //延时1秒 dataout[0]=read_temp();//读温度 dataout[1]=0xFF-dataout[0];//反转数据作为校验 LED=~LED;//重置LED指示灯 Send_16Bytes_Data(dataout);//发送数据 }}4。3传输程序的设计传输程序包括发送数据和接收数据,即无线收发模块之间进行数据通信,设定好对应的通信地址和通信协议,即可实现数据的正确传送。//发送数据//输入值:addr:输入数据地址voidSend_16Bytes_Data(unsignedchar*addr){unsignedchar*p=addr,tra1[2],i;CLR_SCN();Write_one_byte(0xA0);for(i=0;i〈16;i++){Write_one_byte(*p++);}SET_SCN();SET_CE();for(i=0;i〈60;i++);CLR_CE();while(READ_IRQ()==1);tra1[0]=0x27;tra1[1]=0x70;Write_more_byte(tra1,2);tra1[0]=0xE1;Write_more_byte(tra1,1);}/*接收数据*///写一个字节到芯片//输入参数:dat:数据voidwrite_one_byte(unsignedchardat){unsignedchari,dd=dat;for(i=0;i〈8;i++){if(dd&0x80)//发送数据{SET_MOSI();}else{CLR_MOSI();}SET_SCK();//发时钟CLR_SCK();dd<〈=1;}}4。4温度采集程序的设计温度采集程序主要是对温度传感器DS18B20编程,向1-线总线上写字节,传送字节和读字节,然后将采集的数据交给单片机进行处理。/*18B20写1个字节函数向1—WIRE总线上写一个字节*/voidwrite_byte(uint8val){ uint8i;for(i=0;i<8;i++) { DQ=1;_nop_();DQ=0; nops();//4us DQ=val&0x01;//最低位移出 delay(6);//66us val>〉=1;//右移一位 } DQ=1;delay(1);}/*18B20读1个字节函数从1—WIRE总线上读取一个字节*/uint8read_byte(void){ uint8i,value=0; for(i=0;i〈8;i++) { DQ=1;_nop_(); value>>=1;DQ=0; nops();//4us DQ=1; nops();//4us if(DQ)value|=0x80;delay(6);//66us } DQ=1;return(value);}4。5显示程序的设计LCD1602显示程序,首先进行1602的初始化,然后就是执行写命令和写数据这两个子函数,实现温度数据的实时显示和按键操作的动态显示./*初始化1602*/voidLCD1602_init(void){ w_cmd(0x38);//16*2显示,5*7点阵,8位数据接口w_cmd(0x0C);//显示器开 w_cmd(0x06);//文字不动,光标自动右移 w_cmd(0x01);//清屏}/*等待繁忙标志*/voidwait(void){ P0=0xFF; do { RS=0;RW=1;EN=0;EN=1; }while(BUSY==1); EN=0;}/*写数据*/voidw_dat(uint8dat){ wait(); EN=0;P0=dat;RS=1;RW=0; EN=1;EN=0;}/*写命令*/voidw_cmd(uint8cmd){ wait();EN=0;P0=cmd;RS=0;RW=0; EN=1;EN=0;}/*发送字符串到LCD*/voidw_string(uint8addr_start,uint8*p){ w_cmd(addr_start|0x80); while(*p!=’\0’){ w_dat(*p++);}}/*发送数字到LCD(00~99)*/voidw_data(uint8addr_start,uint8dat){ w_cmd(addr_start|0x80);w_dat(dat%100/10+'0');w_dat(dat%10+'0');}5仿真与调试由于无线模块NRF24L01在模拟仿真中无法实现,所以采用的是双机通信原理实现部分仿真。当温度低于最低门限值时,红灯亮,报警器报警,LCD显示当前温度;当温度在设置范围类时,LCD显示当前温度;当温度超过最高门限时,黄灯亮,报警器报警。仿真原理图如图6-1所示,仿真结果如图6—2、6-3、6-4所示。图6-1仿真原理图图6-2低于最低门限仿真图图6-3正常范围内仿真图图6-4超出最大门限仿真图6结论本设计以单片机AT89S51为开发平台,NRF24L01无线收发模块,DS18B20温度传感器及LCD1602的特性及工作原理进行了深入研究。通过软件硬件相结合而设计了远程温度显示,远程温度报警系统。89S51单片机的采用,不仅便于数据采集,而且扩展了各种功能,比如显示、外部中断等。NRF24L01无线收发模块集成度高,集合了编码解码,发射接收功能,使用方便,使得系统的硬件和软件简单了许多.“一线”数字温度传感器DS18B20与软件处理相结合,进一步提高了系统的测温精度。在电路的设计中充分考虑了系统的可靠性和安全性.该系统具有操控简单方便、显示直观、功能多样、精确度高、电路简洁、成本低廉等诸多优点。对于单片机爱好者来说,也可以在系统的基础上进行其它功能的开发。经过,部分模拟仿真调试,各项性能指标基本达到预期要求,也遇到一些问题,给系统上电后,液晶屏初始化失败,经检查发现,设计电路中液晶屏的8个数据端口少接了上拉电阻,并且主芯片的31(EA)管脚没有接电源,导致无法访问片内存储器,经过修改后,再次上电后,初始化成功。参考文献[1]于海生,潘松峰,于培仁。微型计算机控制技术[M].北京:清华大学出版社,2009.[2]徐炜,姜晖,崔琛。通信电子技术[M].西安:西安电子科技大学出版社,2008.[3]朱定华.微机原理与接口技术[M].北京:清华大学出版社,2010。[4]李斯伟,雷新生.数据通信技术[M].北京:人民邮电出版社,2009.[5]谢自美。电子线路设计实验测试[M]。武汉:华中科技大学出版社,2010。[6]梁廷贵.遥控电路可控硅触发电路语音电路分册[M].北京:科学技术文献出版社,2011。[7]黄贤武,郑筱霞。传感器原理及其应用[M]。成都:电子科技大学出版社,2010.[8]俞国亮.MCS-51单片机原理与应用[M]。北京:清华大学出版社,2010。[9]夏路易,石宗义.Protell99SE设计教程[M]。北京:北京希望电子出版社,2009。[10]王用伦.微机控制技术[M].重庆:重庆大学出版社,2010。[11]李大寨。传感器电子制作DIY[J].北京:科学出版社,2011。[12]张毅刚。单片机原理及应用[M].北京:高等教育出版社,2010。[13]谭浩强。C语言程序设计教程[M]。北京:高等教育出版社,2010。[14]彭伟。单片机C语言程序设计实训100例[M]。北京:北京航空航天大学出版社,2010.[15]候殿有.单片机C语言设计[M].北京:人民邮电出版社,2010。[16]姜志海,赵艳雷。单片机的C语言[M]。北京:电子工业出版社,2008.[17]郑锋,王巧芝,程丽平。51单片机典型应用开发实例大全[M]。北京:中国铁道工业出版社,2011。[18]杜洋。爱上单片机[M].北京:人民邮电出版社,2011。[19]喻金钱,喻斌。短距离无线通信详解:基于单片机控制[M].北京:北京航空航天大学出版社,2009.[20]谭晖。nRF无线SOC单片机原理与高级应用[M].北京:北京航空航天大学出版社,2009。致谢附录附录Ⅰ系统总原理图附录Ⅱ仿真程序副系统仿真程序#include〈reg52.h>#include〈intrins.h〉typedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguint32;typedefcharint8;typedefintint16;typedeflongint32;sbitDQ=P1^0;//DS18B20sbitLED=P1^1;//LED#definenops();{_nop_();_nop_();_nop_();_nop_();}//定义空指令int8read_temp(void);voidstart_temp_sensor(void);voidtran_init(void);voidsend(int8tem);voiddelay(uint16cnt);/*18B20复位函数*/voidDS18b20_reset(void){ bitflag=1; while(flag) { while(flag) {DQ=1; delay(1); DQ=0; delay(50);//550us DQ=1;// delay(6);//66us flag=DQ;//presence="0继续下一步" } delay(45);//延时500us flag=~DQ; } DQ=1;}/*18B20写1个字节函数向1—WIRE总线上写一个字节*/voidwrite_byte(uint8val){ uint8i; for(i=0;i<8;i++) { DQ=1; _nop_(); DQ=0; nops();//4us DQ=val&0x01;//最低位移出 delay(6);//66us val〉>=1;//右移一位 } DQ=1; delay(1);}/**18B20读1个字节函数从1—WIRE总线上读取一个字节*/uint8read_byte(void){ uint8i,value=0; for(i=0;i〈8;i++) { DQ=1; _nop_(); value>〉=1; DQ=0; nops();//4us DQ=1; nops();//4us if(DQ) value|=0x80; delay(6);//66us } DQ=1; return(value);}voidstart_temp_sensor(void){ DS18b20_reset(); write_byte(0xCC);//发SkipROM命令 write_byte(0x44);//发转换命令}/*读出温度*/int8read_temp(void){ uint8temp_data[2];//读出温度暂放 int16temp; DS18b20_reset();//总线复位 write_byte(0xCC);//发SkipROM命令 write_byte(0xBE);//发读命令 temp_data[0]=read_byte();//温度低8位 temp_data[1]=read_byte();//温度高8位 temp=temp_data[1]; temp〈<=8; temp|=temp_data[0]; temp〉〉=4; return(int8)temp;}/*串口传输*/voidtran_init(void){EA=1;/*CPU开放所有中断*/ES=1; /*允许串行口中断*/TMOD=0x20;/*定时器/计时器T1为定时器模式,工作于方式2*/TH1=0xfd; /*向T1置初值*/TL1=0xfd;PCON=0x00; /*SMOD=0*/SCON=0x50; /*数据串行传输工作于方式1,波特率9600bit/s,允许接收*/TR1=1;} voidsend(int8tem){ SBUF=tem; while(!TI); TI=0;}voiddelay(uint16i){ while(i——);}voiddelay_ms(uint16m){uint16n; for(;m>0;m--) for(n=125;n〉0;n--);}main(){ int8dataout[16]; LED=0;//上电LED亮 tran_init(); while(1) {start_temp_sensor();//初始化18B20 delay_ms(1000); //延时1秒 dataout[0]=read_temp();//读温度 LED=~LED;//重置LED指示灯 send(dataout[0]); }}主系统仿真程序#include<reg52.h>#include<intrins。h〉typedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguint32;typedefcharint8;typedefintint16;typedeflongint32;//LCD1602sbitRS=P1^3;sbitRW=P1^4;sbitEN=P1^5;sbitBUSY=P0^7;//KEYSsbitKey1=P3^4;sbitKey2=P3^5;sbitKey3=P3^6;sbitKey4=P3^7;sbitBUZZ=P1^2;//BUZZER//LEDsbitLED1=P1^0;sbitLED2=P1^1;#defineKEY_DELAY5//按键扫描延时//键值#defineK_ALARM 1#defineK_TL 2#defineK_ADD 3#defineK_SUB 4/*LCD1602显示*/voiddelay1ms(unsignedintms)//延时1毫秒(不够精确的){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j〈100;j++);}/*等待繁忙标志*/voidwait(void){ P0=0xFF; do{ RS=0; RW=1; EN=0; EN=1; }while(BUSY==1); EN=0;}/*写数据*/voidw_dat(uint8dat){delay1ms(1);RS=1;RW=0;EN=0;P0=dat;delay1ms(1);EN=1;delay1ms(1);EN=0; }/*写命令*/voidw_cmd(uint8cmd){ delay1ms(1);RS=0;RW=0;EN=0;P0=cmd;delay1ms(1);EN=1;delay1ms(1);EN=0;}/*发送字符串到LCD*/voidw_string(uint8addr_start,uint8*p){ w_cmd(addr_start|0x80); while(*p!='\0’) { w_dat(*p++); }}/*发送数字到LCD(00~99)*/voidw_data(uint8addr_start,uint8dat){ w_cmd(addr_start|0x80);w_dat(dat%100/10+’0'); w_dat(dat%10+’0');}/*初始化1602*/voidLCD1602_init(void){ delay1ms(15);w_cmd(0x38);delay1ms(5);w_cmd(0x08);delay1ms(5);w_cmd(0x01);delay1ms(5);w_cmd(0x06);delay1ms(5);w_cmd(0x0c);delay1ms(5);}voidrece_init(void){EA=1;/*CPU开放所有中断*/ES=1;/*允许串行口中断*/TMOD=0x20;/*定时器/计时器T1为定时器模式,工作于方式2*/TH1=0xfd;/*向T1置初值*/TL1=0xfd;PCON=0x00;/*SMOD=0*/SCON=0x50;/*数据串行传输工作于方式1,波特率9600bit/s,允许接收*/TR1=1;/*启动定时器T1*/} int8receive(void){ while(!RI); /*等待等待数据接受*/ RI=0; returnSBUF;}/*远程温度控制*/uint32Count=0;uint8Rev_dat[16]=0,Alarm=0,Tl=0;int8k_val=0,Top=40,Low=10;voiddelay(uint16n){ while(n--);}voiddelay_ms(uint16m){uint16n; for(;m>0;m-—) for(n=125;n〉0;n——);}/*按键扫描*/uint8scan_key(void){ uint8val=0; if(Key1==0) { delay_ms(KEY_DELAY); if(Key1==0) val=K_ALARM; while(Key1==0); } if(Key2==0) { delay_ms(KEY_DELAY); if(Key2==0) { val=K_TL; if(Tl==0)//上下限切换 w_string(0x4A,""); else w_string(0x43,""); } while(Key2==0); } if(Key3==0) { delay_ms(KEY_DELAY); if(Key3==0) val=K_ADD; while(Key3==0); } if(Key4==0) { delay_ms(KEY_DELAY); if(Key4==0) val=K_SUB; while(Key4==0); } returnval;}voidbuzzer_sound(uint16t)//蜂鸣器发声{ uint16i; for(i=0;i<t;i++) { BUZZ=~BUZZ;//电平反转 delay(100);//延时 k_val=scan_key();//按键扫描 if(k_val)//判断键值 break; } BUZZ=1;//蜂鸣器不响}voidkey_action(uint8val)//按键处理{ int8tmp; switch(val) { caseK_ALARM://警报方式 if(Alarm〉=2) Alarm=0; else Alarm++; if(Alarm==0)//声音和LED w_string(0x40,"LS”); elseif(Alarm==1)//LED w_string(0x40,"L”); elseif(Alarm==2)//声音 w_string(0x40,"S"); break; caseK_TL: if(Tl>=1)//上下限值加 Tl=0; else Tl++; if(Tl==0) w_string(0x43,”T”);//显示上限标志 else w_string(0x4A,”L”);//显示下限标志 break; caseK_ADD: if(Tl==0) { if(Top<=50)//上下限值减 Top++; if(Top<0) { tmp=-Top; w_string(0x45,”—");//显示负号 w_data(0x46,tmp);//显示数值 } else { w_string(0x45,”+”);//显示正号 w_data(0x46,Top);//显示数值 } } else { if(Low〈Top) Low++; if(Low<0) { tmp=-Low; w_string(0x4C,”-”);//显示负号 w_data(0x4D,tmp);//显示数值 } else { w_string(0x4C,"+”);//显示正号 w_data(0x4D,Low);//显示数值 } } break; caseK_SUB: if(Tl==0) { if(Top〉Low) Top——; if(Top〈0) { tmp=-Top; w_string(0x45,"—");//显示负号 w_data(0x46,tmp);//显示数值 } else { w_string(0x45,"+”);//显示正号 w_data(0x46,Top);//显示数值 } } else { if(Low>=—30) Low——; if(Low<0) { tmp=-Low; w_string(0x4C,”-");//显示负号 w_data(0x4D,tmp);//显示数值 } else { w_string(0x4C,”+");//显示正号 w_data(0x4D,Low);//显示数值 } } break; default:break; }}main(){ uint8k_val; delay_ms(500);//上电延时 LCD1602_init();//LCD初始化 w_string(0x00,"Nosignal!”);//LCD显示 w_string(0x40,”LST:+40CL:+10C");//LCD显示 rece_init(); while(1) { if(k_val==0)//判断是否按键 k_val=scan_key();//扫描按键 if(k_val) { key_action(k_val);//按键操作内容 k_val=0; } Rev_dat[0]=receive(); w_string(0x00,"Temperature:C”); //显示当前温度if(Rev_dat[0]<0)//负温度显示{ Rev_dat[0]=—Rev_dat[0];w_string(0x0C,”-");w_data(0x0D,Rev_dat[0]); }else//正温度显示{w_string(0x0C,"+”);w_data(0x0D,Rev_dat[0]); }if(Rev_dat[0]>Top)//判断温度范围{ if(Alarm==1)//LED{ LED1=0; }elseif(Alarm==2)//SOUND { LED1=1; buzzer_sound(300); }else//ALL { LED1=0; buzzer_sound(300); } }elseif(Rev_dat[0]〈Low) { if(Alarm==1)//LED { LED2=0; } elseif(Alarm==2)//SOUND { LED2=1; buzzer_sound(100); } else//ALL { LED2=0; buzzer_sound(100); } } else//当前温度在正常范围 { LED1=1; LED2=1; }}}基于Arduino的智能环境监控系统设计摘要:针对实时环境状况监测,设计了一种基于Arduino的环境状况监测系统.该系统以ArduinoUNO和各类传感器为核心,设计并编写了ArduinoUNO程序,实现实时、便捷地监测周围环境的温度、湿度、光照及噪音变化情况,并采集传感器数据上传到监测平台.实践表明,该设计能够经济、高效地实现数据采集,可用于实时环境状况的快速监测。关键词:Arduino;智能;环境监测;温湿度监测0引言近两年,工业化进程的日益发展导致环境污染问题日益突出,随着环境状况的不断恶化,各地雾霾天气日益严重,已经影响到了人们的正常出行、生活以及健康,因此人们掌握了解自身所处周边环境状况信息的需求越来越迫切。伴随着当前移动互联网技术的飞速发展,3G、WiFi、GPRS等无线通信方式的实现和广泛应用,都为实时环境状况监测提供了条件,人们可以随时随地了解自己所处的环境状况信息,为出行和生活提供便捷服务,为寻求更加健康的环境提供依据.本文主要研究利用现有的成熟传感技术和互联网技术实现实时获取环境状况信息,这种实现方法简单快速,成本低廉,具有很高的实用性.Arduino是近年来快速流行起来的一种控制器,它是一个硬件平台,使用的核心是一个AVR芯片,整块控制板类似于单片机开发板,但是在功能上强大了很多。本文基于Arduino平台设计一个环境监测系统,用来检测一天中温度、湿度、光照以及噪音变化情况,并将数据写入SD卡中进行分析,具有很高的实用性.ArduinoUNO主控板及传感器Arduino是一款便捷灵活、方便开发者使用和上手的开源电子原型平台,包含各种型号的Arduino板及扩展板硬件资源和ArduinoIDE软件资源。Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是当前硬件开发的趋势.本设计主要采用ArduinoUNO主控板、DHT11温湿度传感器模块、光照强度传感器以及声音传感器,外接SD卡进行数据存储.1。1ArduinoUNO主控板及扩展板Arduino由一个基于AtmelAVR单片机的开放源码的硬件平台和一套专门的开发环境组成。ArduinoUNO[1]是目前使用最广泛的Arduino控制器,具有Arduino的所有基本功能.UNO的处理器核心是ATmega328,它包括14路数字输入/输出接口(其中6路可作为PWM输出,6路模拟输入),一个16MHz晶体振荡器,一个USB接口,一个电源插座,一个ICSP接口和一个复位按钮,其结构和引脚电路[2]。在掌握了ArduinoUNO开发技术以后,就可以将自己编写的代码轻松地移植到其他型号的控制器上,可以用来开发交互产品,比如可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理电子设备等。1.2DHT11温湿度监测模块DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它采用专用的数字模块采集技术和温湿度传感技术,确保该传感器模块具有极高的可靠性与卓越的长期稳定性能[3].DHT11采用单总线方式与Arduino进行数据传输,单线制串行接口使系统集成变得简易快捷.该传感器体积超小、功耗极低,信号传输距离可达20m以上,同时具有精度准确、读取灵敏等优点,使其成为各类应用甚至最为苛刻应用场合的最佳选择。DHT11数字温湿度传感器可以测出实时的环境温度和相对湿度,温度范围为0~50℃,温度的检测精度为1℃;它的相对湿度范围为20%RH~90%RH,检测精度为1%RH,两次读取传感器数据的时间采样周期间隔不低于1s[4]。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,因此该产品具有品质卓越、响应超快、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准,校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。1.3光敏强度传感器热敏模块用于温度检测,对所处环境的温度进行检测,采用NTC10k?赘热敏电阻,灵敏度好,当温度升高时,电阻值会随之降低,模拟值输出为0~1023,结合Arduino的传感器扩展板用模拟口便可以读取模拟值。光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器。当入射光强时电阻减小,入射光弱时电阻增大。光敏电阻器可用来对周围环境光的强度进行检测,结合Arduino控制器可实现光的测量,可通过3P传感器连接线与Arduino专用传感器扩展板结合使用。1。4声音传感器模拟声音传感器声音模块对环境声音强度最敏感,一般用来检测周围环境的声音强度.该传感器在环境声音强度达不到设定阈值时输出高电平,当外界环境声音强度超过设定阈值时输出低电平;小板数字量输出可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的声音;小板数字量输出可以直接驱动继电器模块,由此可以组成一个声控开关,可以使用它制作声控开关等。此传感器只能根据震动原理识别声音的有无,不能识别声音的大小或者特定频率的声音,其灵敏度可通过数字电位器调节.Arduino可以通过模拟输入接口对其输出信号进行采集。硬件设计温度、湿度、光照和声音传感器采集到的都是模拟信号,需要从模拟量转换到数字量,最终实现数字式输出。各个传感器与Arduino连接也非常方便,只需将其输出端接到Arduino相应的数字引脚;也可以采用Arduino传感器扩展板,将传感器的输出端直接连在扩展板上。硬件连接示意图。将DHT11温湿度模块的VCC、GND、DOUT引脚分别接至ArduinoUNO控制板上的+5V、GND、数字端口2,还需要在VCC与DOUT之间串联一个5kΩ的上拉电阻.将光敏传感器的VCC、GND、DOUT引脚分别接至ArduinoUNO控制板上的+5V、GND、模拟引脚端口A0。将声音传感器VCC、GND、DOUT引脚分别接至ArduinoUNO控制板上的+5V、GND、模拟引脚端口A1。将SD卡模块VCC、GND引脚分别接至ArduinoUNO控制板上的+5V和GND,MISO、MOSI、SCLK、CS4个引脚分别连接控制板上的10、11、12、13端口。软件设计3.1ArduinoIDEArduinoIDE是一个专门用来编写Arduino程序的软件,将程序编写好后,就可以通过此软件上传程序到Arduino开发板中执行.AVR单片机中的程序是使用Arduino库写成的,Arduino的集成开发环境使用起来简单方便,简化了单片机工作的流程,对AVR库进行了二次编译封装,把端口都打包好了,寄存器、地址指针之类的基本不用管,大大降低了软件开发难度。在计算机端安装好ArduinoIDE软件开发环境后,使用USB线将ArduinoUNO连接至计算机的USB端口为控制板供电,即可进行程序的编写、下载和调试[5]。3.2实现程序Arduino实现主要程序代码如下:#include&lt;SD。h>;#include<;dht11.h&gt;dht11DHT11;#defineDHT11_PIN2//DHT11引脚#defineLIGHT_PINA0//光敏引脚constintchipSelect=4;//SD卡CS选择引脚voidsetup(){Serial.begin(9600);//初始化串口pinMode(10,OUTPUT);//将SS引脚设置为输出状态,UNO为10号引脚Serial.println("InitializingSDcard&quot;);//初始化SD卡if(!SD。begin(chipSelect)){Serial.println(&quot;initializationfailed!&quot;);return;}Serial。println(&quot;initializationdone.&quot;);}voidloop(){Serial。println(&quot;ReaddatafromDHT11&quot;);DHT11.read(DHT11_PIN);//读取DHT11的数据Serial.println(&quot;ReaddatafromLightSensor&quot;);//读取光敏模块数据intlight=analogRead(LIGHT_PIN);Serial.println(&quot;Openfileandwritedata";);FiledataFile=SD.open(&quot;datalog.txt&quot;,FILE_WRITE);//打开文件并将DHT11检测到的数据写入文件if(dataFile){dataFile.print(DHT11。humidity);dataFile.print(&quot;,&quot;);dataFile.print(DHT11.temperature);dataFile.print(";,";);dataFile.println(light);dataFile.close();}else{Serial.println(&quot;erroropeningdatalog。txt&quot;);}Serial。println(&quot;Waitfornextloop&quot;);//延时1mindelay(60000);}3。3数据导出并绘制图表分析连接的SD卡记录到不同传感器的数据后,通过计算机打开SD卡,可以看到名为datalog.txt的文件,这就是数据记录器所采集到的数据环境。分析数据并绘制图表的方法很多,可以采用很多专业的软件完成.本设计只需要做一些简单的数据分析,因此在Excel中即可完成。将SD卡中数据记录器记录的文本数据导入到Excel中,导入方法如下[6]:(1)首先在EXCEL中选择“文件”→“打开"菜单项,会弹出打开文件窗口,在打开的窗口中将打开文件类型选择为“所有文件(*.*)”,然后打开需要导入的文件并打开;(2)单击“打开"按钮后,会弹出文本导入向导,Excel会对文本进行分行处理和分列处理;(3)被导入的文本按行和列分好后,选择其中的一列数据(即某一传感器的数据),根据数据选择生成相应形式的数据折线图,显示数据的变化情况。结论本设计利用DHT11温湿度传感器、光敏传感器、声音传感器组成了环境监测的基本因素,实现了对温湿度、环境光以及噪音的快捷实时检测,可以方便地掌握自己身处的环境情况.本设计具有价格低廉、轻便简洁、便于携带等特点,可适用于计算机机房、图书馆、储存粮仓、温室大棚测温、空调室温控制等对环境较为敏感和对温度控制要求较高的场所[7]。除此以外,本设计应用领域也比较广泛,包括暖通空调测试及检测设备、汽车、数据记录器、消费品、自动控制、气象站、家电湿度调节器、医疗除湿器等.在不久的将来,随着无线传感器技术ZigBee模块的日趋成熟,无线网络传感器被良好地应用于此设计中,实现网络中各个节点之间信息更加便捷地传输与通信,对环境状态的实时监测将更加方便、及时和有效[8]。基于MCGS组态软件实现自动门设计摘要利用MCGS组态软件,采用模块的形式,制作出自动门的监控画面,工作人员通过监控画面可以实时了解自动门的运行,及时对自动门系统故障进行报警,分析判断故障原因,并通过计算机直接控制自动门的运行。设计具有一定的理论研究和工程实用价值。MCGS是一套用于快速构造和生成计算机监控系统的组态软件,它能够在基于Microsoft的各种32位Windows平台上运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际问题的方案,在工业控制领域有着广泛的应用。关键字自动门,组态软件,监控ABSTRACTThepaperdescribeshowthedynamicmonitoringscreenonHMIfortheautomaticdoor’sautomatedcontrolsystemisdesignedandbuiltbytheconfigurationsoftwareMCGSandinmoduleform。ThestaffcanmonitortheoperationalstatusofthedoorbytheHMI,andgivethealarmintimetosolvetheproblemswithoutdelayifsomeaccidenthappensintheautomaticsystem.Also,thestaffcancontrolthedoor’soperationbyPLC.Itisoftheoreticalandpracticalvalues。MCGSisasetofusedforfaststructureandthegenerationofcomputercontrolsystemintheconfigurationsoftware,itcanbasedonallkindsofMicrosoftin32-bitWindowsplatformoperation,throughtothefielddataoftheacquisitionandprocessing,withanimationdisplay,alarmtreatment,processcontrolandreportoutputandsoonmanykindsofmethodstosolvepracticalproblemsuserswiththesolution,intheindustrialcontrolareainawiderangeofapplications。KeyWords:Automaticdoor,MCGSsoftware,Monitor目录TOC\o”1—3"\h\u209751前言1248241.1立题背景1132691。2研究问题1136991。3设计思路148882运行画面的设计177222。1工程建立1282692.2用户窗口组态2211002.2。1建立画面2277872.2.2编辑画面2160062.2.3主画面的编辑2203462.3定义数据对象341312。4动画连接469272.4。2自动门的设计7238782.4。3密码门的动画设计7206362。4.4开门、关门的动画设计7245342。5小人的动画设计8289012.6滑行车的动画设计8210432。7灯的动画设计8160742.8封面的动画设计976062。8.1小星星绕着椭圆转9205602。8.2当前日期和当前时间的动画设计9210153运行策略组态9104814总结1021765参考文献1112116辞谢121前言1.1立题背景随着科技技术的飞速发展,人民生活水平的逐渐提高,去商场或超市购物的时间越来越多,为了方便顾客随时进入或走出商场或超市,许多商场或超市原来的手推玻璃门逐渐被自动玻璃门所取代,而且商场或超市在冬天或夏天开调,采用自动玻璃门可以减少顾客推门或关门这个烦琐的动作,而且还可提高室内舒适度,自动门已成为人们日常生活中不可缺少的工具,其运行的可靠性也成为们关注的焦点。近几年来随着组态软件的广泛应用,结合门监控系统的实际要求和组态软件的特点开始将组态软件应用到自动门的控制系统。使用工控软件中,我们经常提到组态一词,组态其意义究竟是什么呢?简单的讲,组态就是用应用中提供的工具、方法,完成工程中某一具体任务的过程。组态软件本身所具有的操作简便、可视性好、可维护性强、高性能、高可靠性等突出优点,可以使管理人员不到现场就能直观、清晰、准确地了解门的运行状态,及时对自动门系统中的故障进行报警,分析判断故障原因,并可通过计算机直接控制门的运行,充分提高系统的工作效率和监控力度,保障人们进入和出门的可靠性。与以往自动门控制中采用的单片机等软件相比,MCGS操作更简便,其动画显示使人机界面更加人性化,因此基于组态软件的车库控制系统的研究具有重要的现实意义。1。2研究问题自动门组态控制对象分析:被控对象-—自动门、楼窗、小人、卡车被控参数-—开关门动作、报警灯闪烁控制目标——是自动门能够接收开门、关门、停止等命令,并发出左、右移信号,车停人出现、进门,小人行走,车行驶,窗户的闪烁等自动过程。1.3设计思路本设计中有四个自动门,第一个自动门通过位移传感器检测人的位置来控制门的开关.第二个门通过开关按钮,实现门的。第三个门是密码门,当密码输入时门自动打开.同时对楼房窗户的暗亮进行了控制,使其有规律的闪烁。这些都是通过程序实现的。第四个门通过采用设备中泰PCI-8048芯片通信,采用三个开关控制门的各个状态。2运行画面的设计2。1工程建立进入MCGS组态环境后,单击工具条上的“新建”按钮,或执行“文件”菜单中的“新建工程”命令,系统自动创建一个名为“新建工程X。MCG”的新工程(X为数字,表示建立新工程的顺序,如1、2、3等)。选择文件菜单中的“工程另存为"菜单项,弹出文件保存窗口。在文件名一栏内输入“自动门控制”点击“保存”按钮,工程创建完毕。2。2用户窗口组态2.2。1建立画面在“用户窗口”中单击“新建窗口”按钮,建立完成如下图:图1窗口的建立2.2.2编辑画面设置用户窗口属性:选择带定义的用户窗口图标,点鼠标右键选择属性,弹出“用户窗口属性设置”对话框,按所列款项设置有关属性。图2用户窗口属性2.2.3主画面的编辑MCGS提供了三类图形对象供用户选用,即图元对象、图符对象和动画构件。这些图形对象位于常用符号工具箱和动画工具箱内,用户从工具箱中选择所需要的图形对象,配置在用户窗口内,可以创建各种复杂的图形。图3封面图4主界面图5楼门自动控制门图6成绩界面2。3定义数据对象定义了各个控制的变量图7定义数据对象2.4动画连接到现在为止,我们由图形对象搭制而成的图形界面是静止的,需要我们对这些图形对象进行动画属性设置,使它们“动"起来,真实地描述外界对象的状态变化,达到过程实时监控的目的.MCGS实现图形动画设计的主要方式是将用户窗口中的图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性,这样在系统运行过程中,图形对象的外观和状态特征,就会由数据对象的实时采集结果进行驱动,从而实现图形的动画效果,使图形界面“动”起来。2。4.1大门的动画设计主要是通过开关按钮调用行策略来控制门的开关当按开门时门自动开,当按停止时门自动停止,当按关门时门自动关,各属性属性如下图所示。图8定义门的开关位移图9开门开关的调用程序图10控制门关门的程序图11控制门停止的程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化娱乐产业创新报告:新技术驱动下的产业变革
- 工业互联网平台漏洞扫描技术升级与2025年产业融合深度报告
- 教育行业招生营销数字化策略创新研究报告2025
- 工业互联网平台网络隔离技术在2025年跨行业应用案例分析报告
- 2025年港口物流智能化对港口信息化建设的推动作用报告
- 2025年互联网广告投放算法效果评估与内容营销策略报告
- 2025年金融衍生品市场创新应用与风险预警体系研究报告
- 2025年数字孪生在城市地下空间开发利用中的应用模式深度研究报告
- 2025年财富管理行业服务升级路径报告:客户需求变革与市场机遇
- 2025年绿色消费理念传播与消费行为引导在房地产市场的应用报告
- 森林管护工技师考试试题及答案
- 车棚维修协议书
- 2025年1-氯丁烷项目可行性研究报告
- 【部编版】语文六年级下册古诗词诵读1《采薇(节选)》精美课件
- 2025届高三高考押题预测卷 英语 (新高考Ⅱ卷02) 含解析
- 2024年西安曲江二小教师招聘真题
- 四川省2025届高三第二次联合测评-英语试卷+答案
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
- 2025-2030中国贸易融资行业市场发展现状及发展趋势与投资战略研究报告
- 法院辅警笔试题及答案
- 《小米营销策略》课件
评论
0/150
提交评论