基于單片機(jī)的水溫控制系統(tǒng)設(shè)計資料
基于單片機(jī)的水溫控制系統(tǒng)設(shè)計資料,基于,單片機(jī),水溫,控制系統(tǒng),設(shè)計,資料
基于單片機(jī)的水溫控制系統(tǒng)設(shè)計
目 錄
摘 要…………………………………………………………………………………4
第1節(jié) 課題任務(wù)要求 ……………………………………………………………..5
第2節(jié) 總體方案設(shè)計 ………………………………………….………………....5
2.1 總體方案確定……………………………………………….…………………..6
2.1.1 控制方法選擇………………………………...…………………………….6
2.1.2 系統(tǒng)組成……………………………………………………………………7
2.1.3 單片機(jī)系統(tǒng)選擇……………………………………………………………7
2.1.4 溫度控制……………………………..…………………………………….7
2.1.5 方案選擇…………………………..………………………………………7
第3節(jié) 系統(tǒng)硬件設(shè)計……………………….……………………………………..8
3.1 系統(tǒng)框圖……………………………………………………………………..8
3.2 程序流程圖…………………………………..……………….……………..12
第4節(jié) 參數(shù)計算……………………………..………………….………………...16
4.1 系統(tǒng)模塊設(shè)計…………………………………………….……………………16
4.1.1 溫度采集及轉(zhuǎn)換………………….……………………..………………….16
4.1.2 傳感器輸出信號放大…………………..……………………………………17
4.1.3模數(shù)轉(zhuǎn)換………………………………..…………………………………….18
4.1.4 外圍電路設(shè)計……………………………….……………………………….19
4.1.5 數(shù)值處理及顯示部分………………………………………………………..19
4.1.6 PID算法介紹………………………………………………...………………19
4.1.7 A/D轉(zhuǎn)換模塊………………………………………………..………………20
4.1.8 控制模塊……………………………………………………..………………21
4.2 系統(tǒng)硬件調(diào)試………………………………………………………………….21
第5節(jié) CPU軟件抗干擾 ………………………………………….……………..24
5.1 看門狗設(shè)計………………………………………………………….…………24
第6節(jié) 測試方法和測試結(jié)果……………………………………………27
6.1 系統(tǒng)測試儀器及設(shè)備…………………………………………....……………27
6.2 測試方法…………………………………………………………..…………27
6.3 測試結(jié)果………………………………………………………………………27
結(jié)束語 ………………………………….………………....……..29
參考文獻(xiàn).…………………………………….……….…………………..…30
基于單片機(jī)的水溫控制系統(tǒng)設(shè)計
摘要:
本系統(tǒng)以AT89C51,AT89C2051單片機(jī)為核心,主要包括傳感器溫度采集,A/D模/數(shù)轉(zhuǎn)換,按扭操作,單片機(jī)控制,數(shù)碼管數(shù)字顯示等部分。本系統(tǒng)采用PID算法實(shí)現(xiàn)溫度控制功能,通過串行通信完成兩片單片機(jī)信息的交互而實(shí)現(xiàn)溫度設(shè)定、控制和顯示。本設(shè)計還可以通過串口與上位機(jī)(電腦)連接,實(shí)現(xiàn)電腦控制。系統(tǒng)設(shè)計有體積小、交互性強(qiáng)等優(yōu)點(diǎn)。為了實(shí)現(xiàn)高精度的水溫控制,本單片機(jī)系統(tǒng)采用PID算法控制和PWM脈寬調(diào)制相結(jié)合的技術(shù),通過控制雙向可控硅改變電爐和電源的接通、斷開,從而改變水溫加熱時間的方法來實(shí)現(xiàn)對水溫的控制。本系統(tǒng)由鍵盤顯示和溫度控制兩個模塊組成,通過模塊間的通信完成溫度設(shè)定、實(shí)溫顯示、水溫升降等功能。具有電路結(jié)構(gòu)簡單、程序簡短、系統(tǒng)可靠性高、操作簡便等特點(diǎn)。
第1節(jié) 課題任務(wù)與要求:
1.基本要求
一升水由1kw的電爐加熱,要求水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時實(shí)現(xiàn)自動調(diào)整,以保持設(shè)定的溫度基本不變。
2.主要性能指標(biāo)
a. 溫度設(shè)定范圍:30-90℃,最小區(qū)分度為1℃。
b. 控制精度:溫度控制的靜態(tài)誤差≤1℃。
c. 用十進(jìn)制數(shù)碼顯示實(shí)際水溫。
d. 能打印實(shí)測水溫值。
3.擴(kuò)展功能
a. 具有通信能力,可接受其他數(shù)據(jù)設(shè)備發(fā)來的命令,或?qū)⒔Y(jié)果傳送到其他數(shù)據(jù)設(shè)備。
b. 采用適當(dāng)?shù)目刂品椒▽?shí)現(xiàn)當(dāng)設(shè)定溫度與環(huán)境溫度突變時,減小系統(tǒng)的調(diào)節(jié)時間和超調(diào)量。
c. 溫度控制的靜態(tài)誤差≤1℃。
d. 能自動顯示水溫隨時間變化的曲線。
第2節(jié) 總體方案設(shè)計
2.1總體方案的確定
2.1.1、控制方法選擇
由于水溫控制系統(tǒng)的控制對象具有熱存儲能力大,慣性也較大的特點(diǎn)。水在容器內(nèi)的流動或熱量傳遞都存在一定的阻力,因而可以歸于具有純滯后的一階大慣性環(huán)節(jié)。一般來說,熱過程大多具有較大的滯后,它對任何信號的響應(yīng)都會推遲一段時間,使輸出與輸入之間產(chǎn)生相移。對于這樣一些存在大的滯后特性的過渡過程控制,一般來說可以采用以下幾種控制方案:
(1)輸出開關(guān)量控制:
對于慣性較大的過程可以簡單地采用輸出開關(guān)量控制的方法。這種方法通過比較給定值與被控參數(shù)的偏差來控制輸出的狀態(tài):開關(guān)或者通斷,因此控制過程十分簡單,也容易實(shí)現(xiàn)。但由于輸出控制量只有兩種狀態(tài),使被控參數(shù)在兩個方向上變化的速率均為最大,因此容易硬氣反饋回路產(chǎn)生振蕩,對自動控制系統(tǒng)會產(chǎn)生十分不利的影響,甚至?xí)驗(yàn)檩敵鲩_關(guān)的頻繁動作而不能滿足系統(tǒng)對控制精度的要求。因此,這種控制方案一般在大慣性系統(tǒng)對控制精度和動態(tài)特性要求不高的情況下采用。
(2)比例控制(P控制)
比例控制的特點(diǎn)是控制器的輸出與偏差成比例,輸出量的大小與偏差之間有對應(yīng)關(guān)系。當(dāng)負(fù)荷變化時,抗干擾能力強(qiáng),過渡時間短,但過程終了存在余差。因此它適用于控制通道滯后較小、負(fù)荷變化不大、允許被控量在一定范圍內(nèi)變化的系統(tǒng)。使用時還應(yīng)注意經(jīng)過一段時間后需將累積誤差消除。
a. 比例積分控制(PI控制)
由于比例積分控制的特點(diǎn)是控制器的輸出與偏差的積分成比例,積分的作用使得過渡過程結(jié)束時無余差,但系統(tǒng)的穩(wěn)定性降低。雖然加大比例度可以使穩(wěn)定性提高,但又使過渡時間加長。因此,PI控制適用于滯后較小、負(fù)荷變化不大、被控量不允許有余差的控制系統(tǒng),它是工程上使用最多、應(yīng)用最廣的一種控制方法。
b. 比例積分加微分控制(PID控制)
比例積分加微分控制的特點(diǎn)是微分的作用使控制器的輸出與偏差變化的速度成正比例,它對克服對象的容量滯后有顯著的效果。在比例基礎(chǔ)上加上微分作用,使穩(wěn)定性提高,再加上積分作用,可以消除余差。因此,PID控制適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。
結(jié)合本例題設(shè)計任務(wù)與要求,由于水溫系統(tǒng)的傳遞函數(shù)事先難以精確獲得,因而很難判斷哪一種控制方法能夠滿足系統(tǒng)對控制品質(zhì)的要求。但從以上對控制方法的分析來看,PID控制方法最適合本例采用。另一方面,由于可以采用單片機(jī)實(shí)現(xiàn)控制過程,無論采用上述哪一種控制方法都不會增加系統(tǒng)硬件成本,而只需對軟件作相應(yīng)改變即可實(shí)現(xiàn)不同的控制方案。因此本系統(tǒng)可以采用PID的控制方式,以最大限度地滿足系統(tǒng)對諸如控制精度、調(diào)節(jié)時間和超調(diào)量等控制品質(zhì)的要求。
2.1.2、.系統(tǒng)組成
就控制器本身而言,控制電路可以采用急經(jīng)典控制理論和常規(guī)模擬控制系統(tǒng)實(shí)現(xiàn)水溫的自動團(tuán)結(jié)。但隨著計算機(jī)與超大規(guī)模集成電路的迅速發(fā)展,以現(xiàn)代控制理論和計算機(jī)為基礎(chǔ),采用數(shù)字控制、顯示、A/D與D/A轉(zhuǎn)換,配額后執(zhí)行器與控制閥構(gòu)成的計算機(jī)控制系統(tǒng),在過程控制過程中得到越來越廣泛的應(yīng)用。
由于本例是一個典型的檢測、控制型應(yīng)用系統(tǒng),它要求系統(tǒng)完成從水溫檢測、信號處理、輸入、運(yùn)算到輸出控制電爐加熱功率以實(shí)現(xiàn)水溫控制的全過程。因此,應(yīng)以單片微型計算機(jī)為核心組成一個專用計算機(jī)應(yīng)用系統(tǒng),以滿足檢測、控制應(yīng)用類型的功能要求。另外,單片機(jī)的使用也為實(shí)現(xiàn)水溫的智能化控制以及提供完善的人機(jī)交互界面及多機(jī)通訊接口提供了可能,而這些功能在常規(guī)數(shù)字邏輯道路中往往是難以實(shí)現(xiàn)或無法實(shí)現(xiàn)的。所以,本例采用以單片機(jī)為核心的直接數(shù)字控制系統(tǒng)(DDC)。
2.1.3、.單片機(jī)系統(tǒng)選擇
AT89C2051、AT89C51單片機(jī)是最常用的單片機(jī),是一種低損耗、高性能、CMOS八位微處理器。AT89C2051與MCS-51系列的單片機(jī)在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多MCS-51系列產(chǎn)品沒有的功能,功能強(qiáng)、靈活性高而且價格低廉。AT89S51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低了系統(tǒng)成本。只要程序長度小于4K,四個I/O口全部提供給擁護(hù)。系統(tǒng)運(yùn)行中需要存放的中間變量較少,可不必再擴(kuò)充外部RAM。
1.1.4、溫度控制
鍵盤輸入一個需要控制的溫度,通過單片機(jī)2051的串口把數(shù)據(jù)傳送到AT89C51,AT89C51通過數(shù)據(jù)比較,PID分析,T0,T1產(chǎn)生PWM波來控制電爐是否繼續(xù)加熱還是停止加熱。
1.1.5、方案選擇
方案一:用熱敏電阻:通過電阻的變化來獲得電壓的變化,起價格雖然便宜但是精度不是很高。對于一個精度要求高的系統(tǒng)不宜采用
方案二:用A/D590:通過AD590溫度傳感器采集溫度,由于AD590是電流傳感器,經(jīng)過電阻轉(zhuǎn)換為電壓。雖然價格較高但是精度高。
經(jīng)比較,我們選擇方案二
第3節(jié) 系統(tǒng)硬件設(shè)計
3.1系統(tǒng)框圖
傳
感
器
電
爐
單
片
機(jī)
基
本
系
統(tǒng)
信號
放大
A/D
功
率
放
大
鍵
盤
顯
示
圖3-1 單片機(jī)控制系統(tǒng)原理框圖
3.1.2鍵盤顯示電路
本模塊以AT89C2051單片機(jī)為核心,利用138譯碼器對顯示器動態(tài)掃描及作為鍵盤的掃描線,采用此方法大大簡化了硬件,充分的利用了單片機(jī)的資源,這也是本設(shè)計的巧妙所在??赏^鍵盤來設(shè)置溫度,并顯示在數(shù)碼管上,并通過串口發(fā)送出去,另外檢測到溫度通過串口接收進(jìn)來,并顯示在相應(yīng)的數(shù)碼管上鍵盤的掃描輸入與顯示器的掃描輸出由單片機(jī)控制,但考慮到鍵盤與接口需要較多的I/O口線,如果直接由單片機(jī)控制,一方面必須擴(kuò)充系統(tǒng)I/O口,另一方面,鍵盤與LED顯示的掃描處理占用大量機(jī)時,增加軟件編程負(fù)擔(dān)。為此在組成系統(tǒng)人機(jī)對話通道時采用了可編程的鍵盤。顯示接口芯片8051,由8051負(fù)責(zé)鍵盤掃描、消抖處理和顯示輸出工作。根據(jù)認(rèn)為的要求,8051鍵盤被設(shè)計為2*8行,掃描線有SL0~SL8經(jīng)譯碼輸出,接入鍵盤列線,查詢RL0~RL1提供,采用鍵盤掃描法對16個按鍵進(jìn)行讀取狀態(tài)。使用行列式,把這16個按鍵分為82,采用74LS138對8行鍵盤輪流掃描,再通過P3.2和P3.7這2列讀進(jìn)來,從而判斷按鍵是否按下。電路如圖3所示。
鍵盤的系統(tǒng)框圖如下:
鍵盤顯示圖一
鍵盤顯示圖二
2系統(tǒng)溫度控制
前向通道:
以AT89C51單片機(jī)為控制核心,采集到溫度,經(jīng)放大,AD轉(zhuǎn)換后送單片機(jī)處理,再通過串行口發(fā)送到顯示模塊因?yàn)榭紤]到PID運(yùn)算時需要調(diào)用浮點(diǎn)數(shù)運(yùn)算程序庫,程序需要占用很大的存儲空間,8051內(nèi)部的能滿足此要求,所以不需要擴(kuò)展外部ROM,系統(tǒng)中運(yùn)行中需要存放的中間變量只有給定溫度和實(shí)測,PID運(yùn)算中間結(jié)果及輸出結(jié)果等十幾個變量.因而8051片內(nèi)的RAM能夠滿足要求,可不必再擴(kuò)展。
后向通道:
后向通道是實(shí)現(xiàn)控制型號輸出的通道,單片機(jī)系統(tǒng)產(chǎn)生的控制信號經(jīng)過功率放大器的放大控制電爐的輸入功率,以實(shí)現(xiàn)水溫的控制的目的.根據(jù)系統(tǒng)的總誤差要求,后向通道的控制精度也要應(yīng)控制在0.83%之內(nèi).
以上就是整個電路的框圖, 將前述各單元電路連接起來,就可構(gòu)成完整的系統(tǒng)硬件電路圖。系統(tǒng)硬件電路中除了包含前、后向通道的輸入、輸出插座外,還應(yīng)考慮增加苦干個插座,以方便主控板與各部件的連接。硬件電路制作包括印刷線路板制作、焊接和系統(tǒng)連接等幾個方面。印刷線路板的設(shè)汁一般都是在計算機(jī)上利用Protel 99 SE軟件進(jìn)行輔助設(shè)計。
3.2 程序流程圖
系統(tǒng)軟件由主程序、鍵盤掃描、LED顯示、串行口中斷組成。由于本模塊就進(jìn)行鍵盤與顯示任務(wù),且鍵盤掃描與LED掃描是用同個74LS138來完成,可以將程序精簡,即把鍵盤和顯示的程序合在一起放在主程序里。
(1)初始化。設(shè)定可編程芯片的工作方式,對內(nèi)存中的工作參數(shù)區(qū)進(jìn)行初始化,顯示系統(tǒng)初始狀態(tài)。
(2)讀溫度程序. 通過DS18B20的側(cè)溫.
(3)調(diào)用PID算法子程序通過鍵盤模塊發(fā)送過來的數(shù)據(jù),即給定值,和測量值進(jìn)行計算,輸出PWM波.對電爐的水溫度進(jìn)行控制.
(4)返回
(2)定時中斷服務(wù)程序:
采樣定時由定時器o的定時操作完成,定時器o的定時初值時間由PID的運(yùn)算結(jié)果控制。程序流程如圖所示:
(3)脈寬調(diào)制輸出子程序:
N
Y
Y
N
Y
N
N
Y
開始
初始化
P3.3、P3.4、P3.5=000
消抖
31H? ‘0’
’
P1?30H
延時
Flaga=1
等待按鍵放開
P3.2=0?
P3.7=0?
消抖
等待按鍵放開
Flaga=1?
P3.3、P3.4、P3.5=001
P1?31H
延時
Flagb=1?
Flagb? 1
’
32H? ‘0’
’
Flagb?0
’
…………
………….
………….
………….
………….
………….
P3.3、P3.4、P3.5=010
P3.3、P3.4、P3.5=011
………….
P3.3、P3.4、P3.5=101
P3.3、P3.4、P3.5=100
P3.3、P3.4、P3.5=110
P3.3、P3.4、P3.5=111
入口
P0.0輸出高電平
脈寬標(biāo)志位清0
返回
脈寬標(biāo)志位是高電平?
P0.0輸出低電平
把脈寬標(biāo)志位置1
Y
N
初始化
調(diào)用水溫檢測子程序
調(diào)用PID算法子程序
開起定時器
定時時間到?
調(diào)用脈寬子程序
返回
Y
N
N
初始化
調(diào)讀溫度子程序
調(diào)PWM子程序
調(diào)PID子程序
調(diào)發(fā)送子程序
定時時間到
Y
PID子程序
T1=T1+K(Ek-E(K-1))
設(shè)置溫度大于實(shí)測溫度
設(shè)置溫度減實(shí)際溫度
實(shí)際溫度減設(shè)置溫度
置標(biāo)志位
清標(biāo)志位
差值放30H
Y
N
子程序返回
占空比加上差值
標(biāo)志位為1
PWM占空比到上限
PWM占空低到下限
占空比減去差值
開始
復(fù)位DS18B20
發(fā)讀存儲器命令
返回
發(fā)跳過ROM命令
發(fā)溫度轉(zhuǎn)換命令
延時
復(fù)位DS18B20
將溫度轉(zhuǎn)換成BCD碼
發(fā)送溫度值,顯示溫度
水溫檢測子程序
第4節(jié) 參數(shù)計算
系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試。按+鍵設(shè)定溫度值加一;按-鍵設(shè)定溫度值減一;按設(shè)溫鍵,可任意設(shè)置溫度,輸入相應(yīng)的數(shù)值,按確定鍵即可,按取消鍵則返回前一次設(shè)置的值;按初始鍵則返回剛一開機(jī)的狀態(tài)。軟件的調(diào)試府在仿真器提供的單步、斷點(diǎn)、跟蹤等功能的支持下對各子程序分別進(jìn)行調(diào)試.將調(diào)試完的工程序連接起來再調(diào)試.逐步擴(kuò)大調(diào)試范圍。
4.1 系統(tǒng)各模塊設(shè)計及參數(shù)計算
4.1.1、溫度采集部分及轉(zhuǎn)換部分
我們使用AD590來采集外界的溫度。AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。
它的主要特性如下:
1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù),即:mA/K式中: —流過器件(AD590)的電流,單位為mA; T—熱力學(xué)溫度,單位為K。
2、AD590的測溫范圍為-55℃~+150℃。
3、AD590的電源電壓范圍為4V~30V。電源電壓可在4V~6V范圍變化,電流 變化1mA,相當(dāng)于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。
4、輸出電阻為710MW。
5、精度高。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55℃~+150℃范圍內(nèi),非線性誤差為±0.3℃。
由于AD590采集的輸出數(shù)據(jù)是模擬量—電流,而且很小,不易測量,所以我們要將電流量轉(zhuǎn)換成電壓量,這樣有利于后面的放大及D/A轉(zhuǎn)換。我們改用一個固定電阻(9.1k或10k)和一個電位器(1K)串接的方法,這樣可以通過調(diào)節(jié)電位器使得每路輸出電壓基本一致。如以0℃為參考值則應(yīng)使其電壓輸出為2.73V;如以25℃為參考值,則應(yīng)使其電壓輸出為2.98V.
4.1.2、傳感器輸出信號放大電路部分:
由于取得的電壓量很小,我們選用LM324做為運(yùn)放,以為其內(nèi)部帶有四個運(yùn)放,可以使得運(yùn)放部分在電路版上不占用太大的體積。我們用了其內(nèi)部的三個運(yùn)放。第一級運(yùn)放我們做成射級跟隨器的形式,起到阻抗匹配的作用。第二級運(yùn)放設(shè)計為反相比例求和電路,根據(jù)反相比例求和電路公式,我們設(shè)計了如下圖的電路,U=-((10/10)*U1+10/(20+R)),其中U為第二級輸出電壓,R為50k的電位器??梢酝ㄟ^調(diào)節(jié)電位器使得輸出電壓達(dá)到要求。設(shè)0℃時,第二級的輸出為2.73-2.73=0V,而25℃時,第二級的輸出為2.73-2.98= -0.25V(反相)(零位調(diào)整)。第三級運(yùn)放設(shè)計為反相比例放大電路,我們設(shè)計為將第二級的輸出電壓放大5倍。所以我們選用了10k和50k的電阻來實(shí)現(xiàn)。
4.1.3、模數(shù)轉(zhuǎn)換電路部分:
這部分最初想用ADC0809的,但為了配合使用CD4051,我們最終選擇了ADC0804。ADC0804的規(guī)格及引腳圖
·8位CMOS逐次逼近型的A/D轉(zhuǎn)換器
·三態(tài)鎖定輸出
·存取時間:135μs;
·分辨率:8位;
·轉(zhuǎn)換時間:100μs;
·總誤差:±1LSB;
·工作溫度:ADC0804LCN——0℃~+70℃;
·ADC0804LCD—— -40℃~+85℃;
引腳圖及說明如圖所示:
/CS:芯片選擇信號。
/RD:外部讀取轉(zhuǎn)換結(jié)果的控制腳輸出信號。/RD為高時,DB0~DB7處于高阻抗;/RD為低時,數(shù)字?jǐn)?shù)據(jù)才會輸出。
/WR:用來啟動轉(zhuǎn)換的控制輸入,相當(dāng)于ADC的轉(zhuǎn)換開始(/CS=0時),當(dāng)/WR由高變?yōu)榈蜁r,轉(zhuǎn)換器被清除;當(dāng)/WR回到高時,轉(zhuǎn)換正式開始。
CLK IN, CLK R:時鐘輸入或接振蕩元件(R,C),頻率約限制在100kHz~1460kHz,如果使用RC電路則其振蕩頻率為1/(1.1RC).
/INTR:中斷請求信號輸出,低電平動作。
VIN(+)、VIN(-):差動模擬電壓輸入。輸入單端正電壓時,VIN(-)接地;而差動輸入時,直接加入VIN(+)、VIN(-)。
AGND,DGND:模擬信號及數(shù)字信號的接地。
VREF:輔助參考電壓。
DB0~DB7:8位的數(shù)字輸出。
VCC:電源供應(yīng)以及作為電路的參考電壓。
眾所周知, 精度是數(shù)據(jù)采集系統(tǒng)的重要指標(biāo), 模數(shù)轉(zhuǎn)換器的量化誤差是影響系統(tǒng)精度的主要因素,A/D轉(zhuǎn)換器的位數(shù)越多, 其量化誤差越小, 一個M 位的A/D 轉(zhuǎn)換器的量化誤差可表示為:
式中V ref為模數(shù)轉(zhuǎn)換器的參考基準(zhǔn)電壓。設(shè)A/D 轉(zhuǎn)換電路的模擬輸入電壓為Vi, 則經(jīng)A/D 轉(zhuǎn)換后的相對誤差表示為:
(2)上式表明, 當(dāng)模數(shù)轉(zhuǎn)換器的位數(shù)選定后, 其相對誤差D與其模擬輸入電壓V i 成反比。因此只有將輸入信號V i 預(yù)放大到接近參考電壓V ref, 才能充分發(fā)揮A/D
轉(zhuǎn)換器位數(shù)的效能, 減小量化誤差, 提高系統(tǒng)數(shù)據(jù)采集精度。此即為引入前置放大器的目的之所在。
逐步逼近式A/D的轉(zhuǎn)換公式:
,、Ux為輸入電壓、N為輸出值 (1-1)
(1-2)
當(dāng)選定參考電壓和A/D位數(shù)時,e為常數(shù),由誤差傳遞公式得:
,Ux是輸入絕對誤差 (1-3)
由式(1-3)知:當(dāng)輸入電壓越大,A/D轉(zhuǎn)換的相對誤差越小,當(dāng)然輸入電壓不能大于A/D最大轉(zhuǎn)換電壓。因此為了減少A/D轉(zhuǎn)換誤差,對輸入信號進(jìn)行放大。
4.1.4、ADC0804芯片外圍電路的設(shè)計:
a.19腳的CLKR端接一個10k的電阻和150PF的電容,根據(jù)公式f=1/(1.1RC),可算得時鐘輸入頻率為0.6兆左右。
b.9腳:選擇470k的電阻、5k的電位器和2.7伏的穩(wěn)壓管來調(diào)節(jié)芯片的相對電壓。本電路中應(yīng)調(diào)節(jié)電位器使得9腳電壓為2?.56伏。
c.1、7、8腳接地
d.6腳接運(yùn)放的輸出端,采集收集到的信號,經(jīng)過A/D轉(zhuǎn)換最后輸出8位2 進(jìn)制數(shù),這樣就可以送到單片機(jī)里進(jìn)行處理了。
4.1.5、數(shù)值處理部分及顯示部分:
數(shù)值處理部分:我們采用8051芯片,其內(nèi)部自帶程序存儲器。其外接12兆的晶振來給起供應(yīng)震蕩頻率。9腳接一個10μF的電解電容再接地,來實(shí)現(xiàn)復(fù)位功能。/RD和/WR分別與ADC0804的/RD和/WR相連,實(shí)現(xiàn)數(shù)據(jù)的讀寫控制。P2.4腳與ADC0804的/INTR相接,可以通過編程來判斷該腳的高低來得知A/D轉(zhuǎn)換是否完成。P1.4~P1.7及P2.7口分別外接一個4.7k的電阻接至三極管的C端,來控制三極管的通斷,來控制5個數(shù)碼管的亮暗。P2.0~P2.2口分別與ADC0804的9、10、11腳來控制選擇的路數(shù)。
顯示部分:用7447芯片與8051的P1.0~P1.3口相連,7447芯片可將8051轉(zhuǎn)換好的8421BCD碼轉(zhuǎn)換成7段碼送到數(shù)碼管顯示。數(shù)碼管選用共陽的,因此在其Vcc端要外接一個三極管(9013),通過控制三極管給數(shù)碼管供電,來控制數(shù)碼管的通斷。
4.1.6、PID算法的介紹:
在模擬系統(tǒng)中,PID算法的表達(dá)式:
(1)式中:
P(t)——調(diào)節(jié)器的輸出信號:
e(t)——調(diào)節(jié)器的偏差信號,它等于測量值與給定值之差;
KP——調(diào)節(jié)器的比例系數(shù);
TI——調(diào)節(jié)器的積分時間;
TD——調(diào)節(jié)器的微分時間。
4.1.7、A/D轉(zhuǎn)換模塊
由于系統(tǒng)對信號采集的速度要求不高,故可以采用價格低的8位逐次逼近式A/D轉(zhuǎn)換器ADC0804,該轉(zhuǎn)換器轉(zhuǎn)換速度為100us,轉(zhuǎn)換精度為0.39%,對應(yīng)誤差為0.2340°C。故采用AD0804,ADC0804是8位模數(shù)轉(zhuǎn)化電路,它能把模擬電壓值轉(zhuǎn)化為8位二進(jìn)制碼,其轉(zhuǎn)化公式如下:DX=VIN*256/VREF 我們這里設(shè)置VREF 等于5V(因?yàn)檫@里懸空沒接,查資料可知其為5V),則DX 所對應(yīng)的值就是八位二進(jìn)制碼的十進(jìn)制值,具體轉(zhuǎn)化表如下:
溫度值
ADCin(V)
DX
十六進(jìn)制編碼
溫度值
ADCin(V)
DX
十六進(jìn)制編碼
0°C
0
0
00H
30°C
2.344
8
78H
2°C
0.156
1
07H
35°C
2.734
9
8BH
4°C
0.313
2
0AH
40°C
3.125
A
A0H
8°C
0.625
3
20H
45°C
3.516
B
B4H
10°C
0.781
4
27H
50°C
3.906
C
C7H
15°C
1.172
5
3CH
55°C
4.297
D
DCH
20°C
1.560
6
4FH
60°C
4.688
E
F0H
25°C
1.953
7
63H
64°C
5.000
F
FFH
A/D轉(zhuǎn)換器時鐘電路參數(shù)計算
ADC0804片內(nèi)有時鐘電路,其振蕩頻率可按下式計算:
fclk≈1/1.1RC
式中R和C分別是CLK_R和CLK_IN兩端外接一對地電阻、電容的阻容值。其典型應(yīng)用參數(shù)為R=10KΩ,C=150PF。此時fclk≈640kHz,A/D轉(zhuǎn)換時間約為103≈μs。A/D轉(zhuǎn)換器的INTR與89C51的P1.0相連,單片機(jī)以查詢方式獲取A/D轉(zhuǎn)換器轉(zhuǎn)換完畢的信息。
4.1.8、控制模塊
由于用單片機(jī)來控制雙向晶閘管,而晶閘管陽極和陰極間所接的是220V的交流電壓,故本電路在中間加了一個光電耦合器件,使低壓區(qū)和高壓區(qū)隔離開。光電耦合器件采用的是MOC3041,其耐壓值為400V,可以滿足本設(shè)計的要求。而光電耦合器件的工作電流較大,因此前面需加放大電路,采用的是小功率硅三極管9012可滿足要求,另外為了保護(hù)光電耦合器件需在高壓側(cè)接一個大功率電阻。雙向晶閘管的選取:由于負(fù)載是1KW的電爐,用于控制負(fù)載輸入功率的雙向晶閘管應(yīng)能滿足負(fù)載對工作電壓、電流的要求。
工作電壓峰值可按下式計算:
Vp=220Χ1.414=313(V)
工作電流峰值可按下式計算:
Ip=1000/220Χ1.414=6.43(A)
因此,為滿足應(yīng)用要求并適當(dāng)留有余地,雙向晶閘管可選用BAT12-600,該器件可承受的最大反向電壓為600V,最大電流為12A,為了保護(hù)雙向晶閘管還可在其旁邊加一保護(hù)電路(即緩沖電路),因?yàn)殡p向晶閘管在開通和關(guān)斷的瞬間du/dt的變化率較大,開關(guān)損耗很大,因此加上阻容電路,利用儲能元件對能量進(jìn)行緩沖,從而達(dá)到保護(hù)的目的,具體電路如圖2所示。
由于本電路采用PID控制,程序較長,約為2.8K左右,因此選用比較熟悉AT89C51單片機(jī),其容量為4K,可以滿足設(shè)計的要求。
復(fù)位電路的參數(shù)選擇:本設(shè)計晶振用的是12M,則機(jī)器周期為1us,要使單片機(jī)復(fù)位需持續(xù)2個機(jī)器周期的高電平??砂聪率接嬎悖?
RC≧2us
為了使單片機(jī)能夠可靠地上電自動復(fù)位,選取R=8.2KΩ,C=10uF。
4.2 系統(tǒng)硬件調(diào)試
溫系統(tǒng)經(jīng)溫度傳感器和信號放大器產(chǎn)生0~5V的模擬電壓信號送入A/D轉(zhuǎn)換器的輸入端,A/D轉(zhuǎn)換器將模擬量轉(zhuǎn)換為數(shù)字量通過系統(tǒng)總線送入單片機(jī)進(jìn)行運(yùn)算處理。
硬件電路的調(diào)試應(yīng)依次對單片機(jī)基本系統(tǒng)、前向通道和后向通道分別進(jìn)行調(diào)試。調(diào)試時可利用仿真器對各接口地址進(jìn)行讀寫操作,靜態(tài)地測試電路各部分的連接是否正確;對于動態(tài)過程(如中斷響應(yīng)、脈寬調(diào)制輸出等)可以編寫簡短的調(diào)試程序配合硬件電路的調(diào)試。
4.2.1、單片機(jī)基本系統(tǒng)調(diào)試
(a)晶振電路
將仿真器晶扳開關(guān)打到外部,如果仿真器出現(xiàn)死機(jī)現(xiàn)象,說明用戶系統(tǒng)晶振電路有問題,此時應(yīng)用示波器觀察單片機(jī)時鐘信號,或輸入端是否振蕩信或檢查品振電路各器件參數(shù)。
(b)復(fù)位電路
按下復(fù)位按鈕應(yīng)使系統(tǒng)處于復(fù)位狀態(tài),否則用用表檢查復(fù)位電路各點(diǎn)信號和器件參數(shù)。
(2)LED顯示電路
本電路采用8個共陰的數(shù)碼管動態(tài)顯示,前4個為設(shè)定溫度,后4個為實(shí)測溫度。動態(tài)掃描時采用74LS138對這8個數(shù)碼管輪流掃描,進(jìn)行位控,而P1口是進(jìn)行段控信號的控制,為了增加數(shù)碼管的亮度,共陰端有三極管來驅(qū)動它的電流。電路如圖6所示。
(3)鍵盤接口電路
本電路采用鍵盤掃描法對16個按鍵進(jìn)行讀取狀態(tài)。使用行列式,把這16個按鍵分為82,采用74LS138對8行鍵盤輪流掃描,再通過P3.2和P3.7這2列讀進(jìn)來,從而判斷按鍵是否按下
(4)前向通道調(diào)試比較簡單
(5)后向通道調(diào)試
(a)靜態(tài)調(diào)試
用仿真器在p0.0上輸出高電平,雙向可控硅導(dǎo)通.電爐開始加熱;在P0.0上輸出低電平.雙向可控硅截止,電爐停止加熱。如果輸出不正常,應(yīng)按信號輸出順序分別撿查P0.0、光電耦合器輸入端、光電耦合器輸出端及雙向可控硅兩端的電壓情況。
(b)動態(tài)調(diào)試
編寫簡短調(diào)試程序,在P0.0上周期性地輸出一定占空比的脈寬調(diào)制波形,用示被器觀察電爐兩端電壓輸入波形和通斷比例。改變輸出波形占空比,電爐兩端電壓輸入的通斷比也應(yīng)有相應(yīng)改變。
(6) 傳感器電路部分
溫度傳感器種類較多。熱電偶由于熱電勢較小,因而靈敏度較低;熱敏電阻由于非線性而影響精度;鉑電阻溫度傳感器由于成本高,在一般小系統(tǒng)中很少使用。AD590是美國Analog Devices公司生產(chǎn)的二端式集成溫度傳感器,具有體積小、重量輕、線性度好、性能穩(wěn)定等一系列優(yōu)點(diǎn)。它的測溫范圍為-50~+155°C,滿刻度誤差為0.3°C,當(dāng)電源電壓在5~10V之間,穩(wěn)定度為1%,誤差只有0.01°C,完全適用于本設(shè)計對水溫測量的要求。另外AD590是溫度——電流傳感器,對于提高系統(tǒng)抗干擾能力也有很大幫助,因此本設(shè)計選用AD590作為溫度傳感器。其輸出電流I與溫度的關(guān)系可用下式表示:
或
式中:I—輸出電流,單位mA
KT—標(biāo)定因子,AD590的標(biāo)定因子為1mA/°C;
TK—開氏溫度。
TC—攝氏溫度。
可見,當(dāng)溫度為攝氏0°C時,輸出電流為273.2mA。
放大器電阻計算:由于我的測量定為+°C~+64°C,根據(jù)這一測量范圍要求,信號轉(zhuǎn)換電路應(yīng)將+°C~+64°C溫度轉(zhuǎn)換為0~5V的電壓信號,根據(jù)以上分析可知AD590在0°C和64°C時輸出電流分別為273.2uA和337.2uA,因此R1、RS、R2、RS2阻值可按下式計算:
R1+RS1=12V/273.2UA=43.9KΩ
取R1=40KΩ,RS1=5KΩ。
R2+RS2=5V/64UA=78.1KΩ
取R2=68KΩ,RS2=12KΩ。
綜上所述,在上述6部分都沒有問題后,就可以進(jìn)行下一步了,即軟件調(diào)試。
(6)軟件調(diào)試:
軟件的調(diào)試府在仿真器提供的單步、斷點(diǎn)、跟蹤等功能的支持下對各子程序分別進(jìn)行調(diào)試.將調(diào)試完的工程序連接起來再調(diào)試.逐步擴(kuò)大調(diào)試范圍。調(diào)試的過程一般是:
a測試程序輸入條件或設(shè)定程序輸入條件;
b以單步、斷點(diǎn)或跟蹤方式運(yùn)行程序;
c檢查程序運(yùn)行結(jié)果;
d運(yùn)行結(jié)果不正確時查找原因。修改程序,重復(fù)上述過程。
(7) 注意:
A.輸入抗干擾
a、鍵盤
按鍵在按下與抬起時都會有10~20ms的抖動毛刺出現(xiàn),在讀取鍵值時可先延時,再進(jìn)行采樣,在本設(shè)計中我是調(diào)用了一段顯示子程序,和同學(xué)的電路相比,效果非常明顯。
b.AD轉(zhuǎn)換器
由于外界的干擾,AD采樣后的數(shù)據(jù)會有較大誤差,為了提高準(zhǔn)確度,可采用輸入分區(qū)抗干擾法,對模擬信號進(jìn)行初步的處理,降低外界干擾的破壞性,當(dāng)然再配合多數(shù)平均法處理效果更加。
B.輸出抗干擾
一般來說,單片機(jī)的低電平驅(qū)動能力遠(yuǎn)高于高電平的驅(qū)動能力,可以用上拉電阻的方法來平衡單片機(jī)的端口驅(qū)動能力,以提高整體的抗干擾能力。因此本設(shè)計中只要涉及輸出控制都是采用低電平驅(qū)動。
第5節(jié) CPU軟件抗干
5.1 看門狗設(shè)計
單片機(jī)最易受干擾的是內(nèi)部計數(shù)器PC的值。在受強(qiáng)干擾的時,PC值改變,改變后的值又是隨機(jī)的,為一不確定值。因此,對系統(tǒng)內(nèi)核CPU進(jìn)行R軟件抗干擾顯得尤為重要,本設(shè)計采用的是看門狗設(shè)計。
這樣, 就可以進(jìn)行總體調(diào)試了。把編寫好的程序放在電腦里,使用偉福仿真器來仿真,看看8個數(shù)碼管顯示的數(shù)據(jù)是否正確,按下按鍵后能否在數(shù)碼管上顯示設(shè)定的值,反復(fù)的調(diào)試、修改程序,使達(dá)到預(yù)期的效果。
看門狗(Watchdog)電路是嵌入式系統(tǒng)需要的抗干擾措施之一。本文用X25045芯片設(shè)計了一種新的看門狗電路,具有體積小、占用I/O口線少和編程方便的特點(diǎn),可廣泛應(yīng)用于儀器儀表和各種工控系統(tǒng)中。系統(tǒng)在運(yùn)行時,通常都會遇到各種各樣的現(xiàn)場干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個重要指標(biāo)??撮T狗(Watchdog)電路是自行監(jiān)測系統(tǒng)運(yùn)行的重要保證,幾乎所有的工控系統(tǒng)都包含看門狗電路。在8096系列單片機(jī)和增強(qiáng)型8051系列單片機(jī)中,該系統(tǒng)已經(jīng)做在芯片內(nèi)部,用戶只要用軟件開放它就可以,使用很方便。但目前工控系統(tǒng)仍在使用廉價的普通型8051系列單片機(jī),則看門狗電路必須由用戶自己建立。
看門狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統(tǒng)需要出讓一個定時器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門狗系統(tǒng)也癱瘓。硬件看門狗是真正意義上的“程序運(yùn)行監(jiān)視器”,如計數(shù)型的看門狗電路通常由555多諧振蕩器、計數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。
X25045芯片簡介
X25045是美國Xicor公司的生產(chǎn)的標(biāo)準(zhǔn)化8腳集成電路,它將EEPROM、看門狗定時器、電壓監(jiān)控三種功能組合在單個芯片之內(nèi),大大簡化了硬件設(shè)計,提高了系統(tǒng)的可靠性,減少了對印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外圍芯片。X25045引腳如圖1所示。
圖5-1 X25045引腳圖
其引腳功能如下。
CS:片選擇輸入;
SO:串行輸出,數(shù)據(jù)由此引腳逐位輸出;
SI:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫入X25045;
SCK:串行時鐘輸入,其上升沿將數(shù)據(jù)或命令寫入,下降沿將數(shù)據(jù)輸出;
WP:寫保護(hù)輸入。當(dāng)它低電平時,寫操作被禁止;
Vss:地;
Vcc:電源電壓;
RESET:復(fù)位輸出。
X25045在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表1所示。
表1 X25045指令及其含義
X25045看門狗電路設(shè)計及編程
X25045硬件連接圖如圖2所示。X25045芯片內(nèi)包含有一個看門狗定時器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時間。在看門狗定時器預(yù)置的時間內(nèi)若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經(jīng)過微分電路C2、R3輸出一個正脈沖,使CPU復(fù)位。圖2電路中,CPU的復(fù)位信號共有3個:上電復(fù)位(C1、R2),人工復(fù)位(S、R1、R2)和Watchdog復(fù)位(C2、R3),通過或門綜合后加到RESET端。C2、R3的時間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時CPU的振蕩器已經(jīng)在工作。
圖5-2X25045看門狗電路硬件連接圖
看門狗定時器的預(yù)置時間是通過X25045的狀態(tài)寄存器的相應(yīng)位來設(shè)定的。如表2所示,X25045狀態(tài)寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關(guān),其余位和EEPROM的工作設(shè)置有關(guān)。
]
第6節(jié) 測試方法和測試結(jié)果
6.1 系統(tǒng)測試儀器及設(shè)備
雙路跟蹤穩(wěn)壓穩(wěn)流電源DH1718E-5
直流穩(wěn)壓電源
數(shù)字示波器Tektronix TDS1002
偉福E6000/L 仿真器
多功能數(shù)字表GDM-8145
數(shù)字萬用表
0~100℃溫度計、調(diào)溫電熱杯、秒表
6.2 測試方法
由于系統(tǒng)不完善,我采用的是分步調(diào)試的方法,步驟如下:
(1)在水杯中存放1L凈水,放置在1KW的電爐上,打開控制電源,系統(tǒng)進(jìn)入準(zhǔn)備工作狀態(tài)。
(2)先調(diào)零,先將OP07的2、3腳短路,然后調(diào)節(jié)滑動變阻器,使六腳輸出為0。
(3)在改變溫度使溫度為35℃時輸出為0V,溫度為95℃時輸出為5V。在65℃時為2.5V。
(4)在結(jié)合軟件進(jìn)行水溫控制,假如設(shè)定溫度為88℃,而實(shí)際溫度為55℃,那么就加熱使水問到達(dá)88℃,此時水爐會自動斷電,當(dāng)水溫低與88℃,水爐有會自動加熱實(shí)現(xiàn)控制的作用。
(5)然后在雙機(jī)通訊,用鍵盤設(shè)定溫度,結(jié)合軟件加以控制。
6.3 測試結(jié)果
(1)測量溫度與給定溫度的相應(yīng)值如表1所示
表 1
給定溫度(℃)
實(shí)測溫度(℃)
相對誤差
給定溫度(℃)
實(shí)測溫度(℃)
相對誤差
1
35
35
0
4
65
63
2.52%
2
45
43
-3.22%
5
75
73
-2.33%
3
55
53
2.82%
6
85
83
2.18%
上表用溫度計標(biāo)定測溫系統(tǒng)。分別是水溫穩(wěn)定在35℃、45℃、55℃、65℃、75℃、85℃,觀察系統(tǒng)測量溫度值和實(shí)際溫度值,盡量校準(zhǔn)系統(tǒng)使測量誤差在1℃以內(nèi)。記錄測量數(shù)據(jù)填入表1。
由上表可以看出,實(shí)測溫度和給定溫度之間的絕對溫度超出了±1℃之間,由于系統(tǒng)顯示數(shù)值沒有小數(shù)部分,所測結(jié)果只能以度來衡量,其實(shí)際誤差是稍大于±1℃的,測量結(jié)果不是很滿足系統(tǒng)誤差的要求。這也是這個系統(tǒng)設(shè)置不全的一方面??梢允钦{(diào)0的過程中由于調(diào)不到0,我把反饋電阻R18給換了,我第一次換的是20K的雖然能調(diào)到但波動很大,后來我又換了一個10K的,那波動就小了很多,也能調(diào)到要求的范圍了。但我覺得還是有問題,這個問題是我到現(xiàn)在還沒解決的,在設(shè)計的過程中有些電阻是自己去估計取出來的,有些還是很有問題的,我認(rèn)為這是導(dǎo)致誤差的主要原因。因此我認(rèn)為可以通過改變電路中一些電阻或電容的阻值來得到改善。
注意,在測量的過程中,也就是在使用AD590傳感器的時候,為了避免器件一被測液體的直接接觸,應(yīng)將傳感器裝入保護(hù)套管中,或?qū)⑵骷糜操|(zhì)乙烯樹脂等材料密封,以避免被測液體對傳感器的腐蝕和對測量精度產(chǎn)生影響。
結(jié)束語
根據(jù)設(shè)計要求,調(diào)試完成的系統(tǒng)應(yīng)作全面的指標(biāo)測試。測試過程如下:
a.通過鍵盤輸人水溫給定值,輸入范圍能滿足40一90C區(qū)分度為1 C的要求。
b.運(yùn)行水溫控制系統(tǒng),觀察水溫變化情況.測量水溫靜態(tài)誤差,該誤差應(yīng)能滿足要求。
c.在給定突變或環(huán)境溫度突變的情況下,觀察系統(tǒng)的調(diào)節(jié)時間和超調(diào)量,并能根據(jù)需要改變系統(tǒng)控制參數(shù),實(shí)現(xiàn)不同的控制品質(zhì)要求。
通過這次實(shí)驗(yàn), 了解了傳感器A/D590的特性和其應(yīng)用。也收獲了很多關(guān)于單片機(jī)相互通信的知識。特別是對PID算法有了一定的了解。在整個系統(tǒng)的制作過程中,溫度的采樣遇到了很大的困難,電阻值沒有調(diào)準(zhǔn)。還有在PCB板的制作過程中預(yù)先沒有設(shè)置好線條的粗細(xì),在加220V電壓的線路中,線條應(yīng)該加粗,防止相互之間的干擾。本系統(tǒng)溫度采樣,PWM波和通信都已經(jīng)已經(jīng)完成,但是由于PAB板不能加220V電壓,故而沒有最總完成電路系統(tǒng)。使我的動手能力提高了許多,能夠讓我在做電路時,自己來解決碰到的問題,學(xué)會了怎樣去分析電路,怎樣把所學(xué)到的知識和實(shí)際相起來。但是由于自己是第一次真正做系統(tǒng),所以在很多方面都沒有經(jīng)驗(yàn),故而并沒有完成老師的要求,今后將都作系統(tǒng)來加強(qiáng)自己這方面的不足。
參考文獻(xiàn)
電子系統(tǒng)設(shè)計 主編:何小艇 浙江大學(xué)出版社
8051單片機(jī)實(shí)踐與應(yīng)用 編著:吳金戎,沈慶陽等 清華大學(xué)出版社
單片機(jī)應(yīng)用系統(tǒng)設(shè)計 編著:韓志軍,王振波等 機(jī)械工業(yè)出版社
28
收藏