版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
基于STM32的配電柜運行安全監(jiān)測反饋系統(tǒng)設計摘要近年來隨著經(jīng)濟的快速發(fā)展,電力行業(yè)也實現(xiàn)了飛越性的發(fā)展,電網(wǎng)的智能化發(fā)展是大趨勢和大方向,智能化電網(wǎng)的發(fā)展不僅僅是的電力行業(yè)單方面的發(fā)展,更是多方面技術發(fā)展的集合。在配電系統(tǒng)運行過程中電氣火災是最為重要安全的隱患,調(diào)查表明,電氣火災在各種災害中有著較高的比例,并且可能會給人們帶來嚴重的傷亡和財產(chǎn)損失,嚴重影響人們正常的生產(chǎn)和生活。而配電柜是電氣火災的高發(fā)場所,人們的生產(chǎn)生活與配電柜系統(tǒng)的安全穩(wěn)定運行有著很大的關系。針對配電柜設備安全運行的火災隱患監(jiān)測和排查也顯得十分重要。設計的系統(tǒng)下位機采用KeiluVision5軟??件進行開發(fā)板和各種傳感器的驅(qū)動和邏輯??,C??語言編??程,上??位機系??統(tǒng)使用QT平臺環(huán)??境開發(fā)??,MYS??QL數(shù)??據(jù)庫儲存??數(shù)據(jù),實現(xiàn)了配電柜的實時監(jiān)測和控制,大大減少了配電柜故障帶來的人員傷亡和財產(chǎn)損失。關鍵詞:STM32單片機;QT;配電柜監(jiān)測
目錄 TOC\o"1-3"\h\u第1章緒論 在平時的生活中和工業(yè)的生產(chǎn)的地方的濕度通常接近RH%。例如,在100%的時間內(nèi)氣體中的所有水蒸氣(一般的話是在氣體中的)與氣體飽和。濕度、泄漏、相對濕度、和干氣(純重量或體積)濕度的測量方法范圍很廣,包括:動態(tài)方法(生物燃料、生物燃料、分離)、靜態(tài)數(shù)據(jù)方法(飽和鹽飽和法、鹽酸法)、泄漏方法、干燥劑和電子傳感器。雙壓力法和P、V和T的雙溫和力平衡原理,長期平衡。分離方法是基于特定濕度和絕對干燥氣體的精確混合物。由于現(xiàn)代測量和控制技術,這些設備的制造精度很高。但由于其多樣性、高昂的成本和長期的實際工作,用于精確測量的精確測量精確到rh的負2%。靜態(tài)鹽飽和法是最常見的測量濕度的方法,精確而簡潔。但是飽和鹽的方法對有效的液體色譜平衡和氣相色譜有嚴格的要求,這需要更高的溫度可靠性。清醒的平衡必須是長期的,濕度必須是長期的。特別是當房間里的濕度和瓶子里的濕度差不多時,打開的蓋子每次需要平衡6到8個小時。泄漏點在飽和時精確地測量飽和蒸汽的溫度,這也是比較科學的結(jié)果。高精度,范圍廣泛。高精度的露珠可以達到-0.2或更高的精度。然而,基于現(xiàn)代光學原理的工具更昂貴,而且通常含有標準濕度發(fā)生器。干球濕法,發(fā)明于18世紀。它有著悠久的歷史,并得到普遍應用。濕度范圍干洗方法是一種interassiale方法,使用滾珠方程的濕式濕度值,這個公式轉(zhuǎn)化為潮濕的:風球周圍必須超過2.5m/s,這是同樣簡單,因此,只有7%的RH的精確度。在這個系統(tǒng)的設計中,需要有溫度和濕度,因此需要選擇DHT11。如圖3-3溫濕度傳感器。圖2.3DHT11溫濕度傳感DHT11在市面上有很多種傳感器,可以分為數(shù)字型和模擬型的傳感器,數(shù)字型傳感器采集到的就是數(shù)字量,可以直接交給cpu處理,可以采集的濕度范圍為20~90%,采集的溫度范圍為0~50℃。DHT11是典型的1-wrie式的接口設備,傳輸?shù)臄?shù)據(jù)根據(jù)高電平持續(xù)時間長短進行區(qū)分,DHT11在長期未知的穩(wěn)定性和安全性方面也有非常出色的表現(xiàn)。檢測傳感器涵蓋電壓電流型溫濕度檢測傳感器電路元件和NTC紅外測溫電路元件,與高性能8位數(shù)字信號處理器相連。2.4.4蜂鳴器蜂鳴器廣泛應用于產(chǎn)生機器的按鍵響聲和警示信號,因為它可以將電信號轉(zhuǎn)化為聲音信號的電子裝置,它有著不同的驅(qū)動的方式,因此可以分為有源蜂鳴器和無源蜂鳴器。不帶有內(nèi)置振蕩器的蜂鳴器為無源蜂鳴器,它只是由一個電磁鐵和一個震動片組成。當通過它的引腳通以交流信號時,震動片會產(chǎn)生機械振動并發(fā)出聲音,因此無源蜂鳴器不需要外部電源,也不需要控制電路。而有源蜂鳴器則是一種內(nèi)置了振蕩器的蜂鳴器。當通過它的引腳通以直流信號時,振蕩器會產(chǎn)生一定頻率的交流信號,從而讓蜂鳴器發(fā)出聲音。由于內(nèi)置振蕩器需要一定的電源供應和控制電路,因此有源蜂鳴器需要外部電源才能正常工作。蜂鳴器還分為積極和消極兩種,正極帶有“+”符號。若不削減銷,蜂鳴器將持續(xù)發(fā)出聲音。由于單片機驅(qū)動能力有限,不能直接驅(qū)動蜂鳴器,需使用NPN三極管驅(qū)動器。晶體管驅(qū)動器可以保證蜂鳴器的力量,從而發(fā)出清晰的聲響,R1扮演著限流電阻的角色。需要注意的是單片機引腳輸出低電平導通、輸出高電平斷開的特點。蜂鳴器如下圖。圖2.4蜂鳴器2.4.5空氣傳感器MQ135空氣污染報警器具有良好的靈敏度,適用于濃度范圍較寬的有害氣體。該傳感器的作用是可以檢測到大量的對于生物有害的氣體,是一種適配度極高的成本比較低的傳感器。該傳感器的工作需要用到兩個電壓:熱電壓(VH)和電壓測試(VC)。為MQ-135創(chuàng)建特定的工作溫度是VH。在另一方面,用VC檢測連接到傳感器的負載電阻(VRL)中的電壓(VRL)。在一定的條件下,兩個電壓可以使用同等的輸電模式,因為傳感器有一些偏振光,而熱電壓需要持久的電源。該空氣傳感器的電路比較簡單。該傳感器凈化空氣是的電導率比較低,當所使用的傳感器所在的周圍的環(huán)境中存在一些垃圾時,傳感器中的的電導率會隨著空氣中垃圾氣味的增加而增加。電導率的各種變化會通過簡單的電路轉(zhuǎn)換為輸出的信號,與氣體濃度相對應。MQ135傳感器的敏感度超高,這使得它非常適合監(jiān)測煙霧和其他危害。為了充分利用傳感器的性能,您需要選擇正確的RL值。結(jié)構(gòu)形狀:將mq135Al2O3陶瓷管、SnO2敏感層、測量電極和加熱器固定在塑料或不銹鋼制成的腔體內(nèi)。加熱器為敏感氣體元件提供所需的工作條件。傳感器有4個引腳。圖2.5MQ1352.4.6煙霧傳感器MQ-2煙霧傳感器可以檢測環(huán)境中很多的可燃燒氣體,比如說有甲烷、液化石油氣、煙霧、甲烷、丙烷和丁烷等。它是一種用于檢測宿舍、大樓、辦公室或工廠的煙霧或者氣體泄漏的監(jiān)測設備。圖2.6MQ-2
第3章系統(tǒng)總體結(jié)構(gòu)3.1設計方案本次設計使用STM32F103C8T6作為微處理器。系統(tǒng)可以進行五個方向的劃分:第一是上位機,第二是關于上位機和下位機的通訊,第三是檢測人員模塊(通過溫度和移動監(jiān)測來監(jiān)控人員),第四是采集,第五是展示模塊各個模塊均可進一步詳細分解。上位機系統(tǒng)采用Qt平臺環(huán)境開發(fā),使用的是C語言編程,并且利用MYSQL數(shù)據(jù)庫進行數(shù)據(jù)的存儲。該系統(tǒng)采用NB-IOT窄帶物聯(lián)網(wǎng)進行通信,在PC端用戶可以設置溫濕度的最大值和最小值、負載功率的最大值,并且可以實時的查看從下位機發(fā)送來的各種信息,系統(tǒng)同時提供數(shù)據(jù)庫的記錄功能,并且在異常情況下會顯示警報信息。系統(tǒng)結(jié)構(gòu)如圖3.1:門閥開關繼電器NB-IOT門閥開關繼電器NB-IOTNB-IOTPNB-IOTPC端溫濕度傳感器溫濕度傳感器煙霧傳感器單片機煙霧傳感器單片機空氣傳感器空氣傳感器電流傳感器電流傳感器紅外傳感器紅外傳感器圖3.1系統(tǒng)結(jié)構(gòu)圖3.2功能需求分析3.2.1技術路線1.硬件部分需要單片機STM32F103C8T6、DHT11、MQ-2、MQ135等;2.軟件平臺程序用KeiluVision5;3.編程語言用C語言;4.用戶信息顯示查看;3.2.2預期結(jié)果此設計預期的結(jié)果是經(jīng)過學習各種知識,最終完成:1.上位機功能:(1)上位機實時顯示下位機采集的數(shù)據(jù)。(2)將下位機采集的溫度、濕度、空氣質(zhì)量、煙霧濃度、電壓、電流、功率、人員數(shù)據(jù)和時間信息存儲到數(shù)據(jù)庫中。(3)設置溫濕度、空氣、煙霧和功率的閾值(4)設置布防、關閉布防(5)開啟閥門、關閉閥門上位機功能上位機功能設置布防設置閾值存儲數(shù)據(jù)顯示數(shù)據(jù)開關閥門設置布防設置閾值存儲數(shù)據(jù)顯示數(shù)據(jù)開關閥門圖3.1上位機功能圖2.下位機功能:(1)實時監(jiān)測各種傳感器信息(2)在OLED顯示屏上顯示監(jiān)測的數(shù)據(jù)(3)開關閥門(4)人為調(diào)節(jié)電壓、電流、功率大小(5)上位機和下位機的通信下位機功能下位機功能開關閥門監(jiān)測數(shù)據(jù)顯示數(shù)據(jù)調(diào)節(jié)信息通信開關閥門監(jiān)測數(shù)據(jù)顯示數(shù)據(jù)調(diào)節(jié)信息通信圖3.2上位機功能圖3.3總體方案設計第一:認真整理自己用到的各種知識,然后逐個突破,認真學習,然后理清設計的大概思路。第二:劃分好各個模塊,以及確定好各模塊需要實現(xiàn)的功能。第三:根據(jù)劃分的模塊畫出大概框架。第四:挑選出適合自己設計的各個硬件,并根據(jù)其原理圖組裝起來。第五:編寫軟硬件代碼,畫出主流程圖。第六:最后進行檢查,檢查最后實現(xiàn)的效果和功能是否有故障,能否完美運行起來。第4章系統(tǒng)的硬件部分設計4.1系統(tǒng)硬件設計本次設計以STM32F103C8T6為主控制芯片。首先需要初始化各種傳感器,傳感器初始化完畢后,各種傳感器就開始采集信息并顯示在OLED顯示屏上。開始開始初始化傳感器初始化傳感器信息采集信息采集OOLED顯示是否超過閾值是否超過閾值 N Y蜂鳴器報警蜂鳴器報警結(jié)束結(jié)束圖4.1上位機功能圖4.2系統(tǒng)的主要功能模塊設計4.2.1液晶顯示模塊設計1.漢字顯示:(1)打開取字模軟件.(2)在文字輸入?yún)^(qū)輸入想要顯示的文字(3)按ctrl+enter鍵,就會在上面顯示出文字的字模(4)點擊c51格式(5)將點陣生成區(qū)生成的字模粘貼到oledfont.h中2.通信開始信號是在時鐘線處于高的電平時,數(shù)據(jù)線變換為低的電平,由此產(chǎn)生了一個下降沿。等待信號是在第九個時鐘周期,是在時鐘線高的時候,接收的一方把數(shù)據(jù)線拉低.在通信時用2根線:1根數(shù)據(jù)線和1根時鐘線。開始空閑狀態(tài)下,SDA和SDL處于高電平。首先,單片機發(fā)送一個啟動信號master等待ACK(NACK是在第9個時鐘周期,當SCL高時,接收器拉高SDA)master發(fā)送或接收一個字節(jié)的數(shù)據(jù)(低的時候發(fā)送高的時候取下來,時鐘線低的時候,接收的一方拉高數(shù)據(jù)線)。將數(shù)據(jù)放在SDA上,并在SCL較高時從SDA上取下數(shù)據(jù))。master發(fā)送或接收數(shù)據(jù)的最后一個字節(jié)。發(fā)送或接收數(shù)據(jù)的最后一個字節(jié)的數(shù)據(jù)。master發(fā)出停止的信號。SDA便從低電平變?yōu)楦唠娖剑a(chǎn)生了一個上升的邊緣。圖4.2OLED顯示屏4.2.2溫濕度測量模塊設計初始化DHT11的話首先需要使能APB2時鐘并且設置PA7引腳為推挽輸出。然后需要復位DHT11需要先拉高DQ,拉低最少18ms,然后讓DQ等于1,主機在拉高20~40us,然后等待DHT11回應,如果函數(shù)返回1就是未檢測到傳感器的存在,如果返回0的話,傳感器存在。使用的通信方式為串行通信(單向雙線)。8bit的濕度整數(shù)數(shù)據(jù)+8bit的濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度十進制數(shù)據(jù)+8bit校驗位。注:溫度和濕度的小數(shù)部分為0。開始開始初始化并檢測D初始化并檢測DHT11是否存 N Y發(fā)送采集的數(shù)據(jù)發(fā)送采集的數(shù)據(jù)結(jié)束結(jié)束圖4.3DHT11設計流程圖4.2.3煙霧傳感模塊設計MQ-2煙霧傳感器中VCC是電源的正接口,外部3.3~5v,電源接地:電源的負接口。模塊的VCC和GND在杜邦線的幫助下連接到由MCU控制的3v3和GND。將DO連接到微控制器控制的GPIO;將AO連接到MCU、ADC以檢測采樣通道。檢測傳感器接上電源后,要提前預熱60秒左右,能夠直接測量數(shù)據(jù)庫中的數(shù)據(jù),比較穩(wěn)定。接通電源后,檢測傳感器如果正常的話會有簡單的發(fā)熱現(xiàn)象,因為有外接的發(fā)熱絲。當燃燒氣體之后產(chǎn)生的氣體濃度低于自己設定的閾值時,DO輸出的電平就為高的電平,當燃燒氣體之后產(chǎn)生的氣體濃度高于設定閾值時,DO就會輸出低的電平。AO輸出的是模擬,這點與DO不一樣,模塊內(nèi)的藍色的燈用于調(diào)節(jié)順時針旋轉(zhuǎn)的閾值,當設定的閾值越大,逆時針旋轉(zhuǎn)就會越來越小。AO需要連接到MCU的ADC來檢測采樣通道。單片機控制可借助模擬信號得到易燃易爆氣體的氫離子濃度。4.2.4繼電器模塊設計此模塊中繼電器的作用是用來模擬門閥開關,當上位機點擊開啟閥門時,繼電器上的綠燈就會發(fā)亮,當上位機點擊關閉閥門時,繼電器上的綠燈就會熄滅,針腳編號都可以在繼電器正面看得到。從圖中可以看到,繼電器控制端分別接到了stm32c8t6的VCC+5,接地和PB9管腳處;圖4.4繼電器接線圖4.2.5電流傳感模塊設計首先將霍爾電流傳感器跟單片機進行連接,霍爾電流傳感器有三個引腳:電源引腳、地引腳和輸出引腳。將電源引腳連接到正電源上+5V,將地引腳連接到CND上,將輸出引腳連接到STM32單片機的ADC輸入引腳PA5上。然后配置STM32單片機的ADC模塊,以讀取霍爾電流傳感器的輸出電壓信號。ADC模塊需要初始化,先使能ADC1通道時鐘,設置ADC分頻因子6,72M/6=12,ADC最大時間不能超過14M,將PA5作為模擬通道輸入引腳,復位ADC1,將外設ADC1的全部寄存器重設為缺省值,ADC的工作模式設為獨立模式,模數(shù)轉(zhuǎn)換工作在單次轉(zhuǎn)換模式,轉(zhuǎn)換由軟件而不是外部觸發(fā)啟動,ADC的數(shù)據(jù)設置為右對齊,順序進行規(guī)則轉(zhuǎn)換的ADC通道的數(shù)目為1,然后根據(jù)ADC_InitAtruct中指定的參數(shù)初始化外設ADC1的寄存器,使能指定的ADC1,使能復位校準,等待復位校準結(jié)束,開啟AD校準,等待校準結(jié)束。然后獲得ADC值,設置指定ADC的規(guī)則組通道,一個序列,采樣時間,采樣時間為239.5周期,然后使能指定的ADC1的軟件轉(zhuǎn)換啟動功能,等待轉(zhuǎn)換結(jié)束,就會返回最近一次ADC1規(guī)則組的轉(zhuǎn)換結(jié)果。主要代碼如下:voidAdc_Init(void){ ADC_InitTypeDefADC_InitStructure; GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1 ,ENABLE); RCC_ADCCLKConfig(RCC_PCLK2_Div6); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOA,&GPIO_InitStructure); ADC_DeInit(ADC1); ADC_InitStructure.ADC_Mode=ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode=DISABLE; ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel=1; ADC_Init(ADC1,&ADC_InitStructure); ADC_Cmd(ADC1,ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); } 4.2.6NB-IOT通信模塊設計先初始化NB-IOT模塊。通過發(fā)送AT指令,將NB-IOT模塊初始化為指定的工作模式(如TCP/UDP)并連接到目標服務器,以準備進行數(shù)據(jù)傳輸操作。初始化NB-IOT模塊需要通過USART(串口)向NB-IOT模塊發(fā)送AT指令,用于檢測和配置NB-IOT模塊的串口通信參數(shù)、SIM卡是否插入、注冊網(wǎng)絡等參數(shù);等待NB-IOT模塊響應AT指令并返回相關配置信息;根據(jù)NB-IOT模塊返回的信息,繼續(xù)執(zhí)行后續(xù)的TCP/UDP連接操作。關鍵代碼如下://定義NB-IOT模塊的串口#defineNBIOT_UARTUSART1#defineNBIOT_UART_BAUD115200//初始化NBIOT模塊voidNBIOT_Init(void){//配置NB-IOT模塊的串口USART_InitTypeDefUSART_InitStruct;USART_StructInit(&USART_InitStruct);USART_InitStruct.USART_BaudRate=NBIOT_UART_BAUD;USART_Init(NBIOT_UART,&USART_InitStruct);//等待NB-IOT模塊啟動完成HAL_Delay(1000);//檢測NB-IOT模塊是否正常工作NBIOT_SendAT("AT");if(NBIOT_WaitForResponse("OK",2000)!=NBIOT_RESPONSE_OK){printf("FailedtoinitializeNBIOTmodule.\r\n");return;}//設置NB-IOT模塊為透傳模式NBIOT_SendAT("AT+CIPMODE=1");if(NBIOT_WaitForResponse("OK",2000)!=NBIOT_RESPONSE_OK){printf("FailedtosetNBIOTmoduletotransparentmode.\r\n");return;}//重啟NB-IOT模塊NBIOT_SendAT("AT+NRB");if(NBIOT_WaitForResponse("REBOOTING",5000)!=NBIOT_RESPONSE_OK){printf("FailedtorebootNBIOTmodule.\r\n");return;}//等待NB-IOT模塊重新啟動完成HAL_Delay(5000);//檢查NB-IOT模塊是否成功注冊到網(wǎng)絡NBIOT_SendAT("AT+CEREG?");If(NBIOT_WaitForResponse("+CEREG:0,1",2000)!=NBIOT_RESPONSE_OK){printf("FailedtoregisterNBIOTmoduletonetwork.\r\n");return;}printf("NBIOTmoduleinitializedsuccessfully.\r\n");}在上述代碼中,我們首先配置了NB-IOT模塊的串口通信參數(shù),并通過發(fā)送AT指令檢測NB-IOT模塊是否正常工作。如果NB-IOT模塊無法響應,則無法進行后續(xù)的通信操作。接著,我們將NB-IOT模塊設置為透傳模式,并通過發(fā)送AT指令重新啟動NB-IOT模塊以使其生效。然后發(fā)送數(shù)據(jù)的話。在準備就緒之后,可以向NB-IOT模塊中寫入需要發(fā)送的數(shù)據(jù)(例如傳感器采集的數(shù)據(jù)等),并將其發(fā)送到目標服務器上。在實際操作中,可以先將數(shù)據(jù)存儲到緩沖區(qū)中,在滿足一定條件時再觸發(fā)數(shù)據(jù)發(fā)送操作。接收數(shù)據(jù)需要在NB-IOT模塊發(fā)送數(shù)據(jù)到目標服務器之后,需要等待目標服務器的響應消息??梢酝ㄟ^輪詢或中斷方式檢測是否有新的數(shù)據(jù)到來,并將其保存到接收緩沖區(qū)中。同時,需要對接收到的數(shù)據(jù)進行解析和處理,以便最終可以將數(shù)據(jù)展示給上位機。與上位機通信。在完成NB-IOT模塊和服務器之間通信之后,需要將數(shù)據(jù)傳輸?shù)缴衔粰C中。這可以通過使用串口或其他通信協(xié)議實現(xiàn)。在向上位機發(fā)送數(shù)據(jù)時,需要按照一定的格式進行封裝和傳輸,從而方便上位機客戶端進行解析。最后,我們通過發(fā)送AT指令檢查NB-IOT模塊是否已成功注冊到網(wǎng)絡。如果注冊失敗,則需要重新調(diào)整配置參數(shù)并嘗試重新注冊。第5章系統(tǒng)的軟件設計5.1軟件主流程圖首先,系統(tǒng)開始初始化,初始化各種傳感器,將采集到的各種信息顯示到OLED上并且通過通信模塊顯示并發(fā)送到PC端,并把采集到的人員有無、溫濕度、電壓、空氣、電壓、煙霧濃度等的信息在Qt設計的頁面顯示,并且存儲到數(shù)據(jù)庫中。設置為防御模式時,當監(jiān)測到有人員信息時,就會發(fā)出警示。開始開始系統(tǒng)初始化系統(tǒng)初始化通信連接通信連接各項數(shù)據(jù)監(jiān)測各項數(shù)據(jù)監(jiān)測數(shù)據(jù)超過閾值數(shù)據(jù)超過閾值 N Y蜂鳴器報警蜂鳴器報警結(jié)束結(jié)束圖5.1總體流程圖5.2系統(tǒng)界面的軟件設計上位機的系統(tǒng)界面設計采用的QT,頂部為系統(tǒng)名,中間區(qū)域用于顯示監(jiān)測數(shù)據(jù),主要包括時間的顯示,溫度的顯示,濕度的顯示,空氣濃度的顯示,煙霧濃度的顯示,電壓的顯示,電流的顯示,功率的顯示,人員的顯示,底部用于控制系統(tǒng)的行為,如設置布防,開關閥門,右側(cè)用于更新閾值。圖5.2界面設計圖5.3布防模塊的軟件設計當板子上電之后,就可以實時的監(jiān)測配電機柜的各種數(shù)據(jù)了,當其中的某一項的數(shù)據(jù)超過設置的最大值時就會讓蜂鳴器發(fā)出響聲并且在PC端的界面上顯示出來。圖5.3警報提示圖5.4通訊模塊的設計首先通過new關鍵字創(chuàng)建一個QTcpSocket對象,并將其作為成員變量添加到當前類中。ui->lineEdit->text()和ui->lineEdit_2->text()分別獲取了界面上兩個LineEdit控件中輸入的IP地址和端口號信息。調(diào)用tcpSocket對象的abort()函數(shù),確保之前的連接已被關閉。調(diào)用tcpSocket對象的connectToHost()函數(shù),使用輸入的IP地址和端口號信息連接服務器。端口號為8080。首先使用waitForConnected()函數(shù)等待2秒(2000毫秒)以確保與服務器成功建立連接。如果連接失敗,則會輸出"connectisfailed!",并退出函數(shù)。如果成功連接服務器,則會輸出"connectissuccessful",表示連接成功。最后,使用connect()函數(shù)連接readyRead()信號和revData()槽函數(shù)。當有數(shù)據(jù)可讀時,TCP套接字會發(fā)出readyRead()信號,該信號被連接到revData()槽函數(shù)以讀取和處理數(shù)據(jù)。關鍵代碼如下:tcpSocket=newQTcpSocket(this);port=ui->lineEdit->text();ip=ui->lineEdit_2->text();tcpSocket->abort();tcpSocket->connectToHost(ip,8080);if(!tcpSocket->waitForConnected(2000)){qDebug()<<"connectisfailed!";return;}qDebug()<<"connectissuccessful";connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(revData()));5.5數(shù)據(jù)庫模塊的設計系統(tǒng)采用MYSQL數(shù)據(jù)庫管理系統(tǒng),建立的數(shù)據(jù)庫名為jianjiesql。有1個信息表,數(shù)據(jù)庫的表項建立如下:表5.1信息表序號字段名稱字段說明類型允許為空備注1ididint(11)否主鍵2tem1溫度varchar(40)否3shi濕度varchar(40)否4kq空氣質(zhì)量varchar(40)否5yan煙霧濃度varchar(40)否6dy電壓varchar(40)否7dl電流varchar(40)否8gl功率varchar(40)否9ren人員varchar(40)否10time時間varchar(40)否QT部分實現(xiàn)代碼如下:data_table=data_db.createDateBases("jiangjiesql");if(!data_table.open()){QMessageBox::information(this,"警告","數(shù)據(jù)庫打開失敗,請重啟軟件!");return;}QSqlQueryquery(data_table);query.exec("createtablehuan(idintegerprimarykeyAUTOINCREMENT,tem1varchar(40),shivarchar(40),kqvarchar(40),""yanvarchar(40),dyvarchar(40),dlvarchar(40),glvarchar(40),renvarchar(40),timevarchar(40))");query.exec();第6章系統(tǒng)測試6.1系統(tǒng)實物圖圖6.1系統(tǒng)完整實物圖6.2顯示功能測試在上位機界面設置溫度的下限為12,上限為99,濕度的閾值為99,空氣濃度閾值為400,煙霧濃度閾值為879,功率閾值為89,如圖所示圖6.2顯示功能上位機測試圖此時下位機中的顯示屏中前列顯示實時溫度濕度空氣質(zhì)量和煙霧濃度,后列則表示設置的閾值,與系統(tǒng)界面一致,測試成功,如圖所示圖6.3顯示功能下位機測試圖6.3布防功能測試當上位機設置為布防模式時,下位機檢測到人員接近,就會發(fā)出警報并在上位機提示,如圖所示:圖6.4系統(tǒng)預警物圖6.4本章小結(jié)在該章中,對系統(tǒng)進行測試并并分析,測試溫濕度采集正常,用手捏住DHT11,就會發(fā)現(xiàn)顯示屏和上位機中溫濕度在逐漸增加;可以設置閾值當溫濕度值超出閾值時,蜂鳴器就會報警提示,煙霧采集也正常顯示,制造出一些煙霧,顯示屏和上位機中煙霧值也在逐漸增加;然后是空氣濃度的采集也正常顯示,在空氣不好的情況下,值也在逐漸增大;空氣質(zhì)量和煙霧濃度超出閾值時也警報提示;按鍵控制界面正常切換,界面1有溫濕度,空氣濃度和煙霧濃度,界面2有電壓電流和功率,還有人員檢測模塊;可調(diào)電阻是用小螺絲刀輕輕轉(zhuǎn)動分壓器電壓電流和功率都會發(fā)生變化,當超出閾值時,也會報警提示;人員檢測模塊,當紅外傳感器識別到人時,上位機就會顯示有人,但是如果想要蜂鳴器示警的話,需要提前設置為布防模式;上位機正??刂崎_關閥門,在上位機點一下開啟閥門和關閉閥門,繼電器就會發(fā)生動作,在下位機近距離也可正常使用按鍵控制閥門的開啟和關閉,閾值查詢也正常顯示,在上位機點擊閾值查詢,就會顯示這一段時間溫濕度,煙霧空氣,電壓電流功率和人員有無的數(shù)據(jù)顯示。
第7章總結(jié)與展望7.1總結(jié)實物的調(diào)試過程很是艱難,出現(xiàn)了很多的問題,通過在網(wǎng)上查閱很多的資料,改正了其中的一些錯誤,也在老師的指導下發(fā)現(xiàn)了很多問題,比如:1.板子在測試時,我的開發(fā)板上的傳感器都不上電,然后我發(fā)現(xiàn)因為一不小心導致電源的線接反了導致電路板燒掉了,于是我又重新買了一塊。2.檢測各種數(shù)據(jù)時,發(fā)現(xiàn)顯示屏上的和PC端的煙霧濃度沒有變化,然后經(jīng)過在軟件上的反復測試,發(fā)現(xiàn)了一些錯誤,最后經(jīng)過調(diào)整,煙霧濃度恢復正常。3.搭建運行環(huán)境時,KeiluVision5軟件上檢測不到下位機的存在,通過重新安裝驅(qū)動,才識別下位機的存在。7.2展望本系統(tǒng)設計有數(shù)據(jù)的采集,采集溫度和濕度的值和電壓的情況,電流的情況發(fā)送到計算機,并存到數(shù)據(jù)庫中;功率監(jiān)測,監(jiān)測電源的功率超值的信息,煙霧監(jiān)測,監(jiān)測到有煙的話,發(fā)出提示,空氣質(zhì)量監(jiān)測,監(jiān)測到空氣質(zhì)量不好時,發(fā)出警示,采集與顯示聯(lián)動,展示所得到的數(shù)據(jù),布防模塊,檢測到不明人員靠近設備,發(fā)出警報,并且在PC端顯示。雖然表明完整的設計可以達到系統(tǒng)的設計要求,但是基于STM32配電柜系統(tǒng)的運行安全監(jiān)測反饋優(yōu)化領域還是存在著一些問題,需要在之后進行深一步的研究。
參考文獻[1]李暢.淺談低壓配電柜的維護與安全使用[M].中小企業(yè)管理與科技.2022.[2]戴文輝;郭玉.高低壓配電柜優(yōu)化選擇的相關研究[J].科技風,2014(23):24.[3]沈曉峰,徐愛蓉,曹基南,張衛(wèi)紅,胡大良.基于物聯(lián)網(wǎng)架構(gòu)的箱式變電站智能監(jiān)測系統(tǒng)[J].電氣技術,2020,21(09):27-32.[4]丁小田;時維鐸.基于光纖傳感的智能建筑配電系統(tǒng)安全監(jiān)測系統(tǒng)的研究[J].山西電子技術,2022.[5]許鑫鑫.智能電網(wǎng)發(fā)展現(xiàn)狀及關鍵環(huán)節(jié)研究[J].數(shù)碼世界,2017(10):123.[6]趙海明.選煤廠配電柜溫度自動安全檢測改造技術應用[D].煤炭工程,2020.[7]方朝陽.基于物聯(lián)網(wǎng)的家庭火災監(jiān)控系統(tǒng)設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場物業(yè)服務合同范例
- 櫥柜店面出售合同范例
- 亮化購貨合同范例
- 2024年錐面墊圈項目可行性研究報告
- 飼料訂購合同范例
- 危廢物運輸合同范例
- 人工耕地種地合同范例
- 2024年圓型桶項目可行性研究報告
- 智能灌溉合同范例
- 攝影企業(yè)拍攝合同范例
- 山東省泰安市寧陽縣2023-2024學年七年級上學期期末考試英語試題
- 農(nóng)業(yè)經(jīng)濟學智慧樹知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學
- 中國船舶發(fā)展史
- 危險廢物的培訓總結(jié)
- 浙江省公路水運工程工地試驗室管理暫行辦法
- 國家開放大學電大《管理英語4》形考任務5試題及答案
- 六類網(wǎng)線檢測報告(共9頁)
- 安徽中電龍子湖工業(yè)園區(qū)12MW光伏發(fā)電示范項目二工區(qū)設備采購第一批35kV箱式變電站技術協(xié)議
- 注塑換模作業(yè)指導書
- 國家住宅裝飾裝修工程施工規(guī)范標準
- 光伏清洗機器人項目可行性研究報告寫作范文
評論
0/150
提交評論