版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
完成时间:2012-6-15工程实践与科技创新工程实践与科技创新水温测控子系统设计报告大组编号:12(组长)、金~海交通大 电子信息与电气工程学交通大学地交通大学地邮FFF摘要:本文介绍了一个水温测控子系统。本系统主要实现测温,控温的功能。 :Thisreportiswrittentointroduceawatertemperaturecontrolsystem.Thissystemcanmeasureandcontroltemperature.Thisfunctioniscarriedoutbytemperaturemeasurepartandtemperaturecontrolpart.Thefirstpartisworkingwithatemperaturesensing ,anditmakestheMCUtodisythetemperaturevolumethroughtheADtransitioncircuit.Thesecondpartincludesarelay.TheMCUofferasignaltotherelayandletitbeonoroff.Thenitcancontroltheelectriccupandthewaterinit.:thermistor,singlechipmachine,relayA/Dconversion,PAGE1交通大学PAGE1交通大学 编写说 缩略 系统指 系统的设计原理与分 系统的设计原 测温部 测温部分总 控温部 控温部分总 单片机子系 总线通信模 设计方 水温测量部分硬件描 热敏电阻简 电压基准源TL431的工作方 运算放大器OP07简 水温控制部分硬件描 水温控制电路总体设 继电器工作方 水温测 主要功 代码说 加热控 主要功 代码说 按键功 硬件部 软件部 测试项 测试的资 及分 误差分 硬件开 软件开 附录一软件程序 按 数码 附录三致 附录四心得体 PAGE1交通大学PAGE1交通大学子模块具体介绍,并在附录中列出了软件程序、水温定标方法等内容。数据结果以便于电子设计者们和专家们的参考借鉴及验证。计者和工程设计人员。 og/DigitConverter模拟/数字信号转换模数转PulseWidthModulation 本系统由温度测量模块、温度控制模块、单片机子系统及总线通口模块组成。其中,温度测量模块完成对温度信号及转换;温度控制模块实现对温度控制信息的转换与传递;单片机子系统从软件角度接收温度信息、本系统控制信息,输出温度控制信息;总线通口模块实现总线数据电平的转换。对于数据转换部分,本模块中利用电阻温度,完成从物理量到电压量的转换;之后利用atmel16,完成从模拟量到数字量的装换。这一点与数据处理部分息数据处理部分的本质上是优化A/D转换的性能。线性化电路的实现有多种方法,如串联电阻、并联电阻、利用运放以及电桥等,比较各种方法的精度复杂程应用到稳压管TL431产生一稳定的参考信号。0~1003078图中,A曲线为纯热敏电阻与温度的对应关系,可以看出热敏电阻与温度的关系是BBTL43136V0.1~100mA,动态电阻典型值0.223.2TL431V=2.5(R1R2)V/R2。如果改变R1的阻值大小,就可以改变输出基准电压大小。PAGE6PAGE6交通大学TL431实现稳压的过程是:当输出电压降低时,fTL431内部放大升高,e点电位降低,经K790调整后,b点电位降低。从而使输出电压稳定。 PAGE12交通大学PAGE12交通大学R5=3KΩ;R7=1KΩ;R10=3.9KΩ变阻器;RL=10KΩ同时通过水温测量电路,将返回的温度信号与用户设定的预期温度进行比较,当单片机将该信号与单片机将该信号与单片机将电压信号单片机作出判断后控制信号经由控温电路控制继电器的112V,87上。老师终于解决了这个问题。if(mode==1)unsignedintvolatiletpc[tprange]digi[0]=0x0b;digi[1]=digi[2]=(tpnow-digi[3]=(tpnow-digi[1]*100-2-3°。我们设定为if(mode==0)//运行模式 {//命令1&0:停止加热{buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x04,0x01,a);}buildInfoFrame(&frame_to_send,0x110x000x04,0x00,0x01a);//响应无错误}{//命令1&1:开始加热{buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x04,0x01,a);}buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x00,0x01,a);}t t PAGE13PAGE13交通大学 led1=elsetp++;}elseled1=//led2=0;elsetp--;}elseled2=//led3=elsetp+=10;} elseled3= PAGE22交通大学PAGE22交通大学//if //PC7,C口第7 运行/调试模式选}elseled4=} led1=PORTB=0; }elseled1=//led2=PORTB= press=}elseled2=//led3=}elseled3=//if //PC7,C口第7 }
}elseled4=}elseled1=//}elseled2=//}elseled3=//if //PC7,C口第7 运行/调试/收发模式选}elseled4=}}电路发现学长的运放电路设计有很大问题,于是我们查阅老师的课件,采用最3A中曾经用过的稳压和放大电路,并且逐步检测每一点的输出电压,终于[2] [3] 万用; 99SE//AVRapplicationbuilder:2010-04-06//Target://Crystal:#include<avr/io.h> struct{charcharcmd2_rtn;charlength;charcharvoidbuildInfoFrame(structInfoFrame*infoframe,charVER,charADR,charCMD1_RSPD,charCMD2_RTN,charLENGTH,char*INFO);intencode(structInfoFrame*infoframe,char*charparseFrame(structInfoFrame*infoframe,char*str,intlengthOfStr);voidsend_rspd(structInfoFrame*rspd);voidsend_rspd1(char*str_to_send,intcharcalcChkSum(structInfoFrame*infoframe){ infoframe->cmd2_rtn+infoframe->length));inti=for(;i<infoframe->length;{temp=(char)(temp+infoframe-}return(char)(~temp+}voidbuildInfoFrame(structInfoFrame*infoframe,charVER,charADR,charCMD1_RSPD,charCMD2_RTN,charLENGTH,char*INFO){infoframe->ver=VER;infoframe->adr=infoframe->cmd2_rtn=CMD2_RTN;infoframe->length=LENGTH;inti=for(;i<infoframe->length;{infoframe->info[i]=}infoframe->chksum=}{unsignedcharhigh=b/if(high>9)return(char)('A'+high-10);elsereturn(char)('0'+high);}{unsignedcharlow=b%if(low>9)return(char)('A'+low-10);elsereturn(char)('0'+low);}chartoSingleChar(charhigh,char{return(high<<4)+low;}intencode(structInfoFrame*infoframe,char*{int{}}voidsetFrame(structInfoFrame*infoframe,char*str,int{infoframe->ver=toSingleChar(str[1],str[2]);infoframe->adr=toSingleChar(str[3],str[4]);infoframe->cmd1_rspd=toSingleChar(str[5],str[6]);infoframe->cmd2_rtn=toSingleChar(str[7],str[8]);infoframe->length=toSingleChar(str[9],str[10]);if((lengthOfStr-14)/2>0{inti=for(;i<(lengthOfStr-14)/2;i++{}}}charparseFrame(structInfoFrame*infoframe,char*str,intlengthOfStr{ str,if(str[0]!='~' elseif(lengthOfStr<14)return255;elseif(toSingleChar(str[1],str[2])!=0x11)return1;elseif(toSingleChar(str[lengthOfStr-3],str[lengthOfStr-2])!=calcChkSum(infoframe))return2;elseif(toSingleChar(str[5],str[6])>3||toSingleChar(str[7],str[8])>3)return3;elseif((lengthOfStr-14)/2!=toSingleChar(str[9],str[10]))return4;return}voidsend_rspd(structInfoFrame*rspd{//PORTD|=charstr_to_send[14+(MAX_INFO_LENGTH<<1)];intcount=0;intlength=encode( {while(!TXC//PORTD&=}voidsend_rspd1(char*str_to_send,int{UCSRA|={}#defineBAUDRATE #defineMAX_INFO_LENGTH_SEND11s软件定时器溢出值,2005ms#defineV_T1s200#defineV_T50ms #definetplow30 #definetprange70 #defineonline0xee #defineansonline0xab //unsignedchar//unsignedchar//1s软件定时器计数unsignedcharclock1s;intvolatile //500msintvolatile////unsignedchar//unsignedchar//unsignedint//unsignedcharvolatile//ADC模块变量intvolatileadc=0;unsignedintvolatileunsignedintvolatile intvolatileintvolatileintvolatileintvolatileunsignedintvolatiletp=30;44,45,46,47,48,49,
//30,31,32,33,34,35,36,37,38,39,40,41,42, //51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,//71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89, 91,92,93,94,95,96,97,98,44,45,46,47,48,49,
//30,31,32,33,34,35,36,37,38,39,40,41,42, //51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,//71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89, 91,92,93,94,95,96,97,98,intcursor_receive=0;intreceive_length=0;intis_recieved=0;intreset=0;intvolatilesend_enable= 7D7~0PGFEDCBAunsignedcharNUMTOSEG7(unsignedcharDATA){switch{case0://case1://case2://case3://case4://case5://case6://case7://case8://case9://case10:AA=0x88;break;//‘A’case11:AA=0x83;break;//‘B’case12:AA=0xc6;break;//‘C’case13:AA=0xa1;break;//‘D’case14:AA=0x86;break;//‘E’case15:AA=0x8e;break;//‘F’caseAA=0xdf;break;//破折号case_':AA=0xf7;break下划线case'':AA=0xff;break;//消隐default:AA=0xff;}}voiddisy_led(unsignedcharseg,unsignedchar{unsignedchar//selPORTA&= //PA7=0;for{if((sel&0x80)== //最送U2SERPORTA&= //PORTA|= PORTA&= PORTA| sel //sel}//seg74hc595for(i=0;i<8;i++){if((seg&0x80)== //最送U2SERPORTA&= PORTA|= PORTA&= PORTA| seg //seg}PORTA|= PA7=1;PORTA& }void{PORTA= 0xE0;PAPA7、PA6、PA5PORTB= 0x01;//PORTB0PORTC0xf0;PCPC7、PC6、PC5、PC4 0x00;PCPORTD=0xFB; //设置RXD0和TXD0DDRD=0x06;}void{UBRRH=(F_CPU/BAUDRATE/16-1)/256;UCSRA=0x00;UCSRC=(1<<URSEL)|0x06;}//TIMER0initialize-//WGM://desiredvalue://actualvalue:200.321Hz(0.2%)voidtimer0_init(void){TCCR0=0x00;//stopTCNT0=0x64;//setcount =0x9C; TCCR0=0x04;//starttimer}intadcs2tp(float{inti=0;return(i+tplow);}{structInfoFrameif(frame_received.adr!=1)return;//地址不匹配,不是水温从系统0x00,a
PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=~(1<<PD2);} {{buildInfoFrame(&frame_to_send,0x110x000x03,0x04,0x01a);//参数段长度错PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}buildInfoFrame(&frame_to_send,0x11,0x00,0x03,0x00,0x01,PORTD|=(1<<PD2);send_rspd(&frame_to_sendPORTD&=} {//命令1&0:停止加热{buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x04,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}buildInfoFrame(&frame_to_send,0x110x000x04,0x00,0x01a);//响应无错误PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}{//命令1&1:开始加热{buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x04,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}buildInfoFrame(&frame_to_send,0x11,0x00,0x04,0x00,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=} {//命令2&0:温 {buildInfoFrame(&frame_to_send,0x11,0x00,0x05,0x04,0x00,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}buildInfoFrame(&frame_to_send,0x11,0x00,0x05,0x00,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=} {//命令3&0{buildInfoFrame(&frame_to_send,0x11,0x00,0x03,0x04,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}buildInfoFrame(&frame_to_send,0x11,0x00,0x03,0x00,0x01,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=}//////////其他情况命令无法识别buildInfoFrame(&frame_to_send,0x11,0x00,frame_received.cmd1_rspd,0x03,0x00,a);PORTD|=(1<<PD2);send_rspd(&frame_to_send);PORTD&=} {TCNT0=0x64;//reloadcounter{}if{clock1s_flag2=clock1s=} led1=elsetp++;}elseled1=//led2=0;elsetp--;}elseled2=//led3=elsetp+=10;}elseled3=//if //PC7,C口第7 运行/调试模式选}elseled4=} led1=PORTB=0; }elseled1=//led2=PORTB= PAGE37PAGE37交通大学press=}elseled2=//led3=}elseled3=}
//if //PC7,C口第7 }elseled4=}elseled1=//}elseled2=//}elseled3=//if //PC7,C口第7 运行/调试/收发模式选led4= }elseled4=}}145ms间隔对一个数码管进行驱动,20msif(++digi_scaner>=5)digi_scaner=1;switch(digi_scaner){case1://output_sel+=case2://output_sel+=case3://output_sel+=case4://output_sel+=} }if(mode==2){chartemp=UDR; {}PAGE39交通大学PAGE39交通大学
{is_recieved=1;}}}//callthisroutinetoinitializeallperipheralsvoidinit_devices(vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保行业污水处理与回用技术解决方案
- 在线教育直播课程合作协议书及条款规定
- 固体饮料的营养价值考核试卷
- 物流仓储业智能仓储机器人应用计划
- 坚果种植营养周期管理考核试卷
- 个人护理品牌市场定位与品牌形象建设策略报告
- 大五人格与职场情商培养
- 固体废物处理与环保型城市建设考核试卷
- 供应链智能监控系统应用与效果评估考核试卷
- 企业内部办公自动化系统开发合同
- 登革热及其防治课件
- 血细胞分离安全护理
- 学校传染病控制课件
- 福建省泉州市2023-2024学年高一上学期期末质检英语试题(解析版)
- 中华人民共和国民法典(总则)培训课件
- 第三单元第1课 标志设计 课件 2024-2025学年人教版(2024)初中美术七年级上册
- 2024年农贸市场日常管理制度例文(四篇)
- 《数字信号处理(第2版)》本科全套教学课件
- 上市央国企数智化进程中人才就业趋势
- 2024版小学科学六年级上册第四单元《能量》教学课件
- 4 古代诗歌四首《 观沧海》教学设计
评论
0/150
提交评论