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