摘要
隨著科技的飛速發(fā)展,魚缸在國內(nèi)市場上產(chǎn)品繁多,功能不統(tǒng)一,而且大多是非智能化的,功能使用不靈活、不方便,整體性能也無法得到提升,在科技改變生活的時代,對傳統(tǒng)的魚缸進行科技化的改造勢在必得,這將會給人們帶來更多的幸福感。
本論文以 STM32F103C8T6 單片機為核心,設(shè)計了一款基于機智云物聯(lián)網(wǎng)平臺的智能溫控,智能換水,智能供養(yǎng),智能照明和智能顯示系統(tǒng)。該系統(tǒng)以 esp8266WiFi 模塊通信為基礎(chǔ),可以遠程手機監(jiān)控。本設(shè)計硬件電路結(jié)構(gòu)簡單,分為單片機核心控制器模塊,NTC 溫度傳感器檢測智能魚缸的水溫,通過 OLED 顯示當前設(shè)備的電流值、溫度值和充氧速率等,按鍵電路用來調(diào)節(jié)充氧速率、水溫參數(shù)的閾值、控制供養(yǎng)和補光,繼電器用來驅(qū)動水泵給魚缸加水。
還實現(xiàn)了通過 ESP8266WIFI 模塊實時將數(shù)據(jù)上傳手機 APP 進行控制,而且可以通過按鍵或手機 APP 調(diào)節(jié)控制魚缸的各項功能,本論文基于物聯(lián)網(wǎng)的智能魚缸系統(tǒng)設(shè)計對當代物聯(lián)網(wǎng)行業(yè)的發(fā)展具有一定的意義。
1 緒論
基于物聯(lián)網(wǎng)的智能魚缸的發(fā)展意義重大,因此,根據(jù)市場需求,本次設(shè)計的產(chǎn)品采用了 STM32,該產(chǎn)品集成了多種控制功能,包括智能溫度控制,智能換水,智能供氧,智能照明和智能顯示。該系統(tǒng)通過 WiFi 模塊連接到機智云手機 APP,以通過移動應用程序?qū)崿F(xiàn)魚缸溫度,照明和水變化的遠程監(jiān)控,并可以在顯示器上顯示時間,水溫,電流,功率和功耗統(tǒng)計信息。
綜上所述,基于物聯(lián)網(wǎng)的智能魚缸監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)解決方案可以節(jié)約人工管理的繁瑣,在被動的管理模下,轉(zhuǎn)化為宏觀的控制,當監(jiān)視的人不在的時候可以根據(jù)微信端來控制供養(yǎng)和照明系統(tǒng)的的控制,還有電流和電量也可以進行調(diào)節(jié),對于大型的水族館,可以節(jié)約大量人力和物力,對于家庭環(huán)境,可以提高家庭的和睦性,對現(xiàn)代生活的發(fā)展意義重大。
1.1 本設(shè)計主要完成工作
基于以上研究背景和研究意義,本文詳細介紹基于 stm32 單片機和 ESP8266WIFI 對接機智云物聯(lián)網(wǎng)云平臺的無線魚缸智能監(jiān)控系統(tǒng),實現(xiàn)魚缸遠程控制功能。硬件電路結(jié)構(gòu)簡單,由一些傳感器模塊和系統(tǒng)硬件電路組成,具體包括 ESP8266WIFI 通信模塊,OLED 人機交互顯示模塊,按鈕電路控制模塊,繼電器驅(qū)動電路模塊,水溫檢測 AD 處理電路,以及六個電路模塊,如系統(tǒng)電流和電壓檢測。其中,核心控制微控制器為 STM32F103C8T6,人機交互模塊使用 OLED12864 來顯示各種參數(shù)數(shù)據(jù),并使用按鍵來調(diào)節(jié)每種模式作為輸入設(shè)備。
本文的結(jié)構(gòu)如下:
第一部分介紹了系統(tǒng)的設(shè)計背景,介紹了基于物聯(lián)網(wǎng)的智能魚缸控制系統(tǒng)的總體方案設(shè)計和研究目的。
第二部分是研究系統(tǒng)各模塊的通信原理,包括建立 WIFI 模塊或 Gizwits 終端服務器。
第三部分是完成整個物聯(lián)網(wǎng)智能魚缸系統(tǒng)的原理圖和 PCB 圖。
第四部分是完成系統(tǒng)使用的開發(fā)環(huán)境的介紹和應用,并編寫每個模塊的子功能和主要功能的程序設(shè)計。
第五部分是完成系統(tǒng)的 PCB 設(shè)計,然后完成系統(tǒng)的焊接和實物功能測試。
2 各模塊的通信原理
2.1 系統(tǒng)功能分析
(1)基于 STM32 硬件系統(tǒng),結(jié)合 ESP8266WiFi 通信技術(shù)對接機智云平臺,實現(xiàn)手機 APP 遠程控制照明燈光和繼電器等。
(2)系統(tǒng)實時顯示時間、水溫、電流、功率、耗電量等基本信息,能實現(xiàn) APP 操作控制。
(3)系統(tǒng)手機端可以遠程一鍵切斷設(shè)備的輸出控制,即 “緊急停止” 功能。
(4)LED 照明可以實現(xiàn)亮度調(diào)節(jié),充氧可以實現(xiàn)速率調(diào)節(jié)。此功能可以遠程控制,也可以遠程手機控制。
(5)人機交互采用 OLED 顯示屏,具有好的人性化操作界面。
(6)設(shè)備能夠聯(lián)網(wǎng)與機智云平臺實時進行信息交互,實現(xiàn)手機端可以遠程控制設(shè)備、監(jiān)測設(shè)備運行數(shù)據(jù)。
2.2 系統(tǒng)總體方案設(shè)計
通過對硬件模塊選擇方案的比較和分析確定了這個想法,系統(tǒng)總體結(jié)構(gòu)框圖如圖 2.1 所示,將整個系統(tǒng)分為以下組成部分:STM32 核心控制、按鍵調(diào)節(jié)、OLED 顯示、ESP8266 感知層配網(wǎng)、繼電器驅(qū)動電路、補光燈 LED 照明系統(tǒng),電源穩(wěn)壓組成電路。
系統(tǒng)運行時,通過控制器通過程序讀取由溫度感測元件組成的溫度檢測電路輸出的 AD 值,以讀取當前的輸出溫度值 C,四路繼電器分別控制加熱電路,補光電路,供氧電路,輸出一定的電流電壓信號,溫度測試采用探頭式 DS18B20 傳感器,系統(tǒng)的輸入電壓電流由 DACMP2303 轉(zhuǎn)換電路采集之后經(jīng)過內(nèi)部再經(jīng)過內(nèi)部 AD 轉(zhuǎn)換為電壓,再計算出器功率,系統(tǒng)運行時控制器通過串口訪問 ESP8266WiFi 模塊,通過GAgent協(xié)議上傳機智云終端服務器,并經(jīng)過單片機數(shù)據(jù)處理通過手機 APP 顯示,當用戶想調(diào)節(jié)手動控制加熱或補光燈,只需通過手機 APP 發(fā)送指令,實現(xiàn)遠程控制的功能。最后,該系統(tǒng)通過按鈕掃描,響應按鈕輸入并控制 OLED 顯示屏以顯示各種相關(guān)數(shù)據(jù)信息,完成人機交互。
2.3 主要元器件的選型
2.3.1 主控單片機
方案 1:STM32F103C8T6 單片機主要的特點就是運行速度快,這就要從它的內(nèi)核架構(gòu) Cortex-M3 說起,該架構(gòu)是 ARM 系列中最經(jīng)典的架構(gòu),而 STM32 系列單片機恰好使用了這個架構(gòu),不但提高了單片機的運行速度,還在根本上提升了單片機的性能。而從內(nèi)存上來看 STM32 系列的單片機至少也有 16K 的內(nèi)存,而且還帶有 AD 轉(zhuǎn)換器、I2C 接口以及 SPI 接口,簡化了電路連接。
方案 2:目前的主控制器中,STC89C52 單片機延用的架構(gòu)仍然是傳統(tǒng)的 51 系列單片機特有的 8051 架構(gòu),基本上每一款的 51 系列單片機的程序、引腳等都是可以通用的。從單片機的引腳上來看,該款單片機有 32 個 I/O 口可以開發(fā)使用,引腳的功能也都非常清楚明了,能夠幫助開發(fā)者來快速設(shè)計出電路,從軟硬件兩方面降低了系統(tǒng)的開發(fā)難度。但是該款單片機只能容納 8K 的代碼,會降低系統(tǒng)運行速度。
結(jié)論:STC89C52 單片機的運行速度會影響系統(tǒng)全局,而 STM32F103C8T6 單片機軟件和硬件更加簡單,符合系統(tǒng)需求,因此首選 STM32F103C8T6 方案。
2.3.2 顯示模塊型號的選擇
方案 1:LCD1602 是一款顯示容量為 32 個字符的液晶式顯示屏,其中包括大小寫字母、符號、簡單的圖形等內(nèi)容。使用 LCD1602 時直接采用電壓就能對顯示屏的顯示區(qū)域進行控制。如果想詳細的了解 LCD1602 可以查閱顯示屏的手冊,從手冊中可以找到顯示屏的代碼直接調(diào)用及修改即可,還可以了解到 LCD1602 的電路及各引腳功能,但是該模塊是不能顯示文字和圖片的,很多數(shù)據(jù)信息都無法顯示完整的,因此從軟件和硬件這兩個方面以及顯示內(nèi)容來看還得尋求其它的方案設(shè)計。
方案 2:本次系統(tǒng)設(shè)計選擇 0.96 寸的 OLED(Organic Light-Emitting Diode,有機發(fā)光半導體)是有機發(fā)光二極管的英文縮寫,液晶屏顯示。考慮到低功耗和交互的友好性,液晶屏顯示必然成為首先。傳統(tǒng)的字符型液晶顯示器,雖然可以能符合以上兩點要求。但相比于便攜性,選用 OLED 顯示器,將更為優(yōu)越,非常便合于便攜式設(shè)備上。本設(shè)計選用 OLED 最大支持 64 個字符顯示,其 4 行,每行 16 字符,除了支持所有 ASCII 碼,還自帶字體庫。非常便于顯示信息。顯示字符支持黃,藍兩種不同顏色。
結(jié)論:OLED12864 在顯示上更有優(yōu)勢,符合本系統(tǒng)要求,因此選擇方案 2。
2.3.3 無線通訊方案的選擇
使用 ESP8266 系列無線模塊是高性價比 WiFiSOC 模組,它能夠快速聯(lián)網(wǎng),只需要五步就可以實現(xiàn) “IoT 技術(shù)”,WiFi 模塊采用低功率 32 位 CPU,并且可以作為處理器,主頻最高可達 160MHz。內(nèi)置 10 位高精度 ADC 轉(zhuǎn)換模塊,具備緩存能力、上手容易、開發(fā)邏輯簡單等特點,關(guān)鍵是傳輸數(shù)據(jù)較為穩(wěn)定,可以連接機智云終端服務器進行遠程監(jiān)控,如下表是 ESP8266 工作的指令。
2.3.4 溫度傳感器方案的選擇
為了實時檢測魚缸內(nèi)的溫度,我們需要一些防水的溫度傳感器,本設(shè)計采用 NTC 溫度傳感器,是一個熱敏電阻、探頭,其原理是:的電阻值隨著溫度的升高而迅速降低,實際尺寸非常靈活,它們可以小到 0.010 英寸,也可以是非常小的直徑,最大尺寸幾乎沒有限制,但通常不到半英寸。一般結(jié)構(gòu)由 NTC 熱敏電阻、探頭 (金屬外殼或塑料外殼等) 組成,延長線和金屬端子或連接器,檢測的時候測得數(shù)據(jù)很穩(wěn)定,誤差很小。
圖 2-3 NTC 溫度傳感器
它的特點一般是靈敏度高,阻值和 B 值精度高,一致性互換性比較好,并且采用雙層包封工藝,具有良好的絕緣密封性和抗機械碰撞,抗彎折能力。
2.3.5 繼電器驅(qū)動方案的選擇
為了驅(qū)動繼電器更加有效的工作,系統(tǒng)增加了 ULN2003 驅(qū)動芯片,該芯片的主要作用就是對于輸入電流進行放大,然后再驅(qū)動 5V 和 12V 的繼電器,因為繼電器驅(qū)動的模塊電路是需要較大的電流和電壓工作的。該芯片可用于設(shè)置脈沖驅(qū)動步進電機、驅(qū)動馬達或者直流電機,更有效的和最佳的選擇就是驅(qū)動繼電器來控制設(shè)備,比如水泵、電壓電流互感器等。并且直接使用的時候該芯片和一些其他的類芯片大致原理上都相同,就直接可以用來使用并檢測。
圖 2-4 ULN2003 芯片邏輯圖
3 系統(tǒng)硬件電路設(shè)計
STM32F103C8T6 單片機可以說是系統(tǒng)的控制中樞部分,外部的器件都需要單片機通過內(nèi)部程序進行指揮和協(xié)調(diào),這樣才能保證特定功能的完成。將能夠?qū)崿F(xiàn)自己功能的各模塊搭建在一起就能有效降低系統(tǒng)制作的復雜性。
3.1 STM32F103C8T6 單片機最小系統(tǒng)
如下時本次系統(tǒng)的最小系統(tǒng)板原理圖設(shè)計如圖 3.1 所示,它由最小系統(tǒng)中芯片控制器、震蕩電路、晶振電路以及串口下載電路。
圖 3-1 最小系統(tǒng)單元電路
3.1.1 晶振電路
在單片機中,晶振電路的地位是不可取代的,系統(tǒng)能否啟動成功該部分的電路起到了決定性的作用。晶振電路和單片機內(nèi)部的晶體振蕩器連接構(gòu)成了晶振電路,能使單片機擁有更高的運行速度。可以說晶振電路為單片機的運行提供了重要的基礎(chǔ)。
STM32F103C8T6 單片機就是在 OSCIN 和 OSCOUT 引腳連接了 8MHZ 的晶振,在單片機上就能看到,選用的是 20PF 的電容能保證單片機更加快速、穩(wěn)定的運行。晶振電路如圖 3.1 所示。
圖 3-2 晶振電路
3.1.2 復位電路
在單片機上還有一個白色的按鈕就是復位電路的按鈕,能支持單片機完成程序的初始化,直接就能將系統(tǒng)從頭開始執(zhí)行。STM32F103C8T6 單片機的 RST 復位引腳上連接了對應的電阻和電容,通過按鍵就能控制復位。在語音分類垃圾桶系統(tǒng)中,就是選用了直接、方便的按鍵復位方式,阻值為 10K,電容的容量為 10μF。按下連接好的按鍵就能將系統(tǒng)重啟。圖 3.2 為復位電路。
圖 3-3 復位電路
3.1.3 電源電路
電源模塊電路如圖 3.6 所示,本系統(tǒng)需要兩種電壓,由于 OLED12864 顯示和 WiFi 通信模塊需要的電壓為 3.3V~5V,而 MCU 工作于 3.3V,由于主控 MCU 采用 3.3V 供電,就選用 AMS1117 三端穩(wěn)壓器模塊產(chǎn)生 3.3V 電壓。電容 E1,C22 為輸入電容,作用是防止斷電后出現(xiàn)電壓倒置。C23,E2 為輸出濾波電容,作用是抑制自激振蕩和穩(wěn)定輸出電壓。
圖 3-4 電源電路
但是系統(tǒng)中需要用到 12V 電壓去給繼電器模塊供電,繼電器控制的設(shè)備需要的電壓電流功率較大,所以使用 MP2303 外接電源適配器,然后再降壓來整個設(shè)備需求,并且該模塊輸入電壓為 4.7v-28v,輸出電壓 0.8V-25v 直接調(diào)節(jié),輸出電流連續(xù)輸出不低于 3A。
圖 3-5 MP2303 模塊降壓原理圖
3.2 EEPROM 存儲電路設(shè)計
該電路 EEPROM 存儲模塊采用 AT24C04 芯片,用于各種電參數(shù)的存儲以及各種傳感器的閾值的參數(shù)記錄,便于斷電情況下對數(shù)據(jù)進行保存。
圖 3-6 EEPROM 存儲電路
3.3ESP8266WiFi 電路設(shè)計
ESP866 電路設(shè)計如圖 2.2 所示,GPIO 口為通用 IO,內(nèi)部以上拉,且有兩種工作模式:懸空 GPIO0 是工作模式,下拉 GPIO0 是下載模式。并且在 VCC 和 GND 之間使用鉭電容 E1,這樣能保證 WiFi 模塊長時間維持更好的性能。
圖 3-7 ESP8266WiFi 電路
3.4 繼電器驅(qū)動電路的設(shè)計
ULN2003 用于驅(qū)動控制繼電器不僅簡化了復雜的電路,還能對 MCU 引腳輸出的電流進行放大,提高了系統(tǒng)的帶載能力。在使用該 IC 時候,很多人喜歡在驅(qū)動感性負載兩端并聯(lián)一個二極管,用于續(xù)流或者快速放電,其實這個根本沒有必要,在 IC 內(nèi)部本身就是集成了續(xù)流二極管,在此給出了經(jīng)典得驅(qū)動電路,用于驅(qū)動繼電器電路,如下所示:
圖 3-8 ULN2003 驅(qū)動電路
其中需要注意得有兩點:
首先:COM 引腳,即引腳 9 必須連接到驅(qū)動器電源的正極(而不是芯片電源的正極)。
第二:GND 引腳(即芯片的接地引腳)必須與驅(qū)動電源的負極形成等電位。
圖 3-9 繼電器控制電路
3.5 溫度檢測電路的設(shè)計
溫度檢測電路采用內(nèi)部 AD 轉(zhuǎn)換,在電路設(shè)計上用 100nf 電容對采集的信號先進行濾波處理,在 P7 端口外界一個探頭式得 NTC 溫度傳感器,探頭采集得模擬信號經(jīng)過濾波處理后,將信號傳給單片機,經(jīng)過 AD 轉(zhuǎn)換,將模擬信號轉(zhuǎn)換位數(shù)字信號,通過顯示屏顯示出溫度。
圖 3-10 溫度檢測電路
3.6 電流采樣電路設(shè)計
如下圖所示:R15 康銅絲作為采樣電阻,在經(jīng)過 LM358 差分放大電路,然后 R14,R17,R13,R18 是對輸入的電流進行放大,R16,C12 是對輸出做 RC 濾波,Rp18=Rp13,Rp14=R17。Vout=Rp18/Rp17*(Vin+-Vin-)。輸出電流傳給單片機 PA5 管腳,然后經(jīng)過單片機內(nèi)部 AD 數(shù)據(jù)處理再通過 OLED 顯示屏顯示出電流大小。
圖 3-11 電流采集電路
3.7 按鍵電路設(shè)計
為了滿足按鍵調(diào)節(jié)各個參數(shù),一共設(shè)計了四個按鍵,分別接 PA0,PB12,PB13,PB14 這四個接口,按鍵 1 用來控制 OLED 顯示界面的切換,以達到可以調(diào)節(jié)溫度,充氧速率等操作。按鍵 3 可以設(shè)置溫度,補光燈強度,以及充氧速率等參數(shù)的增加。按鍵 4 是用來將參數(shù)數(shù)值調(diào)小。按鍵 2 是確認鍵,每次調(diào)整后,按鍵 SW2 將存儲于系統(tǒng)保存當前的變化。
圖 3-12 按鍵控制電路
3.8 報警電路設(shè)計
系統(tǒng)中加入無源蜂鳴器電路,主要用于系統(tǒng)出現(xiàn)異常時進行報警,通常通通過 BUZZER 引腳輸入方波信號,該電路同樣是采用 NPN 三極管作為開關(guān)進行驅(qū)動,其基極的高電平使三極管飽和導通,使蜂鳴器發(fā)聲,而基極低電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。
圖 3-13 按鍵控制電路
4 系統(tǒng)軟件設(shè)計
在前三章中的硬件電路章節(jié)中已經(jīng)將便攜式風光互補系統(tǒng)的硬件部分介紹完畢,此時就進行下一步的軟件開發(fā)介紹。程序代碼編程軟件 KEIL 和 C 語言在系統(tǒng)的軟件部分起到了重大作用,達到軟件編程完成的目的。
4.1 軟件開發(fā)環(huán)境簡介
本設(shè)計中選用德國 keil 公司推出的專為 arm 核控制器開發(fā)的一款編譯器軟件。該軟件集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),Keil5 軟件使用時候特別方便,它所占的系統(tǒng)類型為 64 位,兼容 WIN7/WIN8/WIN10,而且下載速度 SWD 模式是 keil4 的五倍,它的特點是集成開發(fā)環(huán)境,調(diào)試器和仿真環(huán)境。完美支持 Cortex-M,Cortex-R4、ARM7 和 ARM9 系列器件,并且有大量的項目可以讓使用者快速熟悉強大的內(nèi)置特征。
4.2 主程序設(shè)計
為了滿足水質(zhì)溫度、電流、用電量及其功率采集的實時性,本程序采用循環(huán)掃描的方式對 NTC 溫度傳感器進行數(shù)據(jù)讀取。系統(tǒng)開始首先對各個模塊功能初始化,初始化完成之后可以通過按鍵調(diào)整系統(tǒng)參數(shù)(充氧速率、水位閾值、限流大小、照明亮度、凈化速率以及一鍵換水操作),當實際測得水溫低于閾值時,繼電器閉合加熱棒開始給水溫加熱,反之亦然。當系統(tǒng)負載電流大于限流閾值時,蜂鳴器報警,負載電器都停止工作。系統(tǒng)參數(shù)設(shè)定完成之后,按鍵退出自動保存參數(shù),并且有斷電保存的效果。系統(tǒng) WiFi 通過無線將數(shù)據(jù)發(fā)送給手機 APP 和終端控制中心,發(fā)送完畢后自動清除緩存,結(jié)束本次循環(huán)。
圖 4-11 主程序流程路
4.4 系統(tǒng)子程序設(shè)計
4.4.1 IIC 通信程序設(shè)計
串行通信主要使用三條線路來實現(xiàn):CS,SCLK 和 SDA。其中,CS 是可選芯片,SCLK 是同步時鐘信號,SDA 是發(fā)送數(shù)據(jù)信號。該時序剛開始 CS 片段為高電平,SCLK 為矩形脈沖波動,CS 為低電平時,SCLK 也為低電平,CS 為高電平時,SCLK 就會產(chǎn)生脈沖信號。同時 STD 就開始進行時鐘字節(jié)的選取,經(jīng)過幾個周期,RW 進行數(shù)據(jù)的讀取,RS 將數(shù)據(jù)發(fā)送給更高的電平進行數(shù)據(jù)的選擇。最后進行篩選到第二儲存區(qū)域,進行第二次的字節(jié)變化,產(chǎn)生時序信號,最后 CS 片選回復低電平,脈沖信號停止,STD 停止字節(jié)的位選。圖 4-1 是串行通信時序圖:
圖 4-2 串行通信時序圖
4.4.2AD 采集程序設(shè)計
使用該 STM32 單片機采集電壓的時候大致可以分為兩種,一個是 DMA 采集,另外一種是定時采集,本次系統(tǒng)對電壓的采集是用了 DMA 方式進行采集的,采集流程設(shè)計如下,ADC 采樣的話首先就是對 ADC 進行初始化,確定 ADC 的通道的級別方式,采集時間窗口預定目標轉(zhuǎn)化為相應的時間和時鐘,定義好三種電壓、電流和溫度的采用結(jié)果,對每一個信號采樣 8 次,然后再將閾值通過 STMFLASH 存儲到到芯片當中,所以系統(tǒng)共采集了 3 個數(shù)據(jù)。如果預定的 ADC 中斷發(fā)生,則系統(tǒng)會進入中斷服務程序,然后對當前的設(shè)備的電壓電流采集進行數(shù)據(jù)的傳輸和處理。
圖 4-3 電壓采集流程圖
4.4.3 WiFi 通信程序設(shè)計
本設(shè)計中 ESP8266WiFi 串口通訊協(xié)議是機智云平臺標準接入?yún)f(xié)議(4.2.0),設(shè)備的通訊信息為 9600 波特率,8 位數(shù)據(jù)位,無校驗,1 位停止位,傳輸字節(jié)序采用大端編碼,通信交互形式是采用一問一答,每條命令需要由接收方給出 ACK 應答確認信息,超時時間 200ms,超時后重新發(fā)送。WiFi 模組上電后,需要向 MCU 查詢設(shè)備信息,獲取信息成功后,WiFi 模組才能正常工作,基本通信協(xié)議流程圖如下所示。
圖 4-4 WiFi
AIoT 設(shè)備自助開發(fā)平臺:
機智云 AIoT 自助開發(fā)平臺,提供從產(chǎn)品定義、開發(fā)調(diào)試、應用開發(fā)、產(chǎn)測、云端開發(fā)、運營管理、數(shù)據(jù)服務等覆蓋 IoT 設(shè)備接入到運營管理全生命周期服務的開發(fā)能力。通過傻瓜化的自助工具、完善的 SDK 與開放的 API,最大限度降低 IoT 設(shè)備開發(fā)的技術(shù)門檻,已服務 320000 + 開發(fā)者。
5 系統(tǒng)調(diào)試分析
5.1 軟件調(diào)試
軟件程序的開發(fā)環(huán)境是 KEIL5,新建工程的選對單片機的型號,不斷地給系統(tǒng),保證系統(tǒng)運行的穩(wěn)定,意淫單片機選用的是 C8T6 的型號,所以在 Target 目標選擇欄里一定要記得修改晶振的大小,這樣才能保證時間的精確度。
圖 5-1 單片機型號選擇
反復通過斷點調(diào)試和單步調(diào)試的方式對代碼進行檢查以及修改后,就可以編譯代碼查看程序調(diào)試的結(jié)果,在編程后看到了 “0 error” 的提示,如果看到這個提示結(jié)果就表示程序已經(jīng)是正確的了。如圖 5.2 所示。
圖 5-2 程序編譯通過
程序編譯完畢后接下來就是將單片機的程序通過串口燒錄軟件燒寫進去,第一步就是打開 Fly-Mcu,設(shè)定 BOOT0 和 BOOT1 都為低電平,然后將串口軟件設(shè)定為 DTR 低電平復位,RTS 高電平進 Bootloader,
圖 5-3 程序燒寫設(shè)計
5.2 硬件調(diào)試
對于本系統(tǒng)的制作,首先采用的是硬件的焊接,然后是代碼的編寫,最后是運行實物,因此對軟件和硬件這兩部分分別的調(diào)試是最后調(diào)整實物的基礎(chǔ)。
系統(tǒng)硬件的調(diào)節(jié)和測試主要時針對系統(tǒng)的電路和程序入手的,在設(shè)計電路時可采用 AD 軟件根據(jù)各元器件的管腳特性及系統(tǒng)功能先繪制好電路,然后再根據(jù)電路進行實物焊接,如果有耐心的話可以邊焊接邊使用萬用板測試,可以大大降低硬件焊接的錯誤率。一般的硬件調(diào)試可以遵循以下幾個步驟,得到事半功倍的效果:
(1)第一步:利用電路圖繪制軟件(本設(shè)計使用的軟件為 Altium Designer,作為 PROTEL 公司推出的一款智能型較高的專業(yè)繪圖軟件)繪制系統(tǒng)整體電路圖,如下圖所示,然后仔細檢查軟件里的元器件及電路連接走向是否正確;
(2)第二步:對照檢查好的原理圖繪制 PCB 圖,確保 PCB 圖的正確性、與原理圖繪制電路的一致性;
(3)第三步:查找元器件資料,對照實物功能及每個元器件的引腳,同時檢查原理圖及 PCB 圖;
(4)設(shè)計規(guī)則,注意電源線的線寬和元件之間的安全間距,設(shè)置 + 12V 電源線寬為 2mm,+5V 線寬 1.5mm,+3.3V 線寬 1.2mm,其余信號線 0.2mm。
(5)根據(jù) EMC 設(shè)計規(guī)范擺放元器件布局,先連電源線,再連信號線,最后再對 GND 進行敷銅處理,信號接口再滴淚處理,PCB 布線如下所示。
(6)第四步:安裝完成實物后,可以借助萬用表等工具測試局部電路和整體電路,防止出現(xiàn)短路現(xiàn)象,及時糾正元器件電路錯誤及整體電路中的錯誤。
圖 5-4 PCB 布局及連線設(shè)計
圖 5-5 PCB 敷銅設(shè)計
圖 5-6 PCB3D 模型
5.3 實物測試
(1)通過電源系統(tǒng)給設(shè)備供電,顯示器顯示當前時間,當前水簇箱水質(zhì)溫度,環(huán)境大氣的溫度,以及當前設(shè)備的供電電流、設(shè)備功率以及耗電量度,如下圖所示。
圖 5-7 供電顯示視圖
(2)水簇箱水溫傳感器 NTC 檢測與閾值顯示。
圖 5-8 水溫閾值調(diào)試
(3)充氧氣速率調(diào)試。
圖 5-9 充氧氣速率設(shè)置
(4)水族箱內(nèi)照明燈光調(diào)試。
圖 5-10 LED 照明亮度設(shè)置
(5)限流保護設(shè)計,當設(shè)備超過 5A 時,系統(tǒng)緊急停止工作。
圖 5-11 系統(tǒng)保護電流設(shè)置
(6)水泵控制進出水,可以實現(xiàn) APP 遠程操控和一鍵輕松換水。
圖 5-12 直流水泵設(shè)備
(7)以下是機智云公版手機 APP 顯示界面。
? ?? ?圖 5-13 遠程 APP 登錄和操作界面
(8)以下是機智云物聯(lián)網(wǎng)平臺的終端服務器數(shù)據(jù)歷史查詢界面。
圖 5-14 PC 端歷史數(shù)據(jù)信息查詢
(9)以下是作品的整體實物圖。
-
STM32
+關(guān)注
關(guān)注
2270文章
10910瀏覽量
356588
發(fā)布評論請先 登錄
相關(guān)推薦
評論