1 引言
紅外遙控器已被廣泛使用在各種類型的家電產品上,它的出現給使用家器提供了很多的便利。紅外遙控系統一般由紅外發射裝置和紅外接受設備兩大部分組成。紅外發射裝置又可由鍵盤電路、紅外編碼晶片、電源和紅外發射電路組成。紅外接收設備可由紅外接收電路、紅外解碼晶片、電源和應用電路組成。通常為了使信號能更好的被傳輸發送端將基帶二進位信號調製為脈衝串信號,通過紅外發射管發射。本設計採用Atmega8作為紅外發射編碼和接收解碼晶片。
2 系統功能分析
一個完整的照明燈的紅外遙控電路應具有以下功能:
按下任意一個開關能使相應的燈實現亮滅的功能,按下總開關實現所有燈的亮滅,按下相應的定時關閉鍵能實現電燈在設定的時間內關閉。
3 系統硬體的實現方案
3.1 系統原理圖
通用紅外遙控系統由調製、發射和接收三大部分組成,本系統以Atmega8單片機作為紅外發射編碼和接收解碼晶片,另外再以HS5104作為發射編碼晶片,5個鍵盤輸入模塊中的三個用於給3路電燈分別進行亮滅操作,一個鍵盤輸入模塊用於操作所有燈的亮滅,最後剩下的一個鍵盤輸入模塊用於實現電燈在設定的時間內關閉的功能。紅外遙控系統如圖1所示:
圖1 紅外遙控系統
(1)發射系統
發射系統一般用電池供電,這就要求晶片的功耗要很低,晶片大多都設計成可以處於休眠狀態,當有按鍵按下時才工作,這樣可以降低功耗。紅外線通過紅外發光二極體(LED)發射出去,紅外發光二極體內部材料和普通發光二極體不同,在其兩端施加一定電壓時,它發出的是紅外線而不是可見光。
圖2a 簡單驅動電路
圖2b 射擊輸出驅動電路
如圖2a和圖2b是LED的驅動電路,圖2a是最簡單電路, 選用元件時要注意三極體的開關速度要快,還要考慮到LED的正向電流和反向漏電流,一般流過LED的最大正向電流為100mA,電流越大,其發射的波形強度越大。
圖2a電路有一點缺陷,當電池電壓下降時,流過LED的電流會降低,發射波形強度降低,遙控距離就會變小。圖2b所示的射極輸出電路可以解決這個問題,兩個二極體把三級管基極電壓鉗位在1.2V左右,因此三級管發射極電壓固定在0.6V左右,發射極電流IE基本不變,根據IE≈IC,所以流過LED的電流也基本不變,這樣保證了當電池電壓降低時還可以保證一定的遙控距離。
(2)接收系統
紅外信號接收系統的典型電路如圖3a所示:
圖3a 紅外線接收頭內部電路
該電路包括紅外監測二極體,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監測二極體監測到紅外信號,然後把信號送到放大器和限幅器,限幅器把脈衝幅度控制在一定的水平,而不論紅外發射器和接收器的距離遠近。交流信號進入帶通濾波器,帶通濾波器可以通過30khz到60khz的負載波,通過解調電路和積分電路進入比較器,比較器輸出高低電平,還原出發射端的信號波形。注意輸出的高低電平和發射端是反相的,這樣的目的是為了提高接收的靈敏度。
以上電路被集成在一個元件中,成為一體化紅外線接收頭,如圖3b所示:
圖3b 紅外線接收頭
紅外線接收頭的種類很多,引腳定義也不相同,一般都有三個引腳,包括供電腳,接地和信號輸出腳。根據發射端調製載波的不同應選用相應解調頻率的接收頭。
紅外線接收頭內部放大器的增益很大,很容易引起幹擾,因此在接收頭的供電腳上須加上濾波電容,一般在22uf以上。有的廠家建議在供電腳和電源之間接入330歐電阻,進一步降低電源幹擾。
(3)調製
紅外遙控發射數據時採用調製的方式,即把數據和一定頻率的載波進行「與」操作,這樣可以提高發射效率和降低電源功耗。
調製載波頻率一般在30khz到60khz之間,大多數使用的是38kHz,佔空比1/3的方波,如圖3.4所示,這是由發射端所使用的455kHz晶振決定的。在發射端要對晶振進行整數分頻,分頻係數一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。
圖4 載波波形
圖5a為系統發射硬體方框圖:
圖5a 發射系統方框圖
圖5b為系統接受硬體方框圖:
圖5b 接收系統方框圖
3.2 各模塊電路原理圖
(1)Atmega8MCU介紹
系統的控制核心Atmega8單片機,是Atmel公司推出的基於AVR RICS低功耗CMOS 8位高性能單片機。由於其先進的指令集以及單時鐘周期指令執行時間, ATmega8 的數據吞吐率高達 1MIPS/MHz,從而可以緩減系統在功耗和處理速度之間的矛盾。圖6為其引腳排列圖。
圖6 Atmega8引腳排列圖
在本設計中的發射電路中,Atmega8單片機的PC6、PD0~PD3口用於鍵盤輸入;PB1口接紅外發光二極體以及發射指示燈。在接受電路中Atmega8單片機的PB1~PB3用於接三路電燈,PD5~PD7、PB0、PB6、PB7接六路指示燈,PD2接紅外接受頭。
(2)HS5104紅外遙控編碼發射電路
本設計中,還另外採用了編碼器BA5104組成紅外發射電路。K1~K8與地構成按鍵開關電路,這裡只用了K1~K5。其指令經三極體Q放大,驅動L1紅外發射管發射出經編碼後的紅外遙控信號。HS5104引腳排列圖如圖7所示:
圖7 HS5104引腳排列圖
腳位說明:
(3)其他電路
紅外發射二極體的接法如圖8所示:
圖8 紅外發射二極體連接原理圖
3.3 系統電路原理圖
發射電路硬體原理圖如圖9a和9b所示。
圖9a 發射電路(M8)硬體原理圖
圖9b 發射電路(hs5104)硬體原理圖
接收電路硬體原理圖如圖9c所示:
4 系統軟體的實現方案
4.1 系統總流程圖
本設計採用的BASCOM編程,是MCS公司開發的以BASIC高級程序設計語言為平臺的AVR單片機開發軟體,它簡要清晰,易於理解、掌握。軟體設計流程圖如圖10a和圖10b所示:
圖10a 發送程序流程圖
圖10b 接收程序流程圖
5 系統軟硬體的調試
5.1 系統硬體調試
在電腦上仿真以後按照硬體電路圖連接好電路,將編寫的程序寫入單片機之前先校驗下載線是否接通,然後再寫入。調試時,先連接好下載線與上位機、目標板,給單片機系統供電,晶片選擇ATMEGA8,它的下載環境如圖11所示。
圖11 智峰下載軟體界面圖
5.2 系統軟體調試
本系統使用的軟體開發環境是BASCOM-AVR IDE,它是MCS公司開發的以BASIC高級程序設計語言為平臺的AVR單片機開發軟體,該軟體具有可視化圖形界面,是與VB/QB高度兼容的結構化BASIC語言,簡要清晰,易於理解、掌握。除了有專門為AVR單片機串行和並行接口、外圍器件開發的語句外,另外還擴充了許多通用的單片機外部設備的專用語句,調用各種硬體資源更加得心應手。
在BASCOM-AVR IDE中,程序經過編譯之後,編譯產生的hex文件,供下載之用。同時也可進入BASCOM-AVR IDE提供的軟體仿真窗口進行仿真運行,從實物圖形化的硬體仿真平臺上,可以直觀地進行實驗操作。圖12為BASCOM-AVR IDE的開發環境主界面。
圖12 BASCOM-AVR開發環境圖
6 結語
紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由於紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之後,在錄音機、音響設備、空凋機以及玩具等其它小型電器裝置上也紛紛採用紅外線遙控。當然,紅外遙控照明燈如果要投入大規模生產時,還需要對它不斷的進行優化。
關鍵字:Atmega8 編輯:王磊 引用地址:http://news.eeworld.com.cn/mndz/article_2018052027050.html 本網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站採用的非本站原創文章及圖片等內容無法一一聯繫確認版權者。如果本網所選內容的文章作者及編輯認為其作品不宜公開自由傳播,或不應無償使用,請及時通過電子郵件或電話通知我們,以迅速採取適當措施,避免給雙方造成不必要的經濟損失。推薦閱讀
寫了一個基於Atmega8 的Bootloader應用實例,其間遇到了一些問題,下面把過程和問題敘述如下,供朋友們參考。工程實例的代碼在http://download.csdn.net/detail/knowmuch/7712209,也包含了一個C#的配套燒錄程序,歡迎有興趣的朋友們下載。1、準備一個目標程序(被加載的應用程式),一般環境編譯生成的結果是Hex文件,而寫進Flash的是Bin文件。二者轉換其實很簡單,去掉Hex中的類型、長度、校驗等,只留下數據依次排列就好了。a)Hex文件格式:以ASCII格式記錄,「:」表示一行開始,第1、2個字符表示此行數據長度。第3-6字符表示數據存儲的起始地址,第7、8字符表示類型,「00
發表於 2020-04-28
以下內容根據mega8的英文手冊翻譯,希望對大家有所幫助。如發現錯誤,懇請大家指正。mega8熔絲位:1:未編程(不選中)0:編程(選中)********************************熔絲位 說明 預設設置********************************RSTDISBL: 復位或I/O功能選擇 1 1:復位功能;0:I/O功能(PC6)WDTON:
發表於 2020-03-31
我們在最小系統的製作過程中,常常會遇到下載器驅動安裝不成功的問題,絕大多數原因是因為下載器驅動不兼容win10系統。而當用arduino uno作為下載器為最小系統燒錄程序的話,不但解決了win10下的驅動問題,也可使用arduino ide直接編寫下載程序,使燒錄更加方便。材料準備atmega8×116MHZ晶振×122pf陶瓷電容×2arduino uno ×1杜邦線若干可選,一個10k電阻和一個輕觸開關用於製作復位電路。atmega8引腳圖一、最小系統電路連接(僅需最為基礎的晶振電路)實物連接如圖二、arduino uno連接電腦打開arduino IDE文件-示例-ArduinoISP-ArduinoISP-燒錄燒錄完成後
發表於 2020-03-29
上個月折騰arduino最小系統,一不小心改錯晶振熔絲位,導致一塊Atmega8A-PU晶片無法識別,請教度娘得知需要使用高壓編程器來恢復熔絲,雖然淘寶上找到有現成的刷寫設備,本著折騰精神,百度了相關資料,發現DIY一個也應該不是很困難。然後就是根據資料裡面的電路圖上淘寶掏了相關電子元件(沒辦法,小地方,很多東西都買不到,只能網購),修修改改,沒想到竟然做出來了,現在把一些製作過程分享一下,首先先上做好的板子如下:下面說說製作過程,整個製作過程主要參考了以下相關資料http://jingyan.baidu.com/article/22a299b53e2ab89e19376a05.htmlhttp://mightyohm.com
發表於 2020-03-29
主48 通過串口和電腦相連從48代替74373鎖存器編程對象是w39v040。程序有待改善 ,檢測寫入(或擦除)完成的程序用延時程序代替的。主48 pb口為雙向口,發送給從48鎖存數據,發送和接收待編程的存儲器的數據。主48 pc口是控制線 oe、we、r/c、reset ,pc5接到從48的pc5當做ALE線。主48 pd口為6位地址。從48 pb口為輸入,接收地址。從48 pd口為地址輸出。單片機用的彙編語言,電腦端程序用的c語言。從48的程序:.include "m48def.inc";變更pinc 6 為5 因為6是復位腳reset: ldi r16,0;埠b設為輸入&
發表於 2020-03-29
1.引言在電力生產和電氣測試工作中,經常需要測量工頻電壓和頻率。目前市面上工頻電壓表和頻率表種類繁多,本設計與其相比具有電路簡單、體積小、功耗低、性價比高等特點。利用低價位具備AVR高檔單片機性能的ATmega8單片機,設計工頻電壓和頻率兩用測量儀。ATmega8單片機除了有A/D轉換和定時計數器功能外,其內部的模擬比較器在測量頻率電路中省了測量過零電路;I/O埠20mA驅動能力直接驅動LED數碼管,省了驅動電路。使整個硬體電路非常簡單。2.硬體設計基於ATmega8單片機工頻電壓/頻率儀設計硬體電路如圖1所示。以單片機為核心,加上少量的外部元件構成。圖1中:T1是電源變壓器和電壓互感器兩用器件(電壓互感器有變比精度要求),提供
發表於 2020-03-11