基于MSP430單片機的紅外遙控器設計
1 引言
在工業(yè)控制的許多環(huán)境下,不適合操作人員直接控制,例如:高溫、高壓、輻射、粉塵、強酸性、腐蝕性、有毒氣體等。這時(shí),紅外遙控是可行的控制方式。通過(guò)這種方式,操作人員能及時(shí)采集現場(chǎng)數據,修改控制對象的參數,并發(fā)送控制命令,以達到理想的控制效果。紅外遙控通過(guò)紅外通信的方式進(jìn)行控制,具有低功耗、低成本、高可靠性、體積小、結構簡(jiǎn)單、避免人身傷害等優(yōu)點(diǎn),是一種先進(jìn)的控制方式,具有廣闊的應用前景。
2 紅外通信原理
紅外通信,即以紅外線(xiàn)作為通信載體,通過(guò)紅外光在空中的傳播來(lái)傳輸數據的通信方式,它由發(fā)射端和接收端來(lái)完成。在發(fā)射端,發(fā)送的數字信號經(jīng)過(guò)適當的調制編碼后,送入電光變換電路,經(jīng)紅外發(fā)射管轉變?yōu)榧t外光脈沖發(fā)射到空中;在接收端,紅外接收器對接收到的紅外光脈沖進(jìn)行光電變換,解調譯碼后恢復出原信號。
紅外發(fā)射端發(fā)送數據時(shí),是將待發(fā)送的二進(jìn)制數據調制成一系列的脈沖信號后發(fā)射出去。紅外載波為頻率38KHz的方波,采用脈寬調制PWM方式發(fā)送,通過(guò)待發(fā)送二進(jìn)制數據的“0”或“1”控制兩個(gè)脈沖之間的時(shí)間間隔,及PWM的占空比。紅外載波既可以通過(guò)外圍硬件電路實(shí)現,也可以使用單片機內部的定時(shí)器的PWM功能實(shí)現。
紅外接收端在收到38KHz的載波信號時(shí),會(huì )輸出低電平,否則輸出高電平,從而可以將“時(shí)斷時(shí)續”的紅外光信號解調成一定周期的連續方波信號,經(jīng)單片機處理,便可以恢復出原數據信號。
3 MSP430單片機簡(jiǎn)介
MSP430單片機是TI公司推出的一個(gè)新型單片機系列,其主要特點(diǎn)是:超低功耗、16位指令、內置A/D轉換器、串行通信接口、硬件乘法器、 LCD(液晶)驅動(dòng)器及高抗干擾能力等。因此,MSP430單片機特別適合應用在智能儀表、防盜系統、智能家電、電池供電便攜式設備等產(chǎn)品之中。筆者在開(kāi)發(fā)這款遙控器時(shí),選用的單片機型號是MSP430F413,其性能特點(diǎn)如下:低工作電壓(1.8~3.6V);超低功耗(工作模式4下耗電僅為 0.1μA);16位精簡(jiǎn)指令結構(RISC);150ns指令周期;帶有3個(gè)捕獲/比較器的16位定時(shí)器;片內集成96段LCD驅動(dòng)器;片內有JTAG 調試接口和FLASH型存儲器,可在線(xiàn)串行編程;開(kāi)發(fā)環(huán)境十分方便高效,支持C語(yǔ)言和匯編語(yǔ)言。
4 基于MSP430單片機的紅外遙控器設計
4.1 總體硬件框圖
筆者設計的這款紅外遙控器,不僅能設置控制對象的給定值或控制參數,并通過(guò)紅外線(xiàn)發(fā)送給對象,而且能接收并顯示對象通過(guò)紅外線(xiàn)反饋回的實(shí)際值,這是它不同于普通紅外遙控器的地方。因此,實(shí)際應用中,紅外遙控器和控制對象上都裝有紅外發(fā)送電路和紅外接收電路。紅外遙控器的硬件部分主要包括五個(gè)模塊:電源模塊、鍵盤(pán)模塊、液晶模塊、紅外發(fā)送模塊和紅外接收模塊??傮w硬件框圖如圖1所示。由于MSP430、紅外發(fā)送模塊和紅外接收模塊都可采用3V電源,所以電源模塊采用兩節1.5V電池供電即可。鍵盤(pán)模塊采用4×4行列掃描式鍵盤(pán)。液晶模塊由MSP430F413直接驅動(dòng)。
圖1 總體硬件框圖
4.2 紅外發(fā)送模塊
因為發(fā)光二極管的發(fā)光距離與其發(fā)射功率成正比,為了提高發(fā)光二極管的發(fā)光距離,必須提高它的發(fā)射功率,也就是使紅外發(fā)光二極管工作于脈沖狀態(tài)??梢杂脙煞N方法來(lái)實(shí)現:一是用硬件方法,即設計脈沖電路來(lái)產(chǎn)生占空比盡量小的脈沖載波信號;另一種就是用軟件來(lái)控制MSP430F413的輸出端P2.1,讓其輸出即為占空比較小的脈沖信號。
這里利用軟件來(lái)實(shí)現這個(gè)功能。即在需要輸出高電平的時(shí)候,讓程序定時(shí)把P2.1口輸出狀態(tài)反向,其中定時(shí)時(shí)間是由指令數和指令周期來(lái)決定的,每條指令的指令執行周期是固定的,所以如果想讓反向頻率高一些,則讓指令執行的少一些,反之就讓指令多一些??梢?jiàn)輸出信號占空比可以由定時(shí)時(shí)間的長(cháng)短來(lái)決定,這樣就可以在高電平時(shí)輸出占空比盡量小的脈沖信號。因為接收頭對38KHz的光信號轉換能力比較強,所以把高電平的頻率設置為38KHz。在需要輸出低電平的時(shí)候,控制P2.1口一直為低就可以了。
紅外發(fā)光二極管發(fā)射波形如圖3所示。先發(fā)一段前導碼,以檢驗這組碼是否為想要的碼。前導碼由一個(gè)9ms的高電平和一個(gè)4ms的低電平組成。然后再發(fā) 32位數據代碼,其中高電平為0.5ms,低電平為0.5ms的一個(gè)周期為代碼“0”;高電平為0.5ms,低電平為1.5ms的一個(gè)周期為代碼“1”。為了提高發(fā)射功率,實(shí)際工作時(shí),發(fā)光二極管的高電平用38kHz的載波信號載波,低電平則一直為低。
紅外發(fā)送程序流程圖如圖4所示。即先發(fā)出前導碼,然后再按發(fā)出的是‘0’或‘1’來(lái)發(fā)出不同的數據碼,每發(fā)送完一位,就讓碼長(cháng)計數器num加1,直到num加到32時(shí),發(fā)送停止。
圖4紅外發(fā)送程序流程圖
圖5紅外接收電路
4.3 紅外接收模塊
紅外接收電路選用Vishay公司生產(chǎn)的專(zhuān)用紅外接收模塊TSOP1838SS3V(以下簡(jiǎn)稱(chēng)1838)。該接收模塊是一個(gè)三端元件,使用+3V電源,具有功耗低、抗干擾能力強、輸入靈敏度高、對其它波長(cháng)(950nm以外)的紅外光不敏感的特點(diǎn)。1838的工作原理為:首先,通過(guò)紅外光敏元件將接收到的載波頻率為38kHz的脈沖調制紅外光信號轉化為電信號,再由前置放大器和自動(dòng)增益控制電路進(jìn)行放大處理;然后,通過(guò)帶通濾波器進(jìn)行濾波,濾波后的信號由解調電路進(jìn)行解調;最后,由輸出級電路進(jìn)行反向放大輸出。
如圖5所示,1838的Vcc接+3V,GND接地,信號從OUT引腳引出,進(jìn)入MSP430F413的P2.0口。當1838接收到紅外信號,就會(huì )把紅外信號轉換的電平從OUT腳輸出,P2.0口就會(huì )產(chǎn)生一個(gè)中斷,進(jìn)入紅外中斷服務(wù)程序,進(jìn)而判斷是什么信號,并且對信號做出反應。
1838輸出的接收波形與發(fā)射波形恰好反相,即前導碼是9ms的低電平與4ms的高電平,“0”是0.5ms的低電平與0.5ms的高電平,“1” 是0.5ms的低電平與1.5ms的高電平。因此,在接收程序中,通過(guò)比較高電平的脈寬來(lái)判斷到底是前導碼,還是“0”或“1”。
圖6是紅外接收中斷程序流程圖。在主程序中,先設置P2.0口為上升沿和下降沿都捕獲,然后中斷允許,進(jìn)入主循環(huán)。一旦P2.0口有電平的跳變即進(jìn)入中斷程序。在中斷程序中,首先判斷是否上升沿。若是,則上升沿標志置1,并記錄上升沿時(shí)刻;否則,說(shuō)明是下降沿,再判斷上升沿標志是否置1。若是,說(shuō)明已有上升沿,記錄下降沿時(shí)刻,并計算脈寬(脈寬=下降沿時(shí)刻—上升沿時(shí)刻);否則,說(shuō)明這是干擾信號,直接返回。下一步,判斷脈寬的大小。若是起始碼,則起始碼標志置1,記數值n清0。否則,判斷起始碼標志是否置1,若是,判斷是“0”還是“1”,并保存,n加1,判斷n是否大于或等于32,是則將起始碼標志和記數值n清0,保存32位數據,返回;否則直接返回。
圖6 紅外接收中斷程序流程圖 |
5 結束語(yǔ)
在遙控器開(kāi)發(fā)中,紅外發(fā)射電路采用紅外發(fā)光二極管,用軟件生成38K的載波;紅外接收電路采用專(zhuān)用模塊TSOP1838SS3V;主控制器采用 MSP430F413單片機。經(jīng)實(shí)際測試,遙控器的發(fā)射功率約為38mw,發(fā)射距離達到8m。遙控器具有低功耗、便攜式、低成本、高可靠性、體積小、結構簡(jiǎn)單的特點(diǎn)。
本文作者創(chuàng )新點(diǎn):本文中的紅外遙控器主要用于現場(chǎng)儀表的控制。目前帶遙控器的現場(chǎng)儀表還非常少,國外也只有SIEMENS公司開(kāi)發(fā)了帶有遙控功能的現場(chǎng)儀表,而國內這種產(chǎn)品幾乎沒(méi)有,所以紅外遙控器的開(kāi)發(fā),可以說(shuō)走在了國內同類(lèi)產(chǎn)品的前列,具有很大的市場(chǎng)優(yōu)勢。而且,通過(guò)紅外遙控器的開(kāi)發(fā)和使用,適應了現代社會(huì )對控制的要求日益向便攜式、簡(jiǎn)單式方向發(fā)展的趨勢。
參考文獻
[1] 柏軍,胡屏. 一種用于單片機的紅外串行通信接口. 單片機及嵌入式系統應用, 2003.8
[2] 蔣俊峰. 基于單片機的紅外通訊設計. 電子設計應用,2003.11
[3] 魏小龍. MSP430系列單片機接口技術(shù)及系統設計實(shí)例. 北京:北京航空航天大學(xué)出版社,2002
[4] 陳茂勇,郭西進(jìn). 基于MSP430單片機的智能無(wú)功補償控制器的設計. 微計算機信息,2005.5
[5] 馮瑛. 全數字電動(dòng)調節閥模糊控制系統的研究與開(kāi)發(fā):[學(xué)位論文].長(cháng)沙:中南大學(xué),2004
評論