紅外線是在可見范圍內(nèi)遠(yuǎn)程控制設(shè)備最便宜的方法,具有抗干擾能力強,、電路簡單,、容易編碼/解碼、功耗小,、成本低等特點,,我們生活中幾乎所有的音頻和視頻等家電設(shè)備都可以通過這種方式進(jìn)行控制,由于紅外遙控的廣泛使用,,相應(yīng)的元器件也就相當(dāng)便宜和容易獲得,,從而被廣大的電子產(chǎn)品的業(yè)余愛好者、創(chuàng)客用來控制自己的項目,,在嵌入式系統(tǒng)的學(xué)習(xí)和實戰(zhàn)項目中也被廣泛采用,。 紅外遙控器 紅外接收頭 1. 工作原理紅外發(fā)光 紅外光實際上是具有特定顏色的普通光,波長在760~1500納米范圍,,低于我們的可見光譜,,所以肉眼看不到這種顏色,,這也是為什么我們選用紅外光用于遠(yuǎn)程控制的原因之一,我們想使用它,,但我們對看到它不感興趣,;另一個原因是紅外發(fā)光二極管非常容易制造,非常便宜,。雖然我們?nèi)祟惪床坏竭b控器發(fā)出的紅外光,,但這并不意味著我們不能讓它變得可見。攝像機或數(shù)碼相機可以“看到”紅外光,,正如你在這張圖片中看到的,。 如今,即使是最便宜的手機也內(nèi)置了攝像頭,。只要把遙控器對準(zhǔn)這樣的相機,,按下任意一個按鈕,你就會看到LED閃爍,。不幸的是,,我們周圍有太多的紅外線光源 - 太陽是所有光源中最亮的,還有很多其它的光源,,比如:燈泡,、蠟燭、中央供暖系統(tǒng)等等,,甚至我們的身體都會輻射紅外光,。事實上,任何散發(fā)熱量的東西,,就會散發(fā)紅外光,。因此,我們必須采取一些預(yù)防措施,,以確保這些紅外信息沒有錯誤地傳遞到接收方 - 比如對我們要傳輸?shù)男畔⑦M(jìn)行“調(diào)制”,。 調(diào)制 在載波頻率上調(diào)制信號是使我們的信號在噪聲中脫穎而出的一種方式,通過調(diào)制,,我們使紅外光源以特定的頻率閃爍,,紅外接收器也調(diào)到那個頻率,它就可以忽略其它頻率的干擾信息,。就如同你可以通過眨眼的方式來吸引接收者的注意力,,即使在明亮的白天,我們?nèi)祟愐矔⒁獾浇ㄖさ亻W爍的黃色燈光,。 在上圖中,,你可以看到一個調(diào)制信號驅(qū)動左邊發(fā)射器的紅外LED,接收器將檢測到的信號輸出,。 在串行通信中,,我們通常說“標(biāo)記”和“空閑”,。“空閑”是默認(rèn)信號,,在發(fā)射機的情況下是關(guān)閉狀態(tài),。在“空閑”狀態(tài)下不會發(fā)光。在信號的“標(biāo)記”狀態(tài)下,,紅外光脈沖以特定的頻率開啟和關(guān)閉,。在30kHz和60kHz之間的載波頻率通常用于消費電子產(chǎn)品,最常見的是38kHz,, 采用占空比為1/3的方波,。 在接收端,“空閑”通常由接收端高電平的輸出來表示,。然后,,“標(biāo)記”會自動由一個低電平表示,。 要注意,,“標(biāo)記”和“空閑”不是我們想要傳輸?shù)?和0?!皹?biāo)記”和“空閑”以及“1”和“0”之間的真正關(guān)系取決于所使用的協(xié)議,。更多的信息可以在描述協(xié)議的頁面中找到。 紅外發(fā)射 紅外發(fā)射器一般是一個用電池供電的手持設(shè)備,,它應(yīng)該消耗盡可能少的功率,,并且紅外信號也應(yīng)該盡可能強,以達(dá)到一個可接受的控制距離,。最好它也應(yīng)該是防震的,。用作紅外發(fā)射器的專用芯片有很多,這些芯片都支持其中的某些協(xié)議,,隨著微控制器技術(shù)的發(fā)展,、成本和功耗都大大降低,越來越多的紅外發(fā)射器使用微控制器來實現(xiàn),,用起來更靈活,,當(dāng)不按按鈕時,它們處于極低功耗睡眠模式,,幾乎沒有任何電流被消耗,;處理器只有在按下一個按鍵時才會醒來發(fā)送適當(dāng)?shù)募t外命令。 這種手持設(shè)備很少使用石英晶體,,因為晶體非常脆弱,,一旦遙控器掉在地上就很容易折斷,所以多數(shù)都使用陶瓷諧振器(中心頻率為455KHz,,通過12分頻以后得到接近38KHz的載波信號),,它們可以承受更大的物理沖擊,,即便頻率沒有那么精準(zhǔn)也不會影響紅外通信的效果。 流經(jīng)LED(或LED陣列)的電流可以從100mA到超過1A! 如果希望遙控的距離盡可能遠(yuǎn),,LED的電流也必須盡可能高,,這就需要我們在LED參數(shù)、電池壽命和最大控制距離之間進(jìn)行權(quán)衡,。LED電流能達(dá)到這么高是因為驅(qū)動LED的脈沖非常短,,不過,LED內(nèi)部的平均功耗不應(yīng)該超過它們的最大值,,且要確保不超過LED的最大峰值電流,。將載波信號的脈沖/暫停比降低到1/3甚至1/4是很常見的。這降低了功率需求,,或者可以增加通過LED的電流,,而不會使其過熱,從而獲得更長的控制距離,。所有這些參數(shù)都可以在LED的數(shù)據(jù)表中找到,。 可以選用一個簡單的晶體管電路來驅(qū)動LED,應(yīng)選擇具有適當(dāng)HFE和開關(guān)速度的晶體管,。電阻的值可以用歐姆定律簡單地計算出來,,一個紅外LED的標(biāo)稱電壓降約為1.1V。 上面的驅(qū)動電路有一個缺點 - 隨著電池電壓的下降,,通過LED的電流也會減少,,這將導(dǎo)致能夠達(dá)到的控制距離變短。 射極跟隨電路可以避免這種情況,。兩個串聯(lián)的二極管將晶體管基極端的脈沖限制在1.2V,,減去晶體管的基極-發(fā)射極電壓壓差0.6V,當(dāng)紅外發(fā)射機工作時,,發(fā)射極的電壓幅度恒定為0.6V,。這個恒定的幅度通過一個恒定的電阻導(dǎo)致一個恒定大小的電流脈沖,與電池的電壓變化無關(guān),, 只需要運用歐姆定律就可以簡單地得出LED的電流,。 紅外接收 市場上有許多不同的接收電路,選擇跟你當(dāng)前的載波頻率匹配的電路,。 在上圖中,,你可以看到這樣一個紅外接收器的典型框圖。接收到的紅外信號由圖左側(cè)的紅外接收二極管進(jìn)行光電變換得到電信號,,這個電信號被放大和限幅,,限幅器可以看作是AGC(自動增益控制)電路,無論距離遙控器有多遠(yuǎn),,都可以以獲得恒定的脈沖水平輸出,。電路中的電容起到隔離直流的作用,,只有交流電信號被發(fā)送到帶通濾波器,帶通濾波器的中心頻率設(shè)定為遙控器發(fā)射信號的載波頻率,。消費類電子產(chǎn)品中常見的載波頻率范圍從30kHz到60kHz,。 經(jīng)過帶通濾波器處理后的信號送到下一級的探測器、積分器和比較器,,這三個模塊的目的是將載波頻率檢測出來,,如果有這個載波頻率,比較器的輸出將被拉低,。 在實際的產(chǎn)品中,,所有這些功能模塊都集成到一個單一的電子元件中。市場上有許多不同的制造商生產(chǎn)這些元件,,而且大多數(shù)設(shè)備都有幾個版本,,每個版本都被調(diào)到一個特定的載波頻率。 請注意放大器的增益被設(shè)置為很高,,系統(tǒng)很容易振蕩,。一定要在接收器的電源管腳放置一個至少22μF的大電容進(jìn)行去耦,一些器件的數(shù)據(jù)手冊建議使用330歐姆的電阻與電源串聯(lián),,以進(jìn)一步將電源與電路的其它部分解耦,。 市場上有幾家紅外接收器制造商 - 西門子,、Vishay和Telefunken是歐洲的主要供應(yīng)商,,西門子有其SFH506-xx系列,其中xx表示載頻為30,、33,、36、38,、40或56kHz,;Telefunken有其TFMS5xx0和TK18xx系列,其中xx表示載波頻率?,F(xiàn)在常用的是Vishay的TSOP12xx,、TSOP48xx和TSOP62xx產(chǎn)品系列。 在亞洲夏普,、廈門華聯(lián)和日本電氣是三家有名的紅外接收器生產(chǎn)企業(yè),。夏普的設(shè)備有非常神秘的ID名稱,如:GP1UD26xK, GP1UD27xK和GP1UD28xK,,其中x與載波頻率相關(guān),。華聯(lián)有HRMxx00系列,如HRM3700和HRM3800,。日本電氣公司(Japanese Electric)有一系列設(shè)備,,在元器件的ID中不包括載頻,。PIC-12042LM調(diào)諧到36.7kHz, PIC12043LM調(diào)諧到37.9kHz。 2. 電路連接在硬禾學(xué)堂開發(fā)的基于RP2040的嵌入式系統(tǒng)學(xué)習(xí)平臺上,,使用了Vishay公司的940nm波長的高速紅外發(fā)射管 VSMB10940以及臺灣億光(Ever bright)公司的一體化貼邊紅外接收頭IRM-H638T,,電路的連接如下圖: 基于RP2040的嵌入式系統(tǒng)學(xué)習(xí)平臺上的紅外收/發(fā)電路 IRM-H638T的調(diào)制/解調(diào)波形圖 另外在Github上有小哥 - Harish Kumar使用RP2040的PIO實現(xiàn)了紅外接收解碼,并支持HID,,從而實現(xiàn)了一個IR鍵盤的功能,,可以通過PIO解碼任何NEC協(xié)議的紅外發(fā)射脈沖信號,并支持USB鍵盤功能(HID). 還有一個項目用樹莓派Pico實現(xiàn)了遙控信號接收和發(fā)射的功能,,并有詳細(xì)的過程描述,。 3. MicroPython編程Peter Hinch提供了基于ESP32、ESP8266以及樹莓派Pico的MicroPython設(shè)備驅(qū)動程序: 其中:
4. Verilog編程紅外遙控信號編碼 使用Lattice的ICE40 FPGA實現(xiàn)紅外收發(fā)的功能框圖
|
|