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