本文設(shè)計(jì)的智能車以STC16F40K128最小系統(tǒng)板為系統(tǒng)核心控制,通過陀螺儀MPU6050讀取車身角度以及通過編碼器對電機(jī)轉(zhuǎn)速的控制,調(diào)節(jié)S3010舵機(jī)控制轉(zhuǎn)向,從而實(shí)現(xiàn)車在一定速度下保持直立狀態(tài),車上裝載著工字電感和校正電容用來采集電磁線賽道中20khz的電磁信號,并通過OPA4377運(yùn)算放大器,對信號進(jìn)行放大,并使用PID控制算法控制轉(zhuǎn)向舵機(jī)的角度和調(diào)節(jié)電機(jī)的轉(zhuǎn)速,對車進(jìn)行閉環(huán)控制,從而實(shí)現(xiàn)單車對方向的判斷。為了提高單車的穩(wěn)定性,在單車的機(jī)械結(jié)構(gòu)和算法上做了許多工作。
學(xué)校:大連海事大學(xué)
隊(duì)伍名稱:同舟拾隊(duì)
參賽隊(duì)員:閆恩鵬、莫智榮、薛蘇展
指導(dǎo)老師:牛小兵、薛征宇
第一章 引言
1. 智能車大賽簡介
全國大學(xué)生智能汽車競賽是以智能汽車為研究對象的創(chuàng)意性科技競賽,是面向全國大學(xué)生的一種具有探索性工程實(shí)踐活動,是教育部倡導(dǎo)的大學(xué)生科技競賽之一。隨著21
世紀(jì)智能科學(xué)與控制,人工智能等技術(shù)的發(fā)展,智能控制與人們的生產(chǎn)生活聯(lián)系越來越緊密,智能汽車競賽以"
立足培養(yǎng),重在參與,鼓勵(lì)探索,追求卓越"
為指導(dǎo)思想旨在促進(jìn)高等學(xué)校素質(zhì)教育,培養(yǎng)大學(xué)生的綜合知識運(yùn)用能力、基本工程實(shí)踐能力和創(chuàng)新意識。截至2021
年智能汽車競賽已經(jīng)舉辦了16
屆,在行業(yè)領(lǐng)域內(nèi)具有很大影響力,大學(xué)生智能汽車競賽極大的激發(fā)了廣大學(xué)生的創(chuàng)新能力,為我國智能控制領(lǐng)域培養(yǎng)了大量后備人才,為我國在智能控制領(lǐng)域的發(fā)展做出了巨大貢獻(xiàn)。
在第十六屆大學(xué)生智能汽車競賽中,本組使用宏晶科技公司提供的STC16
F40K128的16
位微處理器作為核心控制單元。使用MPU6050
陀螺儀來讀取單車行駛過程中的傾角以及角加速度等信息以控制單車的直立運(yùn)行以及實(shí)現(xiàn)轉(zhuǎn)向的穩(wěn)定,通過PID
算法構(gòu)成的平衡環(huán)使單車可以直立運(yùn)行。使用編碼器并使用PI
算法來實(shí)現(xiàn)對單車的速度控制。車模上的電容電感在電磁線上方運(yùn)動時(shí)會產(chǎn)生的電動勢,在通過外接運(yùn)算放大器以及單片機(jī)的數(shù)模轉(zhuǎn)換來讀取動生電動勢以判斷單車在電磁線上的運(yùn)動狀態(tài),通過讀取電動勢的值并使用歸一化,差比和,二階濾波等算法計(jì)算單車偏離賽道的程度并反饋到由PD
算法構(gòu)成的方向環(huán)來控制舵機(jī)打角以實(shí)現(xiàn)單車轉(zhuǎn)向,在通過實(shí)驗(yàn)改良了車模的機(jī)械結(jié)構(gòu)調(diào)整重心使單車在低速時(shí)的運(yùn)行更加穩(wěn)定。
綜上通過平衡環(huán),方向環(huán),速度環(huán)實(shí)現(xiàn)了對單車的閉環(huán)控制,有效提高了車模運(yùn)行的穩(wěn)定性,快速性以及準(zhǔn)確性。
第二章 設(shè)計(jì)方案
1. 系統(tǒng)總體方案設(shè)計(jì)
根據(jù)大賽的要求,智能車微處理器選用STC16F40K128最小系統(tǒng)板,采用PID控制算法通過陀螺儀MPU6050讀取車身角度以及通過編碼器對電機(jī)轉(zhuǎn)速的控制,從而調(diào)節(jié)S3010舵機(jī)控制轉(zhuǎn)向,通過對前輪方向的變化,從而實(shí)現(xiàn)車在一定速度下保持直立狀態(tài)。
▲ 圖2.1 系統(tǒng)結(jié)構(gòu)圖
車上裝載著10mH工字電感和6.8nf校正電容用來采集電磁線賽道中20khz的電磁信號,并通過OPA4377運(yùn)算放大器,將信號進(jìn)行放大,最小系統(tǒng)板對其采集并進(jìn)行歸一化處理,通過使用PID控制算法控制轉(zhuǎn)向舵機(jī)的轉(zhuǎn)動角度和調(diào)節(jié)電機(jī)的轉(zhuǎn)速,對車進(jìn)行閉環(huán)控制,從而實(shí)現(xiàn)單車對方向的判斷。在日常訓(xùn)練階段,為了更好地提升單車的穩(wěn)定性,采用上位機(jī)軟件,對車的運(yùn)行狀況進(jìn)行實(shí)時(shí)監(jiān)控。
2. 整體效果
1. 電池置于單車底盤,以降低重心。
2. 車模前端靠近單車車頭處安裝輕便堅(jiān)固的板子,橫向放置銅柱,用以摔倒后支撐車身,防止因車摔倒所導(dǎo)致主板、電磁支架板受損。
3. 主板置于單車后座,并通過銅柱將驅(qū)動板置于主板之下,進(jìn)一步降低重心。
4. 使用兩根碳桿固定電磁支架板,防止因車模行進(jìn)時(shí)產(chǎn)生的抖動所導(dǎo)致的信號波動。
▲ 圖2.2 車模左視圖
第三章 機(jī)械結(jié)構(gòu)設(shè)計(jì)
本次智能車比賽,單車?yán)M采用最新引進(jìn)的K型車模。為了更好地調(diào)節(jié)其穩(wěn)定性,在備賽之初,我們對K車模的行進(jìn)方式、機(jī)械結(jié)構(gòu)進(jìn)行了深入討論研究。在調(diào)試過程中我們發(fā)現(xiàn)了一些對車穩(wěn)定性影響的重要因素:轉(zhuǎn)向結(jié)構(gòu)、傳感器位置,重心結(jié)構(gòu)等。
1. 車體重心調(diào)整
對于電單車而言,重心的調(diào)整是穩(wěn)定行駛的基礎(chǔ)。根據(jù)實(shí)驗(yàn)可以發(fā)現(xiàn),重心越靠前,轉(zhuǎn)向速度越慢,所以前瞻需要盡可能要輕,單車的重心整體靠后,同時(shí)還需做到左右兩邊重量,盡可能相等,這才不易于摔倒。車子重心盡量靠下,這樣可以減少橫向重力轉(zhuǎn)移,以防止總體抓地力的減少,有利于轉(zhuǎn)彎。
2. 前輪定位
前輪的安裝一共有1 3孔、2 4孔、3 6孔,由于受限于舵機(jī)S3010大小的限制,采用了2 4孔,使轉(zhuǎn)彎更加靈活。
▲ 圖3.1 結(jié)構(gòu)調(diào)整部分
3. 舵機(jī)的安裝
在舵機(jī)方面,在充分比較了單車配套的SD-12小舵機(jī),選擇使用S3010舵機(jī),其性能強(qiáng)且不易于損壞。由于前瞻裝備有牛角架的緣故,舵機(jī)的轉(zhuǎn)向有限,在誤差范圍內(nèi)左右轉(zhuǎn)向可實(shí)現(xiàn)0至18度。
▲ 圖3.2 舵機(jī)輸出安裝
4. 編碼器安裝
編碼器具有測定速度的功能,在智能車穩(wěn)定行進(jìn)過程中起著至關(guān)重要的作用。通過編碼器去測量脈沖數(shù),我們可以讀出車的速度,從而將速度穩(wěn)定在我們所需要的狀態(tài)。
第四章 硬件設(shè)計(jì)
高效的硬件電路是智能車自動平穩(wěn)行駛的關(guān)鍵。為了讓單車更好地行駛循跡,我們對設(shè)計(jì)電路的可靠性,簡潔性進(jìn)行了相對應(yīng)的提升??煽啃允窃O(shè)計(jì)電路的第一要求,也是最為關(guān)鍵的部分。秉著電磁兼容的理念,我們對各個(gè)電路的各個(gè)環(huán)節(jié),進(jìn)行接地濾波等。簡潔性則便于連接,以及便于后期的故障排查和程序調(diào)試,同時(shí)盡量保持左右兩邊器件重量一致。
本次比賽中我們設(shè)計(jì)的智能車硬件分為5大板塊,主板、電機(jī)驅(qū)動板、電磁支架板、運(yùn)算放大器板、陀螺儀MPU6050,它們的作用分別是主導(dǎo)控制、電機(jī)驅(qū)動、信號采集、信號放大、角度采集。
1. 單片機(jī)系統(tǒng)
STC16F 系列單片機(jī)是 STC 生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是寬電壓、高速、高可靠、低功耗、強(qiáng)抗靜電、較強(qiáng)抗干擾的新一代 16 位 8051 單片機(jī),超級加密。
STC16F40K128 核心板,使用內(nèi)部可調(diào)晶振作為時(shí)鐘源,預(yù)留外部晶振接口。內(nèi)置 CH340E,僅需一根 type-c 線即可下載和在線仿真。
2. 傳感器的選擇
(1) 10mH工字電感和6.8nf校正電容
對于一輛能自由行駛的單車而言,尋跡尤為重要。由于本次比賽條件限制,綜合比較紅外傳感器和電感電容傳感器對于循跡的優(yōu)劣性之后,我們決定采用電磁的方式進(jìn)行循跡。
▲ 圖4.1 工字電感與校正電容
(2) 陀螺儀MPU6050
為了能讓車穩(wěn)定行駛,陀螺儀也是必不可少的。MPU6050為全球首例整合性6軸運(yùn)動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時(shí)間軸之差的問題,減少了大量的封裝空間。通過陀螺儀可以讀到角速度、角度姿態(tài)等,從而可以通過程序使單車處于直立狀態(tài)。
▲ 圖4.2 陀螺儀
(3) 編碼器
本次比賽采用了帶方向的編碼器,其具有體積小,重量輕,精度高,抗干擾能力強(qiáng)等特點(diǎn),可以精準(zhǔn)的測量電機(jī)的轉(zhuǎn)速,從而使車跑得更穩(wěn)定。
▲ 圖4.3 編碼器
3. 電路設(shè)計(jì)
(1) 主板
主板主要包括兩個(gè)方面,分別為舵機(jī)驅(qū)動電路和穩(wěn)壓模塊電路。
SPX29302
芯片最大輸出電流3A
,且在高電流時(shí)具有低壓降的特性,穩(wěn)定高效且保證了舵機(jī)的靈敏度。同時(shí)還具有反極性電壓保護(hù)。
▲ 圖4.3.1 主板電源電路
穩(wěn)壓模塊,我們采用AMS1117
電源芯片,將電源電壓穩(wěn)定在5V
用來給陀螺儀,單片機(jī)等供電。
(2) 驅(qū)動板
本次比賽采用div8701
配合TPH1R403NL MOS
管驅(qū)動電機(jī),其無需升壓電路,避免boost
升壓電路產(chǎn)生的電磁干擾,其還具有體積小,性價(jià)比高等特點(diǎn),同時(shí)TPH1R403NL
體積小,內(nèi)阻低,可過大電流等特點(diǎn),可以很好的節(jié)省空間,尤為適合電單車。
▲ 圖4.3.2 驅(qū)動電路圖
(3) 電磁支架板
電磁支架板可以更好的減輕前瞻的重量,使重心盡量靠單車中部,同時(shí)既美觀又便捷。其上裝載著10mH
工字電感和6.8nf
校正電容用來采集電磁線賽道中20khz
的電磁信號。從而達(dá)到尋跡的效果。
▲ 圖4.3.3 電磁支架上的電路
(4) 運(yùn)放板
為了更好的尋跡,使單車能采集到相應(yīng)的信號,需要將電磁信號進(jìn)行放大。OPA4377
運(yùn)算模塊是高性能的雙路低電壓軌至軌輸出運(yùn)算放大器。相較于傳統(tǒng)的運(yùn)放,OPA4377
具有超低噪音,失真極小,低功率等特點(diǎn)。
▲ 圖4.3.4 電機(jī)驅(qū)動電路圖
第五章 軟件設(shè)計(jì)
高效的軟件程序是智能車高速平穩(wěn)自動尋線的基礎(chǔ)。我們設(shè)計(jì)的智能車系統(tǒng)采用四電感采集的方式對賽道進(jìn)行跟蹤與識別。在單車的平衡、轉(zhuǎn)向和速度控制方面,我們使用 了魯棒性很好的經(jīng)典 PID 控制算法,配合使用理論計(jì)算和實(shí)際參數(shù)補(bǔ)償?shù)霓k法, 使單車能夠穩(wěn)定快速尋線。
1.平衡環(huán)控制
靜止的單車屬于一維倒立擺,是不穩(wěn)定。為了使其穩(wěn)定,務(wù)必對系統(tǒng)進(jìn)行調(diào)整與控制。
1) 平衡原理
對于倒立擺的特性:不穩(wěn)定,只要偏離平衡位置,就會有一個(gè)力(重力分力)使系統(tǒng)更加偏離平衡位置,這樣偏差就會越來越大。
為了使其平衡,需要一個(gè)力平衡重力的分離。當(dāng)車身做圓周運(yùn)動時(shí),車身需要重力的分力提供向心力,當(dāng)需要的向心力大于重力分力時(shí),產(chǎn)生的這個(gè)離心力便會使車身做離心運(yùn)動,往預(yù)定位置回正。
2) 姿態(tài)檢測
為了使車身平穩(wěn),我們需要實(shí)時(shí)檢測車身姿態(tài),并對其進(jìn)行閉環(huán)控制。我們采用的傳感器是MPU6050,通過dmp解算,得到姿態(tài)角與角速度,從而進(jìn)行控制。
3) 平衡環(huán)PID控制
平衡環(huán)PID為位置式PID
計(jì)算公式:
Servo_angle = Balance_Kp * Servo_Bias + Balance_Ki * Servo_Integration - Balance_Kd * Gyro_y;
- Kp:提供初始回復(fù)力,使舵機(jī)在車身向左傾斜時(shí)往左打角,向右傾斜時(shí)往右打角。Kd:由于當(dāng)只有Kp作用時(shí),當(dāng)車身處于平衡狀態(tài)時(shí)車身具有一個(gè)未能消減的速度,故需要kd消除車身自身振蕩。Ki:消除穩(wěn)態(tài)誤差,提供穩(wěn)態(tài)時(shí)的舵機(jī)打角。
2.速度環(huán)控制
單車的速度環(huán)控制采用增量式PI控制的方法,該控制方法在單車平穩(wěn)運(yùn)行時(shí)和上下坡時(shí)具有良好的性能。
3.方向環(huán)控制
1)電感采集與歸一化處理
為實(shí)現(xiàn)較好的巡線,我們采用4電感檢測,其中兩個(gè)水平電感用于巡線,兩個(gè)垂直電感用于識別賽道元素。
電感產(chǎn)生的電動勢經(jīng)運(yùn)放放大后由單片機(jī)的4個(gè)ADC通道采集。經(jīng)過多次采集得到最大值與最小值,經(jīng)
ADC_100=100*(ADC-ADCmin)/(ADCmax-ADCmin)將其換算到0--100的范圍。
最后采用差比和的方法得到車身距離電磁線的距離。
error = -1*(ADC0_100-ADC3_100)/(ADC0_100+ADC3_100+0.00001);
2)方向環(huán)PD控制
方向環(huán)為位置式PD控制。
車身與電磁線的偏差值進(jìn)行方向環(huán)的相關(guān)運(yùn)算后得到隨動的理想傾角,理想傾角作用于平衡環(huán)改變單車航線,從而達(dá)到巡線目的。
對于kd對于的微分項(xiàng),若采用離散的一階微分,隨著采樣時(shí)間的縮短,存在較大的噪聲信號。為了消除噪聲,我們采樣了二階線性微分,有效抑制了噪聲。
黃色為二階線性微分。
除此之外,對于單車出現(xiàn)的轉(zhuǎn)角過大,沖出賽道問題。我們通過讀取陀螺儀轉(zhuǎn)向的角速度,用以抑制單車轉(zhuǎn)角。提高單車穩(wěn)定性。
▲ 圖5.1 數(shù)據(jù)曲線
4.賽道元素處理
1)坡道
由于單車是一個(gè)不穩(wěn)定系統(tǒng)。上坡與下坡的速度改變會導(dǎo)致車身不穩(wěn),故需要盡量保證單車速度的穩(wěn)定。
我們將過坡分為3個(gè)過程。上坡、坡上與下坡,通過陀螺儀檢測俯仰角來判斷過程。
上坡加速,在坡上初步減速,下坡再次減速,使車身能夠平穩(wěn)過坡。
2)直角彎
由于直角彎存在一條與車身垂直的電磁線,故可以通過單車電磁板上的垂直電感識別出直角。
檢測出直角后,單車經(jīng)過一個(gè)固定的流程,行駛到垂直線上,并啟用巡線程序。
3)十字路口
十字路口存在左右兩條垂直電磁線,通過垂直電感識別。
觸發(fā)識別后對單車進(jìn)行穩(wěn)定性處理。
5.慢車道與快車道區(qū)別
對于慢賽道,單車需要更穩(wěn)定的平衡環(huán)參數(shù),同時(shí),由于車速較慢與抖動的加劇,過大的方向環(huán)PD參數(shù)會導(dǎo)致車身不穩(wěn)定。我們選擇將方向PD參數(shù)減小,利用陀螺儀轉(zhuǎn)彎角速度來抑制車身往一邊傾倒。
第六章 總結(jié)
經(jīng)過了大半年智能車的制作與調(diào)試,我們學(xué)到了很多。在機(jī)械結(jié)構(gòu)、重心結(jié)構(gòu)上嘗試了大量的方案,在電路的設(shè)計(jì)與實(shí)驗(yàn)上經(jīng)歷了各種改進(jìn),在程序上一步一步的深入探討優(yōu)化。從最初的直立到轉(zhuǎn)圈,再到沿線尋跡,我們經(jīng)歷了許許多多。在這大半年里,我們一步一個(gè)腳印,從中學(xué)到了不少知識,總結(jié)了不少經(jīng)驗(yàn),盡最大努力將小車改進(jìn)與完善。
在智能單車機(jī)械結(jié)構(gòu)調(diào)整方面,首先考慮的是車身左右兩邊的重量,其次則是重心在車身的布局,力求重心靠后,分布集中,為此不斷地更換結(jié)構(gòu),進(jìn)行各種嘗試,努力做到更好。在智能單車硬件電路設(shè)計(jì)方面,采用模塊化管理,便于后期故障維修、排查,同時(shí)做好濾波、接地等工作,力求可靠簡潔。軟件上,運(yùn)用自控原理,嘗試了各種算法,深入剖析智能單車的特點(diǎn),對其的認(rèn)識也在不斷加深。從簡單的確定中值到直立行進(jìn)再到循跡行進(jìn),從簡單的直線到十字、直角、坡道。
在做車的半年里,曾為單車在賽場上飛奔時(shí)感到興奮,也曾為硬件、軟件上各種問題所苦惱。焊板子,換場地,重新裝車,程序調(diào)試,故障分析,這些舉動再平常不過。印象最為深刻的是在比賽前一天,由于我們的疏忽導(dǎo)致信號發(fā)生器進(jìn)水,更換新的之后,單車還得重調(diào),同時(shí)隨時(shí)還有陀螺儀卡死的危險(xiǎn),最終我們克服困難,懷揣著緊張而又激動的心情,完成了本次比賽。在智能車的比賽中,我們收獲的不僅僅是做車的經(jīng)驗(yàn),同時(shí)還收獲了深厚的友誼??粗鴨诬嚲拖窨粗约旱暮⒆右粯樱瑸樗某晒Χ矏?,也為它的失敗而懊惱。
最后感謝主委會為我們舉辦了一場別開生面的比賽,感謝學(xué)校對同舟學(xué)社的大力支持,以及牛小兵老師和薛征宇老師的幫助與指導(dǎo)。
參考文獻(xiàn)
[1] 張昊飏, 馬旭, 卓晴. 基于電磁場檢測的尋線智能車設(shè)計(jì)[J]. 電子產(chǎn)品世界, 2009(11):54-56.
[2] 學(xué)做智能車[M]. 北京航空航天大學(xué)出版社 , 卓晴, 2007
[3] 李宏揚(yáng).跟蹤微分器改進(jìn)算法的應(yīng)用分析[J] 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版). 2021,39(01)
[4] 單片機(jī)控制PID調(diào)節(jié)的自平衡自行車[J]. 黨新安,唐鵬,楊立軍. 機(jī)械設(shè)計(jì)與制造. 2019(10)
[5] 自平衡自行車機(jī)器人的運(yùn)動學(xué)分析[J]. 郭磊,黃用華,廖啟征,魏世民. 北京郵電大學(xué)學(xué)報(bào). 2011(06)
[6] 基于STM32和MPU6050的姿態(tài)控制系統(tǒng)[J]. 范浩,徐龍,賴福明,蔡文廣,呂明澤,李媛. 電子元器件與信息技術(shù). 2020(02)