




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
圖7圖73.4短信模塊采用的是全球鷹SIM900AV3.7模塊,固定時間給用戶發送短信,讓用戶了解目前耗電情況。其中部分短信發送模塊代碼如下。 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");//此處修改為對方的電話號 DelaySec(3); PrintString1(sms_text);//修改短信內容 TX1_write2buff(0x1a); DelaySec(3); SIM_ONE=1; }3.5過流報警和過流保護模塊該模塊采用的是聲光報警方式。用戶可以自行設置報警電流閾值,當電表監測到用戶的電流大于該閾值的時候,警示燈會立即點亮、報警聲響起,與此同時,控制火線的繼電器會斷開火線,使用戶財產不會遭受進一步損失。3.6防竊電模塊系統采用多種方法來防止竊電行為的發生。第一,本系統時刻監測著電表兩端的電壓值,一旦有竊電行為,電表兩端電壓接近零伏,本裝置就會發送信息島電腦終端;第二,本系統采用在零線上接一個氖管,一旦出現將零火線反接的竊電行為時,氖管就會發光,提示有竊電行為發生。3.7智能電能表與電腦的通信為了方便管理和消除傳統抄表的繁瑣,我們自己編寫了一款上位機,實現了智能電表與電網公司的電腦進行通信的功能。系統能夠將用戶的耗電情況實時的傳輸到電腦的軟件終端,并且可以將是否有竊電行為顯示到電腦上,能夠及時的預防竊電行為的發生。上位機軟件界面如下圖8所示。圖84、總的電路原理圖及仿真輸出波形電路原理圖5、系統特點與性能第一,功耗低,本系統采用STC公司的低功耗單片機IAP15F2K61S2、OLED低功耗液晶屏,而且電路結構簡單,功耗很低。第二,精度高,本系統充分利用IAP15F2K61S2的AD資源,數據的精度值得信賴。第三,實現了人工智能,我們利用準確計時模塊,以固定時間間隔給用戶發送信息,通知用戶本月耗電情況,并提醒用戶計時繳電費,以免停電。第四,過流報警與過流保護,一旦用戶的家用電器發生短路,電表會及時斷開火線,以免用戶財產遭受進一步損失。第五,防竊電功能,本系統實現多種防竊電方法。第一,本系統時刻監測著電表兩端的電壓值,一旦有竊電行為,電表兩端電壓接近零伏,本裝置就會發送信息到電腦終端,通知電網管理人員;第二,本系統在穿過電流互感器的電線上加了氖管,如果有反接零火線的竊電行為,氖管就會點亮。本設計實現了對電網質量的測試,利用互感器對電流,電壓信號進行信號采集,用多種方法實現對電壓、電流、功率的測試,經過理論推理,計算出電壓有效值,電流有效值,負載功率,電網阻抗等,整個系統原理較為簡單易于實現,測試結果精度較高。利用SIM900A模塊,實現了固定時間給用戶發送短信的功能,使用戶能夠及時了解本月耗電情況,并及時繳電費以免被停電。并編寫了上位機,實現了智能電表與電腦的通信,極大方便了電網公司的管理。本系統的設計充分利用了MSP430F149單片機的資源,其中包括單片機的3路AD口,3個定時器T0、T1和T2,2路外部中斷,以及單片機的2個串口通訊。6、心得體會做這個系統的設計不僅是對自己過去的所學的知識做一個總結,同時也增強了自己的動手能力。它不僅是一門文化課程,教會了我們科學技術,也是一門人生課程。我們學到了許多在課堂上無法學到的東西。無論遇到怎樣失敗,我們都要從失敗中爬起,哪怕再失敗。這是我們學習這門課程十分寶貴的知識。
我們的設計包含了單片機技術,單片機技術是現在的熱門技術,單片機的應用改變了傳統的設計思路,以前構建一個系統不僅需用很多的數字模擬器件或者電路單元來構建,而且制作的東西還存在可靠性差、缺乏靈活性、維護不便、成本高、無法實現智能化等諸多缺點。單片機的應用解決了很多問題,現在只要寫一個軟件,通過單片機和一些簡單的外接電路就可以實現具有很多功能的、而且具有智能化的系統,同時可方便升級維護。所以單片機的應用廣泛,在日常生活和生產中占用重要位置。我們在使用單片機技術后也深深的體會到其強大的功能,所以我們意識到掌握好單片機技術是電子專業學生必須的。對英語知識和專業英語的學習,掌握了外文閱讀和外文翻譯的能力,在外文翻譯和查閱外文資料時候可以得心應手;通過C語言的學習,在編程的時候也不感覺到非常棘手;計算機知識的學習,使我能夠熟練使用多種最基本的計算機相關軟件和專業軟件的使用方法,包括基本的Windows辦公軟件,還有一些專業軟件,如Protel99、AltiumDesigner等。同時,我們作為一個團隊,我們感受到了團隊精神的重要。團結是整個團隊的凝聚力。在完成這個項目是,需要小組所有成員的共同努力,單憑個人的力量是無法完成的。而每個人的能力都是不同的,我們要根據每個人的實際情況進行分工。力求其在指定時間里完成任務,這樣才能保證任務的順利完成。通過以上的設計過程,我們不但在知識上收獲了,而且發現了自己的一些不足之處:對以前所學過的知識理解得不夠深刻掌握得不夠牢固。通過這次設計把知識溫故知新。同時,我們也對自己的動手能力有所鍛煉,而且一次成功的經歷給我增添了不少的信心。在以后的時間里,我將繼續努力學習,除此之外,我還將培養自己的動手能力,常動手,把所學的理論知識與實踐相結合。我相信長期堅持之后一定會有更大的提升!在此我們還要感謝在這次設計中所有給予我們幫助的人們,謝謝你們!參考文獻【1】謝自美《電子線路設計實驗測試》武漢:華中理工大學出版社2000年第二版【2】童詩白華成英《模擬電子技術基礎》高等教育出版社【3】邱關源《電路》高等教育出版附錄#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}//***********************************************************************// 顯示屏命令寫入函數//***********************************************************************voidLCD_write_com(unsignedcharcom){ RS_CLR; RW_CLR; EN_SET; DataPort=com;//WRITECOMMAND delay_ms(5); EN_CLR;}//***********************************************************************// 顯示屏數據寫入函數//***********************************************************************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);}//***********************************************************************// 顯示屏字符串寫入函數//***********************************************************************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++;}}//***********************************************************************// 顯示屏單字符寫入函數//***********************************************************************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);}//***********************************************************************// 顯示屏初始化函數//***********************************************************************voidLCD_init(void){LCD_write_com(0x38); //顯示模式設置delay_ms(5);LCD_write_com(0x08); //顯示關閉delay_ms(5);LCD_write_com(0x01); //顯示清屏delay_ms(5);LCD_write_com(0x06); //顯示光標移動設置delay_ms(5);LCD_write_com(0x0C); //顯示開及光標設置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;}/************************轉換最大值至電壓電流***********/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;}/*******************數字周期轉換至模擬周期*******/floattransTOperiod(unsignedinttemp){returntemp/Time_interval;}/*********數值提取至數組用以顯示,****/voiddeltaExtract(floattemp,uinta[]){unsignedinttemp1;if(temp==0){return;}else{temp1=(unsignedint)temp*1000;a[2]=temp1%10;//取個位a[1]=(temp1/10)%10;//取十位a[0]=(temp1/100);//取百位}}/***********數值轉換至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轉換***************************/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);/*********************處理數據*********************************//*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);//數字周期轉換為模擬周期pPara=cos(delta);//功率因數POWER=MaxVol*MaxCur*pPara;//功率avoltage=MaxVol/(sqrt(2));//電壓有效值acurrent=MaxCur/(sq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理健康咨詢工作計劃與建議
- 情侶終身合同協議書圖片
- 代理保險合同協議書
- 古董古玩交易合同協議書
- 開會議酒店合同協議書
- 中國刀豆氨酸項目商業計劃書
- 智能農業監控系統創業計劃書
- 裝修公司采購合同協議書
- 社工微信公眾號的運營方案
- 三通氣動旋塞閥項目投資可行性研究分析報告(2024-2030版)
- 偏微分方程的數值解法課后習題答案
- 保密管理-保密教育培訓簽到簿
- 手術室剖宮產護理查房-課件
- 消防檔案范本(企業類)
- 隧道工程隧道洞口臨建施工方案
- 心理咨詢的面談技術
- (word完整版)污水處理廠安全評價報告
- DB50∕T 867.6-2019 安全生產技術規范 第6部分:黑色金屬冶煉企業
- 新產品開發流程課件
- 高中語文部編版選擇性必修下冊第四單元 單元學習導航 課件 (8張PPT)
- 貫徹三標一規范咨詢工作計劃
評論
0/150
提交評論