第1章 概述
第2章 方案論證與選擇
2.1 系統(tǒng)總體方案的選擇
2.2 加熱棒
2.3 顯示部分器件
2.4 無線通信部分
2.5 語音播放部分
2.6 輸入設(shè)備的選擇
第3章 系統(tǒng)結(jié)構(gòu)圖及硬件設(shè)計(jì)
3.1 系統(tǒng)總體結(jié)構(gòu)圖設(shè)計(jì)
3.2 主控端硬件設(shè)計(jì)
3.3 接收端硬件設(shè)計(jì)
第4章 系統(tǒng)軟件設(shè)計(jì)
4.1 主控端流程圖
4.2 接收端流程圖
4.3 上位機(jī)軟件功能圖
第5章 系統(tǒng)調(diào)試說明
第6章 創(chuàng)新點(diǎn)
附錄A 元件清單
附錄B 系統(tǒng)原理圖
隨著計(jì)算機(jī)技術(shù)、測量儀器和控制技術(shù)的高速發(fā)展,現(xiàn)代冶金、石油、化工及電力生產(chǎn)過程中,應(yīng)用了越來越多的先進(jìn)測量控制技術(shù)、設(shè)備和方法。在這些眾多的先進(jìn)測量控制技術(shù)中,如何對水溫進(jìn)行控制成為焦點(diǎn)課題之一。 溫度是極為重要而又普遍的熱工參數(shù)之一,在環(huán)境惡劣或溫度較高等場合下,為了保證生產(chǎn)過程正常安全的進(jìn)行,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動(dòng)強(qiáng)度和節(jié)約能源,及時(shí)準(zhǔn)確地得到溫度信息并對其進(jìn)行適時(shí)的控制。 由于本設(shè)計(jì)是一個(gè)典型的檢測、控制型應(yīng)用系統(tǒng),它要求系統(tǒng)完成從水溫檢測、信號(hào)處理、輸入、運(yùn)算到輸出控制加熱棒加熱功率以實(shí)現(xiàn)水溫控制的全過程,因此,應(yīng)以單片微型計(jì)算機(jī)為核心組成一個(gè)專用計(jì)算機(jī)應(yīng)用系統(tǒng),以滿足檢測、控制應(yīng)用類型的功能要求。同時(shí),配以上位機(jī),使該套應(yīng)用系統(tǒng)具有實(shí)時(shí)繪制圖表、語音播報(bào)、打印圖表、數(shù)據(jù)回放等功能。
本水溫自動(dòng)控制系統(tǒng)分為主控部分、顯示部分、接收部分、無線部分、上位機(jī)部分共五大部分,其中主控部分和上位機(jī)部分是本次設(shè)計(jì)的重點(diǎn)。 方案一:采用普通溫度傳感器對溫度進(jìn)行采集,采用普通加熱棒加熱,溫度到達(dá)時(shí)停止加熱,采用電機(jī)攪拌。 方案二:采用防水溫度傳感器對溫度進(jìn)行采集,采用PID算法控制加熱棒加熱,采用氣泵使水運(yùn)動(dòng)起來。 方案對比:普通溫度傳感器只能在容器的外部對溫度進(jìn)行采集,不能很準(zhǔn)確的反應(yīng)實(shí)時(shí)的變化量。由于加熱棒停止加熱一段時(shí)間內(nèi)仍然有加熱的功效,所以如果溫度到達(dá)時(shí)才停止加熱,溫度一定會(huì)超出目標(biāo)溫度很多,所以采用PID算法可以較為準(zhǔn)確的控制水溫的變化情況。因?yàn)樗卸栊裕绻贿M(jìn)行攪拌那么一個(gè)燒杯中的水上層和下層甚至可能會(huì)差十?dāng)z氏度,所以需要讓水運(yùn)動(dòng)起來。由于容器較小,使用電機(jī)攪拌空間不足,所以采用氣泵方式。綜合比較,本設(shè)計(jì)采用方案二。 根據(jù)要求,要將1000ml也就是1kg的水從常溫(20℃)加熱到50℃,所需熱量為Q=cmΔT=4.2×103×1kg×(50℃-20℃)=1.26×105J,兩分鐘內(nèi)完成則需要至少(Q=W=1.26×105J)P=W/t=1.26×105J/120s=1050w的加熱棒,考慮到熱能的損耗和運(yùn)用PID控制算法不能100%工作的情況,采用了兩個(gè)800w的加熱棒進(jìn)行加熱控制。 方案一:通過分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示。在輪流顯示過程中,每個(gè)數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度恰當(dāng),就會(huì)顯示相應(yīng)的數(shù)據(jù)。 方案二:LCD12864液晶顯示器件由于具有顯示信息豐富、功耗小、體積小、質(zhì)量小、無輻射等優(yōu)點(diǎn)而得到了廣泛的使用,特別是內(nèi)部含有控制/驅(qū)動(dòng)器及中文字庫的圖形點(diǎn)陣液晶顯示模塊有很好的控制顯示功能,能方便的和微處理器、單片機(jī)接口,并提供并行與串行接口方式。 方案對比:液晶顯示較LED顯示有無法比擬的優(yōu)點(diǎn),所以采用了液晶顯示的方案。 無線選用頻率是2.4GHz的NRF24L01無線模塊。主要特點(diǎn)是支持雙工,并且速度快,耗電量較低,支持多頻段多地址的功能,在設(shè)計(jì)中使用了2個(gè)無線進(jìn)行數(shù)據(jù)傳輸,其中無線地址使用了地址段,通信過程中使用了變址傳輸?shù)姆绞胶蛦栐兎绞,來避免通信信道的擁擠造成的信息丟失。 方案一:ISD4004語音芯片是美國Winbond公司產(chǎn)品,芯片設(shè)計(jì)是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口送入。芯片采用多電平直接模擬量存儲(chǔ)技術(shù), 每個(gè)采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。 方案二:采用上位機(jī)語音播報(bào),上位機(jī)語音播報(bào)設(shè)計(jì)是采用多線程語音播報(bào),在語音播報(bào)時(shí)不會(huì)影響到數(shù)據(jù)接收和數(shù)據(jù)顯示。語音播報(bào)調(diào)用了微軟的自動(dòng)發(fā)音語音支持,可以任意使用多國語言進(jìn)行語音播報(bào),在重新修改的時(shí)候方便、快速,減少了重新設(shè)計(jì)時(shí)工程量。 方案對比:因?yàn)楸咎紫到y(tǒng)已經(jīng)使用上位機(jī),所以在上位機(jī)基礎(chǔ)上增加語音播報(bào)功能比較簡單,不但節(jié)約單獨(dú)硬件模塊的成本,且上位機(jī)語音播報(bào)的效果好于硬件模塊的播報(bào)效果,所以采用方案二。 方案一:采用陣列式鍵盤。使用較少的I/O讀取較多的鍵盤信息,主要通過動(dòng)態(tài)掃描的方式進(jìn)行的工作,當(dāng)矩陣的某行通上低電平,若有按鍵按下,相應(yīng)的列就會(huì)輸出低電平,通過這樣的方式可以讀出按鍵狀態(tài),而且不浪費(fèi)I/O,但是此方式只使用與按鍵數(shù)量加大的時(shí)候,若一個(gè)或者兩個(gè)按鍵則不適用。 方案二:采用獨(dú)立式按鍵。每個(gè)I/O獨(dú)立連接單片機(jī)MCU的端口,特點(diǎn)是使用比較方便,開發(fā)比較迅速,相應(yīng)相對較快,但是此種方案浪費(fèi)系統(tǒng)資源,設(shè)計(jì)時(shí)可以根據(jù)設(shè)計(jì)內(nèi)容進(jìn)行考慮,因?yàn)椴煌脑O(shè)計(jì)對資源的使用是不同,故還需看時(shí)間情況,通過查詢資料得知在個(gè)別單片機(jī)中獨(dú)立按鍵需要連接上拉電阻使其保持穩(wěn)定。 方案對比:由于系統(tǒng)設(shè)計(jì)使用的按鍵較少,只用到了四個(gè)按鍵,所以采用方案二。
- 系統(tǒng)結(jié)構(gòu)圖及硬件設(shè)計(jì)
- 系統(tǒng)總體結(jié)構(gòu)圖設(shè)計(jì)
按照系統(tǒng)功能要求,系統(tǒng)主控端、接收端和上位機(jī)三個(gè)模塊,根據(jù)這個(gè)要求,設(shè)計(jì)的“水溫自動(dòng)控制系統(tǒng)”框圖如圖3.1所示。 圖3.1 系統(tǒng)總體框圖 主控端對水溫進(jìn)行實(shí)時(shí)監(jiān)測和控制,并通過無線將溫度數(shù)據(jù)發(fā)送給接收端,接收端接收到數(shù)據(jù)后立即通過串口發(fā)送給上位機(jī),上位機(jī)將接收到的數(shù)據(jù)繪制成圖表并存入到數(shù)據(jù)庫中,上位機(jī)同時(shí)具有實(shí)時(shí)語音播報(bào)溫度、打印圖表的功能。 主控端包括復(fù)位電路、溫度采集電路、加熱控制電路、制冷控制電路、LCD顯示電路、按鍵控制電路、無線傳輸電路組成,系統(tǒng)的主控端框圖如圖3.2所示。 圖3.2 主控端框圖 接收端包括無線傳輸電路和串口通信電路組成,“水溫自動(dòng)控制系統(tǒng)”接收端框圖如圖3.3所示。 圖3.3接收端框圖 主控端作為系統(tǒng)的核心,集成了很多功能模塊和數(shù)據(jù)處理算法在上面,為了達(dá)到每個(gè)模塊處理時(shí)間的均衡與系統(tǒng)運(yùn)行時(shí)間的最短,得到比較優(yōu)化的主控制程序流程圖如圖4.1所示。 圖4.1 主控端流程圖 當(dāng)主控端上電后,系統(tǒng)對溫度采集模塊、加熱控制模塊、制冷控制模塊、LCD顯示模塊、按鍵控制模塊、無線傳輸模塊進(jìn)行初始化。初始化完成后,讀取無線數(shù)據(jù)的接收緩沖區(qū),判斷是否接收到數(shù)據(jù),如果收到命令則判斷其命令類型并執(zhí)行。檢測按鍵是否被按下,如果被按下則處理相應(yīng)的按鍵事件。獲取當(dāng)前溫度,在LCD上顯示,并通過無線將溫度數(shù)據(jù)發(fā)送給接收端,把當(dāng)前溫度值傳入PID算法中進(jìn)行運(yùn)算,得出脈沖寬度,再通過脈沖控制加熱棒加熱或制冷器制冷。 接收端作為系統(tǒng)的主要組成部分,負(fù)責(zé)接收主控端通過無線傳來的數(shù)據(jù),并將數(shù)據(jù)及時(shí)的通過串口發(fā)送給上位機(jī),接收端的程序流程圖如圖4.2所示。 當(dāng)接收端上電后,初始化串口模塊和無線傳輸模塊。初始化結(jié)束后,一直等待接收主控端傳來數(shù)據(jù),如果接收到數(shù)據(jù),立即將數(shù)據(jù)通過串口發(fā)送給上位機(jī),并向主控端返回校驗(yàn)數(shù)據(jù),然后繼續(xù)等待接收主控端傳來的數(shù)據(jù)。
圖4.2 接收端流程圖 上位機(jī)作為系統(tǒng)的重要組成部分,有端口選擇、接收數(shù)據(jù)、繪制圖表、語音播報(bào)、打印圖表、數(shù)據(jù)回放等功能。上位機(jī)軟件框圖如圖4.3所示。 圖4.3上位機(jī)軟件功能圖 當(dāng)上位機(jī)數(shù)據(jù)采集處理系統(tǒng)啟動(dòng)后,程序首先檢查自身配置文件,并顯示在系統(tǒng)狀態(tài)框上對使用者進(jìn)行提醒。若檢查通過,用戶則開始設(shè)定自定義配置。設(shè)置完成后,系統(tǒng)等待用戶操作。用戶選擇相應(yīng)模塊功能后,進(jìn)入模塊菜單,模塊菜單開始讀取配置文件開始初始化,根據(jù)用戶的選擇和相應(yīng)功能的實(shí)現(xiàn),模塊會(huì)根據(jù)選擇對自身控件或者功能線程進(jìn)行激活。
在調(diào)試和制作過程中遇到了很多問題,如在語音播報(bào)和打印的時(shí)候程序會(huì)卡死,無法永久保留用戶設(shè)置,PID算法計(jì)算不準(zhǔn)確等,但經(jīng)過認(rèn)真考慮和查詢對問題都進(jìn)行了解決,調(diào)試結(jié)果如下: - 通過多線程和移交系統(tǒng)資源控制權(quán)解決語音播報(bào)阻塞和打印等待問題;
- 通過讀寫ini系統(tǒng)配置文件,解決系統(tǒng)保留用戶設(shè)置問題;
- 通過用動(dòng)態(tài)數(shù)據(jù)讀取顯示,解決數(shù)據(jù)顯示直觀效果問題;
- 由于PID算法根據(jù)不同的控制系統(tǒng)有不同的參數(shù)設(shè)置,所以為了更精準(zhǔn)的實(shí)現(xiàn)對水溫度的控制,進(jìn)行了很多的實(shí)驗(yàn),對所得到的數(shù)據(jù)進(jìn)行記錄、比較,最終得到了符合要求的一組參數(shù)設(shè)置數(shù)據(jù);
- 通過配置無線的寄存器,采用無應(yīng)答從發(fā)機(jī)制解決了無線丟失的問題;
- 通過統(tǒng)一的協(xié)議,加強(qiáng)了系統(tǒng)的通信可靠性,減少了誤碼率。
整個(gè)系統(tǒng)達(dá)到了題目的技術(shù)指標(biāo)要求。 在制作過程中根據(jù)具體情況,結(jié)合所學(xué)的知識(shí),對本系統(tǒng)添加了一些新的功能,創(chuàng)新點(diǎn)如下: - 能適當(dāng)?shù)姆趴s圖表,便于查看數(shù)據(jù);
- 能自動(dòng)的語音播報(bào);
- 能定時(shí)自動(dòng)打印圖表;
- 能穩(wěn)定到任意溫度。
附錄A 元件清單
附錄B 系統(tǒng)原理圖 附錄B1接收端電路圖 附錄B2主控端電路圖
全部資料51hei下載地址:
|