【单片机毕业设计】【mcuclub-jj-036】基于单片机的电加热供暖的设计
???????最近設(shè)計(jì)了一個項(xiàng)目基于單片機(jī)的電加熱供暖系統(tǒng),與大家分享一下:
一、基本介紹
項(xiàng)目名:電加熱供暖
項(xiàng)目編號:mcuclub-jj-036
單片機(jī)類型:STC89C52、STM32F103C8T6
具體功能:
1、通過DS18B20檢測環(huán)境溫度,可通過按鍵設(shè)置溫度擋位,當(dāng)溫度在最高溫度和中間溫度時,啟動一個加熱片工作,并啟動水泵供水;當(dāng)溫度在中間溫度和最低溫度時,啟動兩個加熱片工作,并啟動水泵供水;當(dāng)溫度低于最低溫度時,啟動三個加熱片工作,并啟動水泵供水
2、通過按鍵可設(shè)置各溫度值,可手動控制加熱片工作、切換模式
3、通過顯示屏顯示溫度值、及加熱狀態(tài)、模式
擴(kuò)展功能:通過藍(lán)牙模塊將測量數(shù)據(jù)發(fā)送到手機(jī)端,并可以控制加熱以及模式切換
二、51實(shí)物圖
單片機(jī)型號:STC89C52
板子為綠色PCB板,兩層板,厚度1.2,上下覆銅接地。元器件基本上為插針式,個別降壓芯片會使用貼片式。
供電接口:TYPE-C
?
三、51仿真圖
仿真軟件版本:proteus8.9
電路連線方式:網(wǎng)絡(luò)標(biāo)號連線方式
注意:部分實(shí)物元器件仿真中沒有,仿真中會用其他工作原理相似的元件代替,這樣可能導(dǎo)致實(shí)物程序和仿真程序不一樣
?
?四、32實(shí)物圖
單片機(jī)型號:STM32F103C8T6
板子為綠色PCB板,兩層板,厚度1.2,上下覆銅接地。元器件基本上為插針式,個別降壓芯片會使用貼片式。
供電接口:TYPE-C
?
?五、原理圖
軟件版本:AD2013
電路連線方式:網(wǎng)絡(luò)標(biāo)號連線方式
注意:原理圖只是畫出了模塊的引腳圖,而并不是模塊的內(nèi)部結(jié)構(gòu)原理圖
?
?六、PCB圖
由原理圖導(dǎo)出,封裝很大一部分都是作者自己繪制,不提供封裝庫,只提供連接好的源文件。中間有一個項(xiàng)目編號,隱藏在單片機(jī)底座下,插入單片機(jī)后不會看到。
兩層板,上下覆銅接地。
?
七、系統(tǒng)框圖
本設(shè)計(jì)以單片機(jī)為核心控制器,加上其他模塊一起組成此次設(shè)計(jì)的整個系統(tǒng),其中包括中控部分、輸入部分和輸出部分。中控部分采用了單片機(jī)控制器,其主要作用是獲取輸入部分的數(shù)據(jù),經(jīng)過內(nèi)部處理,邏輯判斷,最終控制輸出部分。輸入由三部分組成,第一部分是溫度檢測模塊,通過該模塊檢測當(dāng)前環(huán)境的溫度;第二部分是按鍵模塊,通過該模塊可以切換界面、設(shè)置閾值、切換模式等;第三部分是供電模塊,通過該模塊可給整個系統(tǒng)進(jìn)行供電。輸出由兩部分組成,第一部分是顯示模塊,通過該模塊可以顯示監(jiān)測的數(shù)據(jù)以及設(shè)置的閾值;第二部分是繼電器模塊,通過三個繼電器控制加熱,一個繼電器控制加水。除此之外,藍(lán)牙模塊既作為輸入又作為輸出,藍(lán)牙模塊和手機(jī)進(jìn)行連接,可以將監(jiān)測的數(shù)據(jù)傳輸?shù)接脩羰謾C(jī)端,用戶也可以通過手機(jī)端發(fā)送指令控制繼電器的工作及其模式的切換。具體系統(tǒng)框圖如圖3.1所示。
?
?八、軟件設(shè)計(jì)流程
系統(tǒng)的主流程圖如圖所示。在主程序中:首先對各個模塊進(jìn)行初始化,隨后進(jìn)入while主循環(huán),在主循環(huán)中,首先進(jìn)入第一個函數(shù)按鍵函數(shù),該函數(shù)主要分為兩部分,第一部分為調(diào)用按鍵掃描函數(shù)獲取按鍵鍵值,第二部分通過鍵值進(jìn)行相應(yīng)的處理操作,包括切換界面、設(shè)置閾值等;緊接著進(jìn)入第二個函數(shù)監(jiān)測函數(shù),該函數(shù)主要通過調(diào)用相應(yīng)的驅(qū)動函數(shù)獲取測量值,并通過藍(lán)牙模塊將監(jiān)測的數(shù)據(jù)傳輸?shù)绞謾C(jī)端,用戶也可以通過手機(jī)端發(fā)送指令,設(shè)備根據(jù)用戶發(fā)送的指令執(zhí)行對應(yīng)的處理;緊接著進(jìn)入第三個函數(shù)顯示函數(shù),該函數(shù)顯示監(jiān)測值及閾值;最后進(jìn)入第四個函數(shù)處理函數(shù),該函數(shù)主要判斷當(dāng)前溫度是否在設(shè)置的閾值之內(nèi),當(dāng)溫度在最高溫度和中間溫度時,啟動一個加熱片工作,并啟動水泵供水;當(dāng)溫度在中間溫度和最低溫度時,啟動兩個加熱片工作,并啟動水泵供水;當(dāng)溫度低于最低溫度時,啟動三個加熱片工作,并啟動水泵供水。
?
?九、部分程序展示
軟件版本:keil5
邏輯程序和驅(qū)動程序分開,分布于main.c和其他.c文件
void Manage_function(void) {if(flag_display == 0) //測量界面{if(flag_mode == 0){if(temp_value > temp_max*10) //溫度大于最大值停止加熱{flag_jr = 0;} else if(temp_value <= temp_max*10 && temp_value >temp_mid*10) //溫度在最高溫度和中間溫度時,啟動一個加熱片工作,并啟動水泵供水 {flag_jr = 1;}else if(temp_value <= temp_mid*10 && temp_value >temp_min*10)//溫度在中間溫度和最低溫度時,啟動兩個加熱片工作,并啟動水泵供水{flag_jr = 2; }else //溫度低于最低溫度時,啟動三個加熱片工作,并啟動水泵供水{flag_jr = 3;}}switch(flag_jr){case 0:RELAY_JR1 = 1;RELAY_JR2 = 1;RELAY_JR3 = 1;RELAY_JS = 1; break;case 1:RELAY_JR1 = 0;RELAY_JR2 = 1;RELAY_JR3 = 1;RELAY_JS = 0; break;case 2:RELAY_JR1 = 0;RELAY_JR2 = 0;RELAY_JR3 = 1;RELAY_JS = 0; break;case 3:RELAY_JR1 = 0;RELAY_JR2 = 0;RELAY_JR3 = 0;RELAY_JS = 0; break; } }else //設(shè)置界面繼電器不工作{RELAY_JR1 = 1;RELAY_JR2 = 1;RELAY_JR3 = 1;RELAY_JS = 1; } }資料請點(diǎn)擊跳轉(zhuǎn)到官網(wǎng)下載
總結(jié)
以上是生活随笔為你收集整理的【单片机毕业设计】【mcuclub-jj-036】基于单片机的电加热供暖的设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样判断一个P2P平台是否靠谱?
- 下一篇: nginx转发https网页加载http