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