0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于DS18B20的溫控系統(tǒng)冷熱調(diào)節(jié)設(shè)計(jì)方案

h1654155282.3538 ? 來源:Chip37 ? 作者:Chip37 ? 2020-03-28 10:20 ? 次閱讀

1.DS18B20概述

DS18B20是Dallas公司生產(chǎn)的一款數(shù)字溫度傳感器,超小體積,超低硬件開銷,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)。DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出集成于,一個(gè)芯片上,單總線數(shù)據(jù)通信,二進(jìn)制輸出,分辨率最高可達(dá)12位,檢測溫度范圍為-55~+125℃,具有限溫報(bào)警功能。同時(shí),DS18B20內(nèi)置EEPROM、64位光刻ROM,支持多點(diǎn)組網(wǎng),根據(jù)需要把多個(gè)DS18B20并聯(lián)在唯一的三總線上,便可實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫,便于溫控系統(tǒng)的擴(kuò)展和升級(jí)。

2.系統(tǒng)工作原理

為實(shí)現(xiàn)被控對(duì)象溫度的冷熱調(diào)節(jié),所設(shè)計(jì)的溫度控制系統(tǒng)以AT89S51單片機(jī)作為控制核心,包括溫度采樣模塊、溫度顯示模塊、執(zhí)行模塊、過欠溫指示模塊以及小鍵盤等外同電路。系統(tǒng)時(shí)鐘頻率為12MHz,采用智能集成化器件DS18B20來監(jiān)測被控對(duì)象,將溫度值轉(zhuǎn)換為帶符號(hào)的數(shù)字信號(hào),通過單總線輸出,實(shí)現(xiàn)了溫度采集、轉(zhuǎn)換與變送的功能,有利于簡化電路??紤]到單片機(jī)的直流輸出驅(qū)動(dòng)能力,采用三極管、74LS244和74LS07來驅(qū)動(dòng)相應(yīng)的外圍集成電路。溫度數(shù)據(jù)通過4個(gè)并行共陽極的LED動(dòng)態(tài)顯示,并自行搭建小鍵盤來實(shí)現(xiàn)被控對(duì)象目標(biāo)溫度的設(shè)定。執(zhí)行模塊利用固態(tài)繼電器SSR進(jìn)行光電隔離,實(shí)現(xiàn)小功率直流電控制220V交流電通斷,使得控制加熱管通斷、風(fēng)扇啟停的繼電器帶電或失電,并采用大功率的風(fēng)扇和加熱管以實(shí)現(xiàn)有效的溫度冷熱調(diào)節(jié)。系統(tǒng)中采用不同顏色的LED燈指示系統(tǒng)的工作運(yùn)行狀態(tài),紅色發(fā)光二極管亮表示溫度過高或過低報(bào)警,綠色發(fā)光二極管亮則表示系統(tǒng)工作正常。系統(tǒng)組成如圖1所示。

圖1 溫控系統(tǒng)組成框圖

在核心控制處理模塊AT89S51單片機(jī)中,為了有效抑制從DS18B20傳來的溫度數(shù)字信號(hào)的隨機(jī)誤差,提高系統(tǒng)的測量精度和抗干擾性,在AT89S51單片機(jī)的控制程序中加入數(shù)字濾波子程序。數(shù)字濾波平滑處理盡可能消除系統(tǒng)隨機(jī)誤差的影響,從軟件方面提高系統(tǒng)的抗干擾能力。并利用MATLAB對(duì)測溫?cái)?shù)據(jù)進(jìn)行擬合,從而進(jìn)一步校正測量溫度值,使測量值更逼近精確值。

3.系統(tǒng)硬件設(shè)計(jì)

3.1 電源及溫度顯示模塊

為避免信號(hào)之間的串?dāng)_,采用5V直流電源分別為單片機(jī)、鍵盤、固態(tài)繼電器控制模塊、8段數(shù)碼管供電,并提供上電復(fù)位電壓。同時(shí)為風(fēng)扇和400W加熱器提供220V交流電。溫度顯示模塊采用4個(gè)8段數(shù)碼管顯示溫度。為穩(wěn)定顯示,采用總線延時(shí)的動(dòng)態(tài)顯示方式。驅(qū)動(dòng)電路和位選分別由74IS244、74LS07搭建組成。

3.2 小鍵盤模塊

小鍵盤模塊自行搭建,由復(fù)位鍵、確認(rèn)鍵、加1鍵和TAB鍵等4個(gè)按鍵組成。鍵盤電路簡單明了,滿足設(shè)定被控對(duì)象目標(biāo)溫度的人機(jī)交互要求。各個(gè)按鍵的功能說明如表1所示。

3.3 溫度數(shù)據(jù)采集

DS18B20采用單總線專用技術(shù),通過I/O端口線與單片機(jī)相接,無須經(jīng)過其他變換電路便可直接輸出被測溫度值(12位二進(jìn)制數(shù),含符號(hào)位)。其引腳功能分別為:VDD引腳接工作電源,當(dāng)工作于寄生方式時(shí),此引腳必須接地;DQ引腳用于數(shù)據(jù)輸入/輸出;GND引腳接地。

在該系統(tǒng)中DS18B20與單片機(jī)的接口電路,如圖2所示,VDD經(jīng)1kΩ的上拉電阻與外部電源相接,GND接地,DQ通過單總線與單片機(jī)P0.0口相連。

圖2 系統(tǒng)總體電路

DS18B20測量溫度與輸出溫度之間的關(guān)系如表2所示,輸出溫度為12位的二進(jìn)制數(shù),存儲(chǔ)在DS18B20兩個(gè)8位的RAM中,二進(jìn)制數(shù)的前5位是符號(hào)位。

3.4 固態(tài)繼電器驅(qū)動(dòng)模塊

本設(shè)計(jì)中選用交流型固態(tài)繼電器SSR,它是一種輸入控制電流小、帶光電隔離器的無觸點(diǎn)開關(guān)。通過控制SSR輸入端直流電的通斷便可控制輸出端交流電的通斷,而且啟動(dòng)性能平穩(wěn),對(duì)電網(wǎng)輻射干擾小。固態(tài)繼電器控制電路見系統(tǒng)總電路圖(圖2),在負(fù)載端由100Ω和0.1μF組成串接電路,用于對(duì)風(fēng)扇、加熱管進(jìn)行過電壓保護(hù)。

3.5 AT89S51單片機(jī)控制模塊

AT89S5l是整個(gè)系統(tǒng)的控制核心,其內(nèi)置FlashROM,用于存放用戶程序。DS18B20所感測的溫度數(shù)字信號(hào)和用戶目標(biāo)溫度作為輸入信號(hào),經(jīng)控制程序處理后發(fā)出相應(yīng)的控制信號(hào),顯示系統(tǒng)工作狀態(tài)、被控對(duì)象溫度值,以及控制SSR直流端的通、斷電,從而控制風(fēng)扇、加熱管的通斷電,實(shí)現(xiàn)被控對(duì)象溫度的冷熱調(diào)節(jié)。總電路圖(圖2)中雖然給出DS18B20與單片機(jī)的接口電路、固態(tài)繼電器控制電路,但由于DS18B20和執(zhí)行設(shè)備設(shè)置在被控對(duì)象現(xiàn)場,因而在實(shí)際中要留出相應(yīng)的信號(hào)傳輸線。

4.系統(tǒng)軟件設(shè)計(jì)

軟件部分采用程序模塊化設(shè)計(jì),便于各個(gè)功能的調(diào)試和實(shí)現(xiàn)。系統(tǒng)軟件程序主要由主程序、功能實(shí)現(xiàn)和運(yùn)算控制3個(gè)模塊組成。

4.1 主程序模塊

主程序模塊采用循環(huán)查詢直至中斷退出,以達(dá)到溫控系統(tǒng)冷熱自動(dòng)控制的目的。主程序流程如圖3所示。

圖3 主程序流程

4.2 運(yùn)算控制模塊

運(yùn)算控制模塊包括數(shù)字濾波、PID算法、溫度傳感器控制3個(gè)子程序。數(shù)字濾波由限速濾波實(shí)現(xiàn),限速濾波能充分利用每一個(gè)采樣值,保證了采樣的實(shí)時(shí)性和采樣值變化的連續(xù)性。限速濾波子程序流程如圖4所示。

圖4 限速濾波子程序流程

PID算法由積分分離PID算法實(shí)現(xiàn),采用積分分離的方法,在被控量開始監(jiān)控時(shí)取消積分作用,在溫度值接近目標(biāo)值時(shí)才產(chǎn)生積分作用,有效降低系統(tǒng)啟、停次數(shù)頻繁給系統(tǒng)帶來的振蕩。積分分離PID算法為:

式中,Y(K)為溫度的目標(biāo)設(shè)定值,C(K)為經(jīng)數(shù)字濾波后的溫度測量值,△Y為設(shè)定的最大允許偏差值。根據(jù)此算法思想可用匯編語言編程實(shí)現(xiàn)積分分離PID算法。

DS18B20控制子程序按照DS18B20的通信協(xié)議編制,包括DDS18B20初始化,DS18B20讀、寫控制子程序,分別按照相應(yīng)的規(guī)則說明進(jìn)行編程實(shí)現(xiàn)。

4.3 功能實(shí)現(xiàn)模塊

功能實(shí)現(xiàn)模塊包括溫度值設(shè)置、溫度顯示、固態(tài)繼電器通斷控制以及系統(tǒng)運(yùn)行狀態(tài)顯示等子程序,其中在溫度顯示子程序中要完成各個(gè)位置段碼的調(diào)用、數(shù)碼管的選通以及數(shù)據(jù)總線的穩(wěn)定(一般采用延時(shí)幾ms實(shí)現(xiàn))。

5.系統(tǒng)調(diào)試

系統(tǒng)調(diào)試主要進(jìn)行PID參數(shù)的整定和溫度值的系統(tǒng)誤差校正。PID參數(shù)及系統(tǒng)其它參數(shù)的整定首先采用經(jīng)驗(yàn)值,再逐個(gè)細(xì)調(diào),以滿足控制精度要求。根據(jù)表3的實(shí)驗(yàn)數(shù)據(jù),利用MATLAB進(jìn)行一維曲線擬合,校正系統(tǒng)誤差,從而得到更準(zhǔn)確的測量數(shù)據(jù)。

MATLAB擬合過程和結(jié)果如圖5所示。圖5中“O”表示(檢測值,標(biāo)準(zhǔn)值),“*”表示(檢測值,擬合值),一維曲線擬合方程為:y=0.9948x-0.3996,經(jīng)數(shù)字濾波后的采樣值再采用此方程處理便可得到更為精確的測量值。

圖5 一維曲線擬合圖

結(jié)束語

本文總結(jié)了基于DS18B20的溫控系統(tǒng)冷熱調(diào)節(jié)設(shè)計(jì)方案,并從應(yīng)用角度出發(fā),給出了溫控系統(tǒng)冷熱調(diào)節(jié)詳細(xì)的硬件和軟件設(shè)計(jì),充分利用DS18B20單總線測溫的準(zhǔn)確性和便捷性,并使用限速濾波、積分分離PID算法、MATLAB一維曲線擬合等方法來提高系統(tǒng)的可靠性和測量值的精確性;結(jié)果表明,溫控系統(tǒng)的模塊化設(shè)計(jì)與MATLAB相結(jié)合,提高了系統(tǒng)的抗干擾性、穩(wěn)定性并使測量值的誤差減少到5%以下。但信號(hào)傳輸線的抗干擾、鍵盤按鍵消抖等方面還不夠完善,而且采用MATLAB進(jìn)行處理的實(shí)驗(yàn)數(shù)據(jù)采樣不夠充分,未考慮在測量過高或過低溫度時(shí)的溫度漂移情況,因此系統(tǒng)的設(shè)計(jì)有待進(jìn)一步的深入與完善。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    774

    瀏覽量

    80482
  • 溫控系統(tǒng)
    +關(guān)注

    關(guān)注

    3

    文章

    94

    瀏覽量

    18478
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ds18b20溫度傳感器如何使用

    DS18B20是一款廣泛使用的數(shù)字溫度傳感器,它具有高精度、低功耗和易于使用的特點(diǎn)。 DS18B20溫度傳感器簡介 DS18B20是由Maxim Integrated(現(xiàn)為Analog
    的頭像 發(fā)表于 09-03 16:51 ?273次閱讀

    ds18b20溫度傳感器是什么類型

    特性使得DS18B20在需要節(jié)省引腳資源的應(yīng)用中非常受歡迎,比如在一些小型嵌入式系統(tǒng)、智能家居設(shè)備、環(huán)境監(jiān)控系統(tǒng)等場合。 DS18B20可以直接輸出數(shù)字溫度值(攝氏度),測溫范圍為-5
    的頭像 發(fā)表于 09-03 16:46 ?334次閱讀

    ds18b20溫度傳感器和dht11的區(qū)別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們?cè)谠S多項(xiàng)目和應(yīng)用中都有廣泛的應(yīng)用。 1. 工作原理 DS18B20 DS18B20是一種數(shù)字溫度傳感器,它使用1-Wire通信協(xié)議與微控制器
    的頭像 發(fā)表于 09-03 16:44 ?273次閱讀

    DS18B20溫度傳感器工作原理

    ,DS18B20以其獨(dú)特的工作原理、卓越的技術(shù)參數(shù)和廣泛的應(yīng)用場景,成為了市場的明星產(chǎn)品。 深入了解DS18B20的工作原理 DS18B20溫度傳感器的工作原理基于熱敏電阻的特性和數(shù)字信號(hào)轉(zhuǎn)換。其核心部件是一個(gè)熱敏電阻,它的電阻
    的頭像 發(fā)表于 06-19 16:01 ?595次閱讀

    DS18B20溫度傳感器的優(yōu)缺點(diǎn)

    可編程寄存器:DS18B20內(nèi)部具有可編程寄存器,允許用戶對(duì)其進(jìn)行配置和控制,以滿足不同的應(yīng)用需求。
    發(fā)表于 04-04 11:39 ?3682次閱讀

    樹莓派Pico上使用DS18B20溫度傳感器

    DS18B20 溫度傳感采用單總線的接口方式,與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。單總線具有經(jīng)濟(jì)性好,抗干擾能力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場溫度測量。
    的頭像 發(fā)表于 11-21 14:21 ?1106次閱讀
    樹莓派Pico上使用<b class='flag-5'>DS18B20</b>溫度傳感器

    Proteus8.6兩個(gè)DS18B20只一個(gè)能用why?

    這兩個(gè)DS18B20都是帶仿真功能的,倆元件外觀一模一樣,分別用同一個(gè)程序仿真一個(gè)讀出數(shù)值正常,另一個(gè)(高精度)的不正常,難道驅(qū)動(dòng)程序不同? 誰遇到過,如果是程序不同,改怎么改程序? 已
    發(fā)表于 11-09 06:39

    請(qǐng)問DS18B20測溫C程序怎么寫?

    DS18B20測溫C程序怎么寫?
    發(fā)表于 11-07 07:20

    機(jī)智云采用MCU方案采集DS18B20溫度,一直無法讀取數(shù)據(jù)怎么解決?

    單片機(jī):STC8A8K64S4A12;ESP8266-01 采用機(jī)智云的MCU方案,51單片機(jī)的程序是自動(dòng)生成的,基礎(chǔ)功能已經(jīng)實(shí)現(xiàn),但是一直無法讀取DS18B20數(shù)據(jù),DS18B20控制程序已經(jīng)驗(yàn)證沒有問題,
    發(fā)表于 11-06 07:45

    請(qǐng)問ds18b20的分辨率是什么意思?

    ds18b20的分辨率是什么意思??
    發(fā)表于 11-03 07:42

    基于STM32最小系統(tǒng)的雙DS18B20檢測溫度并在OLED上顯示

    基于STM32最小系統(tǒng)的雙DS18B20檢測溫度并在OLED上顯示
    發(fā)表于 10-30 15:13 ?6次下載

    DS18B20可以實(shí)現(xiàn)并聯(lián)測溫嗎?

    分別讀取兩個(gè)DS18B20的溫度
    發(fā)表于 10-24 07:45

    51單片機(jī)DS18B20溫度報(bào)警器proteus仿真設(shè)計(jì)_可調(diào)上下限

    通過DS18B20溫度傳感器檢測溫度并顯示在數(shù)碼管上;
    的頭像 發(fā)表于 10-17 09:35 ?2377次閱讀
    51單片機(jī)<b class='flag-5'>DS18B20</b>溫度報(bào)警器proteus仿真設(shè)計(jì)_可調(diào)上下限

    DS18B20采樣溫度的精度可以達(dá)到多少?

    DS18B20采樣溫度的精度可以達(dá)到多少
    發(fā)表于 10-12 08:14

    在檢測DS18B20是否存在期間,檢測到始終沒有釋放總線是怎么回事?

    在檢測DS18B20是否存在期間,檢測到DS18B20拉低了總線,但始終沒有釋放總線,這是怎么回事,是不是DS18B20損壞了。
    發(fā)表于 09-25 07:42