TMS320F28027的電動車蹺蹺板循跡系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要:本系統(tǒng)選用TI公司32位DSPTMS320F28027作為控制芯片,設(shè)計制作了一款能夠循跡并尋找平衡的智能小車。根據(jù)所給定的跑道和跑道上的位置標(biāo)志對小車進(jìn)行硬件設(shè)計和程序編寫。循跡分為前后各4路循跡,采用的是4路紅外循跡模塊,保證了小車能夠前進(jìn)后退均在指定路線上。
關(guān)鍵詞:TMS320F28027芯片;紅外循跡;傾角傳感器;模數(shù)轉(zhuǎn)換器
引言
本系統(tǒng)選取了32位TMS320F28027作為運(yùn)動物體的控制中心。TMS320F28027具有豐富的資源,擁有32位架構(gòu)、高級外設(shè)、高度的模擬集成、高達(dá)128 KB的快閃存儲器,同時還包括功能強(qiáng)大的ADC、高分辨率PWM以及濕著增強(qiáng)的捕獲單元等眾多特性優(yōu)異的組件、高精度片上振蕩器、模擬比較器、上電復(fù)位與掉電保護(hù)等在內(nèi)的各種集成模塊。本文以電動車蹺蹺板的設(shè)計為例,介紹了TMS320F28027的PWM電機(jī)調(diào)速、A/D采樣、中斷和I/O口等的操作和控制,以及LCD、L298n、紅外循跡等外部擴(kuò)展硬件的連接技巧和方法。
1 小車功能介紹
1.1 按鍵和顯示功能
按鍵操作:使用3個按鍵分別進(jìn)行選擇、確認(rèn)、退出功能操作,在系統(tǒng)上電后,顯示界面進(jìn)入主菜單,通過“選擇”按鍵塒“板上尋平衡”、“上板尋平衡”兩個功能進(jìn)行選擇,選定結(jié)束按下“確認(rèn)”鍵,系統(tǒng)進(jìn)入對應(yīng)函數(shù),此時可以按下“退出”鍵退出對應(yīng)的功能函數(shù)。
顯示功能:LCD實時顯示小車的傾角和小車正在執(zhí)行的功能,成功完成一項操作后LCD給出“OK”的指示,同時在每項操作進(jìn)行時顯示其操作所用時間,完成所有任務(wù)后顯示出每項操作所耗時間。
1.2 “板上尋平衡”功能
在不加配重的情況下,電動車完成以下運(yùn)動:
①電動車從起始端點A出發(fā),快速行駛到中心點C附近;
②電動車在中心點C附近盡快使蹺蹺板處于平衡狀態(tài),保持平衡5 s,并給出明顯的平衡指示;
③電動車從步驟②中的平衡點出發(fā),快速行駛到蹺蹺板末端B處(車頭距蹺蹺板末端B不大于50 mm);
④電動車在B點停止5 s后,快速倒退回起始端A,完成整個行程;
⑤在整個行駛過程中,電動車始終在蹺蹺板上,并分階段實時顯示電動車行駛所用的時間。
其中,到達(dá)C點附近和倒退回A點有紅外循跡裝置配合循跡標(biāo)志完成,尋找平衡主要由傾角傳感器檢測小車狀態(tài)控制小車前后移動完成。
1.3 “上板尋平衡”功能
將配重固定在可調(diào)整范圍內(nèi)任一指定位置,電動車完成以下運(yùn)動:
①將電動車放置在地面距離蹺蹺板起始端A點300 mm以外、90°扇形區(qū)域內(nèi)某一指定位置(車頭朝向蹺蹺板),電動車能夠自動駛上蹺蹺板,如圖1所示。
②電動車在蹺蹺板上取得平衡,給出明顯的平衡指示,保持平衡5 s以上。
③將另一塊質(zhì)量為電動車質(zhì)量10%~20%的塊狀配重放置在如圖2所示中A至C間指定的位置,電動車能夠重新取得平衡,給出明顯的平衡指示,保持平衡5 s以上。
1.4 跑道和小車介紹
(1)小車跑道
跑道分為兩個部分:矩形部分的蹺蹺板和扇形部分的地面區(qū)域。圖2中兩側(cè)箭頭代表循跡標(biāo)識,蹺蹺板中間箭頭為后退的循跡標(biāo)識。在蹺蹺板中部C點放置蹺蹺板支架,保證蹺蹺板可自由擺動。
(2)小車循跡模塊安裝位置
主要介紹小車循跡模塊的安裝位置,以保讓小車能夠正確循跡。前進(jìn)循跡由小車前部左右各兩路的紅外循跡裝置完成,位置配合蹺蹺板上前進(jìn)循跡線安裝。后退循跡由小車后部的4路紅外循跡裝置完成,位置配合蹺蹺板上后退循跡線安裝。安裝位置如圖3所示。
2 功能模塊電路連接
2.1 系統(tǒng)總體模型
TI公司32位DSP TMS320F28027為系統(tǒng)的控制芯片,系統(tǒng)通過7 V穩(wěn)壓直流電源給電機(jī)供電,同時7 V穩(wěn)壓電源經(jīng)LM8965穩(wěn)壓模塊輸出5V電壓后給其他模塊供電。在上電過后使用獨立按鍵配合LCD12864實現(xiàn)功能選擇,選擇功能結(jié)束,小車在紅外循跡模塊的引導(dǎo)下到達(dá)指定地點開始尋找平衡,此時系統(tǒng)對傾角傳感器輸出電壓進(jìn)行A/D采樣并將數(shù)據(jù)傳輸給芯片處理,然后芯片輸出信號對L298N驅(qū)動的直流電機(jī)進(jìn)行調(diào)節(jié),配合光電碼盤控制小車在蹺蹺板上移動以實現(xiàn)平衡點尋找。系統(tǒng)框圖如圖4所示。
2.2 L298N驅(qū)動連接電路
L298N是一塊雙H橋直流電機(jī)驅(qū)動芯片,主要是對直流電機(jī)進(jìn)行PWM轉(zhuǎn)速調(diào)節(jié),對步進(jìn)電機(jī)進(jìn)行PWM細(xì)分操作。驅(qū)動部分的端子電壓Vs在+5~+35 V,承載最大電流為2 A;邏輯部分的工作電壓為5~7 V,電流為0~36 mA,低電平有效值為-0.3~1.5 V,高電平有效值為2.3 V~Vss。該驅(qū)動板可驅(qū)動2路直流電機(jī),使能端ENA、ENB為高電平時有效,設(shè)置IN1和IN2的輸入電平確定電機(jī)的轉(zhuǎn)動方向,改變輸入使能端PWM脈沖的占空比實現(xiàn)調(diào)速。(注意:當(dāng)使能信號為0時,電機(jī)處于自由停止?fàn)顟B(tài);當(dāng)使能信號為1,且IN1和IN2為00或11時,電機(jī)處于制動狀態(tài),阻止電機(jī)轉(zhuǎn)動。)
由于小車采用的是左右兩側(cè)速度差轉(zhuǎn)向,所以為了節(jié)省I/O口,電機(jī)連接時使用一個I/O配合使能端控制一側(cè)的兩個電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速使能端控制轉(zhuǎn)速,I/O口控制轉(zhuǎn)向。具體操作:同側(cè)的兩個電機(jī)并聯(lián),電機(jī)一端通過I/O口經(jīng)L298N控制,另一端從同一I/O口引出一根信號線經(jīng)一非門后由L298N控制。具體電路連接如圖5所示(其中MG1~MG4為4個直流電機(jī))。
方向設(shè)定主要函數(shù)如下:
配合循跡模塊即可實現(xiàn)小車循跡功能。循跡模塊分為前后4路,前4路的4個信號端口與后4路并聯(lián),前4路的4個紅外循跡模塊由一個I/O口供電,后4路供電由此I/O口經(jīng)一非門供給。只需改變此I/O的高低電平即可完成前后循跡模塊的切換。循跡程序框圖如圖6所示。
循跡主要程序如下:
2.3 LCD12864電路連接
為了節(jié)省I/O口,顯示選用的LCD為SPI傳輸型,主要用于必要數(shù)據(jù)顯示以及菜單和系統(tǒng)狀態(tài)顯示。該模塊一共有10個引腳,其中除去電源引腳和空引腳還有RET引腳用于上電復(fù)位,CS引腳傳輸主從狀態(tài)選擇,SCK引腳時鐘信號輸入,SDA引腳數(shù)據(jù)輸入,BUSY引腳判忙接口。由于I/O口的限制,我們采用的并非SPI數(shù)據(jù)傳輸模式,而是選用的模擬SPI數(shù)據(jù)傳輸。模擬SPI主要是對數(shù)據(jù)傳輸時序進(jìn)行模擬。
模擬SPI數(shù)據(jù)傳輸,只能對數(shù)據(jù)進(jìn)行一位一位的傳輸。因為此時序為上升沿觸發(fā),所以在傳輸之前時鐘信號置低,傳輸結(jié)束后置高。但是程序的編寫比較麻煩,因為此LCD的命令和數(shù)據(jù)都是8位數(shù)據(jù)。所以選擇按位與加移位實現(xiàn)輸入8位數(shù)據(jù),具體程序如下:
在實際操作中,每次上電需要對LCD進(jìn)行復(fù)位設(shè)置(RST先置低10 ms左右,然后置高20 ms左右)這樣才能保證LCD正常顯示,同時在命令和數(shù)據(jù)傳輸之前需要對LCD進(jìn)行初始化操作,即對LCD進(jìn)行清屏操作(清除上電一瞬間的亂碼顯示),然后根據(jù)需求進(jìn)行亮度設(shè)置。由于此設(shè)計中LCD只需進(jìn)行數(shù)據(jù)的接收,所以CS片選端直接接地,設(shè)置LCD為從輸入設(shè)備即可。具體電路連接如圖7所示。
2.4 傾角傳感器電路連接
傾角傳感器選用的是數(shù)字信號傳輸?shù)腗MA7361,此模塊能夠檢測器件的X/Y/Z三軸的傾斜角度,以及期間的加速度。小車在蹺蹺板上尋找平衡只需一個軸檢測傾角即可,所以任選一軸與小車車面平行,豎直指向車頭即可。
當(dāng)小車發(fā)生前后傾斜時,輸出電壓改變,通過輸出電壓的線性變化反映小車的傾角、運(yùn)動加速度,以及運(yùn)動的方向。通過A/D采樣進(jìn)行相應(yīng)的電壓/角度、電壓/加速度轉(zhuǎn)換,這樣便可以時刻調(diào)節(jié)小車姿態(tài)。
傾角傳感器A/D采樣程序設(shè)定如下:
結(jié)語
本文只用了TMS320F28027的部分功能,算法也比較簡單,只是為大家的學(xué)習(xí)交流拋磚引玉而已。TMS320F28027還有很多強(qiáng)大的功能,有待以后大家的學(xué)習(xí)和使用。
個人的使用經(jīng)驗表明TMS320F28027運(yùn)算速度快,而且操作簡單易學(xué),不僅適合完成各種業(yè)余的電子設(shè)計制作,而且也能滿足專業(yè)人士的大部分需求,是性價比較高的芯片。在配合外部擴(kuò)展硬件的使用過程中,需仔細(xì)閱讀TMS320F28027和硬件模塊的電氣參數(shù),以防止元器件的損毀。