當前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]為了解決空調(diào)遙控器不兼容問題,設(shè)計了一款基于Atmega16 單片機的智能空調(diào)遙控器。該遙控器采用測量脈沖寬度的方法學(xué)習(xí)紅外信號,同時使用游程編碼算法對數(shù)據(jù)進行壓縮后存儲,并利用單片機內(nèi)部定時器PWM 模式產(chǎn)生紅外載波,成功實現(xiàn)了對紅外遙控的學(xué)習(xí)與再現(xiàn),并可通過上位機進行控制。經(jīng)運行測試表明,該智能遙控器操作靈活,性能穩(wěn)定,為智能遙控器設(shè)計提供了一種新方案。

  1 引言

  近年來,計算機技術(shù)、現(xiàn)代通信技術(shù)和自動控制技術(shù)高速發(fā)展,智能化家居系統(tǒng)也隨著新技術(shù)的發(fā)展進入了千家萬戶,家居系統(tǒng)中如空調(diào)、電視、照明系統(tǒng)等,都使用遙控器進行控制。紅外線遙控器由于具有結(jié)構(gòu)簡單、體積小、功耗低、功能強、成本低等特點,已成為使用最廣泛的一種遙控方式。然而,由于各種紅外設(shè)備采用的技術(shù)標準與協(xié)議大不相同,使得各種設(shè)備的遙控器并不能兼容,給用戶和消費者帶來了諸多不便。

  目前,市場上已有的萬能遙控器多是內(nèi)置了多種品牌的紅外控制指令,對內(nèi)置品牌以外的紅外設(shè)備則無能為力。為此,本文設(shè)計了一款針對空調(diào)設(shè)備的智能學(xué)習(xí)型紅外遙控器,采用記錄脈沖寬度的方法,成功實現(xiàn)了對多種紅外空調(diào)遙控信號的學(xué)習(xí)與再現(xiàn),真正實現(xiàn)了"萬能".本文在闡述了系統(tǒng)的總體結(jié)構(gòu)及硬件設(shè)計的基礎(chǔ)上,詳細研究了系統(tǒng)學(xué)習(xí),發(fā)送及通信功能的軟件設(shè)計與實現(xiàn)。

  2 系統(tǒng)總體結(jié)構(gòu)與硬件設(shè)計

  系統(tǒng)采用模塊化設(shè)計,各模塊通過接口電路與主控芯片相連。主要模塊有:矩陣鍵盤,液晶顯示,存儲模塊,紅外發(fā)送模塊,紅外接收模塊,RS232、RS485 通信模塊,以及溫度檢測模塊。系統(tǒng)結(jié)構(gòu)圖如圖1 所示。

  系統(tǒng)以Atmega16 單片機作為主控芯片,Atmega16具有16K 字節(jié)的系統(tǒng)內(nèi)可編程Flash ,512 字節(jié)EEPROM,1K 字節(jié)SRAM,32 個通用I/O 口線,32 個通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器/計數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8 路10 位具有可選差分輸入級可編程增益的ADC,具有片內(nèi)振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。該芯片功能強大,滿足系統(tǒng)設(shè)計需要并提供了充分的擴展空間。主控芯片使用8MHz 的晶振,晶振電路靠近主控芯片,盡量減少輸入噪聲。復(fù)位電路采用低電平復(fù)位。

  

 

  圖1 系統(tǒng)結(jié)構(gòu)圖

  矩陣鍵盤采用3*3 的設(shè)計,設(shè)置了8 個功能鍵,方便用戶進行手動操作。其中單獨設(shè)計了一顆模式切換鍵,可在學(xué)習(xí)、發(fā)射、通信模式中切換。為了實現(xiàn)學(xué)習(xí)功能, 紅外接收模塊使用了一體化接收頭NB1838,其光電檢測和前置放大器集成于同一封裝,中心頻率為37.9KHz. NB1838 的環(huán)氧樹脂封裝結(jié)構(gòu)為其提供了一個特殊的紅外濾光器,對自然光和電場干擾有很強的防護性。NB1838 對接收到的紅外信號進行放大、檢波、整形,并調(diào)制出紅外編碼,得到TTL 波形,反相后輸入單片機,再由單片機進行進一步的處理,存儲到EEPROM 中,接收電路如圖2 所示。

  

 

  圖2 接收硬件電路圖。

  考慮到系統(tǒng)需要的存儲空間比較大,設(shè)計了單獨的存儲模塊,選用的EEPROM 是AT24C64,它提供了8KB 的容量,通過IIC 協(xié)議與Atmega16 TWI 接口通信,將學(xué)習(xí)到的紅外指令存儲在此,掉電不丟失。

  在發(fā)射模式下,系統(tǒng)從EEPROM 讀取相應(yīng)數(shù)據(jù)信息,利用三極管9013 組成的放大電路,通過大功率紅外發(fā)射管將調(diào)制好的紅外信號發(fā)射出去。發(fā)射電路如圖3所示,非發(fā)送狀態(tài)時,三極管工作在截止狀態(tài),紅外發(fā)射管不工作,有利于降低功耗以及延長紅外發(fā)射管的使用壽命。經(jīng)實際測試,發(fā)射距離可達到10m 左右。

  

 

  圖3 發(fā)射硬件電路圖。

  通信模式中,系統(tǒng)通過RS232 電路與上位機通信,在與上位機通信時使用DS18B20 反饋溫度信息,DS18B20 一線總線設(shè)計大大提高了系統(tǒng)的抗干擾性,獨特而且經(jīng)濟。系統(tǒng)還增加了RS485 模塊,便于組網(wǎng),以實現(xiàn)對多個紅外設(shè)備進行控制。RS485 在組網(wǎng)時只需要用一對雙絞線將子設(shè)備的"A"、"B"端連接起來,這種接線方式為總線式拓撲結(jié)構(gòu),在同一總線上可掛接多個結(jié)點,連接方便。

  為了增加設(shè)備的實用性,系統(tǒng)設(shè)計了兩個電源方案,一個是直接接入5V 直流電源,一個是接入12V直流電源,然后通過L7805 構(gòu)成的變壓電路降壓為5V使用。

  3 系統(tǒng)軟件設(shè)計與實現(xiàn)

  系統(tǒng)程序主要分為三個部分:學(xué)習(xí)模式,發(fā)送模式以及通信模式。當?shù)谝淮芜M入系統(tǒng)時,初始化設(shè)置設(shè)備地址,然后設(shè)置通信的波特率,提供1200、9600 以及19200 三種選擇。系統(tǒng)主程序即在三個模式間切換,默認進入通信模式,可以通過模式切換按鍵改變模式,也可以通過上位機直接更改。出于系統(tǒng)的穩(wěn)定性需要,在程序中加入了軟件看門狗,防止程序"跑飛".

  3.1 學(xué)習(xí)功能設(shè)計

  3.1.1 學(xué)習(xí)模式

  紅外遙控器的碼型多樣,編碼一般包括:幀頭、系統(tǒng)碼、操作碼、同步碼、幀間隔碼、幀尾,且同步碼與幀間隔碼出現(xiàn)的位置不固定,因此碼型格式靈活多變,很難區(qū)分各種碼型的編碼含義;各個紅外遙控的編碼長度不盡相同,發(fā)送方式也多種多樣,最常用的有三種:完整幀只發(fā)送一次、完整幀重復(fù)發(fā)送兩次、先發(fā)送一個完整幀,后重復(fù)發(fā)送幀頭和一個脈沖。面對如此多樣化的編碼方式,如果區(qū)分每種編碼的含義進行學(xué)習(xí),學(xué)習(xí)的復(fù)雜度將會很高,并且通用性也會受到影響。所以,為了避開各色碼型的干擾,系統(tǒng)在學(xué)習(xí)時并不關(guān)心碼型數(shù)據(jù)的實際意義,只記錄脈沖的時間寬度。系統(tǒng)主要針對載波頻率為38KHz(周期為26us)的紅外遙控器,利用變量IR_time 記錄接收到的脈沖寬度。學(xué)習(xí)程序流程如圖4 所示。

  

 

  圖4 學(xué)習(xí)程序流程圖。

  3.1.2 壓縮存儲

  由于不考慮具體的碼型數(shù)據(jù)意義,只記錄脈沖的寬度,系統(tǒng)的學(xué)習(xí)功能通用性得到了提高,但這種方式學(xué)習(xí)到的數(shù)據(jù)量很大,對存儲的要求就變得很高。

  盡管系統(tǒng)針對存儲的大容量需求設(shè)計了單獨的存儲模塊,但考慮到應(yīng)在不增加硬件開銷的情況下保證足夠的存儲容量,以及滿足未來擴展的需要,在進行數(shù)據(jù)存儲時,采取了數(shù)據(jù)壓縮技術(shù)。[!--empirenews.page--]

  從學(xué)習(xí)到的電平數(shù)據(jù)可以發(fā)現(xiàn),無論數(shù)據(jù)是1 還是0,都有相同時長的電平出現(xiàn),這符合游程編碼的特點。游程編碼是一種簡單的非破壞性資料壓縮法,其好處是加壓縮和解壓縮都非???,其方法是計算連續(xù)出現(xiàn)的資料長度壓縮之。比如:一張二值圖像的數(shù)據(jù)為:

  WWWWWWWWBWWWWBBBWWWWWWWBWWWWW

  使用游程編碼壓縮可得:8W1B4W3B7W1B 5W.

  可見,壓縮效率極高,且可避免復(fù)雜的編碼和解碼運算。所以,在存儲時,系統(tǒng)對學(xué)習(xí)到的數(shù)據(jù)進行游程編碼壓縮[7,8].例如,學(xué)習(xí)到的一組空調(diào)遙控器的數(shù)據(jù)為[157 153 23 53 … 23 53 23 180 156 152 23 53 …53 23],如圖5 所示,對重復(fù)的電平數(shù)據(jù)采用游程編碼壓縮后,原本需要199 字節(jié)的空調(diào)遙控碼,只需要106個字節(jié)即可存儲,壓縮率達53.27%.因此,在存儲時針對學(xué)習(xí)到的數(shù)據(jù)特點采取游程編碼壓縮,可以有效節(jié)約存儲空間。

  

 

  圖5 一組典型的空調(diào)數(shù)據(jù)幀。

  3.2 發(fā)射功能設(shè)計

  現(xiàn)有的紅外遙控器很多都是采用外部電路產(chǎn)生載波信號,例如使用NEC555 振蕩器產(chǎn)生載波信號。為了減少硬件開銷,本系統(tǒng)使用單片機內(nèi)部的定時器產(chǎn)生載波。系統(tǒng)使用的是Atmega16 單片機,其定時器功能強大,具有普通模式、CTC 模式、快速PWM 模式、相位修正PWM 模式等工作模式,系統(tǒng)利用定時器1,使其工作在快速PWM 模式,產(chǎn)生占空比為1:3 的38KHz 的PWM 波。當發(fā)送某條指令時,單片機從對應(yīng)的EEPROM 中提取指令信息,然后調(diào)制到生成的載波上,再通過發(fā)射電路即可完成紅外信號的發(fā)射。

  3.3 通信功能設(shè)計

  3.3.1 上位機通信

  本遙控器除了能通過功能按鍵實現(xiàn)手動操作外,還可以通過上位機軟件對遙控器進行控制。遙控器與上位機通過RS232 模塊進行通信,首先配置上位機軟件,確定串口號,選擇與設(shè)備相同的波特率及主從設(shè)備地址,然后根據(jù)需要選擇相應(yīng)的指令,點擊發(fā)送即可通過上位機對設(shè)備進行控制。由于本遙控器是基于空調(diào)遙控器進行研究的,在與上位機通信時,系統(tǒng)中的溫度檢測模塊會上傳實時溫度,便于用戶進行調(diào)整。圖6 為上位機軟件流程圖。

  

 

  圖6 上位機軟件流程圖。

  3.3.2 組網(wǎng)控制

  為了實現(xiàn)對多個設(shè)備的聯(lián)網(wǎng)控制,還設(shè)計了RS485 模塊。各子遙控器通過RS485 模塊的"A"、"B"端連接在一起,組成控制網(wǎng)絡(luò),如圖7 所示,其中一個作為主遙控器,與上位機通過RS232 模塊進行串口通信。當上位機需要對某個子設(shè)備進行控制時,選擇相應(yīng)的子設(shè)備地址號,發(fā)送指令即可,主遙控器收到指令信息后,會將指令發(fā)給對應(yīng)的子設(shè)備。與主遙控器相連的上位機PC 連接Internet,作為本地服務(wù)器,可實現(xiàn)遠程控制。

  用戶登錄遠程客戶端,經(jīng)身份驗證后與服務(wù)器建立連接,可發(fā)送指令給本地服務(wù)器,本地服務(wù)器再經(jīng)過串口通信對遙控器進行相應(yīng)操作。如果遙控器主機與上位機距離較遠,RS232 不能滿足通信需要,也可不使用遙控器主機,在上位機PC 上使用RS232-485 轉(zhuǎn)接頭,通過RS485 直接將遙控器網(wǎng)絡(luò)與PC 機485 接口相連,利用上位機對遙控器網(wǎng)絡(luò)直接進行控制。

  

 

  圖7 控制網(wǎng)絡(luò)示意圖。

  4 結(jié)語

  本文設(shè)計了一款智能空調(diào)遙控器。該系統(tǒng)采用只記錄紅外信號脈沖寬度,不考慮紅外編碼格式的方式,通過游程編碼算法將紅外信號壓縮后保存到EEPROM 中,并直接利用主控芯片定時器的PWM 模式產(chǎn)生38KHz 的載波,節(jié)約了硬件成本,除手動操作外還可以通過上位機對遙控器進行控制,使用方便。

  系統(tǒng)成功實現(xiàn)了對多種空調(diào)遙控器的學(xué)習(xí)與功能再現(xiàn),操作靈活,性能穩(wěn)定,已成功運用于深圳中聯(lián)通電子有限公司的機房空調(diào)的控制。本系統(tǒng)還可用于智能家居中,對不同的紅外設(shè)備進行控制,也可用于遠程網(wǎng)絡(luò)控制,為智能家居及遠程監(jiān)控提供了一種實現(xiàn)方法。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉