<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于C8051F020的密閉環(huán)境溫度恒溫控制系統(tǒng)設(shè)計(jì)

          基于C8051F020的密閉環(huán)境溫度恒溫控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-07-25 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:給出了一種單片機(jī)實(shí)現(xiàn)自動(dòng)控制的系統(tǒng)方案。將半導(dǎo)體制冷模塊置于一個(gè),通過(guò)單片機(jī)實(shí)現(xiàn)對(duì)半導(dǎo)體制冷片的制冷、制熱和不同功率運(yùn)行的控制,采用獨(dú)立按鍵完成溫控?cái)?shù)據(jù)的輸入,分別利用DS18B20采集和實(shí)際環(huán)境,并通過(guò)TS1602 LCD完成基本的狀態(tài)數(shù)據(jù)和控制實(shí)時(shí)顯示;通過(guò)PID算法編程實(shí)現(xiàn)密閉環(huán)境溫度控制。實(shí)驗(yàn)結(jié)果表明,在按鍵輸入設(shè)定溫度后,系統(tǒng)能夠成功實(shí)現(xiàn)密閉環(huán)境溫度的控制,溫度控制精度為±0.2℃。
          關(guān)鍵詞:單片機(jī);控制;PID算法;密閉環(huán)境

          0 引言
          溫度控制廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車、材料、電力電子等,近幾年,在控制方法上,PID的溫度控制、模糊控制、神經(jīng)網(wǎng)絡(luò)、遺傳算法有了快速的發(fā)展。本文介紹了一種C8051F020單片機(jī)的環(huán)境溫度自動(dòng)控制,利用PID算法,結(jié)合溫度傳感器
          DS18B20、半導(dǎo)體制冷系統(tǒng)、開(kāi)關(guān)電源和繼電器控制電路實(shí)現(xiàn)密閉環(huán)境溫度的自動(dòng)控制。密閉環(huán)境溫度自動(dòng)符合現(xiàn)代電子產(chǎn)品自動(dòng)化、智能化、模塊化、人性化的要求,人機(jī)界面友好,可移植性好。

          1 整體方案
          方案的主要任務(wù)是根據(jù)用戶要求,實(shí)現(xiàn)對(duì)密閉環(huán)境的恒溫控制。手動(dòng)設(shè)定密閉環(huán)境控制溫度后,C8051F020單片機(jī)通過(guò)DS18B20測(cè)得密閉環(huán)境溫度(被控環(huán)境)和實(shí)際環(huán)境溫度,將設(shè)定溫度和密閉環(huán)境溫度的差值送入單片機(jī),返回指令控制繼電器電路實(shí)現(xiàn)半導(dǎo)體制冷系統(tǒng)的加熱或者制冷。單片機(jī)輸出的PWM經(jīng)IR2110功率放大,控制開(kāi)關(guān)管1RF3808通斷,并利用PID算法實(shí)時(shí)改變單片機(jī)的PWM占空比,達(dá)到控制開(kāi)關(guān)電源輸出電壓的目的,從而改變半導(dǎo)體制冷系統(tǒng)工作時(shí)的功率。

          2 硬件電路設(shè)計(jì)
          2.1 硬件總體設(shè)計(jì)
          整個(gè)系統(tǒng)主要由系統(tǒng)電源電路、鍵盤(pán)電路、溫度采集電路、LCD顯示器、繼電器控制電路、開(kāi)關(guān)電源電路、LM2575降壓電路、半導(dǎo)體制冷電路和單片機(jī)控制電路組成。其中,鍵盤(pán)電路用來(lái)輸入控制信號(hào);溫度采集電路用于實(shí)時(shí)監(jiān)測(cè)實(shí)際環(huán)境溫度和密閉環(huán)境溫度;LCD是用來(lái)顯示用戶設(shè)定狀態(tài)信息和溫度數(shù)據(jù)、電流、電壓值;開(kāi)關(guān)電源電路用于提供半導(dǎo)體制冷系統(tǒng)的工作電壓和電流;LM2575降壓電路用于提供單片機(jī)電源;半導(dǎo)體制冷電路是控制環(huán)境溫度的關(guān)鍵。C8051F020單片機(jī)是整個(gè)的核心,將各部分連成整體,正常工作。系統(tǒng)總體電路設(shè)計(jì)框圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/160259.htm

          a.JPG


          2.2 半導(dǎo)體制冷電路
          半導(dǎo)體制冷電路由半導(dǎo)體制冷片、散熱風(fēng)扇、導(dǎo)熱金屬片組成。半導(dǎo)體制冷片是根據(jù)珀?duì)柼?yīng)制作的溫差電制冷片,改變供電電壓極性,就可以達(dá)到制冷或者加熱的目的,并且重量輕、體積小,具有相對(duì)較高的制冷量。
          2.3 控制電路
          MCU控制電路包括三個(gè)部分:獨(dú)立按鍵電路、溫度采集電路、繼電器控制電路和數(shù)據(jù)顯示部分。
          控制信號(hào)輸入部分主要由獨(dú)立鍵盤(pán)完成。使用獨(dú)立鍵盤(pán),結(jié)構(gòu)清晰,編程簡(jiǎn)單。兩個(gè)獨(dú)立按鍵:P1^0:設(shè)定溫度值加1;P1^1:設(shè)定溫度值減1。繼電器控制電路主要由MCU I/O端口P3口控制2個(gè)繼電器完成,同時(shí)斷開(kāi)繼電器實(shí)現(xiàn)制冷,同時(shí)吸合繼電器實(shí)現(xiàn)制熱。以C8051F020的端口P2口作為數(shù)據(jù)線,與LCD1602進(jìn)行數(shù)據(jù)通信并完成狀態(tài)顯示。溫度采集電路采用DS18B20電路。Dallas公司的DS18B20 1-wire數(shù)字溫度傳感器使用一根信號(hào)線即可實(shí)現(xiàn)信號(hào)的雙向傳輸,接口簡(jiǎn)單,便于擴(kuò)展和維護(hù)。
          2.4 開(kāi)關(guān)電源電路
          開(kāi)關(guān)電源采用BUCK拓?fù)浣Y(jié)構(gòu),PWM(脈寬調(diào)制)控制方式。最大輸出電壓達(dá)到15.3 V,最大輸出電流達(dá)到2 A,輸出電壓的紋波小于5mV,整個(gè)開(kāi)關(guān)電源效率為75%,滿足系統(tǒng)供電要求。由于測(cè)量電源電壓、電流時(shí)采用差分放大電路,PWM波的頻率在21 kHz左右,頻率較高,造成電壓數(shù)據(jù)采集后轉(zhuǎn)化的AD值與實(shí)際的測(cè)量值存在一定的偏差,通過(guò)程序?qū)崿F(xiàn)電壓補(bǔ)償。
          2.5 LM2575降壓電路和單片機(jī)供電電路
          MCU部分電路正常工作需要+5 V和+3.3 V電壓供電。將市電220 V/50 Hz通過(guò)開(kāi)關(guān)電源部分電路,經(jīng)過(guò)橋堆整流和濾波產(chǎn)生直流電17 V,通過(guò)LM2575穩(wěn)壓芯片輸出穩(wěn)定+5 V給LCD1602顯示模塊和繼電器供電,C8051F020和DS18B20由+5 V經(jīng)過(guò)ASM1117-3.3 V供電。

          半導(dǎo)體制冷相關(guān)文章:半導(dǎo)體制冷原理



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();