低成本8位單片機控制的光電尋跡智能車
2.1 最小系統(tǒng)及主板
系統(tǒng)采用的常規(guī)使用的最小系統(tǒng)板,以MC9S08AC16為核心的單片機系統(tǒng)的最小系統(tǒng)主要包括以下幾個部分:時鐘電路(外接的8 MHz的石英晶振)、電源電路(提供5 V直流電源)、復位電路、BDM接口(通過BDM頭向單片機下載和調(diào)試程序)。
主板上有組成本系統(tǒng)的主要電路,具體包括:
電源穩(wěn)壓電路 7.2 V的電池電源將會通過3個集成穩(wěn)壓電路處理成兩個5 V、一個約5~7.2 V的可調(diào)直流輸出,其中一個5 V直流電源供單片機和相關外設工作,另外一個5V直流單獨供激光傳感器工作,可調(diào)直流輸出供舵機工作,采用這種電源設計方式,可以提供所需不同大小的電源,同時在舵機、激光傳感器工作時不會影響單片機的工作電源。
接口電路 包括舵機接口、電機驅動接口、電源接口、調(diào)試用人機界面電路接口、單片機最小系統(tǒng)插座。
電機驅動板作為一個獨立的單元制作的直流電機“H”型雙極性驅動電路。
2.2 傳感器模塊
采用14個發(fā)射,7個接收,兩個發(fā)射一個接收為一組一字排開。每次選中不相鄰兩個發(fā)射管發(fā)射,由兩個接收譬分別接受。AC16單片機的IO端口進行控制,由74LD164驅動選擇要發(fā)射的傳感器,由一個555芯片發(fā)出100 kHz的頻率震蕩波,激光管發(fā)光。接受部分有一個相匹配的100 kHz的接收管接收返回的光,7路接收管的接收信號直接進單片機。傳感器原理如圖3所示。本文引用地址:http://butianyuan.cn/article/172183.htm
3 軟件設計
3.1 軟件設計概要
系統(tǒng)的主函數(shù)將執(zhí)行圖4所示流程圖對應的程序。調(diào)試程序可以完成的功能有:檢驗傳感器故障、調(diào)試速度控制參數(shù)、舵機中點設置、舵機轉角參數(shù)控制等。傳感器數(shù)據(jù)的讀取特指激光傳感器的讀取,在定時器程序中,每5 ms開始新的一輪激光掃描,每125μs更換1組激光發(fā)射管,每組發(fā)射兩個不相鄰的激光信號,所有激光發(fā)射5遍之后,3次以上檢測到賽道軌跡信號才確認有效,此時才會設置傳感器數(shù)據(jù)讀取完成標志,所以系統(tǒng)每5 ms進入后續(xù)程序執(zhí)行。小車舵機轉向控制、速度控制稍后詳細論述。對于小車馬達速度控制則為閉環(huán)控制,采用bang-bang控制與P算法控制相結合,小車的速度讀取采用了輸入捕捉功能完成,車子運動時,車輪轉動,每轉過1/5圈,紅外傳感器就會輸出一個完整的脈沖周期,通過讀取紅外傳感器的輸出脈沖頻率確定小車的速度。
評論