基于Atmega16單片機(jī)的智能空調(diào)遙控器
1 引言
近年來(lái),計(jì)算機(jī)技術(shù)、現(xiàn)代通信技術(shù)和自動(dòng)控制技術(shù)高速發(fā)展,智能化家居系統(tǒng)也隨著新技術(shù)的發(fā)展進(jìn)入了千家萬(wàn)戶,家居系統(tǒng)中如空調(diào)、電視、照明系統(tǒng)等,都使用遙控器進(jìn)行控制。紅外線遙控器由于具有結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),已成為使用最廣泛的一種遙控方式。然而,由于各種紅外設(shè)備采用的技術(shù)標(biāo)準(zhǔn)與協(xié)議大不相同,使得各種設(shè)備的遙控器并不能兼容,給用戶和消費(fèi)者帶來(lái)了諸多不便。
目前,市場(chǎng)上已有的萬(wàn)能遙控器多是內(nèi)置了多種品牌的紅外控制指令,對(duì)內(nèi)置品牌以外的紅外設(shè)備則無(wú)能為力。為此,本文設(shè)計(jì)了一款針對(duì)空調(diào)設(shè)備的智能學(xué)習(xí)型紅外遙控器,采用記錄脈沖寬度的方法,成功實(shí)現(xiàn)了對(duì)多種紅外空調(diào)遙控信號(hào)的學(xué)習(xí)與再現(xiàn),真正實(shí)現(xiàn)了"萬(wàn)能".本文在闡述了系統(tǒng)的總體結(jié)構(gòu)及硬件設(shè)計(jì)的基礎(chǔ)上,詳細(xì)研究了系統(tǒng)學(xué)習(xí),發(fā)送及通信功能的軟件設(shè)計(jì)與實(shí)現(xiàn)。
2 系統(tǒng)總體結(jié)構(gòu)與硬件設(shè)計(jì)
系統(tǒng)采用模塊化設(shè)計(jì),各模塊通過(guò)接口電路與主控芯片相連。主要模塊有:矩陣鍵盤,液晶顯示,存儲(chǔ)模塊,紅外發(fā)送模塊,紅外接收模塊,RS232、RS485 通信模塊,以及溫度檢測(cè)模塊。系統(tǒng)結(jié)構(gòu)圖如圖1 所示。
系統(tǒng)以Atmega16 單片機(jī)作為主控芯片,Atmega16具有16K 字節(jié)的系統(tǒng)內(nèi)可編程Flash ,512 字節(jié)EEPROM,1K 字節(jié)SRAM,32 個(gè)通用I/O 口線,32 個(gè)通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8 路10 位具有可選差分輸入級(jí)可編程增益的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SPI 串行端口,以及六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。該芯片功能強(qiáng)大,滿足系統(tǒng)設(shè)計(jì)需要并提供了充分的擴(kuò)展空間。主控芯片使用8MHz 的晶振,晶振電路靠近主控芯片,盡量減少輸入噪聲。復(fù)位電路采用低電平復(fù)位。
圖1 系統(tǒng)結(jié)構(gòu)圖
矩陣鍵盤采用3*3 的設(shè)計(jì),設(shè)置了8 個(gè)功能鍵,方便用戶進(jìn)行手動(dòng)操作。其中單獨(dú)設(shè)計(jì)了一顆模式切換鍵,可在學(xué)習(xí)、發(fā)射、通信模式中切換。為了實(shí)現(xiàn)學(xué)習(xí)功能, 紅外接收模塊使用了一體化接收頭NB1838,其光電檢測(cè)和前置放大器集成于同一封裝,中心頻率為37.9KHz. NB1838 的環(huán)氧樹(shù)脂封裝結(jié)構(gòu)為其提供了一個(gè)特殊的紅外濾光器,對(duì)自然光和電場(chǎng)干擾有很強(qiáng)的防護(hù)性。NB1838 對(duì)接收到的紅外信號(hào)進(jìn)行放大、檢波、整形,并調(diào)制出紅外編碼,得到TTL 波形,反相后輸入單片機(jī),再由單片機(jī)進(jìn)行進(jìn)一步的處理,存儲(chǔ)到EEPROM 中,接收電路如圖2 所示。
圖2 接收硬件電路圖。
考慮到系統(tǒng)需要的存儲(chǔ)空間比較大,設(shè)計(jì)了單獨(dú)的存儲(chǔ)模塊,選用的EEPROM 是AT24C64,它提供了8KB 的容量,通過(guò)IIC 協(xié)議與Atmega16 TWI 接口通信,將學(xué)習(xí)到的紅外指令存儲(chǔ)在此,掉電不丟失。
在發(fā)射模式下,系統(tǒng)從EEPROM 讀取相應(yīng)數(shù)據(jù)信息,利用三極管9013 組成的放大電路,通過(guò)大功率紅外發(fā)射管將調(diào)制好的紅外信號(hào)發(fā)射出去。發(fā)射電路如圖3所示,非發(fā)送狀態(tài)時(shí),三極管工作在截止?fàn)顟B(tài),紅外發(fā)射管不工作,有利于降低功耗以及延長(zhǎng)紅外發(fā)射管的使用壽命。經(jīng)實(shí)際測(cè)試,發(fā)射距離可達(dá)到10m 左右。
圖3 發(fā)射硬件電路圖。
通信模式中,系統(tǒng)通過(guò)RS232 電路與上位機(jī)通信,在與上位機(jī)通信時(shí)使用DS18B20 反饋溫度信息,DS18B20 一線總線設(shè)計(jì)大大提高了系統(tǒng)的抗干擾性,獨(dú)特而且經(jīng)濟(jì)。系統(tǒng)還增加了RS485 模塊,便于組網(wǎng),以實(shí)現(xiàn)對(duì)多個(gè)紅外設(shè)備進(jìn)行控制。RS485 在組網(wǎng)時(shí)只需要用一對(duì)雙絞線將子設(shè)備的"A"、"B"端連接起來(lái),這種接線方式為總線式拓?fù)浣Y(jié)構(gòu),在同一總線上可掛接多個(gè)結(jié)點(diǎn),連接方便。
為了增加設(shè)備的實(shí)用性,系統(tǒng)設(shè)計(jì)了兩個(gè)電源方案,一個(gè)是直接接入5V 直流電源,一個(gè)是接入12V直流電源,然后通過(guò)L7805 構(gòu)成的變壓電路降壓為5V使用。
紅外遙控器相關(guān)文章:紅外遙控器原理 雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評(píng)論