新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STC12C5A60S2的教育機器人的設計

基于STC12C5A60S2的教育機器人的設計

作者: 時間:2011-09-16 來源:網絡 收藏
3.3 紅外光電傳感器尋跡陣列模塊

  紅外光電檢測電路工作原理是:紅外線射到路面并反射,利用紅外線在黑線和白線對光的反射系數不同的特點一白色反光線,黑色吸收光線,電路設計一個發(fā)射紅外光和一個紅外光敏二極管,當檢測到黑線時,檢測電路向單片機發(fā)出一個高電平信號。當檢測到白色時,檢測電路向單片機發(fā)出一個低電平信號。

  由7組紅外光電檢測電路排成一排構成一個紅外光電傳感器陣列模塊,安置在機器人的車頭位置。在對黑線循跡的過程中,紅外光電傳感器陣列模塊可以求得機器人對黑線軌跡位移偏移量。單片機檢測到紅外光電傳感器陣列模塊的信號與機器人的位移偏移量如表1所示。

  

基于STC12C5A60S2的教育機器人的設計

  當機器人行駛的狀態(tài)不一樣時,7組傳感器輸出的值也對應不同,從表中可以得到機器人在巡航過程中機器人所處位置與黑色軌跡的偏移量。

  3.4 車速檢測模塊

  系統(tǒng)通過車速檢測模塊來讀取當前車速。采用的方法是在后左右輪上分別粘貼一個均勻分布有黑白條紋的編碼盤(見圖3(a)),利用圖3(b)的檢測電路來對編碼盤上的黑白條紋進行檢測。當車輪轉動時,紅外接收管接收到的反射光強弱高低變化就會產生與車輪轉速相對應的脈沖信號,將該脈沖信號進行放大整形后輸入單片機的引腳P3.4和P3.5,記錄單位時間內所得到的脈沖數,就能夠表示出當前車左右輪子的速度,同時通過累加可以計算出小車所行走的路程。

  

基于STC12C5A60S2的教育機器人的設計

  3.5 其他電路

  數碼管顯示電路主要是顯示當前機器人的行走速度。采用LED數碼管動態(tài)顯示,段碼用PNP三極管驅動。系統(tǒng)顯示的距離范圍在10米之內,選用4位LED共陽數碼管,通過單片機編程實現動態(tài)掃描顯示。顯示字符由單片機P0口送出,P1.6、P1.7、P3.0和P3.1分別控制每一位數碼管的動態(tài)顯示。

  報警電路通過單片機P3.7控制蜂鳴器來完成。P3.7輸出低電平時,蜂鳴器報警;P3.7輸出高電平,蜂鳴器不報警。單片機的外部中斷輸入口P3.2和P3.3與地之間分別接入輕觸按鈕作為系統(tǒng)的啟動和停止開關,作為按鍵輸入電路。

  4 系統(tǒng)軟件設計

  系統(tǒng)控制的實現是由軟件完成的。軟件設計基于keilC51編寫的,采用模塊化結構設計,各個功能子塊獨立。在結構上由1個主程序文件main.c和8個子程序文件(key.c、pid.c、detect.c、seg.c、speed.c和motor.c)組成。main.c主程序文件完成一系列任務的初始化工作和處理各個任務工作的協(xié)調。key.c文件完成按鍵中斷檢測和蜂鳴器報警任務;seg.c文件完成數碼管顯示;sp∞d.c文件完成電機速度檢測;motor.c完成PWM的配置和電機的控制;detect.c文件完成紅外光電傳感器陣列檢測;pid.c文件實現模糊參數自整定PID運算處理。其中定時器TO產生采樣周期T秒定時中斷,每間隔T秒中斷一次,完成一次PID控制計算,同時調用模糊參數自整定PID運算子程序對測試轉速和設定轉速進行差值計算得到輸出值,用于配置PWM的輸出,控制電機轉速。主程序和定時器TO中斷處理流程圖如圖4所示。

  

基于STC12C5A60S2的教育機器人的設計



評論


相關推薦

技術專區(qū)

關閉