基于Atmega16單片機(jī)的智能空調(diào)遙控器
現(xiàn)有的紅外遙控器很多都是采用外部電路產(chǎn)生載波信號(hào),例如使用NEC555 振蕩器產(chǎn)生載波信號(hào)。為了減少硬件開(kāi)銷,本系統(tǒng)使用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生載波。系統(tǒng)使用的是Atmega16 單片機(jī),其定時(shí)器功能強(qiáng)大,具有普通模式、CTC 模式、快速PWM 模式、相位修正PWM 模式等工作模式,系統(tǒng)利用定時(shí)器1,使其工作在快速PWM 模式,產(chǎn)生占空比為1:3 的38KHz 的PWM 波。當(dāng)發(fā)送某條指令時(shí),單片機(jī)從對(duì)應(yīng)的EEPROM 中提取指令信息,然后調(diào)制到生成的載波上,再通過(guò)發(fā)射電路即可完成紅外信號(hào)的發(fā)射。
3.3 通信功能設(shè)計(jì)
3.3.1 上位機(jī)通信
本遙控器除了能通過(guò)功能按鍵實(shí)現(xiàn)手動(dòng)操作外,還可以通過(guò)上位機(jī)軟件對(duì)遙控器進(jìn)行控制。遙控器與上位機(jī)通過(guò)RS232 模塊進(jìn)行通信,首先配置上位機(jī)軟件,確定串口號(hào),選擇與設(shè)備相同的波特率及主從設(shè)備地址,然后根據(jù)需要選擇相應(yīng)的指令,點(diǎn)擊發(fā)送即可通過(guò)上位機(jī)對(duì)設(shè)備進(jìn)行控制。由于本遙控器是基于空調(diào)遙控器進(jìn)行研究的,在與上位機(jī)通信時(shí),系統(tǒng)中的溫度檢測(cè)模塊會(huì)上傳實(shí)時(shí)溫度,便于用戶進(jìn)行調(diào)整。圖6 為上位機(jī)軟件流程圖。
圖6 上位機(jī)軟件流程圖。
3.3.2 組網(wǎng)控制
為了實(shí)現(xiàn)對(duì)多個(gè)設(shè)備的聯(lián)網(wǎng)控制,還設(shè)計(jì)了RS485 模塊。各子遙控器通過(guò)RS485 模塊的"A"、"B"端連接在一起,組成控制網(wǎng)絡(luò),如圖7 所示,其中一個(gè)作為主遙控器,與上位機(jī)通過(guò)RS232 模塊進(jìn)行串口通信。當(dāng)上位機(jī)需要對(duì)某個(gè)子設(shè)備進(jìn)行控制時(shí),選擇相應(yīng)的子設(shè)備地址號(hào),發(fā)送指令即可,主遙控器收到指令信息后,會(huì)將指令發(fā)給對(duì)應(yīng)的子設(shè)備。與主遙控器相連的上位機(jī)PC 連接Internet,作為本地服務(wù)器,可實(shí)現(xiàn)遠(yuǎn)程控制。
用戶登錄遠(yuǎn)程客戶端,經(jīng)身份驗(yàn)證后與服務(wù)器建立連接,可發(fā)送指令給本地服務(wù)器,本地服務(wù)器再經(jīng)過(guò)串口通信對(duì)遙控器進(jìn)行相應(yīng)操作。如果遙控器主機(jī)與上位機(jī)距離較遠(yuǎn),RS232 不能滿足通信需要,也可不使用遙控器主機(jī),在上位機(jī)PC 上使用RS232-485 轉(zhuǎn)接頭,通過(guò)RS485 直接將遙控器網(wǎng)絡(luò)與PC 機(jī)485 接口相連,利用上位機(jī)對(duì)遙控器網(wǎng)絡(luò)直接進(jìn)行控制。
圖7 控制網(wǎng)絡(luò)示意圖。
4 結(jié)語(yǔ)
本文設(shè)計(jì)了一款智能空調(diào)遙控器。該系統(tǒng)采用只記錄紅外信號(hào)脈沖寬度,不考慮紅外編碼格式的方式,通過(guò)游程編碼算法將紅外信號(hào)壓縮后保存到EEPROM 中,并直接利用主控芯片定時(shí)器的PWM 模式產(chǎn)生38KHz 的載波,節(jié)約了硬件成本,除手動(dòng)操作外還可以通過(guò)上位機(jī)對(duì)遙控器進(jìn)行控制,使用方便。
系統(tǒng)成功實(shí)現(xiàn)了對(duì)多種空調(diào)遙控器的學(xué)習(xí)與功能再現(xiàn),操作靈活,性能穩(wěn)定,已成功運(yùn)用于深圳中聯(lián)通電子有限公司的機(jī)房空調(diào)的控制。本系統(tǒng)還可用于智能家居中,對(duì)不同的紅外設(shè)備進(jìn)行控制,也可用于遠(yuǎn)程網(wǎng)絡(luò)控制,為智能家居及遠(yuǎn)程監(jiān)控提供了一種實(shí)現(xiàn)方法。
參考文獻(xiàn):
[1].Atmega16 datasheethttp://www.dzsc.com/datasheet/Atmega16+_144718.html.
[2].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[3].RS485 datasheethttp://www.dzsc.com/datasheet/RS485+_585289.html.
[4].TTL datasheethttp://www.dzsc.com/datasheet/TTL+_1174409.html.
[5].DS18B20 datasheethttp://www.dzsc.com/datasheet/DS18B20+_819975.html.
[6].L7805 datasheethttp://www.dzsc.com/datasheet/L7805+_1971345.html.
[7].PC datasheethttp://www.dzsc.com/datasheet/PC+_2043275.html
評(píng)論