基于MSP430F149的高精度低功耗電能消耗計(jì)量裝置_第1頁(yè)
基于MSP430F149的高精度低功耗電能消耗計(jì)量裝置_第2頁(yè)
基于MSP430F149的高精度低功耗電能消耗計(jì)量裝置_第3頁(yè)
基于MSP430F149的高精度低功耗電能消耗計(jì)量裝置_第4頁(yè)
基于MSP430F149的高精度低功耗電能消耗計(jì)量裝置_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

圖7圖73.4短信模塊采用的是全球鷹SIM900AV3.7模塊,固定時(shí)間給用戶發(fā)送短信,讓用戶了解目前耗電情況。其中部分短信發(fā)送模塊代碼如下。 if(SIM_ONE==0&&Count>2400){ PrintString1("AT+CMGF=1\r\n"); DelaySec(3); PrintString1("AT+CSMP=17,167,2,25\r\n"); DelaySec(3); PrintString1("AT+CSCS=\"UCS2\"\r\n"); DelaySec(3); PrintString1("AT+CMGS=\"00310035003700360034003200340036003000370031\"\r\n");//此處修改為對(duì)方的電話號(hào) DelaySec(3); PrintString1(sms_text);//修改短信內(nèi)容 TX1_write2buff(0x1a); DelaySec(3); SIM_ONE=1; }3.5過流報(bào)警和過流保護(hù)模塊該模塊采用的是聲光報(bào)警方式。用戶可以自行設(shè)置報(bào)警電流閾值,當(dāng)電表監(jiān)測(cè)到用戶的電流大于該閾值的時(shí)候,警示燈會(huì)立即點(diǎn)亮、報(bào)警聲響起,與此同時(shí),控制火線的繼電器會(huì)斷開火線,使用戶財(cái)產(chǎn)不會(huì)遭受進(jìn)一步損失。3.6防竊電模塊系統(tǒng)采用多種方法來防止竊電行為的發(fā)生。第一,本系統(tǒng)時(shí)刻監(jiān)測(cè)著電表兩端的電壓值,一旦有竊電行為,電表兩端電壓接近零伏,本裝置就會(huì)發(fā)送信息島電腦終端;第二,本系統(tǒng)采用在零線上接一個(gè)氖管,一旦出現(xiàn)將零火線反接的竊電行為時(shí),氖管就會(huì)發(fā)光,提示有竊電行為發(fā)生。3.7智能電能表與電腦的通信為了方便管理和消除傳統(tǒng)抄表的繁瑣,我們自己編寫了一款上位機(jī),實(shí)現(xiàn)了智能電表與電網(wǎng)公司的電腦進(jìn)行通信的功能。系統(tǒng)能夠?qū)⒂脩舻暮碾娗闆r實(shí)時(shí)的傳輸?shù)诫娔X的軟件終端,并且可以將是否有竊電行為顯示到電腦上,能夠及時(shí)的預(yù)防竊電行為的發(fā)生。上位機(jī)軟件界面如下圖8所示。圖84、總的電路原理圖及仿真輸出波形電路原理圖5、系統(tǒng)特點(diǎn)與性能第一,功耗低,本系統(tǒng)采用STC公司的低功耗單片機(jī)IAP15F2K61S2、OLED低功耗液晶屏,而且電路結(jié)構(gòu)簡(jiǎn)單,功耗很低。第二,精度高,本系統(tǒng)充分利用IAP15F2K61S2的AD資源,數(shù)據(jù)的精度值得信賴。第三,實(shí)現(xiàn)了人工智能,我們利用準(zhǔn)確計(jì)時(shí)模塊,以固定時(shí)間間隔給用戶發(fā)送信息,通知用戶本月耗電情況,并提醒用戶計(jì)時(shí)繳電費(fèi),以免停電。第四,過流報(bào)警與過流保護(hù),一旦用戶的家用電器發(fā)生短路,電表會(huì)及時(shí)斷開火線,以免用戶財(cái)產(chǎn)遭受進(jìn)一步損失。第五,防竊電功能,本系統(tǒng)實(shí)現(xiàn)多種防竊電方法。第一,本系統(tǒng)時(shí)刻監(jiān)測(cè)著電表兩端的電壓值,一旦有竊電行為,電表兩端電壓接近零伏,本裝置就會(huì)發(fā)送信息到電腦終端,通知電網(wǎng)管理人員;第二,本系統(tǒng)在穿過電流互感器的電線上加了氖管,如果有反接零火線的竊電行為,氖管就會(huì)點(diǎn)亮。本設(shè)計(jì)實(shí)現(xiàn)了對(duì)電網(wǎng)質(zhì)量的測(cè)試,利用互感器對(duì)電流,電壓信號(hào)進(jìn)行信號(hào)采集,用多種方法實(shí)現(xiàn)對(duì)電壓、電流、功率的測(cè)試,經(jīng)過理論推理,計(jì)算出電壓有效值,電流有效值,負(fù)載功率,電網(wǎng)阻抗等,整個(gè)系統(tǒng)原理較為簡(jiǎn)單易于實(shí)現(xiàn),測(cè)試結(jié)果精度較高。利用SIM900A模塊,實(shí)現(xiàn)了固定時(shí)間給用戶發(fā)送短信的功能,使用戶能夠及時(shí)了解本月耗電情況,并及時(shí)繳電費(fèi)以免被停電。并編寫了上位機(jī),實(shí)現(xiàn)了智能電表與電腦的通信,極大方便了電網(wǎng)公司的管理。本系統(tǒng)的設(shè)計(jì)充分利用了MSP430F149單片機(jī)的資源,其中包括單片機(jī)的3路AD口,3個(gè)定時(shí)器T0、T1和T2,2路外部中斷,以及單片機(jī)的2個(gè)串口通訊。6、心得體會(huì)做這個(gè)系統(tǒng)的設(shè)計(jì)不僅是對(duì)自己過去的所學(xué)的知識(shí)做一個(gè)總結(jié),同時(shí)也增強(qiáng)了自己的動(dòng)手能力。它不僅是一門文化課程,教會(huì)了我們科學(xué)技術(shù),也是一門人生課程。我們學(xué)到了許多在課堂上無法學(xué)到的東西。無論遇到怎樣失敗,我們都要從失敗中爬起,哪怕再失敗。這是我們學(xué)習(xí)這門課程十分寶貴的知識(shí)。

我們的設(shè)計(jì)包含了單片機(jī)技術(shù),單片機(jī)技術(shù)是現(xiàn)在的熱門技術(shù),單片機(jī)的應(yīng)用改變了傳統(tǒng)的設(shè)計(jì)思路,以前構(gòu)建一個(gè)系統(tǒng)不僅需用很多的數(shù)字模擬器件或者電路單元來構(gòu)建,而且制作的東西還存在可靠性差、缺乏靈活性、維護(hù)不便、成本高、無法實(shí)現(xiàn)智能化等諸多缺點(diǎn)。單片機(jī)的應(yīng)用解決了很多問題,現(xiàn)在只要寫一個(gè)軟件,通過單片機(jī)和一些簡(jiǎn)單的外接電路就可以實(shí)現(xiàn)具有很多功能的、而且具有智能化的系統(tǒng),同時(shí)可方便升級(jí)維護(hù)。所以單片機(jī)的應(yīng)用廣泛,在日常生活和生產(chǎn)中占用重要位置。我們?cè)谑褂脝纹瑱C(jī)技術(shù)后也深深的體會(huì)到其強(qiáng)大的功能,所以我們意識(shí)到掌握好單片機(jī)技術(shù)是電子專業(yè)學(xué)生必須的。對(duì)英語(yǔ)知識(shí)和專業(yè)英語(yǔ)的學(xué)習(xí),掌握了外文閱讀和外文翻譯的能力,在外文翻譯和查閱外文資料時(shí)候可以得心應(yīng)手;通過C語(yǔ)言的學(xué)習(xí),在編程的時(shí)候也不感覺到非常棘手;計(jì)算機(jī)知識(shí)的學(xué)習(xí),使我能夠熟練使用多種最基本的計(jì)算機(jī)相關(guān)軟件和專業(yè)軟件的使用方法,包括基本的Windows辦公軟件,還有一些專業(yè)軟件,如Protel99、AltiumDesigner等。同時(shí),我們作為一個(gè)團(tuán)隊(duì),我們感受到了團(tuán)隊(duì)精神的重要。團(tuán)結(jié)是整個(gè)團(tuán)隊(duì)的凝聚力。在完成這個(gè)項(xiàng)目是,需要小組所有成員的共同努力,單憑個(gè)人的力量是無法完成的。而每個(gè)人的能力都是不同的,我們要根據(jù)每個(gè)人的實(shí)際情況進(jìn)行分工。力求其在指定時(shí)間里完成任務(wù),這樣才能保證任務(wù)的順利完成。通過以上的設(shè)計(jì)過程,我們不但在知識(shí)上收獲了,而且發(fā)現(xiàn)了自己的一些不足之處:對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻掌握得不夠牢固。通過這次設(shè)計(jì)把知識(shí)溫故知新。同時(shí),我們也對(duì)自己的動(dòng)手能力有所鍛煉,而且一次成功的經(jīng)歷給我增添了不少的信心。在以后的時(shí)間里,我將繼續(xù)努力學(xué)習(xí),除此之外,我還將培養(yǎng)自己的動(dòng)手能力,常動(dòng)手,把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合。我相信長(zhǎng)期堅(jiān)持之后一定會(huì)有更大的提升!在此我們還要感謝在這次設(shè)計(jì)中所有給予我們幫助的人們,謝謝你們!參考文獻(xiàn)【1】謝自美《電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試》武漢:華中理工大學(xué)出版社2000年第二版【2】童詩(shī)白華成英《模擬電子技術(shù)基礎(chǔ)》高等教育出版社【3】邱關(guān)源《電路》高等教育出版附錄#include<msp430f169.h>#include<math.h>#defineCPU_F((double)8000000)//ExternalOSC#definedelay_us(x)__delay_cycles((long)(CPU_F*(double)x/1000000.0))#definedelay_ms(x)__delay_cycles((long)(CPU_F*(double)x/1000.0))#defineDataPortP4OUT#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#defineRS_CLR P5OUT&=~BIT5//RESETRS#defineRS_SET P5OUT|=BIT5//SETRS#defineRW_CLR P5OUT&=~BIT6//RESETRW#defineRW_SET P5OUT|=BIT6//SETRW#defineEN_CLR P5OUT&=~BIT7//RESETE#defineEN_SET P5OUT|=BIT7//SETE#definePSB_CLR P5OUT&=~BIT0//RESETPSBSerial#definePSB_SET P5OUT|=BIT0//SETPSB,Parallel#defineRST_CLR P5OUT&=~BIT1//RESETRST#defineRST_SET P5OUT|=BIT1#defineNum_of_Results200#defineTime_interval30//微秒staticunsignedintindex1,index2;//staticunsignedintA0results[Num_of_Results];//staticunsignedintA1results[Num_of_Results];staticunsignedintVoltage[Num_of_Results];staticunsignedintCurrent[Num_of_Results];staticucharTransOverFlag=1;staticunsignedintperiodN;staticunsignedintindex=0;voidClock_Init(){uchari;BCSCTL1&=~XT2OFF;//TurnXT2BCSCTL2|=SELM1+SELS;//MCLK:8MHZ,SMCLK:8MHZdo{IFG1&=~OFIFG;//ClearXT2ErrorFlagfor(i=100;i>0;i--);}while((IFG1&OFIFG)!=0);//WaitForXT2IFG1&=~OFIFG;}voidClock_Init_Inc(){//DCOCTL=DCO0+DCO1+DCO2;//MaxDCO//BCSCTL1=RSEL0+RSEL1+RSEL2;//XT2on,maxRSELDCOCTL=0x60+0x00;//DCO3MHZ,3030KHZBCSCTL1=DIVA_0+0x07;BCSCTL2=SELM_2+DIVM_0+SELS+DIVS_0;}voidWDT_Init(){WDTCTL=WDTPW+WDTHOLD;//StopWDT}//*************************************************************************// 初始化IO口子程序//*************************************************************************voidPort_init(){ P4SEL=0x00;P4DIR=0xFF;//DATAPORTP5SEL=0x00;P5DIR|=BIT5+BIT6+BIT7;//SETControlPINMODE-->OUT}//***********************************************************************// 顯示屏命令寫入函數(shù)//***********************************************************************voidLCD_write_com(unsignedcharcom){ RS_CLR; RW_CLR; EN_SET; DataPort=com;//WRITECOMMAND delay_ms(5); EN_CLR;}//***********************************************************************// 顯示屏數(shù)據(jù)寫入函數(shù)//***********************************************************************voidLCD_write_data(unsignedchardata){ RS_SET; RW_CLR; EN_SET; DataPort=data;//WRITEDATA delay_ms(5); EN_CLR;}//***********************************************************************// 顯示屏清空顯示//***********************************************************************voidLCD_clear(void){ LCD_write_com(0x01);//ClearSCREEN delay_ms(5);}//***********************************************************************// 顯示屏字符串寫入函數(shù)//***********************************************************************voidLCD_write_str(unsignedcharx,unsignedchary,unsignedchar*s){if(y==0){ LCD_write_com(0x80+x);//THEFIRSTROW}else{ LCD_write_com(0xC0+x);//THESECONDROW}while(*s){ LCD_write_data(*s); s++;}}//***********************************************************************// 顯示屏單字符寫入函數(shù)//***********************************************************************voidLCD_write_char(unsignedcharx,unsignedchary,unsignedchardata){if(y==0){ LCD_write_com(0x80+x);//THEFORSTROW}else{ LCD_write_com(0xC0+x);//THESECONDROW}LCD_write_data(data);}//***********************************************************************// 顯示屏初始化函數(shù)//***********************************************************************voidLCD_init(void){LCD_write_com(0x38); //顯示模式設(shè)置delay_ms(5);LCD_write_com(0x08); //顯示關(guān)閉delay_ms(5);LCD_write_com(0x01); //顯示清屏delay_ms(5);LCD_write_com(0x06); //顯示光標(biāo)移動(dòng)設(shè)置delay_ms(5);LCD_write_com(0x0C); //顯示開及光標(biāo)設(shè)置delay_ms(5);}/*****************求最大值***********************/unsignedintgetMax(unsignedinttemp[]){unsignedintmax=temp[0];for(unsignedinti=0;i<Num_of_Results;i++){if(max<temp[i]){max=temp[i];index1=i;if(temp[i+1]<max)break;}}returnmax;}/************************轉(zhuǎn)換最大值至電壓電流***********/floatmaxTOv(unsignedintvParameter){floattransResult=vParameter/100.5;returntransResult;}floatmaxTOi(unsignedintiParameter){floattransResult=iParameter/10.5;returntransResult;}/**************獲得周期*******************/unsignedintgetPeriod(unsignedinttemp[]){unsignedintperiodN;unsignedinti,num=temp[index1];for(i=index1;i<Num_of_Results;i++){if(num>temp[i]){num=temp[i];index2=i;}}periodN=4*(index2-index1);returnperiodN;}/**************獲得相位差*****************/floatPhaseDiff(unsignedintcurTemp[]){floatdifference;unsignedinti,num=curTemp[index1];for(i=index1;i<Num_of_Results;i++){if(num<curTemp[i]){num=curTemp[i];index2=i;if(curTemp[i+1]<num)break;}}difference=(index2-index1)/periodN;returndifference;}/*******************數(shù)字周期轉(zhuǎn)換至模擬周期*******/floattransTOperiod(unsignedinttemp){returntemp/Time_interval;}/*********數(shù)值提取至數(shù)組用以顯示,****/voiddeltaExtract(floattemp,uinta[]){unsignedinttemp1;if(temp==0){return;}else{temp1=(unsignedint)temp*1000;a[2]=temp1%10;//取個(gè)位a[1]=(temp1/10)%10;//取十位a[0]=(temp1/100);//取百位}}/***********數(shù)值轉(zhuǎn)換至ASCII****************/voidtransTOASCII(unsignedinttemp[],unsignedintnum){for(unsignedinti=0;i<num-1;i++){temp[i]+='0';}temp[num-1]='\0';}voidmain(void){/*****************初始化************************/ WDT_Init();//SetWDT Clock_Init();//ClockInitialize Port_init();//PORTInitialize delay_ms(100);//delay100ms LCD_init();//LCDInitialize LCD_clear();//clearscreenLCD_write_str(0,0,"OSC");delay_ms(1000);/**************************AD轉(zhuǎn)換***************************/P6SEL=0x03;//EnableA/DchannelinputsADC12CTL0=ADC12ON+MSC+SHT0_8+REFON+REF2_5V;//TurnonADC12,extendsamplingtime//toavoidoverflowofresultsADC12CTL1=SHP+CONSEQ_3;//Usesamplingtimer,repeatedsequenceADC12MCTL0=INCH_0+SREF_1;//ref+=2.5V,channel=A0ADC12MCTL1=INCH_1+EOS+SREF_1;//ref+=2.5V,channel=A1endseqADC12IE=0x02;//EnableADC12IFG.3ADC12CTL0|=ENC;//EnableconversionsADC12CTL0|=ADC12SC;//Startconversion_EINT();//globalinterruptwhile(TransOverFlag);//waitforconversionoverLCD_write_str(0,0,"ADC");delay_ms(1000);/*********************處理數(shù)據(jù)*********************************//*for(unsignedi=0;i<Num_of_Results;i++){Voltage[i]=A0results[i];Current[i]=A1results[i];}*/unsignedintvMaxNum;unsignedintcMaxNum;floatMaxVol;floatMaxCur;floatPOWER;floatPERIOD;vMaxNum=getMax(Voltage);//電壓電流最大值cMaxNum=getMax(Current);MaxVol=maxTOv(vMaxNum);//電壓峰值MaxCur=maxTOi(cMaxNum);//電壓峰值floatdelta;floatphaseDiff;floatavoltage;floatacurrent;floatpPara;periodN=getPeriod(Voltage);phaseDiff=PhaseDiff(Current);delta=phaseDiff/periodN;PERIOD=transTOperiod(periodN);//數(shù)字周期轉(zhuǎn)換為模擬周期pPara=cos(delta);//功率因數(shù)POWER=MaxVol*MaxCur*pPara;//功率avoltage=MaxVol/(sqrt(2));//電壓有效值acurrent=MaxCur/(sq

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論