彭聰 彭琛 聶超凡
摘要:本文設(shè)計(jì)的電動(dòng)車采用簡(jiǎn)單普遍的人工智能技術(shù),本課題實(shí)現(xiàn)的功能是電動(dòng)車在規(guī)定的時(shí)間內(nèi)完成從蹺蹺板的起始端出發(fā),行駛到蹺蹺板中心點(diǎn)附近,并且在中心點(diǎn)附近找到平衡位置停留幾秒,然后從平衡點(diǎn)出發(fā)到蹺蹺板末端停留幾秒鐘,再?gòu)哪┒说雇嘶仄鹗级?。根?jù)以上的要求采用STM32F103RCT6作為小車的檢測(cè)和控制核心,通過12V電池及降壓模塊,以L298N來驅(qū)動(dòng)減速電機(jī),電機(jī)驅(qū)動(dòng)采用PWM計(jì)數(shù),方便對(duì)小車車輪正傳和反轉(zhuǎn)的控制。小車通過紅外對(duì)管來進(jìn)行尋跡行駛和檢測(cè)黑帶來保證在蹺蹺板上直線行走。用MPU6050角度傳感器作平衡檢測(cè),來檢測(cè)蹺蹺板的傾斜度,再把相應(yīng)信號(hào)傳給STM32F103RCT6去控制車輪的轉(zhuǎn)速以及方向使電動(dòng)車運(yùn)行到使蹺蹺板達(dá)到平衡的位置,從而達(dá)到調(diào)節(jié)平衡的目的。同時(shí),小車在蹺蹺板行駛過程中,通過LCD顯示屏實(shí)時(shí)行駛時(shí)間以及在蹺蹺板的首末端和平衡處給出相應(yīng)的指示,便于人機(jī)交流。
關(guān)鍵詞:STM32;MPU6050;紅外傳感;減速電機(jī);LCD顯示
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)31-0197-03
1概述
在現(xiàn)在這個(gè)發(fā)展迅速的科技信息時(shí)代,科技中的智能化很快地融入到了人們的日常生活當(dāng)中,車子的智能化也不離其外。智能小車的技術(shù)得到了普遍的應(yīng)用,可用到安全監(jiān)測(cè)、排除險(xiǎn)情及智能家居等領(lǐng)域。軍事上,在車上裝備攝像機(jī)、安全激光測(cè)距儀和衛(wèi)星全球定位儀等設(shè)備,通過光纜操縱,完成偵察和監(jiān)視敵情、情報(bào)收集、目標(biāo)搜索和自主巡邏等任務(wù)。在家庭中,可以用智能小車進(jìn)行家具、遠(yuǎn)程控制家中的家用電器,控制室溫等等。對(duì)這種小車的研究,將為未來環(huán)境探測(cè)術(shù)上的有力支持。
2系統(tǒng)硬件設(shè)計(jì)
如圖1所示,小車以STM32F103RCT6為控制芯片,通過發(fā)送PWM波給驅(qū)動(dòng)電路,從而控制電機(jī)帶動(dòng)車輪的正轉(zhuǎn)反轉(zhuǎn),在蹺蹺板上通過PID調(diào)節(jié)進(jìn)行紅外循跡和平衡檢測(cè),在運(yùn)行的過程中通過LCDl602顯示屏實(shí)時(shí)顯示開始小車行駛時(shí)間。
在板子兩邊貼兩個(gè)接近蹺蹺板寬度的長(zhǎng)條黑線作為電動(dòng)車出發(fā)的起點(diǎn)和終點(diǎn)標(biāo)志,小車從起點(diǎn)出發(fā)后,在30秒內(nèi)到達(dá)中心點(diǎn)附近,通過角度傳感器傳輸?shù)紸RM的信號(hào),來判斷蹺蹺板的傾斜角度,經(jīng)過PID算法的調(diào)節(jié),找出傾斜角為0的位置,小車在中心點(diǎn)附近來回行駛,在60秒內(nèi)找到平衡點(diǎn),并且在平衡點(diǎn)處停止5秒。之后,在30秒內(nèi)繼續(xù)向前行駛到終點(diǎn)處,并且停止5秒。5秒后,通過控制車輪的反轉(zhuǎn),在1分鐘內(nèi)倒退回到起始點(diǎn),在整個(gè)行駛過程中,電動(dòng)車始終在蹺蹺板上,并且分階段實(shí)時(shí)顯示電動(dòng)車行駛所用時(shí)間。
2.1電源供電模塊
如圖4所示,12V的航模電池給為降壓模塊和驅(qū)動(dòng)電路的輸入電源,驅(qū)動(dòng)模塊輸出的5v可給單片機(jī)供電,降壓模塊輸出的5v可作為5v降3.3V模塊的輸人,同時(shí)可給循跡模塊和顯示模塊5V供電。降壓模塊輸出的3.3V供電給平衡模塊。
為了確保控制小車電路的穩(wěn)定運(yùn)行,設(shè)計(jì)一個(gè)輔助電源用來提供穩(wěn)定的+12V、+5V、+3.3V,實(shí)則為一個(gè)降壓模塊。輔助電源電路用到了LM2576-5和LMlll7-3.3這兩種性能較高的降壓穩(wěn)壓器,分別用來12V轉(zhuǎn)5v和5V轉(zhuǎn)3.3V。
2.2 L298N電機(jī)驅(qū)動(dòng)
L298N作為專用驅(qū)動(dòng)集成電路,在本課題中該驅(qū)動(dòng)模塊是用來驅(qū)動(dòng)直流電機(jī)。12V輸人給電機(jī)驅(qū)動(dòng)供電則5v輸出給開發(fā)板供電。STM32通過PB6、PB7、PB8、PB9這4個(gè)引腳連接到該模塊的邏輯信號(hào)輸入端口輸出兩對(duì)PWM波進(jìn)行控制占空比,同時(shí)驅(qū)動(dòng)模塊的馬達(dá)輸出口連接需要驅(qū)動(dòng)的直流電機(jī),從而達(dá)到控制車輪的正反轉(zhuǎn)以及速度的目的。
2.3 LCDl602液晶顯示屏
設(shè)計(jì)了LCDl602的外圍電路,V0為液晶顯示器對(duì)比度調(diào)整端,連接了一個(gè)5K的可調(diào)變阻器進(jìn)行對(duì)顯示器對(duì)比度的調(diào)節(jié),來調(diào)節(jié)顯示字符的清晰度。STM32的PC8-PCI5這8個(gè)端口連接D0-D7進(jìn)行數(shù)據(jù)傳輸,PC0控制使能端E,PCI控制寄存器選擇端Rs,PC2控制讀寫選擇端。每完成一個(gè)階段性的任務(wù)就把時(shí)間刷新一遍,從而達(dá)到實(shí)時(shí)分段顯示小車行駛過程中的所有時(shí)間。
2.4 TCRT500L紅外傳感器
本課題在實(shí)物制作中采用了5路循跡傳感器模塊,最中間的紅外對(duì)管用來檢測(cè)黑線,兩邊的紅外之間的距離大于蹺蹺板上黑線的寬度。將紅外的三個(gè)輸出口連接到STM32的PAl-PA4端口,將檢測(cè)到的高低電平輸入給ARM,從而控制電機(jī)的轉(zhuǎn)速和車輪的轉(zhuǎn)向,將蹺蹺板上面的黑線對(duì)應(yīng)好最中間的紅外對(duì)管,在代碼中通過位置式PID調(diào)節(jié)使智能小車沿著黑線行走。
2.5 MPU6050角度傳感器
小車在蹺蹺板上要找到平衡位置,則需要一款角度傳感器,在實(shí)物制作中選擇了GY-52 MPU6050三軸陀螺儀模塊。把角度傳感器的數(shù)值傳進(jìn)單片機(jī),經(jīng)過單片機(jī)濾波,轉(zhuǎn)化為角度判斷蹺蹺板的傾斜角度,該模塊具有體積小、精度高、采集速度快和操作代碼簡(jiǎn)單等特點(diǎn)。
首先設(shè)置好PID的三個(gè)系數(shù)值,再獲取采樣值后,將其與期望值進(jìn)行對(duì)比,計(jì)算出偏差值和控制量,輸出控制量給被控對(duì)象,本課題當(dāng)中的被控對(duì)象包括有五個(gè)紅外對(duì)管的循跡模塊和MPU6050的平衡模塊,從而實(shí)現(xiàn)小車沿著黑線直走以及找到蹺蹺板的平衡點(diǎn)。
3調(diào)試
本文對(duì)于電動(dòng)車最重要的要求就是穩(wěn)定性要好,剛開始調(diào)試尋跡黑線時(shí),小車在黑線附近擺動(dòng)的幅度較大,極其不穩(wěn)定,后來通過PID參數(shù)的調(diào)節(jié),控制了電機(jī)的轉(zhuǎn)速,才使得小車在檢測(cè)的黑線的過程中較為穩(wěn)定的直線運(yùn)行。平衡方面的調(diào)試也是如此,當(dāng)小車到平衡點(diǎn)附近,小車來回?cái)[動(dòng)的幅度和頻率也很快,經(jīng)過調(diào)試,在快到中心點(diǎn)時(shí),進(jìn)行了減速控制,從而使小車穩(wěn)定的到達(dá)中心點(diǎn)。設(shè)起始點(diǎn)為A點(diǎn),中點(diǎn)為B點(diǎn),終點(diǎn)為C點(diǎn)。
4總結(jié)
通過本次設(shè)計(jì)我體會(huì)到了硬件和軟件之間的密不可分,小車硬件結(jié)構(gòu)的選取也十分重要,比如電機(jī)和車輪的選取,最讓我深刻的體會(huì)是硬件的穩(wěn)定性對(duì)后期的調(diào)試相當(dāng)重要,首先引腳之間的連接我都是用杜邦線,這種情況很容易松動(dòng),對(duì)調(diào)試的影響很大。還需要反過來繼續(xù)處理硬件情況,這極大影響了做本課題的進(jìn)度。同時(shí),通過這次研究也對(duì)STM32的軟件、硬件系統(tǒng)有了初步的理解和掌握,但軟件方面在直流電機(jī)的調(diào)速和精確控制上還不是很靈活,以后應(yīng)該加強(qiáng)學(xué)習(xí)。