一、功能說明
采用PT100精密測溫電阻作為溫度傳感器,將其采集到的溫度數(shù)據(jù)傳輸至單片機進行轉換,再由單片機進行PID控制,生成相應的PWM信號,該信號被SSR接收并轉換為對發(fā)熱片的輸出。該系統(tǒng)通過PID輸出的PWM信號來精確控制發(fā)熱片的溫度,同時通過控制加熱頻率來實現(xiàn)與發(fā)熱片環(huán)境的熱平衡,確保系統(tǒng)溫度的穩(wěn)定性。此外,還配備了一個環(huán)境溫度傳感器,以便在PT100溫度受環(huán)境影響而發(fā)生變化時進行相應的補償。
二、硬件設計
2.1 原理框圖

2.2 各功能框圖說明
2.2.1 MCU最小系統(tǒng)
該MCU采用了宏晶科技的STC8A8K64D4 LQFP64封裝,以下是其主要特點:

STC8A8K64D4具備內(nèi)置的高精度時鐘單元和硬件復位電路,因此在使用時無需外部時鐘電路和復位電路,有助于降低成本。
在單片機電源輸入部分增加一個100nF的旁路電容,其主要功能包括:
1、濾除電源上的高頻噪聲。
2、儲能,當負載需要瞬時電流時,電容率先為其提供電流,減小電源產(chǎn)生的波動。
3、給高頻信號提供最近的低阻抗回流路徑,減少對其他芯片電源的干擾。

2.2.2 電源電路
電源電路采用220V交流電轉5V直流電的電源模塊,或者可以通過外部適配器直接提供5V直流電。該電源模塊具有低紋波噪聲、過載保護、短路保護以及過熱保護等功能,以確保系統(tǒng)的穩(wěn)定性和可靠性。電路圖描述如下:

R8 - 壓敏電阻,主要用在電路承受過壓時進行電壓鉗位,吸收多余的電流以保護后級敏感元件。
P2 - 220V交流輸入。
P1 - 保險絲的作用是過載保護,當電流異常升高到一定程度時,保險絲會熔斷切斷電流,從而保護電路中的電線或防止短路引起火災。
U8 - 220V交流電轉5V直流電的電源模塊。
TV1 - 通過利用該器件的非線性特性,將過電壓鉗制到一個較低的電壓值,實現(xiàn)對后級電路的保護。
C5/C6 - 主要用于濾除由電源輸出的直流電壓中所含的雜波和噪聲,并將其平滑處理為一個穩(wěn)定的直流電壓輸出。
F1 - 可以使用0歐姆電阻進行短接,或者采用自恢復保險絲,這是一種具有自恢復特性、可反復使用的非線性過流保護器件。
2.2.3 按鍵電路
按鍵電路采用點觸按鍵,當用戶按下按鍵時,電路會檢測到按鍵的接觸,并產(chǎn)生低電平信號,從而觸發(fā)相應的操作。電路圖描述如下:

KEY1/KEY2/KEY3 - 點觸按鍵,點觸按鍵的工作原理:按鈕與觸點機械作用,按下按鈕,彈簧收縮,觸點接觸導電條,電路接通;松開按鈕,彈簧恢復原狀,觸點離開導電條,電路斷開。
C7/C8/C9 - 在點觸按鍵上連接一個下拉電容,其主要作用是消除按鍵抖動。當按鍵被按下時,電容會首先充電,從而抑制了按鍵的機械性抖動,這樣就能夠確保單片機程序正確地識別和分辨當前的電平狀態(tài)。
2.2.4 PT100采集電路
PT100鉑電阻溫度傳感器,其阻值隨著溫度的變化而呈現(xiàn)相應的變化。為了準確測量PT100的阻值,電橋采集電路是必不可少的工具。該電路由四個電阻組成,其中一個是PT100,其他三個電阻則為已知固定電阻。當PT100的溫度發(fā)生改變時,其阻值也會隨之改變,從而打破了電橋的平衡狀態(tài),導致電橋輸出一個微小的電壓信號。這個電壓信號經(jīng)過放大電路的放大后,將被轉換成數(shù)字信號并傳遞給單片機進行處理。電路圖描述如下:


2.2.5 DS18B20電路
DS18B20電路主要采集環(huán)境溫度,在PT100溫度控制中,環(huán)境溫度的變化會對溫度測量產(chǎn)生影響,因此需要進行溫度補償。有效地消除環(huán)境溫度對溫度測量的影響,提高溫度測量的精度。DS18B20是一種數(shù)字溫度傳感器,它可以通過1-Wire協(xié)議與單片機通信,實現(xiàn)溫度的測量。在電路設計中,需要將DS18B20連接到單片機的IO口,并使用電橋采集電路來測量溫度電路圖描述如下:

R3 - DS18B20是一款單總線溫度傳感器,其數(shù)據(jù)線采用漏極開路方式,因此它只能輸出低電平而無法輸出高電平。為了保持信號的穩(wěn)定性,需要借助外部強上拉電阻來拉高電平。
C4 - 濾波電容
2.2.6 繼電器控制電路
單片機智能調(diào)控PWM信號,精細控制發(fā)熱片溫度,同時自動調(diào)節(jié)加熱頻率,與環(huán)境溫度完美匹配,實現(xiàn)智能熱平衡。

R1 - 串聯(lián)電阻的作用是限制電流,使得電路中的元器件不會因為電流過大而被損壞。
R5 - 三極管下拉電阻的作用是為了保證三極管在初始狀態(tài)下處于穩(wěn)定關斷的狀態(tài)。
Q1 - 單片機GPIO驅(qū)動能力有限,繼電器和電磁閥等大功率負載超出其IO驅(qū)動能力。繼電器控制端為電磁線圈(電感),關斷時產(chǎn)生自感電壓易燒壞單片機,因此需通過三極管控制繼電器。
D1 - 二極管的作用是吸收繼電器線圈斷電時產(chǎn)生的自感電壓,防止三極管被高電壓損壞。
C2 -電容在電路中的作用是緩解繼電器線圈電流的突變,避免產(chǎn)生過高的感應電動勢,從而保護電路中的其他元器件免受電壓沖擊。
2.2.7 蜂鳴器電路
蜂鳴器是一種可以發(fā)出聲音的電子元件,通過PWM(脈沖寬度調(diào)制)控制技術來調(diào)節(jié)聲音的大小。為了實現(xiàn)對蜂鳴器的控制,我們需要使用三極管。三極管是一種半導體器件,具有電流放大作用,可以將微弱的信號放大成較大的電流,從而實現(xiàn)對蜂鳴器的有效控制。

R2 - 串聯(lián)電阻的作用是限制電流,使得電路中的元器件不會因為電流過大而被損壞。
R7 - 三極管下拉電阻的作用是為了保證三極管在初始狀態(tài)下處于穩(wěn)定關斷的狀態(tài)。
Q2 - 蜂鳴器的工作電流通常較大,單片機的I/O口無法直接驅(qū)動,但AVR可以驅(qū)動小功率蜂鳴器。因此,需要使用三極管來控制蜂鳴器的通斷。
D1 - 二極管的作用是吸收蜂鳴器斷電時產(chǎn)生的自感電壓,防止三極管被高電壓損壞。
C2 -蜂鳴器回路上并聯(lián)電容的作用是為了保護蜂鳴器,讓其兩端的電壓不能突變,吸收浪涌電壓。
2.2.8 LED電路

R9/R12/R14 - 限流電阻的作用是限制電流,保護LED不被過電流損壞。
2.2.9 數(shù)碼管顯示電路
TM1640是一種專門用于驅(qū)動控制LED(發(fā)光二極管顯示器)的電路,其內(nèi)部集成了MCU數(shù)字接口、數(shù)據(jù)鎖存器以及LED驅(qū)動等電路。該電路主要應用于電子產(chǎn)品LED顯示屏的驅(qū)動。從硬件角度來看,單片機的GPIO驅(qū)動能力相對有限,而數(shù)碼管需要的驅(qū)動電流較大,基本達到了單片機驅(qū)動電流的極限。在軟件方面,數(shù)碼管的驅(qū)動需要實時掃描,如果直接使用單片機進行驅(qū)動,需要編寫較為復雜的程序,如果程序任務較多,其他任務占用時間較長,數(shù)碼管不能實時掃描,數(shù)碼管容易閃爍。因此,使用TM1640電路可以有效地解決這些問題,使得LED顯示屏的驅(qū)動更加簡單、穩(wěn)定和可靠。


R10/R11 - 使用TM1640芯片時,需要連接CLK和DIN引腳到單片機的GPIO口,并加上上拉電阻,以確保數(shù)據(jù)傳輸穩(wěn)定。
C10/C11 - 在TM1640芯片的電源處加上濾波電容,是為了讓電路中的元器件不會受到電源噪音的影響,這樣可以讓電路更加穩(wěn)定。
三、軟件設計
3.1 程序框圖

3.2 各功能模塊說明
3.2.1 主函數(shù)
主函數(shù)采用單片機時間片輪詢法的程序架構,用于在不使用操作系統(tǒng)的情況下實現(xiàn)多任務的并發(fā)執(zhí)行。它的基本原理是利用定時器中斷來劃分時間片,每個時間片對應一個任務,通過任務標志和任務函數(shù)來控制任務的運行和切換。
單片機時間片輪詢法的主要步驟有:
定義任務結構體,包含任務函數(shù)、任務運行標志、任務計時器和任務計時器初值等成員。
定義任務數(shù)組,初始化各個任務的結構體,并指定任務的運行間隔時間。
編寫定時器中斷服務函數(shù),用于實現(xiàn)時間輪片的功能。在每個時鐘節(jié)拍中,逐個檢查任務的計時器是否為零,如果為零,則置任務運行標志為1,同時恢復計時器初值;如果不為零,則計時器減一。
編寫任務處理函數(shù),用于在主循環(huán)中執(zhí)行各個任務。在每個循環(huán)中,逐個檢查任務的運行標志是否為1,如果為1,則調(diào)用任務函數(shù),并清除運行標志。
編寫主函數(shù),進行系統(tǒng)的初始化和任務的處理。
時間片輪詢法流程圖

定時中斷服務函數(shù)每間隔1ms中斷一次,在中斷中判斷各個任務的時間是否到0,如果定時值不為0,定時器減一,直到為零。為0后定時器重新賦值間隔時間,并置任務執(zhí)行標志。

在main函數(shù)里面判斷任務執(zhí)行標志,并執(zhí)行響應函數(shù)。

3.2.2 按鍵模塊
機械式按鍵在按下或釋放時,會因機械彈性作用產(chǎn)生抖動,持續(xù)時間約為5-10ms。在此期間檢測按鍵的通與斷可能導致判斷出錯,需要采取消抖措施。如下圖,消抖方法分為硬件消抖和軟件消抖,硬件消抖就是在按鍵上并聯(lián)一個電容,利用電容的充放電特性對抖動過程中產(chǎn)生的電壓毛刺進行平滑處理,從而實現(xiàn)消抖。軟件消抖可以采用延時或者循環(huán)檢測的方式去掉后沿抖動。

該程序采用狀態(tài)機方式處理點觸按鍵,根據(jù)不同按鍵狀態(tài)執(zhí)行不同操作,實現(xiàn)更靈活高效的控制方式。狀態(tài)機設計可精確處理每個按鍵動作,確保操作準確可靠。
狀態(tài)機的四要素
現(xiàn)態(tài):狀態(tài)機當前狀態(tài)。
觸發(fā)條件:改變當前狀態(tài)的發(fā)生條件。
動作:狀態(tài)改變產(chǎn)生相應的動作。
次態(tài):狀態(tài)機激活觸發(fā)條件后跳轉到的下一狀態(tài)。


3.2.3 PT100采集模塊
PT100采集模塊使用了一種高效且可靠的方法來獲取溫度值。該模塊通過查表的方式得到實際溫度值,將采集到的電壓信號轉換成電阻值,然后根據(jù)這個電阻值查詢預先設定的表格,從而得到準確的溫度讀數(shù)。這種方法不僅簡化了處理過程,而且提高了測溫的精度和響應速度。

3.2.4 PID算法
該程序采用了增量式PID算法進行控制。增量式PID算法是一種常用的控制算法,其顯著特點在于將積分環(huán)節(jié)的累積作用進行了替換,從而避免了積分環(huán)節(jié)對計算性能和存儲空間的過多占用。該算法根據(jù)當前誤差和上一次誤差的差值來計算控制量的增量。該算法由三個組成部分:比例環(huán)節(jié)、積分環(huán)節(jié)和微分環(huán)節(jié)。比例環(huán)節(jié)根據(jù)當前誤差計算出比例輸出,積分環(huán)節(jié)根據(jù)當前誤差和歷史誤差的累加值計算出積分輸出,微分環(huán)節(jié)根據(jù)當前誤差和歷史誤差的差值計算出微分輸出。雖然增量式PID算法具有響應速度快的優(yōu)點,但需要保存上一次的誤差值,因此容易受到累計誤差的影響。


在工業(yè)控制領域,PID參數(shù)的調(diào)試是非常重要的。PID控制器是一種常用的控制算法,它根據(jù)誤差信號和過去的狀態(tài)來調(diào)整控制輸出,以實現(xiàn)對于特定過程的精確控制。
通過串口調(diào)試PID參數(shù),可以實現(xiàn)對控制系統(tǒng)的精細調(diào)整,以達到更好的控制效果。在進行串口調(diào)試時,需要使用特定的工具或軟件,以便向控制系統(tǒng)發(fā)送命令并接收反饋信息。

四、資料獲取
具體源代碼和原理圖可以前往嘉立創(chuàng)-硬創(chuàng)社搜索“智能溫控器”。
-
單片機
+關注
關注
6067文章
44997瀏覽量
650769 -
PID算法
+關注
關注
2文章
172瀏覽量
25005 -
PID
+關注
關注
37文章
1482瀏覽量
88127 -
溫度控制器
+關注
關注
1文章
179瀏覽量
34323 -
Pt100
+關注
關注
9文章
174瀏覽量
70169
發(fā)布評論請先 登錄
溫度控制器
模糊PID控制算法如何控制勻速升溫
基于單片機PID算法溫度控制系統(tǒng)設計資料分享
基于MBP算法的PID控制器設計
如何使用DSP進行數(shù)字PID控制器的設計

評論