單片機應用系統開發實例
智能移動機器人控制系統的設計與開發主要采用模塊化組合設計,采用ATMEL公司的ATMEGA16單片機芯片,同時配合ICCAVR7.01軟件開發環境,支持C語言的程序設計。
智能移動機器人硬件主要由直流電機驅動模塊、發生器模塊、串口通信模塊以及無線遙控、循線、尋光、避章等模塊組成。
圖1 智能移動機器人控制系統硬件框圖
其主要功能為:
① 紅外遙控功能
紅外通信采用38K載波傳輸方式,利用長虹電視機遙控器作為紅外遙控的發射裝置,利用串口以及串口調試助手,找出遙控器控制鍵(前進、后退、左轉、右轉以及停止)的編碼,通過編程實現控制。
② 避障功能
由紅外發送和接收裝置兩大部分組成,可以實現自發自收,也可以實現實驗板之間的通信。發送部分發送紅外載波,若前面沒有障礙物,接受部分不能收到載波,若前面有障礙物,載波將返回被接受模塊接受,于是通過接受模塊判斷是否收到載波就可以判斷前面是否有障礙物
③ 循線功能
由5路反射式紅外光電傳感器組成,檢測距離可調整范圍大,4-10mm范圍可用。
④ 尋光功能
主要采用靈敏度較高的光敏電阻,通過LM393將信號放大,返回主控模塊。
2.紅外遙控功能
① 紅外遙控工作原理
圖2 無線遙控系統框圖
通常紅外遙控系統由發射和接收兩大部分組成。主要應用編/解碼專用集成電路芯片來進行操作控制。發射部分由鍵盤矩陣、編碼調制、LED紅外發送器組成;接受部分由光、電轉換放大電路、解調以及解碼電路組成(如圖2所示)。在本實驗中,接受裝置采用TL538B專用集成芯片,發射裝置采用長虹電視機遙控器(RK23C)。
② 遙控信號發射
當發射器按下按鍵后,即有遙控碼發出,所按的鍵不同遙控編碼也就不同,這種遙控碼主要具有以下特征:
采用脈寬調制的串行碼,以脈寬為0.565ms、間隔為0.56 ms、周期為1.125 ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔為1. 685 ms、周期為2. 25 ms的組合表示二進制的“1”,其波形如圖3所示。
圖3 遙控碼的“0”和“1”
上述的“0”和“1”組成的32位二進制碼經38kHZ的載頻進行二次調制以提高發射效率,達到降低電源功耗的目的,然后再通過紅外發射二極管產生紅外線向外界空間發射,如圖4所示。遙控編碼產生的是32位二進制編碼,其中前16位是用戶識別碼,能區別不同的電器設備,防止不同機種遙控碼互相干擾,后16位為8位操作碼(功能碼)及其反碼。
圖4 紅外發射編碼圖
遙控器在按鍵按下后,周期性地發出同一種32位二進制碼,周期大約為108ms,一組碼本身的持續時間隨它包含的二進制“0”“1”的個數不同而不同,大約在45~63ms之間,圖5為發射波形圖。
評論