17屆技術(shù)報(bào)告 | 杭電四輪點(diǎn)此一隊(duì)
01 引??言
1.1 概述
??全國(guó)大學(xué)生智能車競(jìng)賽以“立足培養(yǎng),重在參與,鼓勵(lì)探索,追求卓越”為指導(dǎo)思想,涵蓋了機(jī)械、模式識(shí)別、電子、電氣、傳感技術(shù)、計(jì)算機(jī)、自動(dòng)化控制、汽車?yán)碚摰榷喾矫嬷R(shí),從一定程度上反映了當(dāng)代大學(xué)生綜合運(yùn)用所學(xué)知識(shí)和探索創(chuàng)新的精神。同時(shí)該賽事是教育部高等教育司委托 (
教高司函 [2005]201
號(hào)文)
,由教育部高等自動(dòng)化專業(yè)教學(xué)指導(dǎo)分委員會(huì)(
以下簡(jiǎn)稱自動(dòng)化分教指委)
主辦的全國(guó)性、多學(xué)科交叉、趣味性、創(chuàng)新性賽事,旨在加強(qiáng)大學(xué)生實(shí)踐與團(tuán)隊(duì)合作精神,促進(jìn)高等教育改革。競(jìng)賽規(guī)則透明,評(píng)價(jià)客觀標(biāo)準(zhǔn),堅(jiān)持公開、公平、公正的原則,從而保持了競(jìng)賽的健康、普及、持續(xù)的發(fā)展。
??學(xué)校積極響應(yīng)教育部關(guān)于加強(qiáng)大學(xué)生的實(shí)踐、合作精神和創(chuàng)新能力的培養(yǎng)的號(hào)召,成立智能車隊(duì)伍參加比賽。我們組隊(duì)參加第十七屆全國(guó)大學(xué)生智能車電磁組別的比賽,并進(jìn)行了積極認(rèn)真的準(zhǔn)備。根據(jù)本屆競(jìng)賽規(guī)則相關(guān)規(guī)定,電磁競(jìng)速組允許自制車模,于是我們?cè)?code>C型車的基礎(chǔ)上進(jìn)行了一定符合競(jìng)賽規(guī)則的改造,包括底盤強(qiáng)化和舵機(jī)的更換等等。同時(shí)我們采用宏晶科技公司的 16
位微控制器(STC16F40K128
)作為核心控制單元,自主構(gòu)思控制方案進(jìn)行系統(tǒng)設(shè)計(jì),包括傳感器信號(hào)采集處理、電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制以及控制算法軟件開發(fā)等,完成了智能車工程制作及調(diào)試。我們依舊延續(xù)了很多學(xué)校包括杭州電子科技大學(xué)在內(nèi)所使用的工字諧振電感(10mH
)作為傳感器來檢測(cè)信號(hào),加以合理的傳感器布局,經(jīng)過后續(xù)電路處理,完成對(duì)電磁信號(hào)的檢測(cè)和采集并以此來控制車子的轉(zhuǎn)向和行駛速度。軟件算法部分,我們使用了PID
算法來作為車子的主導(dǎo)控制。為了提高我們的智能車在高速與急轉(zhuǎn)等情況下的動(dòng)力性能和穩(wěn)定性能,我們參考學(xué)習(xí)了前幾屆隊(duì)伍的參賽經(jīng)驗(yàn),對(duì)整車經(jīng)行了重心與電路等的布局,并對(duì)車輛底盤和舵機(jī)部分進(jìn)行了改造。本技術(shù)報(bào)告主要講述第十七節(jié)杭電四輪電磁一隊(duì)智能車的制作歷程,包括機(jī)械和硬件的設(shè)計(jì)、改裝,STC16F40K128
單片機(jī)的學(xué)習(xí)和使用,PID
算法的研究與應(yīng)用,車模機(jī)械參數(shù)的討論和修改等。
1.2 整車設(shè)計(jì)
1.2.1 車輛布局
??鑒于賽道的摩擦力和復(fù)雜性以及車模的機(jī)械結(jié)構(gòu)和強(qiáng)度、根據(jù)自己的調(diào)車經(jīng)驗(yàn),我們了解到車子重心高低和位置對(duì)車子行駛、轉(zhuǎn)彎有很大影響,例如轉(zhuǎn)向靈敏度和賽道加(
減)
速性能等。于是我們決定在不傷害賽道并且確保通過坡道等元素的情況下最大限度降低整車重心。我們提出通過使用墊片抬高前輪轉(zhuǎn)向部分來降低底盤至我們的目標(biāo)高度,同時(shí)設(shè)計(jì)了與底盤形狀相匹配的電路板和電池固定方法,力求進(jìn)一步降低整車重心。在調(diào)試過程中我們發(fā)現(xiàn)由于原本的C
型車模底盤是塑料材質(zhì),再加上電磁車有較長(zhǎng)較重的前瞻部分,在車輛高速行駛過程中,底盤會(huì)產(chǎn)生較大的形變,使得車輛晃動(dòng)影響正常循跡和行駛。為了解決這一問題,考慮到本次競(jìng)賽規(guī)則允許自制車模,于是我們想到使用硬度高、韌性強(qiáng)且輕便的碳纖維材料制作底盤,我們使用Solid Work 2018
進(jìn)行底盤的繪制與打孔等設(shè)計(jì),并聯(lián)系廠家進(jìn)行底盤的制作,在調(diào)試過程中發(fā)現(xiàn)基本解決了這一問題,達(dá)到了我們的預(yù)期要求。為了使車輛轉(zhuǎn)彎半徑更小,轉(zhuǎn)彎更靈敏,我們還對(duì)車模進(jìn)行縮短處理,比原C
車模短了4cm
左右,底盤實(shí)物如下圖1.1
所示。
??前瞻支架的選取我們嘗試過很多方案,最后我們采用強(qiáng)度高、重量輕、可任意制作形狀、加工簡(jiǎn)單、耐撞擊的鋼管配合輕質(zhì)碳桿的支架方案,使得車子的轉(zhuǎn)動(dòng)慣量(
以回轉(zhuǎn)軸過桿的中點(diǎn)并垂直于軸時(shí)為例: J=mL2/12
,車子大概為長(zhǎng)條形)
達(dá)到最小化,從而車子在轉(zhuǎn)彎時(shí)更加迅速、靈敏。前瞻支架固定于舵機(jī)下部分,并通過碳纖桿拉伸固定于車身中部,形成了三角形結(jié)構(gòu),利于提高前瞻的穩(wěn)定性,減小行進(jìn)過程前瞻搖晃帶來的影響。在調(diào)試車子過程中我們發(fā)現(xiàn)傳統(tǒng)的“碳桿+
獨(dú)立電感”的方案在高速撞擊下易碎且不牢固,再經(jīng)過我們的不斷嘗試后,最后選定了PCB
一體板的方案,如下圖1.2
所示,經(jīng)過實(shí)際檢驗(yàn)穩(wěn)定性與堅(jiān)固程度大大提升,也更為輕巧。
??最后討論車子的閉環(huán)控制問題。我們采用龍邱 512
線旋轉(zhuǎn)編碼器(ECM41803
—SDZ512
)為測(cè)速器,直接用編碼器齒輪咬合車模主動(dòng)輪的方法來獲取車子的行駛速度,最后在程序中根據(jù)編碼器采集回來的信號(hào)設(shè)計(jì)速度控制策略,實(shí)現(xiàn)車速的閉環(huán)控制。
??杭電四輪電磁一隊(duì)小車主體部分:
1:底盤及附屬部分。包括驅(qū)動(dòng)電機(jī)、轉(zhuǎn)向舵機(jī)、電池等;
2:信號(hào)檢測(cè)部分;
3:編碼器測(cè)速部分;
4:單片機(jī)最小系統(tǒng)板,包括電源處理及檢波;
5:機(jī)械制作,傳感器支架,紅外傳感器;
6:干簧管及 OLED液晶屏。
1.2.2 控制簡(jiǎn)述
??鑒于本屆比賽不同于去年的電磁越野組,我們更多地參考了其他學(xué)校包括本校在內(nèi)的控制方式。由于傳感器感應(yīng)得到的電壓信號(hào)只有幾十mv
,所以我們采用集成運(yùn)放把信號(hào)進(jìn)行放大,然后將其檢波為直流電平送入單片機(jī)AD
口。同時(shí)編碼器的信號(hào)也同步輸入,由單片機(jī)的輸入捕捉通道進(jìn)行上升沿或者下降沿計(jì)數(shù),從而計(jì)算得到車子行駛的速度。舵機(jī)采用PID
算法進(jìn)行控制,并且加入連續(xù)控制函數(shù)進(jìn)行修正,使前輪的轉(zhuǎn)向更加具有連續(xù)性和精確性:
為了避免和電感相互干擾,驅(qū)動(dòng)電機(jī)在最佳的驅(qū)動(dòng)頻率 (15KHZ)
下。
1.2.3 電磁組的優(yōu)勢(shì)與劣勢(shì)
??電磁組的信號(hào)由 LC
并聯(lián)諧振得到,相比攝像頭和光電,信號(hào)為模擬信號(hào),故電磁小車的巡線信號(hào)相對(duì)連續(xù),不存在斷點(diǎn),所以在車模相對(duì)于攝像頭和光電組更加不容易出現(xiàn)丟線。同時(shí),作為信號(hào)采集的諧振電感制作簡(jiǎn)單,價(jià)格低廉。可是在空間中,磁場(chǎng)信號(hào)會(huì)發(fā)生疊加與抑制等,由此得到的混合磁場(chǎng)是三維矢量,其分布有很大的方向性和對(duì)稱性,又矢量的運(yùn)算較為復(fù)雜,所以在賽道上電磁車容易出現(xiàn)誤判,狀態(tài)也不穩(wěn)定。鑒于水平變化率和豎直變化率有一定聯(lián)系和區(qū)別,我們將傳感器放置為對(duì)賽道信號(hào)變化敏感的方向以便最快、最靈敏的檢測(cè)到賽道變化引起的信號(hào)變化。這一點(diǎn)可以參考官方的文檔:
《電磁小車設(shè)計(jì)參考》。
1.3 小結(jié)
??本章主要介紹了杭電電磁一隊(duì)的整體設(shè)計(jì)思路和大致的布局,以上將會(huì)為以下章節(jié)的介紹起到鋪墊的作用。
02 機(jī)械設(shè)計(jì)
2.1 前輪定位
??為了使模型車在直線行駛時(shí)更加穩(wěn)定,轉(zhuǎn)向輕便,轉(zhuǎn)向后能快速回正,并減少輪胎和轉(zhuǎn)向系零件的磨損等,在轉(zhuǎn)向輪、轉(zhuǎn)向節(jié)和前軸之間形成一定的相對(duì)安裝位置,叫車輪定位。其中包括主銷后傾、主銷內(nèi)傾、車輪外傾和前束。接下來主要介紹主銷后傾、主銷內(nèi)傾、前輪外傾和前束以及前輪懸掛對(duì)車子行駛的影響及調(diào)教。
2.1.1 主銷后傾
??主銷在車模的縱向平面內(nèi)(
汽車的側(cè)面)
有一個(gè)向后的傾角 y
,即主銷線與地面垂直線在車模在縱向平面的夾角,稱為“主銷后傾角”,如圖 12
示例所示。車模采用主銷后傾的原因是由于汽車在車輪偏轉(zhuǎn)后會(huì)產(chǎn)生一回正力矩,糾正車輪偏轉(zhuǎn)。車模的主銷傾不可直接調(diào)教,在此我們采用預(yù)設(shè)的主銷后傾角,大概3
度左右。調(diào)整方法如圖2.1
所示,調(diào)整方式即為調(diào)整橫軸上黃色墊片的個(gè)數(shù),經(jīng)多次試驗(yàn)我們將其調(diào)整為前 2
后 2
。
??調(diào)整主銷后傾不當(dāng)可能出現(xiàn)嚴(yán)重的后果,比如過大會(huì)引起轉(zhuǎn)向沉重,舵機(jī)偏軟,所以不宜采用過大的主銷后傾,以免喪失轉(zhuǎn)向的靈活性。
2.1.2 主銷內(nèi)傾角
??主銷在汽車的橫向平面內(nèi)向內(nèi)傾斜一個(gè)β角,即主銷軸線與地面在汽車橫向斷面內(nèi)的夾角,稱為主銷內(nèi)傾角。主銷內(nèi)傾角β也有使車輪自動(dòng)調(diào)整的作用。當(dāng)轉(zhuǎn)向輪在外力作用下發(fā)生偏轉(zhuǎn)時(shí),車輪就會(huì)在重力的作用下恢復(fù)到原來中間位置。另外,主銷內(nèi)傾還會(huì)使主軸線延長(zhǎng)線道路面的交點(diǎn)的距離減少,同時(shí)轉(zhuǎn)向時(shí)路面作用在轉(zhuǎn)向輪的的阻力也減少,從而減少轉(zhuǎn)向時(shí)駕駛員施加在轉(zhuǎn)向盤的時(shí),使車運(yùn)行更輕便,同時(shí)也減少了由于路面不平而從轉(zhuǎn)向輪輸出到轉(zhuǎn)向盤的力反饋。但主銷內(nèi)傾角不宜過大,否則在轉(zhuǎn)向是車輪繞主銷偏轉(zhuǎn)的過程中,輪胎與路面間將產(chǎn)生較大的滑動(dòng),從而會(huì)增加輪胎與路面間的摩擦力,這也會(huì)使轉(zhuǎn)向變得沉重,還將加速輪胎的磨損。調(diào)整方法如下圖2.2
,通過旋轉(zhuǎn)該結(jié)構(gòu)進(jìn)行角度調(diào)節(jié)。
2.1.3 前輪外傾角
??前輪外傾角:
前輪外傾是指前輪安裝后,其上端向外傾斜,于是前輪的旋轉(zhuǎn)平面與縱向垂直平面間形成一個(gè)夾角,稱之為前輪外傾角,其主要作用是使轉(zhuǎn)向輕便,使車輪緊靠輪轂內(nèi)軸承,以減少外軸承及輪轂螺母的負(fù)荷,有利于安全行駛。一般前輪外傾角為 1
度左右,但對(duì)于有高速、急轉(zhuǎn)向要求的車輛,前輪外傾角可減小甚至為負(fù)值。鑒于速度要求,我們沒有對(duì)其進(jìn)行調(diào)整。
2.1.4 前輪前束
??前束是轉(zhuǎn)向靈敏度與穩(wěn)定性的權(quán)衡。前束不可以無限度增大(
向左側(cè)調(diào)整)
,太大了的話,直道行駛時(shí)車輪與地面發(fā)生的就不是滾動(dòng)摩擦,而是滑動(dòng)摩擦,輪胎磨損將急劇增大,且會(huì)導(dǎo)致阻力加大,降低直道速度。過度減小(
向右側(cè)調(diào)整)
,會(huì)導(dǎo)致穩(wěn)定性降低,車輛抖動(dòng),難以操控。我們通過調(diào)整兩端螺絲長(zhǎng)度,如圖2.3
示例所示。
2.1.5 前輪懸掛
??簡(jiǎn)單來說,懸掛系統(tǒng)就是指由車身與輪胎間的彈簧組成的整個(gè)系統(tǒng),懸掛強(qiáng)度以及懸掛行程直接決定了車輛面對(duì)顛簸路面時(shí)的通過性。但是當(dāng)小車速度較高時(shí),軟懸掛也會(huì)帶來很多問題。由于彈簧剛度小,導(dǎo)致車身搖晃,這在車輛前端較長(zhǎng)較重的電磁車模來說,影響尤為明顯。當(dāng)加速行進(jìn)時(shí),底盤已經(jīng)加速走了,前半車身部分還在仰頭克服慣性;當(dāng)減速時(shí),底盤部分已經(jīng)開始制動(dòng)了,前半車身還在因?yàn)閼T性而剎車點(diǎn)頭,這就導(dǎo)致車輛行駛時(shí)出現(xiàn)一顛一顛的情況,不僅影響速度,還導(dǎo)致穩(wěn)定性減弱。在轉(zhuǎn)彎過程中,較軟的懸架會(huì)有更多的傾側(cè)和動(dòng)態(tài)遲緩,導(dǎo)致重心偏移大,車身晃動(dòng)大,更容易失控??紤]到我們的室內(nèi)賽道是比較平整的,我們決定提高懸掛系統(tǒng)強(qiáng)度,使其在轉(zhuǎn)向、加減速時(shí)反應(yīng)更快,我們通過在車模原有懸掛彈簧下方加入墊片來解決,如圖2.4示例所示:
2.2 底盤高度
??車模在賽道上高速行駛和連續(xù)急轉(zhuǎn)彎,整車重心的高低決定了車模的加減速性能、轉(zhuǎn)向性能、行駛穩(wěn)定性等。鑒于賽道上存在障礙,那么在確保過掉障礙的前提下,我們堅(jiān)持將整車重心最大限度地降低。為了增加轉(zhuǎn)向的靈敏度,我們將前底盤的高度設(shè)定為低于后底盤高度,從而在轉(zhuǎn)彎時(shí)能夠更加靈敏。我們通過在舵機(jī)和底盤連接處加入墊片來降低底盤高度,如圖2.5所示:
2.3 傳感器支架
??電磁組磁場(chǎng)信號(hào)較為復(fù)雜,如果小車的前瞻較近則不利于小車的快速靈活轉(zhuǎn)向:
如果前瞻較遠(yuǎn),那么在賽道之間過近的情況下則容易出現(xiàn)判斷錯(cuò)誤使小車跑出賽道,致使比賽失敗。在仔細(xì)研讀第十七屆的電磁組比賽細(xì)則之后,我們決定使用 PCB
制作一體式傳感器作為前瞻。
??簡(jiǎn)單為小車運(yùn)動(dòng)建立一個(gè)模型。我們不妨將車體的運(yùn)動(dòng)看成平動(dòng),將車身看成一個(gè)質(zhì)點(diǎn)系。車身本身是一個(gè)慣性系,但是由理論力學(xué)知識(shí)可以知道,以質(zhì)點(diǎn)的相對(duì)速度或以其絕對(duì)速度計(jì)算質(zhì)點(diǎn)系對(duì)于質(zhì)心的動(dòng)量矩,其結(jié)果是相等的。即:質(zhì)點(diǎn)系相對(duì)于質(zhì)心的動(dòng)量矩等于質(zhì)點(diǎn)系內(nèi)各質(zhì)點(diǎn)現(xiàn)對(duì)于質(zhì)心平移參考系的動(dòng)量對(duì)質(zhì)心的矩的矢量和。換句話說,就是由于質(zhì)心在動(dòng)力學(xué)中的特殊性,我們可以將車身轉(zhuǎn)向運(yùn)動(dòng)直接看隨質(zhì)點(diǎn)的平移以及繞質(zhì)點(diǎn)的轉(zhuǎn)動(dòng)運(yùn)動(dòng)合成。因此,在分析轉(zhuǎn)動(dòng)慣量時(shí)我們可以將平移運(yùn)動(dòng)去掉,單純看車身繞質(zhì)點(diǎn)轉(zhuǎn)動(dòng)。根據(jù)轉(zhuǎn)動(dòng)慣量的定義:
??由(公式 1)可以知道:當(dāng)前瞻越長(zhǎng)時(shí),前瞻部分對(duì)應(yīng)的ri越大,導(dǎo)致轉(zhuǎn)動(dòng)慣量過大。又根據(jù)動(dòng)量矩的定義以及動(dòng)量矩公式:
??由(
公式 3)
可知,當(dāng) JZ
越大,LZ
也越大:
由(
公式 4)
可知,在一定的時(shí)間內(nèi),LZ
越大,則主動(dòng)力提供的動(dòng)量矩隨之越大,即舵機(jī)輸出的力矩也要更大才行。
??通過以上的分析以及實(shí)際的不斷測(cè)試,我們最終確立選用 PCB
直接作為前瞻。優(yōu)點(diǎn)在于:
電路簡(jiǎn)單、架構(gòu)簡(jiǎn)單、質(zhì)量輕、強(qiáng)度大、電磁干擾小。
2.4 舵機(jī)的安裝
??前置舵機(jī)安裝直接關(guān)系到轉(zhuǎn)向問題。如果舵機(jī)調(diào)整不到位,將很大程度上限制轉(zhuǎn)向的角度和響應(yīng)速度。
??舵機(jī)的安裝一般來說分為兩種方式:一種是臥式安裝,另外一種為立式安裝。臥式安裝為車模默認(rèn)安裝方式,但這樣安裝會(huì)使左右兩邊輪子連桿不等長(zhǎng),根據(jù)杠桿原理可知舵機(jī)對(duì)長(zhǎng)連桿輪子用的力要大些,因此造成了舵機(jī)對(duì)左右兩邊轉(zhuǎn)向響應(yīng)時(shí)間不一樣。另外由于臥式安裝使連桿與水平面呈現(xiàn)一定角度,從力學(xué)知識(shí)可以知道在輪子轉(zhuǎn)向獲得的力只是舵機(jī)施加在連桿上力的一個(gè)水平方向上的分力。綜合考慮,我們選擇了舵機(jī)立式安裝方式。舵機(jī)立式安裝能夠解決上述臥式安裝的缺點(diǎn),即連桿等長(zhǎng)和連桿與水平面夾角小的問題。同時(shí)我們自己制作了舵機(jī)的連接件,而舵機(jī)安裝高度則是經(jīng)過了多次實(shí)踐后確定。同時(shí)為了使舵機(jī)提供的力矩更大,轉(zhuǎn)向更靈活,我們使得轉(zhuǎn)向臂與舵機(jī)安裝效果圖如圖 2.6所示。
2.5 編碼器安裝
??本小車初期采用對(duì)射式紅外光電傳感器加編碼盤進(jìn)行測(cè)速。但是經(jīng)過實(shí)驗(yàn),由于條件限制,編碼盤不便于安裝,并且安裝不穩(wěn),小車運(yùn)行中,很多次出現(xiàn)速度檢測(cè)失效的情況。經(jīng)過考慮,我們選用旋轉(zhuǎn)編碼器,安裝在小車最后。經(jīng)過實(shí)驗(yàn),這種方案非常穩(wěn)定,從來沒有出現(xiàn)過編碼器測(cè)速失效的問題。
2.6 差速調(diào)整
??小車采用軟件控制電機(jī)差速。合適的差速調(diào)整能夠提高小車過彎速度,提高彎道性能。差速調(diào)整可以通過代碼配合速度控制實(shí)現(xiàn)。
2.7 小結(jié)
??機(jī)械結(jié)構(gòu)部分的設(shè)計(jì)與調(diào)整對(duì)小車的行駛過程中的穩(wěn)定性、轉(zhuǎn)向的靈敏度有著極大的影響,一個(gè)優(yōu)秀合理的機(jī)械結(jié)構(gòu)能夠大大提升車子行駛速度的上。機(jī)械結(jié)構(gòu)的調(diào)整復(fù)雜、繁瑣且需要大量的實(shí)踐經(jīng)驗(yàn)、實(shí)際試驗(yàn)以及對(duì)問題的分析改進(jìn),但不可否認(rèn)的是,機(jī)械結(jié)構(gòu)的調(diào)整也是必要的。
03 電路設(shè)計(jì)
3.1 硬件電路整體架構(gòu)設(shè)計(jì)
??系統(tǒng)整體結(jié)構(gòu)如圖3.1
所示我們將電路分成幾個(gè)模塊——MCU
,電源管理,傳感器電路,檢波電路,電機(jī)驅(qū)動(dòng)電路,調(diào)試用的液晶顯示和按鍵電路。其中我們將單片機(jī)最小系統(tǒng)板,電源管理,按鍵,電機(jī)驅(qū)動(dòng)集成在主板上,使得整個(gè)車身簡(jiǎn)潔重量較輕。強(qiáng)電流和弱電流分別分布在電路板上的兩個(gè)角落。數(shù)字地與模擬地隔離。上述措施可高速/
低功耗為目以防止電磁干擾,顯著的提高電路的穩(wěn)定性。
3.2 單片機(jī)最小系統(tǒng)電路設(shè)計(jì)
??我們這次采用競(jìng)賽規(guī)定范圍的 STC16F40K128
單片機(jī)作為我們的控制芯片。 STC16F
系列單片機(jī)是不需要外部晶振和外部復(fù)位的單片機(jī),是以超強(qiáng)抗干擾/
超低價(jià)/
標(biāo)的16
位8051
單片機(jī),在相同的工作頻率下,STC16F
系列單片機(jī)比傳統(tǒng)的8051
約快70
倍。STC16F
系列單片機(jī)是STC
生產(chǎn)的單時(shí)鐘/
機(jī)器周期(IT)
的單片機(jī),是寬電壓/
高速/
高可靠/
低功耗/
強(qiáng)抗靜電/
較強(qiáng)抗干擾的新一代16
位8051
單片機(jī),超級(jí)加密。MCU
提供了豐富的數(shù)字外設(shè)2
組針對(duì)三相電機(jī)控制能夠輸出互補(bǔ)/
對(duì)稱/
帶死區(qū)控制信號(hào)的16
位高級(jí) PWM
定時(shí)器以及PC
、SPI
、USB
、CAN
、LIN)
接口與模擬外設(shè)(超高速12
位 ADC
、比較器),可滿足廣大用戶的設(shè)計(jì)需求。STC16F
系列單片機(jī)內(nèi)核已集成16
位乘除單元,部分型號(hào)內(nèi)擴(kuò)32
位乘除單元 MDU32 (
包含32
位除以32
位和32
位乘以32
位)
和單精度浮點(diǎn)運(yùn)算器,將 STC
的16
位8051
單片機(jī)的運(yùn)算性能一下拉到巔峰,比沒有單精度浮點(diǎn)運(yùn)算器的通用32
位 MCU
還要強(qiáng)。因此我們選用了 STC16F40K128
單片機(jī)并自己設(shè)計(jì)了該單片機(jī)的最小系統(tǒng)板。
??最小系統(tǒng)板包括復(fù)位電路、3.3V
穩(wěn)壓電路、按鍵和液晶接口(6P
排針)
,并引出其他需要的IO
(例如下載接口RXD
和TXD
)。而旋轉(zhuǎn)光電編碼器接口、舵機(jī)接口為了提高單片機(jī)最小系統(tǒng)的穩(wěn)定性,防止 380
電機(jī)和伺服舵機(jī)在大電流下工作時(shí)(
例如直到加速或者急轉(zhuǎn)彎減速時(shí))
將電池電壓拉低導(dǎo)致最小系統(tǒng)工作出現(xiàn)故障,我們?yōu)?code>3.3V供電增加了不少濾波電容,抗干擾效果良好。
3.3 傳感器設(shè)計(jì)
??我們?cè)趥鞲衅鞣桨干涎永m(xù)了前幾屆大多數(shù)隊(duì)伍的傳感器方案——工字諧振電感。我們熟知的磁傳感器是霍爾-磁敏電阻,磁敏二極管,電感,電子羅盤的磁場(chǎng)傳感器等。
??霍爾檢測(cè)頻率一般不能到達(dá) 20KHz(
組委會(huì)特意選的頻段)
因此排除。賽道產(chǎn)生的磁場(chǎng)小于地磁場(chǎng),因此電子羅盤的磁場(chǎng)傳感器也排除。磁敏電阻和磁敏二極管產(chǎn)生信號(hào)太小不利于處理。最終敲定工字電感作為傳感器。同時(shí)電感加上電容形成 LC
諧振電路。
??根據(jù)經(jīng)驗(yàn),挑選電感的時(shí)候要選擇磁芯磁導(dǎo)率大的,電感圈數(shù)比較多的,等效內(nèi)阻小的。綜合考慮后選擇 10mH
的工字電感。根據(jù)并聯(lián)諧振電路的頻率,帶入頻率可以得到電容大小。公式為:
??其中 L=10mH
,得到 C=6.33nF
。后來實(shí)驗(yàn)證明該傳感器制作是合理的``:
??1) 電感、電容的參數(shù)誤差使得實(shí)際的諧振頻率大概在 20KHz
左右:
??2) 由于比賽時(shí)信號(hào)頻率有一定誤差,所以我們的傳感器的隨機(jī)誤差能增強(qiáng)車子的穩(wěn)定性能:
??后來我們專門制作了 PCB傳感器前瞻。將傳感器依次固定于相同點(diǎn),將長(zhǎng)直信號(hào)導(dǎo)線鋪設(shè)于水平可滑動(dòng)的導(dǎo)軌下方正中央。測(cè)試時(shí)用示波器觀察各個(gè)傳感器在導(dǎo)軌滑動(dòng)過程中感應(yīng)電壓的幅值大小、左右對(duì)稱性和諧振頻率是否是在 20KHZ左右等性能。通過嚴(yán)格篩選,保證了傳感器的一致性,為后來的信號(hào)采集奠定良好的匹配性、對(duì)稱性基礎(chǔ)。
??在傳感器布局上面我們想到的有兩種。
??第一種,采用一排電感。感應(yīng)電動(dòng)勢(shì)最大的電感是最靠近導(dǎo)線的電感。但是此種方法的采集信息是離散的點(diǎn),不利于精細(xì)的控制,無法做到流暢的過彎。如果增加電感的個(gè)數(shù),那么將會(huì)使得整車重心靠前,轉(zhuǎn)向負(fù)載很大,而且電感如果靠的十分近互感就是一個(gè)不得不考慮的問題。
??第二種,使用少量的電感,直接使用感應(yīng)電動(dòng)勢(shì)的模擬量的精確數(shù)值,精確的計(jì)算導(dǎo)線與傳感器正中心的距離,具體計(jì)算方法依照畢奧-薩伐爾定理。
??這種辦法使得計(jì)算出來的距離是連續(xù)的數(shù)值,方便控制,而且電感數(shù)量少有利于減少車身重量。缺點(diǎn)也是很致命的,車身的振動(dòng)使得傳感器高度發(fā)生變化,或者電流的變化使得磁場(chǎng)大小發(fā)生變化會(huì)使得傳感器數(shù)值發(fā)生突然的變化,而且后級(jí)還有運(yùn)放對(duì)信號(hào)進(jìn)行放大。
??經(jīng)過多次實(shí)踐,采用 PCB整體傳感作為最后訓(xùn)練集的來源。
3.4 信號(hào)放大電路設(shè)計(jì)
??由于電感感應(yīng)出來的感應(yīng)電動(dòng)勢(shì)比較小而且是差分信號(hào),所以需要放大電路進(jìn)行調(diào)理。放大電路我們也想到四種。
??第一種,三極管放大。優(yōu)點(diǎn)是電路簡(jiǎn)單,成本低廉。缺點(diǎn)也十分明顯,有很嚴(yán)重的零點(diǎn)漂移和溫度漂移。當(dāng)電感幾乎沒有感應(yīng)到信號(hào)時(shí)輸出電路就有不小的電壓。當(dāng)溫度發(fā)生變化時(shí),調(diào)試的參數(shù)就會(huì)發(fā)生變化。
??第二種,單電源供電運(yùn)放,在放大電路上加上運(yùn)放電源一半的偏置,對(duì)電感的兩端輸出信號(hào)差分放大。優(yōu)點(diǎn)失調(diào)電壓小,度好,目前的工藝下高性能的運(yùn)放價(jià)格也不高。缺點(diǎn)是電路比較復(fù)雜,共模抑制比小。
??第三種,雙電源供電運(yùn)放,直接對(duì)電感信號(hào)差分放大。優(yōu)點(diǎn)是電路簡(jiǎn)單,失調(diào)電壓小,線性度好。缺點(diǎn)是共模抑制比小,一般的電荷泵負(fù)向電壓紋波比較難控制,運(yùn)放的工作條件很難得到保證。
??第四種,雙電源儀表放大器,直接放大差分信號(hào)。優(yōu)點(diǎn)是共模抑制比高,線性度高,失調(diào)電壓小。缺點(diǎn)是負(fù)壓紋波難控制而且芯片貴。
??由于我們采取的方案?jìng)鞲衅鱾€(gè)數(shù)比較少,即使是使用儀表放大器,成本也不會(huì)超過預(yù)算。因此,為了得到更好的信號(hào),我們采用儀表放大器。如果采用 Rail to rail
儀表放大器,就可以用一個(gè)比較低的電源電壓得到比較大的電壓信號(hào)。最終我們按照這個(gè)思路查找器件選型表,最終選擇了儀放。
3.5 檢波電路設(shè)計(jì)
??從儀表放大器出來的信號(hào)是類似正弦波的信號(hào)。為了將該信號(hào)轉(zhuǎn)化成直觀的直流電平,我們也從網(wǎng)上參考了三種方法。
??第一種,直接對(duì)該信號(hào)進(jìn)行高速采樣。采樣速率在信號(hào)頻率的 20
倍以上。放大器出來的信號(hào)時(shí) 20KHz
,那么采樣頻率就應(yīng)該在40KHz
以上才能算出比較準(zhǔn)確的值。這樣無疑增加了程序上計(jì)算的負(fù)擔(dān),而且也沒有電路轉(zhuǎn)換得到的結(jié)果的穩(wěn)定。
??第二種,AD637
真有效值轉(zhuǎn)換芯片。參照 AD637
的 Datasheet
,要得到我們所需要精度的有效值需要 100
以上的周期,也就是 5ms
。
??這種方法雖然結(jié)果準(zhǔn)確,但是延時(shí)是十分嚴(yán)重的,不適合高速情況下使用。還有一個(gè)致命的缺陷是成本太高。
??第三種,運(yùn)放檢波。這種方法是最穩(wěn)定,反映最快,效果最好的電路。制作出來的 PCB
大小為較小,減輕了車體重量。該電路較為簡(jiǎn)單,可參考官方的文檔《電磁小車設(shè)計(jì)參考》內(nèi)的檢波電路,在此就不再復(fù)述。
3.6 起跑線電路設(shè)計(jì)
??按照比賽規(guī)則,起跑線是 3
個(gè)按照一定間隔放置的磁鋼(
表面磁場(chǎng)強(qiáng)度 3000
到 5000
高斯)
以及斑馬線組成,而且磁鋼的極性是隨機(jī)放置的。如果使用霍爾方式檢測(cè)那么極性問題就一定要考慮進(jìn)去,所以一對(duì)霍爾傳感器至少是兩個(gè)。但是如果使用干簧管,極性的問題就不用考慮。干簧管不用供電,將干簧管的一端接地,一端接 IO
口,使用單片機(jī)的內(nèi)部上拉電阻,用程序去檢測(cè)低電平。這樣就可以完全利用芯片的內(nèi)部資源簡(jiǎn)化電路的設(shè)計(jì)。我們將干簧管與 MCU
模塊相連。
??另外我們還購買了漫反射激光傳感器模塊用于斑馬線檢測(cè)。
3.7 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
??智能車速度是取得好的成績(jī)的重要條件,由此電機(jī)驅(qū)動(dòng)模塊的重要性也就不言而喻。對(duì)于電機(jī)驅(qū)動(dòng)電路,可有多種選擇,像專用電機(jī)驅(qū)動(dòng)芯片MC33886
、L298N
等,但是以上芯片集成度高,導(dǎo)通內(nèi)阻大,瞬間電流小,驅(qū)動(dòng)效果差。因此我們選擇用H
橋的全橋電路,才能夠使得車及時(shí)剎住,減速入彎。另外,今年四輪電磁組,電機(jī)型號(hào)為 RN-380
。我們大概測(cè)試過啟動(dòng)或者堵轉(zhuǎn)時(shí)電流可以達(dá)到5A(
適當(dāng)?shù)尿?qū)動(dòng)頻率下)
。開始我們采用英飛凌的集成半橋芯片 BTS7960B
構(gòu)成H
橋來驅(qū)動(dòng)電機(jī),由于速度提升后電機(jī)耗電較大,發(fā)熱嚴(yán)重,同時(shí) BTS
的成本也相對(duì)比較高。于是我們又開始艱難的嘗試新的驅(qū)動(dòng)方案。最終我們找到了 4N-MOS
搭的H
橋方案,采用內(nèi)阻小的4
片 NMOS
來搭建的2
個(gè)H
橋使得單電機(jī)驅(qū)動(dòng)問題徹底解決。
3.8 舵機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
??由于今年自制車模,所以我們采用了轉(zhuǎn)速更快,扭力更大的舵機(jī)R12s
,工作電壓為6V
或者7.4V
。為了在電池低電壓是仍能正常供電并且保證舵機(jī)正常工作。于是我們?cè)陔姵?code>7.8V時(shí)給該舵機(jī)提供7V
的電壓,在電池8.4V
時(shí)給該舵機(jī)提供7.5V
的電壓。早期檢測(cè)表明該舵機(jī)耗電較大,因此我們就沒有使用使用比較廣泛的 LM2576
和 LM2596
,而是采用 TPS5450
電源管理芯片(
輸入級(jí)直接是電池電壓)
,TPS5450
足夠提供舵機(jī)的供電,還能有較大電流的裕量。實(shí)際測(cè)試的過程中也沒有出現(xiàn)因?yàn)槎鏅C(jī)供電的問題導(dǎo)致舵機(jī)反映遲鈍。所以最終就采用了這種方案。舵機(jī)的控制除了需要 7.4V
的供電電壓還需要一路頻率為50Hz
的 PWM
控制信號(hào)(
不同的占空比會(huì)使舵機(jī)穩(wěn)定在不同的角度上)具體如圖 3.6
所示。
3.9 液晶按鍵電路設(shè)計(jì)
??良好的人機(jī)交互可以減少調(diào)試的時(shí)間,能夠大大提高調(diào)試的效率。顯示模塊我們采用 OLED
屏,在所占空間小,顯示非常清晰,而且功耗非常的低,所以與單片機(jī)系統(tǒng)使用同一路電源。按鍵我們?yōu)榱斯?jié)省 PCB
空間和調(diào)試方便使用了一個(gè)五向開關(guān)和兩個(gè)獨(dú)立按鍵。由于電路較為簡(jiǎn)單,所以不在此列舉。
3.10 系統(tǒng)電源電路設(shè)計(jì)
??系統(tǒng)要穩(wěn)定工作,首先電源要穩(wěn)定,系統(tǒng)中有多路電源,13V
、7.8V
、7.4V
、±5V
、3.3V
等。13V
為驅(qū)動(dòng)電路中2104
供電,7.8V
電池電壓直接接到電機(jī)驅(qū)動(dòng)模塊,7.4V
為舵機(jī)供電,±5V
為單片機(jī)、儀表放大器、信號(hào)放大電路以及速度傳感器供電,3.3V
為核心板、液晶供電。所有供電部分電路都是依照芯片的生產(chǎn)公司提供的經(jīng)典電路部分設(shè)計(jì)的。在此各電路的原理圖就不再重復(fù)引用了。
3.11 外部ADC電路設(shè)計(jì)
??在我們的使用過程中,STC16F
單片機(jī)的內(nèi)部ADC
經(jīng)常出現(xiàn)幅值過大、讀數(shù)不正確等等問題,所以經(jīng)過摸索和研究,我們最終決定使用外部ADC
電路。通過對(duì)芯片手冊(cè)的閱讀,ADC128S102
芯片符合我們的所有要求。原理圖如圖3.8
所示。
3.12 主板設(shè)計(jì)
??我們將上述模塊功能中的電源管理、單片機(jī)最小系統(tǒng)板集成在了主板上。主板電路主要有電池接口、驅(qū)動(dòng)板接口、紅外接口、干簧管接口、檢波電路板排線插座、舵機(jī)接口。另外,主板上還集成了包括 3.3V
穩(wěn)壓在內(nèi)的所有電源電路。接口電路板的 PCB
設(shè)計(jì)是要充分考慮與車模機(jī)械的配合,通過螺絲孔固定使結(jié)構(gòu)穩(wěn)定不改變,減少對(duì)運(yùn)行的影響,同時(shí)采用高效優(yōu)質(zhì)的 FPC
排線來完成遠(yuǎn)距離連接。主板如圖3.9
所示:
3.13 小結(jié)
??對(duì)于硬件電路部分,一定要用料扎實(shí),穩(wěn)定第一,抗干擾性能一定要高。單片機(jī)電壓一定要穩(wěn)定,防止舵機(jī)和電機(jī)啟動(dòng)的時(shí)候拉低電壓導(dǎo)致復(fù)位。解決這個(gè)問題最實(shí)用的辦法就是加上儲(chǔ)能器件,加上適當(dāng)大小的電容是必要的。儀表放大器的供電也要減少紋波。供給儀表放大器的電壓紋波越大,處理出來的傳感器信號(hào)越不穩(wěn)定。車在運(yùn)行的過程中,電機(jī)的強(qiáng)電流干擾時(shí)十分巨大的,會(huì)嚴(yán)重影響信號(hào)檢測(cè)電路,所以要單獨(dú)把這部分電路隔離開。
??整個(gè)電路板的制作過程也要十分嚴(yán)謹(jǐn)。電路要經(jīng)過好幾個(gè)步驟。首先手工制作電路板,長(zhǎng)時(shí)間工作以測(cè)試其穩(wěn)定性。當(dāng)穩(wěn)定性達(dá)標(biāo)之后根據(jù)原理圖重新布線,到工廠生產(chǎn) PCB
,制作出第一批樣品。沒有問題的樣品電路板直接使用,布局不好或者是影響性能的電路板要重新制作,直至紋波、質(zhì)量、體積、布局都達(dá)標(biāo)才是最終產(chǎn)品。硬件電路是智能車的基礎(chǔ),只有打好基礎(chǔ)才能繼續(xù)軟件方面的工作。
04 軟件設(shè)計(jì)
4.1 軟件控制的總體思路
??軟件是智能車的最重要的部分。流程是采集電感的模擬量,判斷車身偏離賽道導(dǎo)線的位置,通過算法控制舵機(jī)打角,并根據(jù)打角幅度控制電機(jī)轉(zhuǎn)速。
4.2 主程序結(jié)構(gòu)
??程序的主體采用順序結(jié)構(gòu)。為了方便控制,主函數(shù)里面的任務(wù)是掃屏幕和掃鍵盤,而所有的核心操作放在定時(shí)中斷中。如果說畫流程圖,從宏觀上來看是兩條線同時(shí)執(zhí)行。如下圖 4.1所示:
4.3 程序的運(yùn)行
??開機(jī)后,對(duì)所有硬件進(jìn)行初始化,完成之后,PIT
定時(shí)中斷對(duì)電感采回來的數(shù)值進(jìn)行分析控制。正式發(fā)車起跑后定時(shí)的采集感應(yīng)得到的電壓值,第一排的水平放置的傳感器數(shù)值通過差比和的計(jì)算公式來得到導(dǎo)線與車子正中間的偏差(以下簡(jiǎn)稱中心偏差),再通過PID
算法將和采集到的中心偏差計(jì)算得出返回值,將計(jì)算得到的返回值輸入方向環(huán)控制中,以此控制舵機(jī),這樣就完成了賽道上的基礎(chǔ)循跡部分。同時(shí)根據(jù)賽道元素的不同列出狀態(tài)機(jī),單片機(jī)在查表獲得當(dāng)前車處于哪一種狀態(tài),根據(jù)狀態(tài)機(jī)的規(guī)則給定電機(jī)的目標(biāo)轉(zhuǎn)速和一些特殊設(shè)定的舵機(jī)打角大小。在獲取到目標(biāo)轉(zhuǎn)速后,通過速度環(huán)控制器迅速穩(wěn)定的控制電機(jī)達(dá)到目標(biāo)轉(zhuǎn)速。
4.4 循跡子程序設(shè)計(jì)
??路徑識(shí)別包括對(duì)傳感器的控制以及接受信號(hào)的處理。對(duì)傳感器的控制就是定時(shí)采集電感數(shù)值,對(duì)采樣結(jié)果的分析與判斷。
??我們利用PIT定時(shí)中斷,中斷處理中主要是對(duì)AD值進(jìn)行一個(gè)連續(xù)序列的轉(zhuǎn)換,并將數(shù)值進(jìn)行存儲(chǔ)。對(duì)數(shù)據(jù)的有效性判斷比較簡(jiǎn)單,當(dāng)傳感器采回來的數(shù)值低于某一個(gè)特定閾值時(shí)直接判斷為無效信息。
??根據(jù)牛奧薩伐爾定理可知,如果賽道的電流不發(fā)生變化時(shí),電感的感應(yīng)電壓通過后級(jí)電路后產(chǎn)生的直流電平正比于sinθ/(h2+l2),其中h為傳感器距離導(dǎo)線的豎直距離,1為傳感器距離導(dǎo)線的水平距離,θ為工字電感與導(dǎo)線的夾角。代入水平方向放置的四個(gè)電感數(shù)值就可以得到L和θ的具體數(shù)值。
??傾斜放置的電感只是感性的估算。我們假象一下,比賽的賽道全部都是直道,那么當(dāng)車身平行于導(dǎo)線時(shí),第一排電感檢測(cè)到的數(shù)值具有一定對(duì)稱性,而當(dāng)賽道前面出現(xiàn)彎道時(shí)第一排電感檢測(cè)到的數(shù)值上會(huì)有較大的差別,將這個(gè)差值按照前面得到的θ進(jìn)行軟件放大得到一個(gè)前方賽道的變化率λ。
??對(duì)于賽道元素的判斷,我們經(jīng)過不斷地嘗試與改進(jìn),最終確定了一套方案,包括通過兩個(gè)放置在前瞻第二排的兩顆與豎直方向夾角為45°的傾斜電感的變化趨勢(shì)來判斷環(huán)島元素,通過干簧管檢測(cè)車庫旁邊的磁鐵來判斷車庫,通過紅外傳感器和電感輔助判斷坡道元素以及多個(gè)電感聯(lián)合判斷的三叉元素,通過我們的實(shí)踐發(fā)現(xiàn),車輛對(duì)元素的判斷和完成,很大程度上取決于車身的狀態(tài),如果車子狀態(tài)穩(wěn)定性出現(xiàn)了問題,那么對(duì)元素的識(shí)別判斷和元素內(nèi)的行駛軌跡都會(huì)有很大的影響,我們認(rèn)為,這一次的賽道規(guī)則難度重點(diǎn)在于如何讓元素的識(shí)別更加穩(wěn)定。再加上多變的車輛狀態(tài),賽道陌生的賽場(chǎng)環(huán)境等,這些種種因素,更加考驗(yàn)小車程序的穩(wěn)定性。
4.5 舵機(jī)打角子程序設(shè)計(jì)
??關(guān)于舵機(jī)打角是建立在賽道分析的基礎(chǔ)上的。上面得到的L和λ在接下來的控制中起到到關(guān)鍵的作用。我們分析了一下數(shù)據(jù)然后給出了一個(gè)經(jīng)驗(yàn)公式:PWMDTY PRE=nL+Dλ。其中參數(shù)系數(shù)是結(jié)合長(zhǎng)期的調(diào)試結(jié)果的來的。其中二次項(xiàng)的系數(shù)越大貼黑線就越嚴(yán)格,一次項(xiàng)系數(shù)越大前瞻性就越高。但是一次項(xiàng)中的人計(jì)算的結(jié)果極其不精確,所以如果這一項(xiàng)占得比例太大會(huì)導(dǎo)致PWMDTY PRE數(shù)值的嚴(yán)重抖動(dòng)。
4.6 速度控制子程序設(shè)計(jì)
??速度控制部分是智能車除了舵機(jī)控制之外最為核心的內(nèi)容。一個(gè)好的速度控制就是能十分準(zhǔn)確的給出目標(biāo)速度,電機(jī)對(duì)目標(biāo)速度響應(yīng)迅速,系統(tǒng)在干擾下速度依然穩(wěn)定。
??第一步要求有合理的速度決策。我們最終采用的速度決策方法是一個(gè)簡(jiǎn)單的分段兩數(shù)。將賽道分為直道,小半徑彎道,大半徑彎道,丟失路線。而且這些速度可以根據(jù)賽道的具體情況通過按鍵在比賽準(zhǔn)各時(shí)設(shè)定,其次差速的決策也是非常重要的,合理的差速能使得過彎更加流暢,速度更快,行駛的姿態(tài)也更好。
??速度給定了之后執(zhí)行也大有學(xué)問。直接列出速度和占空比的關(guān)系是一種十分不穩(wěn)定的做法。這種做法受電池電量影響嚴(yán)重,而且只能適應(yīng)某一種摩擦力的賽道。所以我們決定根據(jù)編碼器反饋回來的數(shù)值進(jìn)行換算。當(dāng)編碼器反饋回來的速度沒有達(dá)到目標(biāo)速度,那么正轉(zhuǎn)占空比自加,反之則自滅。只要調(diào)節(jié)自加和自減的步進(jìn)就能很好的對(duì)速度進(jìn)行控制。
4.7 小結(jié)
??軟件部分是整個(gè)控制系統(tǒng)的核心。軟件上主要有以下幾個(gè)難點(diǎn):
??1) 判斷采樣回來的賽道信息的有效性:
??2) 根據(jù)傳感器信息判斷車身狀態(tài):
??3) 如何使用各種傳感器穩(wěn)定流暢的完成元素的預(yù)識(shí)別:
??對(duì)于車模來說,軟件控制是核心,而對(duì)于軟件來說,舵機(jī)打角和速度控制都不算是核心,真正的核心應(yīng)該是舵機(jī)打角和速度控制的相互配合!
05 開發(fā)調(diào)試
??前面幾章一直是在為系統(tǒng)制定方案以及方案的細(xì)化。但整個(gè)系統(tǒng)的完善主要還是在系統(tǒng)的現(xiàn)場(chǎng)調(diào)試。在細(xì)分的每個(gè)模塊中,大部分都涉及有眾多參數(shù),對(duì)這些參數(shù)的確定就需要軟硬件聯(lián)合調(diào)試,而這過程就需要一整套開發(fā)調(diào)試環(huán)境和工具。包括程序源代碼的編輯以編譯環(huán)境,參數(shù)調(diào)節(jié)與設(shè)定工具。
??我們主要的開發(fā)環(huán)境是 Keil uvision5
,版本是 5.31
,可從 ARM
公司相關(guān)網(wǎng)頁上下載到,
主要使用的編碼語言是 C
語言。
5.1 現(xiàn)場(chǎng)調(diào)試
??在基本程序完成之后還需要在現(xiàn)場(chǎng)對(duì)程序進(jìn)行微調(diào)。所以我們自制了按鍵和OLED液晶模塊。上場(chǎng)后我們的操作選手通過觀察賽道情況、智能車循跡情況,然后根據(jù)觀測(cè)結(jié)果通過按鍵對(duì)程序進(jìn)行微調(diào),包括:
??1) 各種形式賽道的速度參數(shù);
??1 PI
控制的 Kp
和 Ki
等參數(shù)。此外,我們還用液晶顯示各個(gè)電感的電壓數(shù)值,方便臨時(shí)通過主板上設(shè)置的可調(diào)電位器對(duì)信號(hào)采集后放大倍數(shù)的調(diào)整。當(dāng)然所有的參數(shù)假使都已經(jīng)有了較為合理的默認(rèn)數(shù)值,這樣可以極大的節(jié)省參數(shù)調(diào)整時(shí)間;
??2 PD
控制的 Kp
和 Kd
等參數(shù)。我們將方向環(huán) PID
控制的各個(gè)參數(shù)顯示在液晶上,通過主板上設(shè)置的按鍵進(jìn)行參數(shù)大小的增減;
??為了測(cè)試在各種賽道上最為契合的參數(shù),我們也花費(fèi)了大量的時(shí)間和金錢在繪制跑道、訓(xùn)練參數(shù)經(jīng)驗(yàn)上。雖然過程是曲折和辛苦的,但是看到小車在賽道上飛馳,再苦再累大家也心甘情愿。
5.2 調(diào)試中遇到的問題及解決過程
??賽車在同樣的賽道上走過的路都是不一樣的,所以大家無論怎么考慮車的狀態(tài)都是不夠完全的,因此需要有一套完備的方案來解決對(duì)運(yùn)行中的車輛進(jìn)行實(shí)時(shí)監(jiān)控。為了解決這個(gè)問題,我們組的后勤保障人員為組員準(zhǔn)備了一套監(jiān)控利器:C#
與 Matlab
混合編程的上位機(jī)。工作原理是使用串口上傳小車運(yùn)行過程中的各種中間變量,然后提供一個(gè) Matlab
接口給調(diào)試車的隊(duì)員,隊(duì)員自由編寫 Matlab
函數(shù)進(jìn)行一般的繪圖或者數(shù)組操作,實(shí)現(xiàn)高級(jí)的行車參數(shù)監(jiān)視和優(yōu)化,使程序更加完善。
06 技術(shù)參數(shù)
07 結(jié)??論
??本報(bào)告詳細(xì)介紹了我們?yōu)榈谑邔萌珖?guó)大學(xué)生智能汽車大賽而準(zhǔn)備的智能車系統(tǒng)方案:傳感器制作、PID算法實(shí)現(xiàn)前輪舵機(jī)打角以及速度控制算法的實(shí)現(xiàn)。分析整個(gè)車模系統(tǒng),我們?cè)谲嚹S布败浖隙加性S多改進(jìn)與創(chuàng)新。系統(tǒng)上主要有以下特色:
??1. 8
個(gè)電感作為傳感器,并使用其模擬量來探測(cè)賽道,精度更高。并使用紅外等多種傳感器進(jìn)行元素的輔助判斷,提高了判斷的精度。
??2. 傳感器使用兩排,除了計(jì)算車身與導(dǎo)線的距離以外,還計(jì)算了偏差角度,同時(shí)還能夠在一定程度上增加一點(diǎn)前瞻。這對(duì)于電磁導(dǎo)航的智能車來說是難能可貴的。采用長(zhǎng)前瞻設(shè)計(jì),能更早的識(shí)別即將到來的賽道元素。
??3. 主板采用可插拔的接口,方便電路的升級(jí)和局部維修,同時(shí)也降低了成本,同時(shí) PCB全部用螺絲固定方便拆卸,板間全部用FPC線連接,方便更換且走線簡(jiǎn)潔。
??4. 完全按照自己的需求定制了主板。主板集成度非常高,極大的減輕了重量和減小了體積,方便機(jī)械布局。
??5. 增加了按鍵與液晶輔助調(diào)試電路。配合隊(duì)員的臨場(chǎng)發(fā)揮,增強(qiáng)了小車對(duì)賽道的適應(yīng)能力。
??6. 依照自己的需求定制了底盤。自制底盤更加輕便堅(jiān)固,使整個(gè)小車靈活度更高,具有更好的賽道適應(yīng)能力。
??整個(gè)程序的控制部分只開啟一個(gè)定時(shí)中斷,控制步驟簡(jiǎn)單,容易調(diào)試。
??但是橫觀我們車模的整個(gè)設(shè)計(jì),我們覺得系統(tǒng)幾個(gè)方面還有可以改進(jìn)的地方:
??1. 測(cè)速傳感器雖然使用 512P/r,但是精度還是不夠,尤其是對(duì) 5ms的反饋周期來說。當(dāng)設(shè)定到一個(gè)很低的速度時(shí)會(huì)有嚴(yán)重的速度震蕩:
??2. 傳感器改進(jìn)。目前我們使用的傳感器由于信號(hào)的白噪聲,在人工差分的時(shí)候無法提高精度,所以有必要在后級(jí)電路上加上一級(jí)有源帶通濾波。
◎ 參考文獻(xiàn)
[1]楊東軒,王嵩《ARM Cortex-M4自學(xué)筆記——基于 Kinetis K60》北京-北京航空航天大學(xué)出版社 [2]邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法.北京-清華大學(xué)出版社 2004年10月第1版 [3]卓晴,黃開勝,邵貝貝學(xué)做智能車北京-北京航空航天大學(xué)出版社 2007 [4]王威 HCS12微控制器原理及應(yīng)用北京-北京航空航天大學(xué)出版社 2007 [5]李寧,劉啟新電機(jī)自動(dòng)控制系統(tǒng)北京-機(jī)械工業(yè)出版社, 2003 [6]譚浩強(qiáng)C++程序設(shè)計(jì)北京-清華大學(xué)出版社 2004 [7]潘松,黃繼業(yè)現(xiàn)代數(shù)字電路基礎(chǔ)教程北京-科學(xué)出版社 2008 [8]王水平開關(guān)穩(wěn)壓電源原理及設(shè)計(jì)北京-人民郵電出版社 2008 [9] TI公司 Use of Rail-to-Rail Operational Amplifiers / Application Report 1999 [10]錢江一號(hào)第六屆"飛思卡爾"杯全國(guó)大學(xué)生智能車大賽技術(shù)報(bào)告杭州電子科技大學(xué) 2011 [11]錢江六號(hào)第五屆"飛思卡爾"杯全國(guó)大學(xué)生智能車大賽技術(shù)報(bào)告杭州電子科技大學(xué) 2010 [12]第五屆"飛思卡爾"杯全國(guó)大學(xué)生智能車大賽清華大學(xué)三角洲電磁隊(duì)技術(shù)報(bào)告 [13]韓紹坤,許向陽,王曉華編.自動(dòng)控制原理.北京理工大學(xué)出版社, [14]深圳國(guó)芯人工智能有限公司編.STC16F系列單片機(jī)技術(shù)參考手冊(cè). 2020