一、功能說明
采用PT100精密測溫電阻作為溫度傳感器,將其采集到的溫度數據傳輸至單片機進行轉換,再由單片機進行PID控制,生成相應的PWM信號,該信號被SSR接收并轉換為對發熱片的輸出。該系統通過PID輸出的PWM信號來精確控制發熱片的溫度,同時通過控制加熱頻率來實現與發熱片環境的熱平衡,確保系統溫度的穩定性。此外,還配備了一個環境溫度傳感器,以便在PT100溫度受環境影響而發生變化時進行相應的補償。
二、硬件設計
2.1 原理框圖
2.2 各功能框圖說明
2.2.1 MCU最小系統
該MCU采用了宏晶科技的STC8A8K64D4 LQFP64封裝,以下是其主要特點:
STC8A8K64D4具備內置的高精度時鐘單元和硬件復位電路,因此在使用時無需外部時鐘電路和復位電路,有助于降低成本。
在單片機電源輸入部分增加一個100nF的旁路電容,其主要功能包括:
1、濾除電源上的高頻噪聲。
2、儲能,當負載需要瞬時電流時,電容率先為其提供電流,減小電源產生的波動。
3、給高頻信號提供最近的低阻抗回流路徑,減少對其他芯片電源的干擾。
2.2.2 電源電路
電源電路采用220V交流電轉5V直流電的電源模塊,或者可以通過外部適配器直接提供5V直流電。該電源模塊具有低紋波噪聲、過載保護、短路保護以及過熱保護等功能,以確保系統的穩定性和可靠性。電路圖描述如下:
R8 - 壓敏電阻,主要用在電路承受過壓時進行電壓鉗位,吸收多余的電流以保護后級敏感元件。
P2 - 220V交流輸入。
P1 - 保險絲的作用是過載保護,當電流異常升高到一定程度時,保險絲會熔斷切斷電流,從而保護電路中的電線或防止短路引起火災。
U8 - 220V交流電轉5V直流電的電源模塊。
TV1 - 通過利用該器件的非線性特性,將過電壓鉗制到一個較低的電壓值,實現對后級電路的保護。
C5/C6 - 主要用于濾除由電源輸出的直流電壓中所含的雜波和噪聲,并將其平滑處理為一個穩定的直流電壓輸出。
F1 - 可以使用0歐姆電阻進行短接,或者采用自恢復保險絲,這是一種具有自恢復特性、可反復使用的非線性過流保護器件。
2.2.3 按鍵電路
按鍵電路采用點觸按鍵,當用戶按下按鍵時,電路會檢測到按鍵的接觸,并產生低電平信號,從而觸發相應的操作。電路圖描述如下:
KEY1/KEY2/KEY3 - 點觸按鍵,點觸按鍵的工作原理:按鈕與觸點機械作用,按下按鈕,彈簧收縮,觸點接觸導電條,電路接通;松開按鈕,彈簧恢復原狀,觸點離開導電條,電路斷開。
C7/C8/C9 - 在點觸按鍵上連接一個下拉電容,其主要作用是消除按鍵抖動。當按鍵被按下時,電容會首先充電,從而抑制了按鍵的機械性抖動,這樣就能夠確保單片機程序正確地識別和分辨當前的電平狀態。
2.2.4 PT100采集電路
PT100鉑電阻溫度傳感器,其阻值隨著溫度的變化而呈現相應的變化。為了準確測量PT100的阻值,電橋采集電路是必不可少的工具。該電路由四個電阻組成,其中一個是PT100,其他三個電阻則為已知固定電阻。當PT100的溫度發生改變時,其阻值也會隨之改變,從而打破了電橋的平衡狀態,導致電橋輸出一個微小的電壓信號。這個電壓信號經過放大電路的放大后,將被轉換成數字信號并傳遞給單片機進行處理。電路圖描述如下:
2.2.5 DS18B20電路
DS18B20電路主要采集環境溫度,在PT100溫度控制中,環境溫度的變化會對溫度測量產生影響,因此需要進行溫度補償。有效地消除環境溫度對溫度測量的影響,提高溫度測量的精度。DS18B20是一種數字溫度傳感器,它可以通過1-Wire協議與單片機通信,實現溫度的測量。在電路設計中,需要將DS18B20連接到單片機的IO口,并使用電橋采集電路來測量溫度電路圖描述如下:
R3 - DS18B20是一款單總線溫度傳感器,其數據線采用漏極開路方式,因此它只能輸出低電平而無法輸出高電平。為了保持信號的穩定性,需要借助外部強上拉電阻來拉高電平。
C4 - 濾波電容
2.2.6 繼電器控制電路
單片機智能調控PWM信號,精細控制發熱片溫度,同時自動調節加熱頻率,與環境溫度完美匹配,實現智能熱平衡。
R1 - 串聯電阻的作用是限制電流,使得電路中的元器件不會因為電流過大而被損壞。
R5 - 三極管下拉電阻的作用是為了保證三極管在初始狀態下處于穩定關斷的狀態。
Q1 - 單片機GPIO驅動能力有限,繼電器和電磁閥等大功率負載超出其IO驅動能力。繼電器控制端為電磁線圈(電感),關斷時產生自感電壓易燒壞單片機,因此需通過三極管控制繼電器。
D1 - 二極管的作用是吸收繼電器線圈斷電時產生的自感電壓,防止三極管被高電壓損壞。
C2 -電容在電路中的作用是緩解繼電器線圈電流的突變,避免產生過高的感應電動勢,從而保護電路中的其他元器件免受電壓沖擊。
2.2.7 蜂鳴器電路
蜂鳴器是一種可以發出聲音的電子元件,通過PWM(脈沖寬度調制)控制技術來調節聲音的大小。為了實現對蜂鳴器的控制,我們需要使用三極管。三極管是一種半導體器件,具有電流放大作用,可以將微弱的信號放大成較大的電流,從而實現對蜂鳴器的有效控制。
R2 - 串聯電阻的作用是限制電流,使得電路中的元器件不會因為電流過大而被損壞。
R7 - 三極管下拉電阻的作用是為了保證三極管在初始狀態下處于穩定關斷的狀態。
Q2 - 蜂鳴器的工作電流通常較大,單片機的I/O口無法直接驅動,但AVR可以驅動小功率蜂鳴器。因此,需要使用三極管來控制蜂鳴器的通斷。
D1 - 二極管的作用是吸收蜂鳴器斷電時產生的自感電壓,防止三極管被高電壓損壞。
C2 -蜂鳴器回路上并聯電容的作用是為了保護蜂鳴器,讓其兩端的電壓不能突變,吸收浪涌電壓。
2.2.8 LED電路
R9/R12/R14 - 限流電阻的作用是限制電流,保護LED不被過電流損壞。
2.2.9 數碼管顯示電路
TM1640是一種專門用于驅動控制LED(發光二極管顯示器)的電路,其內部集成了MCU數字接口、數據鎖存器以及LED驅動等電路。該電路主要應用于電子產品LED顯示屏的驅動。從硬件角度來看,單片機的GPIO驅動能力相對有限,而數碼管需要的驅動電流較大,基本達到了單片機驅動電流的極限。在軟件方面,數碼管的驅動需要實時掃描,如果直接使用單片機進行驅動,需要編寫較為復雜的程序,如果程序任務較多,其他任務占用時間較長,數碼管不能實時掃描,數碼管容易閃爍。因此,使用TM1640電路可以有效地解決這些問題,使得LED顯示屏的驅動更加簡單、穩定和可靠。
R10/R11 - 使用TM1640芯片時,需要連接CLK和DIN引腳到單片機的GPIO口,并加上上拉電阻,以確保數據傳輸穩定。
C10/C11 - 在TM1640芯片的電源處加上濾波電容,是為了讓電路中的元器件不會受到電源噪音的影響,這樣可以讓電路更加穩定。
三、軟件設計
3.1 程序框圖
3.2 各功能模塊說明
3.2.1 主函數
主函數采用單片機時間片輪詢法的程序架構,用于在不使用操作系統的情況下實現多任務的并發執行。它的基本原理是利用定時器中斷來劃分時間片,每個時間片對應一個任務,通過任務標志和任務函數來控制任務的運行和切換。
單片機時間片輪詢法的主要步驟有:
定義任務結構體,包含任務函數、任務運行標志、任務計時器和任務計時器初值等成員。
定義任務數組,初始化各個任務的結構體,并指定任務的運行間隔時間。
編寫定時器中斷服務函數,用于實現時間輪片的功能。在每個時鐘節拍中,逐個檢查任務的計時器是否為零,如果為零,則置任務運行標志為1,同時恢復計時器初值;如果不為零,則計時器減一。
編寫任務處理函數,用于在主循環中執行各個任務。在每個循環中,逐個檢查任務的運行標志是否為1,如果為1,則調用任務函數,并清除運行標志。
編寫主函數,進行系統的初始化和任務的處理。
時間片輪詢法流程圖
定時中斷服務函數每間隔1ms中斷一次,在中斷中判斷各個任務的時間是否到0,如果定時值不為0,定時器減一,直到為零。為0后定時器重新賦值間隔時間,并置任務執行標志。
在main函數里面判斷任務執行標志,并執行響應函數。
3.2.2 按鍵模塊
機械式按鍵在按下或釋放時,會因機械彈性作用產生抖動,持續時間約為5-10ms。在此期間檢測按鍵的通與斷可能導致判斷出錯,需要采取消抖措施。如下圖,消抖方法分為硬件消抖和軟件消抖,硬件消抖就是在按鍵上并聯一個電容,利用電容的充放電特性對抖動過程中產生的電壓毛刺進行平滑處理,從而實現消抖。軟件消抖可以采用延時或者循環檢測的方式去掉后沿抖動。
該程序采用狀態機方式處理點觸按鍵,根據不同按鍵狀態執行不同操作,實現更靈活高效的控制方式。狀態機設計可精確處理每個按鍵動作,確保操作準確可靠。
狀態機的四要素
現態:狀態機當前狀態。
觸發條件:改變當前狀態的發生條件。
動作:狀態改變產生相應的動作。
次態:狀態機激活觸發條件后跳轉到的下一狀態。
3.2.3 PT100采集模塊
PT100采集模塊使用了一種高效且可靠的方法來獲取溫度值。該模塊通過查表的方式得到實際溫度值,將采集到的電壓信號轉換成電阻值,然后根據這個電阻值查詢預先設定的表格,從而得到準確的溫度讀數。這種方法不僅簡化了處理過程,而且提高了測溫的精度和響應速度。
3.2.4 PID算法
該程序采用了增量式PID算法進行控制。增量式PID算法是一種常用的控制算法,其顯著特點在于將積分環節的累積作用進行了替換,從而避免了積分環節對計算性能和存儲空間的過多占用。該算法根據當前誤差和上一次誤差的差值來計算控制量的增量。該算法由三個組成部分:比例環節、積分環節和微分環節。比例環節根據當前誤差計算出比例輸出,積分環節根據當前誤差和歷史誤差的累加值計算出積分輸出,微分環節根據當前誤差和歷史誤差的差值計算出微分輸出。雖然增量式PID算法具有響應速度快的優點,但需要保存上一次的誤差值,因此容易受到累計誤差的影響。
在工業控制領域,PID參數的調試是非常重要的。PID控制器是一種常用的控制算法,它根據誤差信號和過去的狀態來調整控制輸出,以實現對于特定過程的精確控制。
通過串口調試PID參數,可以實現對控制系統的精細調整,以達到更好的控制效果。在進行串口調試時,需要使用特定的工具或軟件,以便向控制系統發送命令并接收反饋信息。
四、資料獲取
具體源代碼和原理圖可以前往嘉立創-硬創社搜索“智能溫控器”。
-
單片機
+關注
關注
6037文章
44558瀏覽量
635298 -
PID算法
+關注
關注
2文章
172瀏覽量
24311 -
PID
+關注
關注
35文章
1472瀏覽量
85521 -
溫度控制器
+關注
關注
1文章
175瀏覽量
33804 -
Pt100
+關注
關注
9文章
172瀏覽量
69131
發布評論請先 登錄
相關推薦
評論