智能學習型紅外空調遙控器的設計與實現
發布時間:2015-01-17 責任編輯:echolady
【導讀】本文設計的是一款基於單片機的紅外智能空調遙控器,這種遙控器能采用測量脈衝寬度的方法學習紅外信號,同時使用遊程編碼算法對數據進行壓縮後存儲,並利用單片機內部定時器PWM模式產生紅外載波,成功實現了對紅外遙控的學習與再現。下麵請看詳細設計流程。
係統總體結構與硬件設計
係統采用模塊化設計,各模塊通過接口電路與主控芯片相連。主要模塊有:矩陣鍵盤,液晶顯示,存儲模塊,紅外發送模塊,紅外接收模塊,RS232、RS485 通信模塊,以及溫度檢測模塊。係統結構圖如圖1 所示。
係統以Atmega16 單片機作為主控芯片,Atmega16具有16K 字節的係統內可編程Flash ,512 字節EEPROM,1K 字節SRAM,32 個通用I/O 口線,32 個通用工作寄存器,用於邊界掃描的JTAG 接口,支持片內調試與編程,三個具有比較模式的靈活的定時器/計數器(T/C),片內/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8 路10 位具有可選差分輸入級可編程增益的ADC,具有片內振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。該芯片功能強大,滿足係統設計需要並提供了充分的擴展空間。主控芯片使用8MHz 的晶振,晶振電路靠近主控芯片,盡量減少輸入噪聲。複位電路采用低電平複位。

圖1 係統結構圖
矩陣鍵盤采用3*3 的設計,設置了8 個功能鍵,方便用戶進行手動操作。其中單獨設計了一顆模式切換鍵,可在學習、發射、通信模式中切換。為了實現學習功能, 紅外接收模塊使用了一體化接收頭NB1838,其光電檢測和前置放大器集成於同一封裝,中心頻率為37.9KHz. NB1838 的環氧樹脂封裝結構為其提供了一個特殊的紅外濾光器,對自然光和電場幹擾有很強的防護性。NB1838 對接收到的紅外信號進行放大、檢波、整形,並調製出紅外編碼,得到TTL 波形,反相後輸入單片機,再由單片機進行進一步的處理,存儲到EEPROM 中,接收電路如圖2 所示。

圖2 接收硬件電路圖。
考慮到係統需要的存儲空間比較大,設計了單獨的存儲模塊,選用的EEPROM 是AT24C64,它提供了8KB 的容量,通過IIC 協議與Atmega16 TWI 接口通信,將學習到的紅外指令存儲在此,掉電不丟失。
在發射模式下,係統從EEPROM 讀取相應數據信息,利用三極管9013 組成的放大電路,通過大功率紅外發射管將調製好的紅外信號發射出去。發射電路如圖3suoshi,feifasongzhuangtaishi,sanjiguangongzuozaijiezhizhuangtai,hongwaifasheguanbugongzuo,youliyujiangdigonghaoyijiyanchanghongwaifasheguandeshiyongshouming。jingshijiceshi,fashejulikedadao10m 左右。

圖3 發射硬件電路圖。
通信模式中,係統通過RS232 電路與上位機通信,在與上位機通信時使用DS18B20 反饋溫度信息,DS18B20 一線總線設計大大提高了係統的抗幹擾性,獨特而且經濟。係統還增加了RS485 模塊,便於組網,以實現對多個紅外設備進行控製。RS485 在組網時隻需要用一對雙絞線將子設備的"A"、"B"端連接起來,這種接線方式為總線式拓撲結構,在同一總線上可掛接多個結點,連接方便。
為了增加設備的實用性,係統設計了兩個電源方案,一個是直接接入5V 直流電源,一個是接入12V直流電源,然後通過L7805 構成的變壓電路降壓為5V使用。
[page]
係統軟件設計與實現
係統程序主要分為三個部分:學習模式,發送模式以及通信模式。當第一次進入係統時,初始化設置設備地址,然後設置通信的波特率,提供1200、9600 以及19200 sanzhongxuanze。xitongzhuchengxujizaisangemoshijianqiehuan,morenjinrutongxinmoshi,keyitongguomoshiqiehuananjiangaibianmoshi,yekeyitongguoshangweijizhijiegenggai。chuyuxitongdewendingxingxuyao,zaichengxuzhongjiaruleruanjiankanmengou,fangzhichengxu"跑飛".
學習功能設計
學習模式
紅外遙控器的碼型多樣,編碼一般包括:幀頭、係統碼、操作碼、同步碼、幀間隔碼、幀尾,且同步碼與幀間隔碼出現的位置不固定,因此碼型格式靈活多變,很難區分各種碼型的編碼含義;各個紅外遙控的編碼長度不盡相同,發送方式也多種多樣,最常用的有三種:完整幀隻發送一次、完整幀重複發送兩次、先(xian)發(fa)送(song)一(yi)個(ge)完(wan)整(zheng)幀(zhen),後(hou)重(zhong)複(fu)發(fa)送(song)幀(zhen)頭(tou)和(he)一(yi)個(ge)脈(mai)衝(chong)。麵(mian)對(dui)如(ru)此(ci)多(duo)樣(yang)化(hua)的(de)編(bian)碼(ma)方(fang)式(shi),如(ru)果(guo)區(qu)分(fen)每(mei)種(zhong)編(bian)碼(ma)的(de)含(han)義(yi)進(jin)行(xing)學(xue)習(xi),學(xue)習(xi)的(de)複(fu)雜(za)度(du)將(jiang)會(hui)很(hen)高(gao),並(bing)且(qie)通(tong)用(yong)性(xing)也(ye)會(hui)受(shou)到(dao)影(ying)響(xiang)。所(suo)以(yi),為(wei)了(le)避(bi)開(kai)各(ge)色(se)碼(ma)型(xing)的(de)幹(gan)擾(rao),係(xi)統(tong)在(zai)學(xue)習(xi)時(shi)並(bing)不(bu)關(guan)心(xin)碼(ma)型(xing)數(shu)據(ju)的(de)實(shi)際(ji)意(yi)義(yi),隻(zhi)記(ji)錄(lu)脈(mai)衝(chong)的(de)時(shi)間(jian)寬(kuan)度(du)。係(xi)統(tong)主(zhu)要(yao)針(zhen)對(dui)載(zai)波(bo)頻(pin)率(lv)為(wei)38KHz(周期為26us)的紅外遙控器,利用變量IR_time 記錄接收到的脈衝寬度。學習程序流程如圖4 所示。

圖4 學習程序流程圖。
壓縮存儲由(you)於(yu)不(bu)考(kao)慮(lv)具(ju)體(ti)的(de)碼(ma)型(xing)數(shu)據(ju)意(yi)義(yi),隻(zhi)記(ji)錄(lu)脈(mai)衝(chong)的(de)寬(kuan)度(du),係(xi)統(tong)的(de)學(xue)習(xi)功(gong)能(neng)通(tong)用(yong)性(xing)得(de)到(dao)了(le)提(ti)高(gao),但(dan)這(zhe)種(zhong)方(fang)式(shi)學(xue)習(xi)到(dao)的(de)數(shu)據(ju)量(liang)很(hen)大(da),對(dui)存(cun)儲(chu)的(de)要(yao)求(qiu)就(jiu)變(bian)得(de)很(hen)高(gao)。
盡jin管guan係xi統tong針zhen對dui存cun儲chu的de大da容rong量liang需xu求qiu設she計ji了le單dan獨du的de存cun儲chu模mo塊kuai,但dan考kao慮lv到dao應ying在zai不bu增zeng加jia硬ying件jian開kai銷xiao的de情qing況kuang下xia保bao證zheng足zu夠gou的de存cun儲chu容rong量liang,以yi及ji滿man足zu未wei來lai擴kuo展zhan的de需xu要yao,在zai進jin行xing數shu據ju存cun儲chu時shi,采cai取qu了le數shu據ju壓ya縮suo技ji術shu。
從學習到的電平數據可以發現,無論數據是1 還是0,都dou有you相xiang同tong時shi長chang的de電dian平ping出chu現xian,這zhe符fu合he遊you程cheng編bian碼ma的de特te點dian。遊you程cheng編bian碼ma是shi一yi種zhong簡jian單dan的de非fei破po壞huai性xing資zi料liao壓ya縮suo法fa,其qi好hao處chu是shi加jia壓ya縮suo和he解jie壓ya縮suo都dou非fei常chang快kuai,其qi方fang法fa是shi計ji算suan連lian續xu出chu現xian的de資zi料liao長chang度du壓ya縮suo之zhi。比bi如ru:一張二值圖像的數據為:
WWWWWWWWBWWWWBBBWWWWWWWBWWWWW
使用遊程編碼壓縮可得:8W1B4W3B7W1B 5W.
可見,壓縮效率極高,且可避免複雜的編碼和解碼運算。所以,在存儲時,係統對學習到的數據進行遊程編碼壓縮[7,8].例如,學習到的一組空調遙控器的數據為[157 153 23 53 … 23 53 23 180 156 152 23 53 …53 23],如圖5 所示,對重複的電平數據采用遊程編碼壓縮後,原本需要199 字節的空調遙控碼,隻需要106個字節即可存儲,壓縮率達53.27%.因此,在存儲時針對學習到的數據特點采取遊程編碼壓縮,可以有效節約存儲空間。

圖5 一組典型的空調數據幀。
發射功能設計現有的紅外遙控器很多都是采用外部電路產生載波信號,例如使用NEC555 振蕩器產生載波信號。為了減少硬件開銷,本係統使用單片機內部的定時器產生載波。係統使用的是Atmega16 單片機,其定時器功能強大,具有普通模式、CTC 模式、快速PWM 模式、相位修正PWM 模式等工作模式,係統利用定時器1,使其工作在快速PWM 模式,產生占空比為1:3 的38KHz 的PWM 波。當發送某條指令時,單片機從對應的EEPROM 中提取指令信息,然後調製到生成的載波上,再通過發射電路即可完成紅外信號的發射。
[page]
通信功能設計
上位機通信
本遙控器除了能通過功能按鍵實現手動操作外,還可以通過上位機軟件對遙控器進行控製。遙控器與上位機通過RS232 mokuaijinxingtongxin,shouxianpeizhishangweijiruanjian,quedingchuankouhao,xuanzeyushebeixiangtongdebotelvjizhucongshebeidizhi,ranhougenjuxuyaoxuanzexiangyingdezhiling,dianjifasongjiketongguoshangweijiduishebeijinxingkongzhi。youyubenyaokongqishijiyukongtiaoyaokongqijinxingyanjiude,zaiyushangweijitongxinshi,xitongzhongdewendujiancemokuaihuishangchuanshishiwendu,bianyuyonghujinxingtiaozheng。tu6 為上位機軟件流程圖。

圖6 上位機軟件流程圖。
組網控製
為了實現對多個設備的聯網控製,還設計了RS485 模塊。各子遙控器通過RS485 模塊的"A"、"B"端連接在一起,組成控製網絡,如圖7 所示,其中一個作為主遙控器,與上位機通過RS232 模(mo)塊(kuai)進(jin)行(xing)串(chuan)口(kou)通(tong)信(xin)。當(dang)上(shang)位(wei)機(ji)需(xu)要(yao)對(dui)某(mou)個(ge)子(zi)設(she)備(bei)進(jin)行(xing)控(kong)製(zhi)時(shi),選(xuan)擇(ze)相(xiang)應(ying)的(de)子(zi)設(she)備(bei)地(di)址(zhi)號(hao),發(fa)送(song)指(zhi)令(ling)即(ji)可(ke),主(zhu)遙(yao)控(kong)器(qi)收(shou)到(dao)指(zhi)令(ling)信(xin)息(xi)後(hou),會(hui)將(jiang)指(zhi)令(ling)發(fa)給(gei)對(dui)應(ying)的(de)子(zi)設(she)備(bei)。與(yu)主(zhu)遙(yao)控(kong)器(qi)相(xiang)連(lian)的(de)上(shang)位(wei)機(ji)PC 連接Internet,作為本地服務器,可實現遠程控製。
用(yong)戶(hu)登(deng)錄(lu)遠(yuan)程(cheng)客(ke)戶(hu)端(duan),經(jing)身(shen)份(fen)驗(yan)證(zheng)後(hou)與(yu)服(fu)務(wu)器(qi)建(jian)立(li)連(lian)接(jie),可(ke)發(fa)送(song)指(zhi)令(ling)給(gei)本(ben)地(di)服(fu)務(wu)器(qi),本(ben)地(di)服(fu)務(wu)器(qi)再(zai)經(jing)過(guo)串(chuan)口(kou)通(tong)信(xin)對(dui)遙(yao)控(kong)器(qi)進(jin)行(xing)相(xiang)應(ying)操(cao)作(zuo)。如(ru)果(guo)遙(yao)控(kong)器(qi)主(zhu)機(ji)與(yu)上(shang)位(wei)機(ji)距(ju)離(li)較(jiao)遠(yuan),RS232 不能滿足通信需要,也可不使用遙控器主機,在上位機PC 上使用RS232-485 轉接頭,通過RS485 直接將遙控器網絡與PC 機485 接口相連,利用上位機對遙控器網絡直接進行控製。

圖7 控製網絡示意圖。
本(ben)文(wen)設(she)計(ji)了(le)一(yi)款(kuan)智(zhi)能(neng)空(kong)調(tiao)遙(yao)控(kong)器(qi)。該(gai)係(xi)統(tong)采(cai)用(yong)隻(zhi)記(ji)錄(lu)紅(hong)外(wai)信(xin)號(hao)脈(mai)衝(chong)寬(kuan)度(du),不(bu)考(kao)慮(lv)紅(hong)外(wai)編(bian)碼(ma)格(ge)式(shi)的(de)方(fang)式(shi),通(tong)過(guo)遊(you)程(cheng)編(bian)碼(ma)算(suan)法(fa)將(jiang)紅(hong)外(wai)信(xin)號(hao)壓(ya)縮(suo)後(hou)保(bao)存(cun)到(dao)EEPROM 中,並直接利用主控芯片定時器的PWM 模式產生38KHz 的載波,節約了硬件成本,除手動操作外還可以通過上位機對遙控器進行控製,使用方便。
係xi統tong成cheng功gong實shi現xian了le對dui多duo種zhong空kong調tiao遙yao控kong器qi的de學xue習xi與yu功gong能neng再zai現xian,操cao作zuo靈ling活huo,性xing能neng穩wen定ding。本ben係xi統tong還hai可ke用yong於yu智zhi能neng家jia居ju中zhong,對dui不bu同tong的de紅hong外wai設she備bei進jin行xing控kong製zhi,也ye可ke用yong於yu遠yuan程cheng網wang絡luo控kong製zhi,為wei智zhi能neng家jia居ju及ji遠yuan程cheng監jian控kong提ti供gong了le一yi種zhong實shi現xian方fang法fa。
相關閱讀:
技術帝教你DIY紅外遙控LED電子鍾
一款單線紅外遙控開關電路設計
萬能紅外遙控開關DIY,讓你實現隨時開關
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
SATA連接器
SD連接器
SII
SIM卡連接器
SMT設備
SMU
SOC
SPANSION
SRAM
SSD
ST
ST-ERICSSON
Sunlord
SynQor
s端子線
Taiyo Yuden
TDK-EPC
TD-SCDMA功放
TD-SCDMA基帶
TE
Tektronix
Thunderbolt
TI
TOREX
TTI
TVS
UPS電源
USB3.0
USB 3.0主控芯片
USB傳輸速度




