天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

基于PIC單片機(jī)的熱水控制器設(shè)計(jì)

更新時(shí)間: 2019-03-23
閱讀量:1870

基于PIC單片機(jī)的熱水控制器設(shè)計(jì)

       本文介紹了用PIC16C57單片機(jī)設(shè)計(jì)的一種多功能熱水控制器,具有自動(dòng)和手動(dòng)加水、設(shè)置水溫、實(shí)時(shí)顯示水量及溫度和報(bào)警功能,并且具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低等特點(diǎn)。



       關(guān)鍵詞: PIC單片機(jī);DS1820數(shù)字溫度傳感器;熱水控制器

       引言

       當(dāng)前市場(chǎng)上的熱水控制器基本上采用雙金屬片溫控,控溫精度低、可靠性差、功能單一。隨著微電子技術(shù)的發(fā)展,單片微處理器功能日益增強(qiáng),價(jià)格低廉,在各方面得到廣泛應(yīng)用。在熱水控制器中應(yīng)用單片機(jī),具有設(shè)計(jì)簡(jiǎn)單、可靠性高、功能易擴(kuò)展等優(yōu)點(diǎn)。

  熱水控制器主要實(shí)現(xiàn)對(duì)水溫的控制,并滿足不同用戶的個(gè)性需求。因此一個(gè)較完善的控制器應(yīng)具有以下功能:

  水溫的測(cè)量與顯示;

  水量的測(cè)量與顯示;

  用戶設(shè)定功能(如水溫設(shè)定,定時(shí)設(shè)定等);

  對(duì)電加熱管的控制功能;

  一些功能鍵(如定時(shí)自動(dòng)加水,恒溫控制,手動(dòng)加水,手動(dòng)加熱等)。

  安全措施(漏電檢測(cè),安全失效保護(hù),限溫保護(hù)等)。

2016062716592490122.jpg

圖1 總體布局圖

2016062716592422697.jpg

2(a)基本溫度水溫測(cè)量電路

2016062716592453120.jpg

圖2 (b)基本顯示電路圖圖

2016062716592417987.jpg

圖2(c)水閘加熱管控制電路



  硬件電路設(shè)計(jì)

  根據(jù)熱水控制器的功能要求,并結(jié)合對(duì)PIC16C5X系列單片機(jī)的資源分析,采用此系列中的主流型號(hào)PIC16C57作為電路系統(tǒng)的控制核心。電熱水控制器的總體布局如圖1所示。

  基本硬件電路圖如圖2(a)~(c)所示。在本系統(tǒng)中,RA0~RA3用于七段碼顯示,RB6控制水閘開關(guān),RB7控制電加熱管,RC3~RC5用于按鍵設(shè)計(jì)和讀取水量,RC0~RC2用于跟DS1820通信進(jìn)行水溫測(cè)量,RB0~RB1對(duì)七段碼進(jìn)行掃描,RB2~RB5 LED指示燈顯示,RC6漏電檢測(cè),RC7控制揚(yáng)聲器用于報(bào)警和指示。

  水溫測(cè)量電路

  測(cè)溫元件采用DALLAS的單線數(shù)字溫度傳感器DS1820。DS1820提供九位溫度讀數(shù),測(cè)量范圍-55℃~125℃,采用獨(dú)特1-WIRE 總線協(xié)議,只需一根口線即實(shí)現(xiàn)與MCU的雙向通訊,具有連接簡(jiǎn)單,高精度,高可靠性等特點(diǎn)。在工作時(shí),通過總線向其提供電源,單片機(jī)發(fā)出指令碼讀取溫度值。

  鍵盤與水量測(cè)量電路

  由于在本系統(tǒng)中,只要求顯示四個(gè)檔位的水量值,因此水量傳感器采用的是開關(guān)式傳感器,當(dāng)水量達(dá)到某一檔時(shí)會(huì)拉低該檔電平,接口電路與按鍵按下類似。因此在電路設(shè)計(jì)中,將水量檔位信號(hào)與按鍵通過一片74HC148優(yōu)先編碼器連接到單片機(jī)的I/O口上。按鍵的優(yōu)先權(quán)高于水量信號(hào),水量高檔位信號(hào)優(yōu)先權(quán)高于低檔位信號(hào),以保證能優(yōu)先響應(yīng)按鍵。

  顯示電路

  溫度采用二位七段碼顯示,顯示范圍0℃~99℃。水量采用一位七段顯示,顯示1、2、3、4,四檔水位。對(duì)溫度和水量進(jìn)行循環(huán)掃描顯示。四個(gè)LED用于當(dāng)前按鍵功能設(shè)定。

  水溫和水量控制電路

  單片機(jī)通過光電耦合對(duì)繼電器進(jìn)行控制,用來切斷或接通加熱管電源,關(guān)閉或打開水閥,從而達(dá)到對(duì)水溫和水量的控制。

  漏電檢測(cè)及報(bào)警電路

  由于熱水器工作在潮濕的場(chǎng)合,因此需具備漏電檢測(cè)與報(bào)警功能。漏電檢測(cè)由漏電檢測(cè)線圈的輸出經(jīng)整形后輸入到RC6口,電路原理圖如圖3(a)所示。當(dāng)漏電流超過一定閾值時(shí),比較器輸出低電平,否則保持高電平,再通過一單穩(wěn)態(tài)觸發(fā)器電路產(chǎn)生如圖3(b)所示波形,低電平保持時(shí)間t可由單穩(wěn)態(tài)觸發(fā)器進(jìn)行調(diào)整設(shè)定。在本系統(tǒng)中t為10ms,由于PIC16C57沒有中斷功能,因此程序中必須每隔一定時(shí)間(小于10ms)對(duì)RC6口進(jìn)行查詢,以檢測(cè)是否漏電,一旦檢測(cè)到RC6變低,經(jīng)過確認(rèn)后切斷加熱管電流,同時(shí)進(jìn)行報(bào)警。報(bào)警電路還在傳感器出現(xiàn)故障、超溫時(shí)報(bào)警提示。

  PIC16C57本身具有看門狗定時(shí)器,當(dāng)系統(tǒng)出現(xiàn)異常時(shí),能自動(dòng)進(jìn)行掉電保護(hù)和系統(tǒng)復(fù)位。

2016062716592440561.jpg


圖3(a)電路原理圖

2016062716592463135.jpg

圖3(b)波形圖

2016062716592485709.jpg

圖4 系統(tǒng)流程圖

2016062716592475991.jpg

圖5 RTCC原理圖

    

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

  系統(tǒng)軟件采用PIC16C5X精簡(jiǎn)指令編寫。由于PIC16C57沒有中斷功能,因此本系統(tǒng)中鍵盤掃描、漏電檢測(cè)等子程序都通過查詢實(shí)現(xiàn),并采用4MHz的時(shí)鐘頻率,對(duì)指令的運(yùn)行時(shí)間進(jìn)行了精確計(jì)算和設(shè)計(jì),保證軟件的可靠性和穩(wěn)定性。系統(tǒng)主程序框圖如圖4所示,本文討論鍵盤顯示與水溫測(cè)量?jī)蓚€(gè)模塊。

  鍵盤和顯示

  本系統(tǒng)中,有四個(gè)功能按鍵:定時(shí)加水、恒溫控制、手動(dòng)加水和手動(dòng)加熱;三個(gè)七段碼顯示與四個(gè)LED燈指示。

  a) 按下定時(shí)加水按鈕時(shí),定時(shí)LED變亮,并以當(dāng)前時(shí)間為定時(shí)時(shí)標(biāo),每24小時(shí)自動(dòng)加水至設(shè)定水量;若長(zhǎng)按此鈕超過5秒,定時(shí)LED滅,并聽到“嘟”一聲進(jìn)行水量設(shè)定,此后每按一下鈕,水量顯示加一檔,1~4檔循環(huán)顯示,不按此鈕超過5秒,再次聽到“嘟”一聲,水量設(shè)定完畢。系統(tǒng)的定時(shí)功能主要通過軟件完成。PIC16C5X內(nèi)帶一個(gè)8位定時(shí)器/計(jì)數(shù)器RTCC,在進(jìn)行24小時(shí)定時(shí)加水時(shí)采用了該定時(shí)器,RTCC及其相關(guān)電路如圖5所示。

  由圖5可知,RTCC工作狀態(tài)由OPTION寄存器控制,其中OPTION寄存器的RTS位用來選擇RTCC的計(jì)數(shù)信號(hào)源,當(dāng)RTS為“1”時(shí),信號(hào)源為來自RTCC引腳的外部信號(hào),RTS為“0”時(shí),信號(hào)源為內(nèi)部時(shí)鐘。OPTION寄存器的PSA位控制預(yù)分頻器分配對(duì)象,當(dāng)PSA為“1”,分配給RTCC,即外部或內(nèi)部信號(hào)經(jīng)過預(yù)分頻器分頻后再輸出給RTCC。預(yù)分頻器的分頻比率由OPTION內(nèi)的PS0~PS2決定。OPTION的RTE位用于選擇外部計(jì)數(shù)脈沖的觸發(fā)沿,當(dāng)RTE為"1"時(shí)下降沿觸發(fā),“0“時(shí)為上升沿觸發(fā)。RTCC計(jì)數(shù)器采用遞增方式計(jì)數(shù),當(dāng)計(jì)數(shù)至FFH時(shí),在下一個(gè)計(jì)數(shù)發(fā)生后,將自動(dòng)復(fù)零,重新開始計(jì)數(shù),以此循環(huán)下去。在實(shí)際設(shè)計(jì)中,OPTION寄存器為“00100111“,即定時(shí)器的信號(hào)源來自RTCC引腳的外部信號(hào),預(yù)分頻器的分頻比率為1:256,上升沿觸發(fā)。RTCC引腳信號(hào)的輸入頻率為1kHz,因此RTCC計(jì)數(shù)至FFH時(shí)需65536ms。通用寄存器F0EH、F0FH用作定時(shí)暫存。

  當(dāng)設(shè)置定時(shí)加水功能時(shí),初始化RTCC、OPTION、F0EH、F0FH,開始進(jìn)行定時(shí),每隔256ms查詢一次RTCC的值,RTCC每循環(huán)一次,F(xiàn)0EH-F0FH增1,當(dāng)增到1318時(shí),24小時(shí)定時(shí)到,寄存器復(fù)位,自動(dòng)加水。

  b) 按下恒溫控制鈕,恒溫LED變亮,表示進(jìn)行恒溫控制,再按一下LED滅,取消恒溫控制。與水量設(shè)定類似,長(zhǎng)按后,進(jìn)行溫度設(shè)定。

  c) 按下手動(dòng)加熱鈕時(shí),加熱LED變亮,加熱至65℃,如水量少于1檔,則先加水到1檔,再按一次取消加熱。

  d) 按下手動(dòng)加水鈕時(shí),加水至設(shè)定水量值,長(zhǎng)按可設(shè)定水量。手動(dòng)加水過程中,再次按下取消加水。

  正常情況下,兩個(gè)七段碼顯示當(dāng)前水溫,另一個(gè)顯示當(dāng)前水位。

  水溫測(cè)量

  溫度讀取是通過與DS1820通信完成。DS1820通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對(duì)DS1820的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS1820(發(fā)復(fù)位脈沖 →發(fā)ROM功能命令 →發(fā)存儲(chǔ)器操作命令 →處理數(shù)據(jù))。各操作時(shí)序圖如圖6和圖7所示。

  本程序中需用到的操作命令如下:

  SKIPROM命令(CCH):此命令執(zhí)行后,表示以后的存儲(chǔ)器操作命令將針對(duì)在線的所有DS1820,由于本系統(tǒng)中只有一片DS1820,因此發(fā)出此命令后,就可對(duì)其進(jìn)行操作。

  CONVERT命令代碼[44H]:?jiǎn)?dòng)在線DS1280進(jìn)行溫度A/D轉(zhuǎn)換。
  
  READSCRATCHPAD命令代碼[BEH]:讀取溫度寄存器的溫度值。

  對(duì)DS1820操作的總體流程圖如圖8所示。

  其他功能程序

  漏電檢測(cè)、數(shù)據(jù)處理、定時(shí)計(jì)數(shù)等其他功能程序都根據(jù)程序運(yùn)行時(shí)間進(jìn)行了統(tǒng)籌設(shè)計(jì),在此不再進(jìn)行詳述。

2016062716592483839.jpg

圖6 讀寫時(shí)序圖

2016062716592438988.jpg

圖7 初始化時(shí)序

2016062716592593855.jpg

圖8 DS1820操作流程圖

    

  結(jié)語(yǔ)

  電熱水器單片機(jī)控制器具有新穎、價(jià)廉、安全、實(shí)用等優(yōu)點(diǎn),并且在國(guó)產(chǎn)電熱水器上獲得了成功應(yīng)用。本文的一些方法也適用于冰箱、空調(diào)等家用電器的電腦控制設(shè)計(jì)中。


联系我们: 高尔夫| 富民县| 全椒县| 瑞昌市| 崇左市| 巴青县| 勐海县| 彭州市| 河西区| 西华县| 葫芦岛市| 明溪县| 山丹县| 忻州市| 张北县| 潍坊市| 阿克苏市| 宾阳县| 深水埗区| 进贤县| 寻甸| 德安县| 长丰县| 象州县| 武穴市| 稷山县| 灵山县| 邳州市| 池州市| 河北省| 江津市| 盈江县| 廉江市| 商洛市| 美姑县| 昌都县| 沐川县| 德江县| 长阳| 闸北区| 乐山市|