一款基于DSP的循跡及自平衡的智能小車(chē)設(shè)計(jì)
本文引用地址:http://cafeforensic.com/article/248192.htm
方向設(shè)定主要函數(shù)如下:
配合循跡模塊即可實(shí)現(xiàn)小車(chē)循跡功能。循跡模塊分為前后4路,前4路的4個(gè)信號(hào)端口與后4路并聯(lián),前4路的4個(gè)紅外循跡模塊由一個(gè)I/O口供電,后4路供電由此I/O口經(jīng)一非門(mén)供給。只需改變此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é)束后置高。但是程序的編寫(xiě)比較麻煩,因?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,此模塊能夠檢測(cè)器件的X/Y/Z三軸的傾斜角度,以及期間的加速度。小車(chē)在蹺蹺板上尋找平衡只需一個(gè)軸檢測(cè)傾角即可,所以任選一軸與小車(chē)車(chē)面平行,豎直指向車(chē)頭即可。
當(dāng)小車(chē)發(fā)生前后傾斜時(shí),輸出電壓改變,通過(guò)輸出電壓的線(xiàn)性變化反映小車(chē)的傾角、運(yùn)動(dòng)加速度,以及運(yùn)動(dòng)的方向。通過(guò)A/D采樣進(jìn)行相應(yīng)的電壓/角度、電壓/加速度轉(zhuǎn)換,這樣便可以時(shí)刻調(diào)節(jié)小車(chē)姿態(tài)。
傾角傳感器A/D采樣程序設(shè)定如下:
結(jié)語(yǔ)
本文只用了TMS320F28027的部分功能,算法也比較簡(jiǎn)單,只是為大家的學(xué)習(xí)交流拋磚引玉而已。TMS320F28027還有很多強(qiáng)大的功能,有待以后大家的學(xué)習(xí)和使用。
個(gè)人的使用經(jīng)驗(yàn)表明TMS320F28027運(yùn)算速度快,而且操作簡(jiǎn)單易學(xué),不僅適合完成各種業(yè)余的電子設(shè)計(jì)制作,而且也能滿(mǎn)足專(zhuān)業(yè)人士的大部分需求,是性?xún)r(jià)比較高的芯片。在配合外部擴(kuò)展硬件的使用過(guò)程中,需仔細(xì)閱讀TMS320F28027和硬件模塊的電氣參數(shù),以防止元器件的損毀。
pwm相關(guān)文章:pwm是什么
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
傾角傳感器相關(guān)文章:傾角傳感器原理
評(píng)論