版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章緒論1.1研究背景在進(jìn)入二十一世紀(jì)后,人類的科技水平不斷進(jìn)步,涌現(xiàn)出許多新鮮事物。平衡車就是其中之一。任何事物的興起都有其背后的原因。它具有極高的實(shí)用性,可在很多領(lǐng)域內(nèi)進(jìn)行應(yīng)用,與此同時(shí)因?yàn)榧夹g(shù)手段不斷進(jìn)步,例如可以更簡(jiǎn)單方便的對(duì)數(shù)據(jù)進(jìn)行獲取,同時(shí),因?yàn)槲⒖刂菩酒倪\(yùn)算能力的不斷進(jìn)步,擁有更加強(qiáng)大的數(shù)據(jù)處理能力,對(duì)于姿態(tài)傳感器的回傳數(shù)據(jù)處理也更高效。由于三輪驅(qū)動(dòng)的機(jī)器人與其他結(jié)構(gòu)的機(jī)器人在運(yùn)動(dòng)方式上存在著顯著的不同,受到多方面外界因素的限制。例如,機(jī)器人處于空間狹小的地方進(jìn)行工作,當(dāng)在運(yùn)行過程中需要進(jìn)行較大幅度的運(yùn)動(dòng)時(shí),多輪機(jī)器人所存在的短板就會(huì)在實(shí)際使用的時(shí)候出現(xiàn)。這時(shí),兩輪智能自平衡小車就擁有了較為明顯的優(yōu)勢(shì)。兩輪智能自平衡小車因?yàn)檐嚿砑軜?gòu)的不同可以細(xì)分為混合式,輪式,履帶式等不同種類。方便在各種不同的復(fù)雜環(huán)境中正常運(yùn)作。因?yàn)殡p輪平衡車在結(jié)構(gòu)上由一對(duì)車輪外加軸承系統(tǒng)構(gòu)成,在無外力作用的情況下不能進(jìn)行自我平衡,在這一點(diǎn)上與倒立擺有相似之處,因?yàn)殡p輪智能自平衡小車具有擬合性較強(qiáng)、強(qiáng)耦合、多狀態(tài)等不同的特性,是研究不同控制方法的理想平臺(tái),而且它具有非常小的轉(zhuǎn)彎半徑和體積,并且具有動(dòng)作極其靈活的特點(diǎn),兩輪輪智能自平衡小車具有構(gòu)造簡(jiǎn)單,易于使用,造價(jià)低廉的特點(diǎn),在不同的場(chǎng)合大范圍應(yīng)用。1.2國(guó)內(nèi)外雙輪平衡小車研究現(xiàn)狀1.2.1國(guó)外的研究現(xiàn)狀世界上首先進(jìn)行雙輪自平衡研究的是來自日本的幾位科學(xué)家,大約在1980年,已經(jīng)有人對(duì)雙輪自平衡車進(jìn)行過大量的理論研究,并給出了基本的結(jié)構(gòu)框架及相關(guān)的研究結(jié)論,采用了DSP處理器來檢測(cè)雙輪自平衡小車姿態(tài)的變化情況,再通過微控制器來對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行控制,從而保持雙輪自平衡小車的平衡狀態(tài)。賽格威最初是由國(guó)外音譯而來,在國(guó)內(nèi)也被叫做體感車、思維車、平衡車、火星車等。它是一種由電力進(jìn)行驅(qū)動(dòng)、同時(shí)還具有一定的自我平衡保持能力的個(gè)人交小型雙輪交通機(jī)器人,屬于新時(shí)代的交通方式。經(jīng)過兩年時(shí)間的研制,美國(guó)人卡成功制作了第一輛平衡車的模型,并進(jìn)行了實(shí)際的路測(cè)。在此之后,伴隨著技術(shù)的不斷成熟,其研發(fā)團(tuán)隊(duì)也不斷擴(kuò)大。在外界看來,具有廣闊的發(fā)展前景。在2001年12月其公司開始商業(yè)化的量產(chǎn)。產(chǎn)品線擁有多個(gè)不同規(guī)格和型號(hào)的產(chǎn)品。不僅僅提供個(gè)人消費(fèi)級(jí)的平衡車,也有適合戶外應(yīng)用的越野平衡車。在一般情況下的限速為25km/h。平衡車的英文名稱為“Segway”。來源于英文詞典中的單個(gè)單詞Segue,其可翻譯為“順滑流暢的移動(dòng)”,其英譯的名稱也間接表達(dá)了平衡車在人們內(nèi)心中的理想形態(tài)。自由、方便、無拘束的移動(dòng)。用最新的鋰離子蓄電池做為動(dòng)力來源進(jìn)行驅(qū)動(dòng),利用物理學(xué)的“動(dòng)態(tài)平衡原理”,通過微處理芯片控制其前進(jìn)或轉(zhuǎn)向。當(dāng)車身上的乘客身體發(fā)生移動(dòng)時(shí),整體的重心會(huì)不斷發(fā)生改變,不斷進(jìn)行調(diào)整并達(dá)到平衡狀態(tài),前進(jìn)、后退、拐彎、剎車等一切動(dòng)作均由身體進(jìn)行控制。由于賽格威是一種前所未見的嶄新類別的交通工具,因此很難用傳統(tǒng)的分類方式定義它的種類。而且它具有非常小的轉(zhuǎn)彎半徑和體積,并且具有動(dòng)作極其靈活的特點(diǎn),因此也可以作為一種短程行走工具等在生活中具有實(shí)際意義。在一些更正式的場(chǎng)合(如官方道路法規(guī)),Segway平衡車也被稱為電動(dòng)個(gè)人輔助移動(dòng)設(shè)備(EPAMD),通常被稱為電動(dòng)替代步行機(jī)。圖1-1Segwayt平衡車在傳統(tǒng)平衡車的基礎(chǔ)上,日本HONDA公司法發(fā)布了一輛與眾不同的新型平衡車,與傳統(tǒng)的雙輪結(jié)構(gòu)不同的是這款平衡車僅有有一個(gè)支撐受力點(diǎn)。被命名為U3-X??梢造`活地完成普通的前進(jìn),后退,轉(zhuǎn)向等常規(guī)動(dòng)作。這些都得益于其新穎的結(jié)構(gòu)設(shè)計(jì)。利用一個(gè)經(jīng)過特殊加工的異形輪胎來保持平衡。同樣來自日本SANYO公司的直流電動(dòng)機(jī)事業(yè)部設(shè)計(jì)制造了一臺(tái)能進(jìn)行上體倒立從進(jìn)行平衡保持的機(jī)器人FLATHRU,是一輛面向普通家庭應(yīng)用的雙輪自平衡機(jī)器人??梢苑胖靡欢ㄖ亓康呢?fù)載,并且也能適應(yīng)較為粗糙的路面。在美國(guó)加利福尼亞大學(xué)聯(lián)合知名工業(yè)機(jī)器人工廠WOWWEE,二者共同設(shè)計(jì)制造了一種名為MIP新型服務(wù)類機(jī)器人。其正式的產(chǎn)品有黑色與白色。在其頭部安裝有一塊高清顯示屏,可以模擬出不同的表情。根據(jù)其官網(wǎng)的介紹,其高度僅有19.8cm,結(jié)構(gòu)上分為底盤與車身兩部分。移動(dòng)的MIP非常靈活。即使沒有人的干預(yù),它仍然可以通過車輪保持相當(dāng)大的穩(wěn)定性。甚至能夠?yàn)槟愣瞬杷退?。然而,盡管MIP可以保持自身的平衡,但它首先需要保持直立。MIP可以通過藍(lán)牙與手機(jī)中APP程序進(jìn)行數(shù)據(jù)傳輸和連接控制,所以我們也可以在通過高速網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)MIP的遠(yuǎn)程控制。圖1-2Mip平衡車1.2.2國(guó)內(nèi)研究現(xiàn)狀我國(guó)在雙輪自平衡車方面的研究雖然沒有國(guó)外研究的早,但在不懈的努力下也收獲了一些較為先進(jìn)的成果,西安電子科技大學(xué)研發(fā)了一款自平衡雙輪機(jī)器人,見圖1-6,該機(jī)器人本質(zhì)為一個(gè)雙輪式左右并行布置結(jié)構(gòu)的自平衡系統(tǒng)。它通過伺服放大器控制兩個(gè)Maxson電機(jī)來驅(qū)動(dòng),并同時(shí)運(yùn)用了神經(jīng)模糊算法對(duì)平衡車進(jìn)行操作控制,從而實(shí)現(xiàn)系統(tǒng)的自平衡。中國(guó)科學(xué)技術(shù)大學(xué)研發(fā)的平衡代步車并沒有配置用于剎車的裝置,而是依據(jù)駕駛者的身體重心變化來完成車體的加速運(yùn)動(dòng)和減速運(yùn)動(dòng);操作控制手柄能夠?qū)崿F(xiàn)任意角度的轉(zhuǎn)向運(yùn)動(dòng)。在控制器的設(shè)計(jì)上,它采用了模糊自適應(yīng)原理,能夠很好的實(shí)現(xiàn)平衡車的動(dòng)態(tài)平衡,并且有效地處理了車體大角度變化的平滑控制問題。臺(tái)灣清云科技大學(xué)的Chih-HuiChiu等搭建完成了一臺(tái)雙輪移動(dòng)可載貨小車。運(yùn)用傾角傳感器,陀螺儀和光電測(cè)速碼盤,這三種傳感器構(gòu)成小車系統(tǒng)的位姿檢測(cè)功能模塊,兩個(gè)微型控制器被分別用來完成移動(dòng)小車的平衡和數(shù)據(jù)處理等功能,分別承擔(dān)主要控制和處理相關(guān)數(shù)據(jù)?;谀:刂圃淼碾p閉環(huán)控制器是調(diào)節(jié)系統(tǒng)的動(dòng)態(tài)平衡,以及使系統(tǒng)按照預(yù)期的運(yùn)動(dòng)路線運(yùn)行的關(guān)鍵。圖1-3Chih-HuiChiu平衡車1.3論文主要內(nèi)容及各章節(jié)內(nèi)容簡(jiǎn)介本系統(tǒng)要求設(shè)計(jì)制作一輛應(yīng)用串級(jí)PID原理,并且實(shí)現(xiàn)自我平衡的智能雙輪自平衡小車。主控芯片選用了ST公司的微控制器,具體的型號(hào)為STM32F103C8T6,其功耗和處理性能完全可以滿足本系統(tǒng)數(shù)據(jù)處理的需求,并且具有豐富的外設(shè)接口,為日后小車的功能拓展提供了接口。為了更加準(zhǔn)確的獲取雙輪自平衡小車運(yùn)動(dòng)過程中的加速度以及角速度等關(guān)鍵數(shù)據(jù),使用運(yùn)動(dòng)處理傳感器MPU6050,這是一款具有SPI和IIC接口的傾角傳感器芯片,又因?yàn)槠鋬?nèi)置了DMP數(shù)據(jù)處理引擎,可以直接以四元數(shù)輸出角度和角速度等系統(tǒng)運(yùn)行所必須的關(guān)鍵數(shù)據(jù),大大減輕了MCU的負(fù)擔(dān),同時(shí)也為接下來運(yùn)動(dòng)狀態(tài)處理提供了方便,應(yīng)用兩種不同的供電電源芯片,為系統(tǒng)中不同的部分提供穩(wěn)定的電壓,避免因?yàn)殡姍C(jī)堵轉(zhuǎn)等意外情況造成系統(tǒng)中電壓波動(dòng)引發(fā)單片機(jī)復(fù)位造成系統(tǒng)失控等不良事件的發(fā)生,完成了前期的電路設(shè)計(jì)以及驗(yàn)證后,進(jìn)行程序的編寫,修正卡爾曼濾波及串級(jí)PID的相關(guān)參數(shù)。最后對(duì)于平衡小車進(jìn)行整體的調(diào)試。讓兩輪智能自平衡車完成預(yù)期中的直立平衡并完成預(yù)定的平衡和行進(jìn)等動(dòng)作。以下為本文中各章節(jié)的詳細(xì)內(nèi)容簡(jiǎn)述:第一章:本文主要闡述了平衡車的研究背景及其在實(shí)際應(yīng)用中的意義,闡述了兩輪自平衡車的發(fā)展過程,以及國(guó)內(nèi)外在研究開發(fā)過程中所取得的突出成果和突出成就。第二章:通過在不同的角度對(duì)平衡車進(jìn)行準(zhǔn)確的建模分析,針對(duì)陀螺儀和加速度計(jì)的特性進(jìn)行說明,對(duì)于選取采用的互補(bǔ)濾波的數(shù)據(jù)融合方案進(jìn)行介紹。詳細(xì)介紹了PID算法和串級(jí)PID的基本原理及不同參數(shù)的意義,并闡述了兩者在該系統(tǒng)中的應(yīng)用。第三章:介紹了雙輪自平衡車的硬件系統(tǒng)組成,并完成了系統(tǒng)的結(jié)構(gòu),包括最小系統(tǒng)STM32F103C8T6、運(yùn)動(dòng)處理器MPU6050、電機(jī)驅(qū)動(dòng)模塊電路TB6612FNG。第四章:使用KEILVERSION5編寫雙輪自平衡小車互補(bǔ)濾波算法程序以及其他結(jié)構(gòu)程序等。優(yōu)化小車的數(shù)據(jù)采集和電機(jī)驅(qū)動(dòng)程序塊,使整個(gè)程序運(yùn)行的更加高效。更好的實(shí)現(xiàn)小車的平衡功能。第五章:包括互補(bǔ)濾波算法的調(diào)試和串級(jí)PID算法控制參數(shù)的整定,通過連續(xù)調(diào)試和實(shí)驗(yàn),對(duì)調(diào)試結(jié)果進(jìn)行了分析和比較。以尋求在實(shí)際運(yùn)行過程中最穩(wěn)定的PID參數(shù)。第六章:對(duì)雙輪平衡車各模塊的功能進(jìn)行了總結(jié)和展望,并對(duì)雙輪自平衡車現(xiàn)有的改進(jìn)空間進(jìn)行了說明和展望。雙輪自平衡車控制系統(tǒng)2.1平衡控制系統(tǒng)原理如何保持兩輪智能平衡小車保持直立的想法來源于生活中的日常,幾乎所有的正常人都可以使一根鉛筆在手心直立,并且保持一段時(shí)間這個(gè)狀態(tài)。這個(gè)簡(jiǎn)單的事情包含了一定的物理原理,一是托著鉛筆的手掌可以自由的移動(dòng);另一個(gè)則是人眼可以觀察到木棒的傾斜角度并且在大腦中可以對(duì)可能出現(xiàn)的傾斜趨勢(shì)進(jìn)行預(yù)判處理。最后通過手掌移動(dòng)抵消木棒的傾斜角度和趨勢(shì),從而保持木棒的直立。這其中的原理實(shí)際上就是自動(dòng)控制理論中的負(fù)反饋機(jī)制。目前來看世界上還沒有任何一個(gè)人可以蒙眼保持木棒在指尖上保持直立狀態(tài),原因是沒有了眼睛對(duì)木棒的相對(duì)位置的觀察從而為大腦的提前預(yù)判提供負(fù)反饋信號(hào)。其中所包含的原理。雙輪自平衡車的原理也是通過宏觀上的負(fù)反饋完成的,但是對(duì)于圖2-1來說,保持手心物體的平衡,原理更加直觀和簡(jiǎn)單兩輪自平衡汽車的左右車輪都在地面上,因此只能在車身的前后方向不穩(wěn)定,可能向前或向后傾斜。因此,只要控制系統(tǒng)調(diào)整車輪的速度以抵消車輪在滾動(dòng)方向上的傾斜趨勢(shì),小車就能保持在豎直方向上的平衡狀態(tài)。圖2-1人體保持物體平衡原理相比于對(duì)手中的小棍進(jìn)行平衡狀態(tài)的保持,兩輪智能自平衡小車的原理就簡(jiǎn)單的多。因?yàn)閮奢喼悄芷胶庑≤囍皇桥c地面發(fā)生了物理接觸。在運(yùn)動(dòng)狀態(tài)上可能會(huì)存在以下幾種情況,傾斜運(yùn)動(dòng)或傾斜落地。兩輪平衡小車所需要做的是對(duì)小車兩邊的車輪獨(dú)立的進(jìn)行旋轉(zhuǎn)方向以及速度進(jìn)行控制,進(jìn)而維持小車在垂直方向得運(yùn)動(dòng)狀態(tài)。其原理如圖2-2所示。圖2-2雙輪自平衡小車的平衡原理2.2雙輪自平衡小車數(shù)學(xué)模型2.2.1自平衡小車的受力狀態(tài)分析為了使雙輪自平衡小車能夠在豎直方向保持平衡,需要提供一個(gè)反方向的作用力。如何確定力的大小是需要解決的問題。可以建立雙輪自平衡小車的物理模型以及運(yùn)動(dòng)學(xué)模型,通過合理的結(jié)構(gòu)設(shè)計(jì)與軟件部分的設(shè)計(jì)控制來控制雙輪自平衡小車的平衡狀態(tài)。為了較為直觀形象的進(jìn)行說明,通過類比單擺模型來說明雙輪自平衡小車保持平衡的控制原理。使用細(xì)線懸掛著的小球是經(jīng)過簡(jiǎn)化的理想單擺模型,所以保持直立狀態(tài)的雙輪自平衡小車可以看成放置在可以左右移動(dòng)平臺(tái)上的倒立著的單擺。如圖2-3所示。圖2-3單擺模型小球脫離在垂直時(shí)候的平衡位置后,根據(jù)力學(xué)原理可知,小球此時(shí)會(huì)受到重力和細(xì)線拉力在其正交方向上的合拉力,一旦小球離開平衡位置時(shí),就會(huì)受外力作用恢復(fù)垂直狀態(tài)。可以通過數(shù)學(xué)與物理學(xué)對(duì)這個(gè)合力的大小進(jìn)行計(jì)算。其大小為:(1-1)在實(shí)際情況中,一般的的兩輪自平衡小車只需要極小的傾斜角度即可滿足系統(tǒng)穩(wěn)定前進(jìn)的需求,這個(gè)時(shí)候的傾斜角度與電機(jī)軸向反作用力是一種正比例關(guān)系。并且在相反的方向上作用,想要使小車穩(wěn)定在固定角度而并非晃動(dòng)還需要考慮空氣阻力對(duì)系統(tǒng)穩(wěn)定調(diào)節(jié)的影響,雙輪自平衡小車的質(zhì)量越大,運(yùn)行速度越快,需要維持平衡狀態(tài)的作用力也越大?;貜?fù)力與阻尼力兩者中的回復(fù)力決定了雙輪自平衡小車的運(yùn)動(dòng)趨勢(shì),阻尼力決定了重物的運(yùn)動(dòng)狀態(tài)。圖2-4單擺模型實(shí)際情況中,如果系統(tǒng)中存在較小的阻尼力,單擺會(huì)逐漸靠近平衡狀態(tài)時(shí)小球所處的位置。如果系統(tǒng)中出現(xiàn)了較大的阻尼力,單擺則會(huì)需要較長(zhǎng)的時(shí)間才能恢復(fù)平穩(wěn)狀態(tài)。只有在阻尼力合適的情況下。在控制系統(tǒng)介入后,車體才會(huì)快速且平穩(wěn)的對(duì)平衡狀態(tài)的變化進(jìn)行修正。一階倒立擺受力情況如圖2-5:圖2-5一階倒立擺受力分析根據(jù)上圖可以得到的結(jié)論是圖中倒立擺的回復(fù)力的大小沒有發(fā)生任何改變,但是其方向與小球的運(yùn)動(dòng)方向完全相同,會(huì)導(dǎo)致物體加速傾倒。通過對(duì)單擺平衡的受力分析可得,倒立擺與單擺在原理上類似,但是其回復(fù)力與運(yùn)動(dòng)的方向一致,所以只能在其反方向施加大小相同的力,使系統(tǒng)保持平衡。受力分析如圖2-6所示:圖2-6加速時(shí)模型受力分析當(dāng)小車車輪受到電機(jī)驅(qū)動(dòng)產(chǎn)生大小為a的加速度時(shí),可以計(jì)算出小車此時(shí)所受到的慣性力的大小為:(1-2)由此可以得出回復(fù)力為: (1-3)因?yàn)殡p輪自平衡小車在運(yùn)動(dòng)中進(jìn)行自我調(diào)整的時(shí)候只需要極小的傾斜角度改變,就可以完成定向移動(dòng)的目的。所以可以近似的將sinθ看作θ,可以通過計(jì)算得到以下公式: (1-4)因?yàn)槠品较蚺c合力方向相反,兩者比例系數(shù)k1大于重力加速度g,因?yàn)槲矬w存在阻尼力導(dǎo)致返回平衡點(diǎn)的時(shí)間較長(zhǎng),會(huì)產(chǎn)生震蕩,所以需要系統(tǒng)以外的外力來使其恢復(fù)平衡狀態(tài),外力大小應(yīng)與角速度成正比例關(guān)系,所以公式可以化簡(jiǎn)成以下形式: (1-5)通過計(jì)算可以得到保持車體在豎直方向上的靜止?fàn)顟B(tài)需要車輪所擁有的最小加速度是: (1-6)上式中θ為小車相對(duì)于水平面的傾斜角度,而θ′為小車角速度,f1、f2是控制系統(tǒng)中的比例參數(shù)。如果在運(yùn)動(dòng)控制過程中,當(dāng)系統(tǒng)中f1大于g時(shí),倒立擺才會(huì)向平衡位置靠近直至恢復(fù)垂直狀態(tài),但是改變f2的大小可以對(duì)車體恢復(fù)平衡速度的快慢進(jìn)行的大小進(jìn)行控制。2.3串級(jí)PID在雙輪自平衡小車控制系統(tǒng)中的應(yīng)用2.3.1PID算法簡(jiǎn)單介紹PID控制算法是現(xiàn)代自控理論中一種通用和廣泛的算法。在PID控制過程中起主要作用的有三個(gè)參數(shù)P、I、D,也是就比例,積分,微分的英文首字母。在控制過程中,比例算法所起的主要作用是讓控制過程更加的平滑,積分運(yùn)算是對(duì)系統(tǒng)運(yùn)作過程中所產(chǎn)生的噪聲進(jìn)行處理,而微分運(yùn)算具體的負(fù)責(zé)控制過程中的控制強(qiáng)度。系統(tǒng)中所存在的控制誤差即為系統(tǒng)控制中實(shí)時(shí)輸出的數(shù)值與陀螺儀回傳數(shù)據(jù)的差。本文在此控制過程中采用了增量式PID控制。在具體的控制過程中,與位置式PID不同的是,二者的運(yùn)算輸出不一樣。增量式PID只對(duì)變化誤差進(jìn)行輸出,而位置式PID需要進(jìn)行大量的數(shù)據(jù)運(yùn)算與存儲(chǔ),才能進(jìn)行輸出。在增量式PID的控制過程中,只是對(duì)于電機(jī)驅(qū)動(dòng)模塊所需要的脈沖波長(zhǎng)進(jìn)行控制。在系統(tǒng)中引入PID的主要原因是為了讓平衡過程的控制更加順滑、精確,消除掉不必要的抖動(dòng)。其中涉及到大量的數(shù)據(jù)運(yùn)算,考慮到系統(tǒng)內(nèi)運(yùn)算能力的限制,所以本文采用了運(yùn)算量較小且控制效果較好的增量式PID。圖2-7增量式PID的原理圖 從上圖中可以得知三個(gè)參數(shù)在PID算法中所發(fā)揮的具體作用。在三個(gè)互相不產(chǎn)生干擾信號(hào)的調(diào)節(jié)進(jìn)程運(yùn)行的時(shí)候,比例調(diào)節(jié)主要是對(duì)系統(tǒng)運(yùn)行中產(chǎn)生的偏差值進(jìn)行累積并在其控制作用發(fā)生減弱時(shí)還能持續(xù)的進(jìn)行控制。但是在系統(tǒng)P值過沖的情況下是可能會(huì)產(chǎn)生持續(xù)的低頻振蕩,過高的靈敏度會(huì)導(dǎo)致系統(tǒng)超調(diào)的發(fā)生,有可能會(huì)造成電機(jī)過熱、或是驅(qū)動(dòng)模塊損壞。在這種情況下,可以利用微分來減小此類不穩(wěn)定高頻震蕩發(fā)生的概率。在系統(tǒng)運(yùn)行過程中,每個(gè)時(shí)段所累積誤差不斷的應(yīng)用函數(shù)進(jìn)行微分運(yùn)算。在圖中E(t)的狀態(tài)發(fā)生高速變化時(shí),對(duì)KI數(shù)值逐步調(diào)節(jié)。微分運(yùn)算在平衡控制中處于主要地位,可以適當(dāng)?shù)販p緩比例運(yùn)算對(duì)小車的控制強(qiáng)度。相反,當(dāng)E(t)在系統(tǒng)中的改變速度較為緩慢時(shí),運(yùn)算后產(chǎn)生的參數(shù)會(huì)使KI偏低。在這種情況下,比例運(yùn)算會(huì)起主要的控制作用,強(qiáng)迫控制系統(tǒng)將小車從傾斜的姿態(tài)恢復(fù)到穩(wěn)定的自平衡狀態(tài)。當(dāng)調(diào)試時(shí)設(shè)定較小的微分參數(shù)值,有一定概率會(huì)在特殊情況下累積產(chǎn)生小幅度的不均勻輸出震蕩。而在微分系數(shù)較大的時(shí)候,恢復(fù)平衡狀態(tài)的時(shí)間會(huì)有所增加。系統(tǒng)控制過程中應(yīng)用積分作用來實(shí)現(xiàn)對(duì)不同時(shí)刻系統(tǒng)誤差的累積。在系統(tǒng)平穩(wěn)時(shí),對(duì)運(yùn)行過程中積累的誤差不斷放大來控制系統(tǒng),假設(shè)誤差一直存在,在這種情況下積分將持續(xù)進(jìn)行作用,當(dāng)系統(tǒng)到達(dá)穩(wěn)定狀態(tài)時(shí),積分環(huán)節(jié)將會(huì)失去效果。2.3.4串級(jí)PID的原理及其在本系統(tǒng)中的應(yīng)用在自控系統(tǒng)中,總是希望在進(jìn)行參數(shù)設(shè)定之后系統(tǒng)可以進(jìn)行快速而準(zhǔn)確的動(dòng)作,可以選用PID控制來進(jìn)行調(diào)整。PID控制又分為位置式和增量式兩種類別,其中的位置式PID適合舵機(jī)控制等系統(tǒng),而在本系統(tǒng)中選用的是增量式PID。(1-7)其中D之后的參數(shù)是當(dāng)前誤差與前次誤差的差值,與直接使用運(yùn)動(dòng)傳感器的數(shù)據(jù)具有相同的效果。串級(jí)PID是在同一控制系統(tǒng)中使用兩個(gè)PID進(jìn)行嵌套控制。在具體組成上可分為外環(huán)和內(nèi)環(huán),不同的應(yīng)用中會(huì)選用不同的組合方式。在兩輪智能平衡小車控制過程中,在內(nèi)環(huán)中應(yīng)用PID控制,但是在外環(huán)中使用PI進(jìn)行控制。在普通的PID控制中,輸入的參數(shù)為系統(tǒng)運(yùn)算得出的期望值,輸出的數(shù)據(jù)為小車此時(shí)的傾角值。但是在串級(jí)PID系統(tǒng)中外PID環(huán)進(jìn)行運(yùn)算的是期望角度值,內(nèi)PID環(huán)經(jīng)過運(yùn)算后輸出的是角速度數(shù)據(jù)。為了方便理解其原理,內(nèi)環(huán)PID是希望雙輪自平衡小車以每秒多少度的加速度保持運(yùn)動(dòng)狀態(tài),然后經(jīng)過PID控制進(jìn)行控制從而達(dá)到期望的狀態(tài)。外環(huán)PID是根據(jù)傳感器回傳的角度偏差值從而對(duì)內(nèi)環(huán)PID進(jìn)行調(diào)整。這樣,即使外環(huán)數(shù)據(jù)發(fā)生快速的變化,雙輪自平衡小車的運(yùn)動(dòng)效果也不會(huì)顯得很僵硬。 圖2-8串級(jí)PID的原理圖由圖2-8可以分析出,主PID調(diào)節(jié)器和副PID調(diào)節(jié)器在工作的時(shí)候?yàn)橄嗷ゴ?lián)的關(guān)系。在本系統(tǒng)中,由于主PID控制系統(tǒng)中內(nèi)環(huán)的數(shù)據(jù)處理,所以在其中傳遞的參數(shù)為主要變量。在串級(jí)PID控制系統(tǒng)中,主PID控制器與副PID調(diào)節(jié)器分別控制不同的運(yùn)動(dòng)進(jìn)程。一般來說,外環(huán)PID進(jìn)行定值控制,內(nèi)環(huán)PID調(diào)節(jié)器負(fù)責(zé)的是隨動(dòng)控制過程。不同類型的控制系統(tǒng)對(duì)內(nèi)環(huán)PID有不同的要求。一般來說,對(duì)主PID的要求基本相同。在控制進(jìn)程中一般選擇PI控制或PID控制,因?yàn)楦盤ID回路控制系統(tǒng)所具有的獨(dú)特性質(zhì),所以一般的內(nèi)環(huán)回路要求具有對(duì)輸入數(shù)據(jù)進(jìn)行快速處理的特性。對(duì)于引入微分控制所帶來的時(shí)間延長(zhǎng)的特性,可能在計(jì)算過程中存在差值,一般我們會(huì)選取比例控制而不引入積分或者微分控制。在實(shí)際的操作中如果在系統(tǒng)中已經(jīng)引入積分控制,這種情況下再引入微分控制,會(huì)使調(diào)節(jié)閥的動(dòng)作過大,不利于保持整個(gè)控制系統(tǒng)的穩(wěn)定。串級(jí)PID的目的是為了保證主要參數(shù)(外環(huán))的足夠穩(wěn)定。一次和二次參數(shù)調(diào)節(jié)器不是相互獨(dú)立的,而是經(jīng)過調(diào)整和優(yōu)化的。當(dāng)雙輪智能平衡小車受到不同強(qiáng)度和層次的外界干擾時(shí),兩級(jí)串聯(lián)的PID控制器會(huì)進(jìn)行不同的控制輸出。先是由副PID調(diào)節(jié)器進(jìn)行干預(yù)調(diào)節(jié),當(dāng)影響超出調(diào)節(jié)范圍時(shí),主PID會(huì)受到內(nèi)環(huán)數(shù)據(jù)變化的影響。在此時(shí),外環(huán)主PID參與雙輪平衡小車的平衡控制過程。由于在本系統(tǒng)中有兩級(jí)PID調(diào)節(jié)過程。所以相對(duì)于傳統(tǒng)的單級(jí)PID調(diào)節(jié)過程,串級(jí)PID在調(diào)節(jié)過程中效果會(huì)更加細(xì)膩,控制的精度和穩(wěn)定性都有所提高。經(jīng)過我們由實(shí)際實(shí)驗(yàn)過程對(duì)比得出的結(jié)論來看,串級(jí)PID與單機(jī)PID相比有著顯而易見的優(yōu)點(diǎn)。因此我們?cè)陔p輪自平衡小車中采用串級(jí)PID進(jìn)行小車的姿態(tài)控制。串級(jí)PID在調(diào)節(jié)過程中對(duì)誤差的調(diào)整精度和強(qiáng)度高于傳統(tǒng)的單級(jí)別PID。在進(jìn)行調(diào)試時(shí),應(yīng)該將串級(jí)PID的外環(huán)控制看作一個(gè)已經(jīng)提前設(shè)定好參數(shù)的單PID控制過程,但是在調(diào)節(jié)內(nèi)環(huán)PID過程中,由于小車的狀態(tài)隨著外部狀態(tài)發(fā)生改變,所以內(nèi)環(huán)PID在進(jìn)行不斷的運(yùn)算輸出。在兩輪智能平衡小車工作時(shí),串級(jí)PID的外環(huán)會(huì)隨時(shí)受到外界干擾與噪聲。受此影響,兩輪智能自平衡小車的平衡狀態(tài)也會(huì)受到影響而發(fā)生改變。所以在串級(jí)PID控制過程中,兩級(jí)PID的參數(shù)并非獨(dú)立而是相互進(jìn)行數(shù)據(jù)傳遞。在平衡過程中外環(huán)會(huì)向內(nèi)環(huán)輸入一直改變的控制變量的r(t),與此同時(shí)內(nèi)環(huán)r(t)與傳感器接收到的噪聲信號(hào)進(jìn)行耦合處理。在系統(tǒng)中,如果有很多的噪聲和外界干擾進(jìn)入內(nèi)環(huán)PID控制系統(tǒng)中,有一定可能會(huì)對(duì)兩級(jí)PID的穩(wěn)定性造成干擾。但是,在串級(jí)PID控制系統(tǒng)中。內(nèi)環(huán)的穩(wěn)定狀態(tài)改變于整個(gè)系統(tǒng)來講,不會(huì)有太大的影響。所以,串級(jí)PID可以提前對(duì)可能干擾內(nèi)環(huán)PID控制的噪聲進(jìn)行抑制,從而間接加強(qiáng)了主PID控制系統(tǒng)的穩(wěn)定性,直觀的體現(xiàn)就是提高了雙輪自平衡小車對(duì)于復(fù)雜路況餓的適應(yīng)能力和通過性。2.4陀螺儀與加速度計(jì)的數(shù)據(jù)融合在雙輪自平衡小車的運(yùn)動(dòng)中,想要獲得更加平穩(wěn)的運(yùn)動(dòng)過程。排除不可選擇和避免的外在壞境因素外,如何使小車獲得更加準(zhǔn)確的傳感器數(shù)據(jù)也是一個(gè)值得我們考慮的方面。兩輪自平衡小車可以比做一種擁有多個(gè)干擾源的非穩(wěn)態(tài)系統(tǒng)。要使雙輪自平衡小車實(shí)現(xiàn)并保持穩(wěn)定的平衡狀態(tài),通過對(duì)相似的物理模型進(jìn)行類比,可得知當(dāng)兩輪自平衡小車重心位于車軸垂線時(shí)效果最好。在兩輪小車平衡過程運(yùn)行的時(shí)候,如何獲取更加穩(wěn)定的測(cè)量數(shù)據(jù)是我們首先要解決的問題。因?yàn)樾≤囋谄胶饣蛘哌\(yùn)動(dòng)過程中唯一受外界影響的數(shù)據(jù)只有角度值。在系統(tǒng)運(yùn)行過程中必須要輸入準(zhǔn)確的角度數(shù)據(jù)。但是如果我們只是選用加速計(jì)或是三軸陀螺儀的數(shù)據(jù)來對(duì)平衡車的車身角度進(jìn)行校正,會(huì)受到外界的干擾而產(chǎn)生較大的誤差值,難以達(dá)到雙輪自平衡小車在進(jìn)行設(shè)計(jì)時(shí)提出的技術(shù)要求。為了獲得更加準(zhǔn)確而平穩(wěn)的采樣數(shù)據(jù),采用數(shù)據(jù)融合的方法通過軟件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行處理。陀螺儀和加速度計(jì)分別獨(dú)立的進(jìn)行采樣,然后將獲得的數(shù)據(jù)傳送到控制系統(tǒng)內(nèi)。通過卡爾曼濾波器進(jìn)行數(shù)據(jù)融合從而可以得到此時(shí)雙輪自平衡小車較為精準(zhǔn)的傾斜角度,經(jīng)過微控制器的運(yùn)算進(jìn)行驅(qū)動(dòng)。對(duì)電機(jī)驅(qū)動(dòng)模塊輸出控制信號(hào)就可以對(duì)車輪電機(jī)進(jìn)行控制,進(jìn)而實(shí)現(xiàn)小車車身的自我平衡。在雙輪自平衡小車控制系統(tǒng)的實(shí)際應(yīng)用中,目前主流的數(shù)據(jù)融合方式中濾波方法有Kalmanfiltering和互補(bǔ)濾波,在本文中選用Kalman濾波。卡爾曼濾波算法的運(yùn)算處理步驟可以類比為系統(tǒng)的輸入信號(hào)在高斯白噪聲影響下在隨機(jī)系統(tǒng)的狀態(tài)變量。在濾波過程中,其中的輸出方程以及狀態(tài)方程決定了輸入輸出數(shù)據(jù)的相關(guān)性。該算法應(yīng)用極其廣泛,適用于平穩(wěn)隨機(jī)過程的濾波,也可以用在非平穩(wěn)或者平穩(wěn)序列或高斯-馬爾可夫序列過程的濾波??柭鼮V波的本質(zhì)是一種在時(shí)域的變換。因?yàn)槠湓跔顟B(tài)空間進(jìn)行系統(tǒng)的描述過程,因而在系統(tǒng)濾波時(shí)所產(chǎn)生的狀態(tài)過程噪聲和測(cè)量噪聲不需要刻意進(jìn)行濾除。這些噪聲中可能包含著有用的過程信號(hào)。系統(tǒng)中估計(jì)量與觀測(cè)量處于不同時(shí)段的一、二階矩陣不需要進(jìn)行測(cè)量。因?yàn)榭柭鼮V波的基本方程是其在時(shí)域內(nèi)的數(shù)據(jù)遞推,從直觀上來看,整個(gè)濾波計(jì)算過程是一個(gè)不斷的“初預(yù)測(cè)-修正-再預(yù)測(cè)-修正”的進(jìn)程。所以在進(jìn)行運(yùn)算求解時(shí)不需要進(jìn)行大量數(shù)據(jù)的讀取存儲(chǔ),當(dāng)新的數(shù)據(jù)進(jìn)入系統(tǒng)的運(yùn)算控制后,與此同時(shí)新的卡爾曼濾波的數(shù)值也開始進(jìn)行運(yùn)算。因而此濾波方法非常適合實(shí)時(shí)處理的過程中,方便使用運(yùn)算能力較弱的普通單片機(jī)來實(shí)現(xiàn),不會(huì)因?yàn)闉V波過程對(duì)系統(tǒng)的正常運(yùn)行造成較大的負(fù)擔(dān)。2.5本章小結(jié)通過對(duì)單擺和倒立擺的物理原理分析、推導(dǎo)得到了雙輪自平衡小車在不同運(yùn)動(dòng)情況下的力學(xué)模型及運(yùn)動(dòng)方程。介紹了PID的原理以及發(fā)展歷程,對(duì)串級(jí)PID與普通PID進(jìn)行了對(duì)比分析,闡述了不同的PID參數(shù)在平衡控制和速度控制中應(yīng)用中的不同作用。在本系統(tǒng)中,采用PI控制來實(shí)現(xiàn)系統(tǒng)中速度的控制,PD來實(shí)現(xiàn)系統(tǒng)中自我平衡功能的實(shí)現(xiàn)。為了使雙輪自平衡小車在實(shí)際應(yīng)用的過程中能夠有更好的平衡效果,我們將從MPU-6000中獲取的數(shù)值采用卡爾曼濾波進(jìn)行數(shù)據(jù)融合處理,以期獲得更加穩(wěn)定準(zhǔn)確的數(shù)據(jù)。第三章系統(tǒng)硬件電路設(shè)計(jì)在進(jìn)行平衡小車的硬件電路時(shí),我們需要考慮的主要有以下幾個(gè)方面。1.需要用iic與傳感器mpu6050進(jìn)行連接2.雙路pwm接口,用來對(duì)不同的電機(jī)驅(qū)動(dòng)模塊進(jìn)行驅(qū)動(dòng),3.采用串口與外界進(jìn)行數(shù)據(jù)傳輸,4.單片機(jī)外部中斷進(jìn)行車輪的測(cè)速。綜合以上所述,本系統(tǒng)可以歸為六大部分:(1)單片機(jī)最小系統(tǒng):STM32F103CCT6;(2)角度和加速度傳感器:mpu-6050;(3)車輪速度與狀態(tài)檢測(cè);雙路霍爾磁編碼器;(4)供電模塊:航模鋰電池,降壓模塊;(5)電機(jī)驅(qū)動(dòng):TB6612FNG;(6)調(diào)試與設(shè)置;usb轉(zhuǎn)ttl模塊;總體硬件結(jié)構(gòu)如圖3-1。圖3-1系統(tǒng)硬件結(jié)構(gòu)圖3.1微控制器stm32最小系統(tǒng)在本系統(tǒng)中,最終采用STM32F103CCT6作為兩輪自平衡小車的主控芯片。此款芯片采用的是Cortex-M3內(nèi)核,是一款應(yīng)用較為廣泛的的32位微控制器,該芯片可以以最高72MHz工作頻率下長(zhǎng)時(shí)間穩(wěn)定運(yùn)行。并且在芯片內(nèi)集成32~256kB的FLASH存儲(chǔ)器,6~128kB的RAM存儲(chǔ)器。此外在其內(nèi)部還集成了眾多在開發(fā)中可能用到的接口,例如IIC、UART、485、SPI。擁有26個(gè)通用的GPIO接口,這些IO都最高可以直接輸入5v的電壓,并且可以復(fù)用。針對(duì)某些可能用到AD或是DA的場(chǎng)合下,芯片內(nèi)置了此類轉(zhuǎn)換功能,免去了外接模塊帶來的接線復(fù)雜的以及運(yùn)行不穩(wěn)定的問題。在本設(shè)計(jì)中,采用IIC接口完成與MPU-6050傳感器模塊的控制和通信。在其內(nèi)部有多達(dá)6多功能定時(shí)計(jì)數(shù)器模塊,經(jīng)過合理的程序設(shè)計(jì)后,可以在運(yùn)行過程中同時(shí)互不干擾的輸出多路PWM信號(hào),精準(zhǔn)的完成對(duì)電機(jī)模組的驅(qū)動(dòng)控制??梢酝ㄟ^多種不同的方法完成程序的下載,例如常用的jink下載、串口下載、swd下載。原理圖如圖3-1所示:圖3-2STM32單片機(jī)最小系統(tǒng)原理圖3.2電源部分設(shè)計(jì)本文中的平衡小車使用的是在航模上應(yīng)用較為廣泛的LIPO聚合物電池,相比于傳統(tǒng)的鎳鉻電池、鎳氫電池,能量比有了顯著的提高。且不會(huì)有記憶效應(yīng),還易于保存。由于其原理的特性,可以持續(xù)的提供大電流輸出且不會(huì)對(duì)電池容量造成任何影響。并且其大容量的特性可以避免在調(diào)試時(shí)頻繁的更換電池。可以滿足本系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行調(diào)試時(shí)的電量需求。在進(jìn)行設(shè)計(jì)時(shí)考慮到不同廠家設(shè)計(jì)的芯片有著不同的工作電壓。系統(tǒng)采用電源驅(qū)動(dòng)電路來進(jìn)行變壓和穩(wěn)壓,用來提供不同模塊的工作電壓。本文選用MPS2307DN與ASM1117-3.3的組合實(shí)現(xiàn)降壓功能。圖3-3降壓以及穩(wěn)壓電路原理圖3.3運(yùn)動(dòng)傳感器模塊在傳感器的選擇上,我們選用了MPU-6050。這是一款目前用途較為廣泛的芯片,在消費(fèi)級(jí)電子產(chǎn)品以及專業(yè)設(shè)備上都有應(yīng)用。在其內(nèi)部擁有完整的6軸運(yùn)動(dòng)模組。相比較于其他廠家的芯片,擁有顯著的優(yōu)點(diǎn)。例如其擁有目前最小的封裝,并且還可以有效避免了陀螺儀與加速量所存在的時(shí)間軸差值的影響。此芯片能以數(shù)字信號(hào)的形式完成6軸的旋轉(zhuǎn)矩陣參數(shù)、歐拉角格式、四元數(shù)的融合演算數(shù)據(jù)的輸出。由于其結(jié)構(gòu)的優(yōu)點(diǎn),最高可以自行設(shè)定敏感度為130LSBs/°/sec。此外還擁有全向運(yùn)動(dòng)模式檢測(cè)功能的3軸陀螺儀模組,全部參數(shù)都可以進(jìn)行由上位機(jī)設(shè)定完成。且其控制范圍為±2g、±4g、±8g、±16g。由于結(jié)構(gòu)的關(guān)系,消除了加速度計(jì)和陀螺儀軸間相關(guān)干擾,受溫度變化的影響較小。與其他產(chǎn)品不同的是其內(nèi)部擁有數(shù)字運(yùn)動(dòng)處理引擎DMP??梢燥@著減少傳感器中復(fù)雜的融合演算數(shù)據(jù)、感測(cè)器同步化、姿勢(shì)感應(yīng)等負(fù)荷。還同時(shí)擁有可以數(shù)位輸出的高精度溫度傳感器。支持姿態(tài)識(shí)別、姿態(tài)搖動(dòng)感應(yīng)、滾動(dòng)模式控制、垂直運(yùn)動(dòng)中斷、G數(shù)限制輸出、無動(dòng)作感應(yīng)輸出、高頻震動(dòng)模式感應(yīng)等新模式控制。在接口方面,擁有400kHz快速模式的IIC接口,或20MHz的SPI接口。方便與其他的外設(shè)進(jìn)行相互通信。圖3-5是MPU6050的外設(shè)連接電路原理圖:通過其數(shù)據(jù)手冊(cè)得知其IIC接口都需要被單片機(jī)上拉。因?yàn)槠漭^小的封裝,內(nèi)部沒有提供降壓功能,所以需要外部提供其正常工作所需要的3.3V電壓。由于在出廠時(shí)提供了豐富的接口和IIC接口的特性,可以通過接口級(jí)聯(lián)其它模塊,并且不會(huì)占用更多的IO接口。圖3-5MPU6050的外設(shè)連接電路原理圖3.4直流電機(jī)驅(qū)動(dòng)模塊TB66F12G本文所采用的TB66F12G芯片為日本東芝半導(dǎo)體公司旗下最新生產(chǎn)的大功率直流電機(jī)驅(qū)動(dòng)模塊。采用其最新的MOSFET架構(gòu),在實(shí)際應(yīng)用中可以進(jìn)行雙路驅(qū)動(dòng)。和傳統(tǒng)的L298N比較,兩者有一定的共同點(diǎn)。然而,與傳統(tǒng)L298N的高熱量和復(fù)雜的二極管的電流續(xù)流電路相比較,TB66F12G一般情況無需額外散熱,外圍電路簡(jiǎn)潔,電機(jī)可以直接由外部電源濾波后連接對(duì)應(yīng)的電容進(jìn)行驅(qū)動(dòng)。選用合適的電機(jī)使堵轉(zhuǎn)電流小于TB6612FNG最大輸出電流3.2A,利于保障系統(tǒng)的穩(wěn)定性并且可以減小小車的尺寸。對(duì)于PWM信號(hào)的輸入頻率范圍,100KHz以下的頻率可以滿足系統(tǒng)的要求。在實(shí)際使用中,VM直接連接電源即可。VCC為模塊內(nèi)部的邏輯供電引腳,使用5v的電壓進(jìn)行供電即可,模塊擁有的3個(gè)GND都需要進(jìn)行接地。STBY引腳上拉后模塊才能正常工作。這里以A路為例,模塊中的A01引腳與A02引腳分別連接對(duì)應(yīng)電機(jī)的+和-。通過對(duì)應(yīng)的PWA引腳,AIN2引腳,AIN1引腳對(duì)電機(jī)進(jìn)行輸出控制。其中PWMA引腳可以直接連接到微控制器對(duì)應(yīng)的PWM輸出引腳,本文選用10KHZ的頻率進(jìn)行驅(qū)動(dòng),此時(shí)系統(tǒng)可以通過改變輸出的PWM脈沖的占空比來調(diào)節(jié)電機(jī)的速度。下面輸入值對(duì)應(yīng)的真值表:AIN1010AIN2001停止正轉(zhuǎn)反轉(zhuǎn)圖3-7TB6612FNG原理圖3.5霍爾式編碼器模塊在兩輪智能自平衡小車運(yùn)行過程中,系統(tǒng)需要采集多種物理量。例如車體傾斜角度、運(yùn)動(dòng)速度等物理量??梢酝ㄟ^6050輸出的加速度值來對(duì)速度值進(jìn)行估算,但是并不準(zhǔn)確。因?yàn)樾≤嚨膬蓚€(gè)車輪與車速直接相關(guān)。為了更加準(zhǔn)確的獲取速度值,需要對(duì)小車車輪的轉(zhuǎn)速進(jìn)行檢測(cè)。編碼器可以解決上述的問題。而編碼器從其出現(xiàn)到現(xiàn)在的逐漸成熟,已經(jīng)出現(xiàn)了許多不同原理的編碼器??紤]到小車實(shí)際使用的環(huán)境,本系統(tǒng)中使用的是霍爾編碼器。通過檢測(cè)連接在車軸上的磁體相對(duì)于感測(cè)器的相對(duì)位移來輸出對(duì)應(yīng)的脈沖信號(hào)。在結(jié)構(gòu)上由圓形磁體和檢測(cè)模塊組成。無需額外的電路,可以連接到單片機(jī)IO進(jìn)行數(shù)據(jù)的讀出?;魻柎a板均勻地布置在具有不同磁極的圓板上。當(dāng)霍爾碼盤與電機(jī)同軸旋轉(zhuǎn)時(shí),霍爾元件檢測(cè)并輸出多個(gè)脈沖信號(hào),為了準(zhǔn)確判斷電機(jī)旋轉(zhuǎn)方向,因?yàn)榫幋a器擁有兩相輸出且都為方波信號(hào),所以當(dāng)系統(tǒng)想要獲取車輪的轉(zhuǎn)速時(shí)。需要對(duì)這兩個(gè)信號(hào)進(jìn)行采集,這需要用到定時(shí)器,為了減小系統(tǒng)的運(yùn)行負(fù)擔(dān),本文只對(duì)兩相中的一相進(jìn)行采集。因?yàn)閮上噍敵龅牟ㄐ闻c頻率完全一致,只是相差了二分之一周期。只有在需要對(duì)車輪運(yùn)行方向進(jìn)行判斷的時(shí)候,才會(huì)同時(shí)對(duì)兩相進(jìn)行采集。此處將兩相分別命名為x,y。當(dāng)采集到的信號(hào)中x相提前與y相,則此時(shí)車輪為順時(shí)針旋轉(zhuǎn)。反之若是y相提前與x相,車輪則是逆時(shí)針旋轉(zhuǎn)。正反旋信號(hào)的相位關(guān)系見圖3-8所示。圖3-8正反旋信號(hào)相位圖增量式霍爾編碼器輸出為方波信號(hào),由于其自帶上拉電阻,所以其輸出的信號(hào)可直接應(yīng)用微處理器進(jìn)行讀取。對(duì)于沒有編碼器接口的微控制器,如51單片機(jī)??梢酝ㄟ^外部中斷的方式進(jìn)行數(shù)據(jù)的讀取操作,將編碼器x相輸出連接到單片機(jī)的外部中斷接口,在檢測(cè)到信號(hào)的跳變沿時(shí)觸發(fā)外部中斷,進(jìn)入對(duì)應(yīng)的中斷服務(wù)程序中。再對(duì)y相的電平信號(hào)進(jìn)行讀取來確定車輪的轉(zhuǎn)動(dòng)方向。由于在本次設(shè)計(jì)中選用了STM系列微控制器,而其本身具有的TIM模塊可以進(jìn)行編碼器信號(hào)的采集。我們可直接在程序中進(jìn)行設(shè)定。圖3-9為霍爾編碼器。圖3-9霍爾編碼器3.6串口轉(zhuǎn)換模塊因?yàn)槿粘T趩纹瑱C(jī)調(diào)試中用到的最多的是串口。所以在本次的設(shè)計(jì)中,調(diào)試時(shí)應(yīng)用串口向外界打印系統(tǒng)運(yùn)行信息。單片機(jī)想要與上位機(jī)進(jìn)行通信,需要對(duì)傳輸?shù)男盘?hào)進(jìn)行轉(zhuǎn)換。此時(shí)就需要用到串口轉(zhuǎn)換芯片了。市面上的轉(zhuǎn)換芯片有許多個(gè)種類。本文選用國(guó)產(chǎn)的ch340g,具有優(yōu)越的轉(zhuǎn)換性能。并且其價(jià)格低廉,具有極大的優(yōu)點(diǎn)。通過外接模塊來實(shí)現(xiàn)USB與TTL互相轉(zhuǎn)換的功能,見圖3-10。圖3-10串口轉(zhuǎn)換電路圖3.7章節(jié)總述在本章中,對(duì)構(gòu)成平衡小車的各部分硬件進(jìn)行了闡述說明。介紹了其原理以及使用中的注意事項(xiàng)。同時(shí)也對(duì)不同的模塊的電路圖進(jìn)行了展示,只有選取合適的硬件來完成對(duì)小車的硬件搭建工作,才會(huì)在接下來的軟件編程中更加順利。小車由下列幾大模塊構(gòu)成,直流電機(jī)驅(qū)動(dòng)模塊、微控制器、磁編碼器、角度檢測(cè)傳感器。我們完成了對(duì)系統(tǒng)硬件進(jìn)行設(shè)計(jì)并焊接,完成焊接后為第四章編程程序部分打下基礎(chǔ)。第四章程序設(shè)計(jì)在合理的硬件基礎(chǔ)上,運(yùn)行平穩(wěn)高效的軟件程序,才能將預(yù)定功能實(shí)現(xiàn)。軟件程序部分主要包括以下幾個(gè)功能。包括:系統(tǒng)程序初始化,MPU6050對(duì)信號(hào)的獲取與監(jiān)測(cè),數(shù)據(jù)融合算法,自平衡車運(yùn)行算法(包括直立算法和速度算法),以及電機(jī)PWM輸出。4.1程序結(jié)構(gòu)與組成主程序控制過程流程如圖4-1所示:圖4-1主程序控制過程流程圖程序的初始化分為三個(gè)板塊,第一板塊是對(duì)于STM32在此系統(tǒng)中的所應(yīng)用到的各類模塊進(jìn)行初始化。第二板塊是將小車在運(yùn)行過程中運(yùn)用到的各種參量和變量初始化,第三板塊是定時(shí)器的初始化。其中第一部分的程序如下: voidBspInit(void)//對(duì)于各個(gè)模塊的初始化 { SWDConfig();//使能SWD調(diào)試端口 USART1Init();//初始化串行通信接口 TIM3_PWM_Init();//初始化PWM TIM2_Encoder_Init();//初始化編碼器 TIM4_Encoder_Init(); i2cInit();//模擬IIC初始化 MPU6050_Init();//MPU6050初始化 }在調(diào)試的時(shí)候需要一直獲取程序的運(yùn)行狀態(tài)且不能影響進(jìn)程的正常進(jìn)行,應(yīng)用定時(shí)器定時(shí)通過串口1向上位機(jī)發(fā)送小車的相關(guān)數(shù)據(jù)。應(yīng)用上位機(jī)軟件進(jìn)行處理顯示。接下來為MAIN函數(shù)部分: intmain(void) { BspInit(); CarUpstandInit();//初始化系統(tǒng)參數(shù) SysTick_Init();//初始化定時(shí)器 while(1) { if(SoftTimer[1]==0) { SoftTimer[1]=20;//每隔50ms執(zhí)行一次 DebugService();//串口中斷服務(wù)函數(shù) } } }4.2傳感器數(shù)據(jù)讀取4.2.1.傳感器數(shù)據(jù)輸出采集函數(shù)因?yàn)樾枰谛≤嚨倪\(yùn)動(dòng)中不斷獲取大量數(shù)據(jù),其中較為重要和關(guān)鍵的是MPU-6050的回傳數(shù)據(jù),以用來計(jì)算小車的車體角度。相應(yīng)的程序如下: voidSampleInputVoltage(void) { /*此處不作任何濾波處理*/ g_fGyro_y=DataSynthesis(GYRO_YOUT_H);//陀螺儀Y軸 g_fAccel_x=DataSynthesis(ACCEL_XOUT_H);//加速度X軸 g_fAccel_y=DataSynthesis(ACCEL_YOUT_H);//加速度Y軸 g_fAccel_z=DataSynthesis(ACCEL_ZOUT_H);//加速度Z軸 }4.2.2.直流電機(jī)脈沖信號(hào)檢測(cè)處理函數(shù)程序中需要對(duì)微控制器相對(duì)應(yīng)的寄存器進(jìn)行讀取操作,獲取此時(shí)的速度值。再通過與下一次獲取數(shù)據(jù)進(jìn)行比對(duì)來判斷車輪方向,并且計(jì)算車輪轉(zhuǎn)速。以下為部分程序: voidGetMotorPulse(void) {/*讀出T3T4寄存器數(shù)據(jù),得到速度原始值*/ g_iRightMotorPulse=(T4H<<8)+T4L; g_iLeftMotorPulse=(T3H<<8)+T3L; T4T3M&=0x77; T4H=T4L=0; T3H=T3L=0; T4T3M|=0xCC; /*通過前一次PWM輸出判斷電機(jī)正反轉(zhuǎn)*/ If(!MOTOR_LEFT_SPEED_POSITIVE)g_iLeftMotorPulse=-g_iLeftMotorPulse; if(!MOTOR_RIGHT_SPEED_POSITIVE)g_iRightMotorPulse=-g_iRightMotorPulse; /*8毫秒執(zhí)行一次,速度環(huán)控制函數(shù)在循環(huán)10+后執(zhí)行一次,需要獲取的脈 沖數(shù)據(jù)存儲(chǔ)*/ g_iLeftMotorPulseSigma+=g_iLeftMotorPulse; g_iRightMotorPulseSigma+=g_iRightMotorPulse;4.3采用卡爾曼濾波實(shí)現(xiàn)的數(shù)據(jù)融合根據(jù)卡爾曼濾波原理,想要預(yù)估系統(tǒng)在A點(diǎn)角度,則需要其余時(shí)刻的角度來對(duì)此時(shí)的角度進(jìn)行預(yù)測(cè)處理。這樣就可以獲得A點(diǎn)所擁有的高斯白噪聲誤差量。在實(shí)際運(yùn)行中,傳感器測(cè)量的角速度被看作理想的預(yù)估值。而加速度計(jì)回傳的角度數(shù)據(jù)則作為實(shí)際檢測(cè)結(jié)果,系統(tǒng)會(huì)根據(jù)他們之間的協(xié)方差來進(jìn)行遞歸運(yùn)算直到估計(jì)出最優(yōu)的傾斜角度。經(jīng)過實(shí)際的測(cè)試,設(shè)定參數(shù)f為0.51。系統(tǒng)在此時(shí)運(yùn)行較為平穩(wěn),擁有較好的平衡效果。具體實(shí)現(xiàn)的程序如下: VoidAngleCalculate(void) { g_fGravityAngle=(g_fAccel_y-GRAVITY_OFFSET)/16384.0; g_fGravityAngle=g_fGravityAngle*1.2*180/3.14; g_fGyro_x=(g_fGyro_x-GYRO_OFFSET)/16.4; g_fGyroAngleSpeed=g_fGyro_x; g_fCarAngle=0.98*(g_fCarAngle+g_fGyroAngleSpeed*0.008)+0.02*g_fGravityAngl e; }4.4串級(jí)PID控制過程在第二章節(jié)中已有關(guān)于串級(jí)PID算法的簡(jiǎn)單介紹,本章的內(nèi)容主要是關(guān)于如何在程序中實(shí)現(xiàn)相關(guān)的算法。4.4.1豎直狀態(tài)PD控制為了更好的對(duì)小車平衡狀態(tài)進(jìn)行調(diào)整,可以通過在程序中調(diào)整提前設(shè)定好的參數(shù)來獲得更好的平衡效果。如圖4-1所示:圖4-1直立狀態(tài)PD控制流程圖 程序如下: voidAngleControl(void) { g_fAngleControlOut=g_fCarAngle*g_tCarAnglePID.P+g_fGyroAngleSpeed* (g_tCarAnglePID.D); }這里因?yàn)榱闫呛皖A(yù)設(shè)角速度都為0,所以在程序中未進(jìn)行添加。微分變量直接采用的是陀螺儀的角速度值,將函數(shù)的輸出值作為PWM輸出值。再對(duì)PWM的輸出量進(jìn)行一定的限幅設(shè)置,即可使得小車直立。4.4.2PI控制小車速度在本文的設(shè)計(jì)需求中不僅僅要求小車在運(yùn)動(dòng)中能夠保持車體垂直,同樣也應(yīng)該能在靜止?fàn)顟B(tài)下保持車體垂直。應(yīng)用積分來去除系統(tǒng)在運(yùn)行中積累的誤差量。實(shí)際中應(yīng)用編碼器獲得平衡車的實(shí)時(shí)車輪轉(zhuǎn)速,與系統(tǒng)中的設(shè)定速度值進(jìn)行相減運(yùn)算。得到需要的誤差值,從而能夠完成PI運(yùn)算過程。過程如圖4-3所示:圖4-2速度PI控制流程圖程序如下: voidSpeedControl(void) { floatfP,fI; floatfDelta; g_fCarSpeed=(g_s32LeftMotorPulseSigma+g_s32RightMotorPulseSigma)*0.5; g_s32LeftMotorPulseSigma=g_s32RightMotorPulseSigma=0;//全局變量清零 g_fCarSpeed=0.7*g_fCarSpeedOld+0.3*g_fCarSpeed;//低通濾波減少積分控制影響 g_fCarSpeedOld=g_fCarSpeed; fDelta=CAR_SPEED_SET; fDelta-=g_fCarSpeed; fP=fDelta*(g_tCarSpeedPID.P); fI=fDelta*(g_tCarSpeedPID.I/10.0);g_fCarPosition+=fI;//積分上限設(shè)置限度 If((s16g_fCarPosition>CAR_POSITION_M)g_fCarPosition=CAR_POSITION_MAX; If((s16)g_fCarPosition<CAR_POSITION_MIN)g_fCarPosition=CAR_POSITION_MIN;g_fSpeedControlOutOld=g_fSpeedControlOutNew; g_fSpeedControlOutNew=fP+g_fCarPosition; }若想實(shí)現(xiàn)對(duì)運(yùn)行過程中車速的控制,可以改變速度預(yù)設(shè)值CAR_SPEED_SET。4.5直流電機(jī)PWM控制在控制過程對(duì)車輪直流電機(jī)進(jìn)行控制時(shí),需要將對(duì)應(yīng)的PID控制算法輸出量進(jìn)行疊加,得到驅(qū)動(dòng)電機(jī)的控制量。再通過控制占空比來控制輸出電壓的大小,進(jìn)而控制直流電機(jī)的轉(zhuǎn)速。該算法主要流程框如圖4-3所示:圖4-3電機(jī)控制流程圖以下是微控制器對(duì)直流電機(jī)進(jìn)行PWM控制輸出的程序: voidMotorOutput(void){ g_fLeftMotorOut=g_fAngleControlOut-g_fSpeedControlOut; g_fRightMotorOut=g_fAngleControlOut-g_fSpeedControlOut;if((int)g_fLeftMotorOut>0)g_fLeftMotorOut+=MOTOR_OUT_DEAD_VAL; Elseif((int)g_fLeftMotorOut<0)g_fLeftMotorOut-=MOTOR_OUT_DEAD_VAL; If((int)g_fRightMotorOut>0)g_fRightMotorOut+=MOTOR_OUT_DEAD_VAL; Elseif((int)g_fRightMotorOut<0)g_fRightMotorOut-=MOTOR_OUT_DEAD_VAL; //輸出飽和處理,防止超出PWM范圍 If((int)g_fLeftMotorOut>MOTOR_OUT_MAX)g_fLeftMotorOut=MOTOR_OUT_MAX; If((int)g_fLeftMotorOut<MOTOR_OUT_MIN)g_fLeftMotorOut=MOTOR_OUT_MIN; If((int)g_fRightMotorOut>MOTOR_OUT_MAX)g_fRightMotorOut=MOTOR_OUT_MAX; If((int)g_fRightMotorOut<MOTOR_OUT_MIN)g_fRightMotorOut=MOTOR_OUT_MIN; SetMotorVoltageAndDirection((int)g_fLeftMotorOut,(int)g_fRightMotorOut); }4.6程序不足總結(jié)與反思經(jīng)過一段時(shí)間的調(diào)試,兩輪智能平衡小車已經(jīng)可以實(shí)現(xiàn)自我平衡控制的目標(biāo)。但是在這之中也存在著不足的地方??梢栽诟咚倨胶夂途珳?zhǔn)控制方面做一些改進(jìn)。但是在提高車輛速度的同時(shí)也要對(duì)其安全性進(jìn)行考慮。如何消除小車在靜止?fàn)顟B(tài)出現(xiàn)的車身抖動(dòng)。在運(yùn)行的過程中,有的時(shí)候會(huì)出現(xiàn)電機(jī)發(fā)熱的情況,雖然未對(duì)小車的控制造成影響,但是這也時(shí)可能影響小車系統(tǒng)穩(wěn)定性的一個(gè)因素。對(duì)此,可以在控制過程中加入對(duì)于電機(jī)的保護(hù)參數(shù)。以免電機(jī)在極端情況下?lián)p壞。因?yàn)樾≤嚮謴?fù)自我平衡的能力是有限的,當(dāng)小車的自重較大或是加了負(fù)載以后,車輛的平衡控制狀態(tài)會(huì)發(fā)生改變,有時(shí)就不能恢復(fù)到車身豎直狀態(tài)。這個(gè)時(shí)候,PID控制會(huì)一直正反饋加大對(duì)電機(jī)的控制輸出。可以對(duì)小車的傾角進(jìn)行檢測(cè),若大于先前設(shè)定的閾值,則需要切斷對(duì)電機(jī)的控制信號(hào),以保證設(shè)備的安全。4.7本章內(nèi)容總結(jié)本章中針對(duì)平衡小車程序的各個(gè)部分進(jìn)行了功能闡述與技術(shù)細(xì)節(jié)討論,包括用互補(bǔ)濾波進(jìn)行數(shù)據(jù)融合,以此獲得更加精確的角度值,對(duì)小車平衡方式的控制采用較為成熟的串級(jí)pid。從而實(shí)現(xiàn)對(duì)小車更加精確的控制。以流程圖的形式對(duì)具體的控制算法進(jìn)行了說明。在最后提出了可以進(jìn)行改進(jìn)的建議。第五章整車調(diào)試檢測(cè)經(jīng)過前幾章的硬件設(shè)計(jì)與軟件編寫,已經(jīng)做好了兩輪智能自平衡小車的測(cè)試準(zhǔn)備工作。但是想到得到更好的效果,還需要對(duì)小車中的各類控制參數(shù)進(jìn)行細(xì)微調(diào)整,尋找到最合適的那一組參數(shù)。所以調(diào)參在整個(gè)制作過程中是極為重要的。5.1軟件測(cè)試平臺(tái)簡(jiǎn)介微控制器提供的調(diào)試接口為傳統(tǒng)的SWD接口,采用該接口通過J-link進(jìn)行程序下載、調(diào)試。IDE采用的是KEIL5MDK,是由KEIL公司在2012年出發(fā)布的一款針對(duì)ARM系列以及cortex-M內(nèi)核的開發(fā)工具。在其環(huán)境下應(yīng)用傳統(tǒng)的C語言進(jìn)行開發(fā)調(diào)試工作,在軟件中可以方便的完成斷點(diǎn)測(cè)試任務(wù)。并且其內(nèi)部還集成了多種下載器。其開發(fā)工具界面如圖5-1:圖5-1IDE開發(fā)界面5.2姿態(tài)檢測(cè)系統(tǒng)調(diào)試本系統(tǒng)中運(yùn)用MPU6050運(yùn)動(dòng)處理傳感器構(gòu)建的姿態(tài)檢測(cè)系統(tǒng)是進(jìn)行系統(tǒng)控制的基礎(chǔ)。其測(cè)量數(shù)據(jù)的精度對(duì)于實(shí)驗(yàn)結(jié)果也具有很大的影響,直接影響著小車能否完成自平衡的任務(wù)。在系統(tǒng)實(shí)際運(yùn)行過程中,陀螺儀和加速度計(jì)存在不同頻段的噪聲而會(huì)在檢測(cè)過程中產(chǎn)生一定的誤差。并且系統(tǒng)內(nèi)部可能存在控制誤差,為了減弱直至消除噪聲對(duì)系統(tǒng)穩(wěn)定運(yùn)行帶來的影響。首先需要確認(rèn)6050是否能夠正常獲取數(shù)據(jù)。在測(cè)試環(huán)節(jié)應(yīng)用串口打印將接收到的數(shù)據(jù)發(fā)送到上位機(jī),從而獲得實(shí)時(shí)變化的圖像,結(jié)合小車此時(shí)的實(shí)際狀態(tài)來判斷傳感器是否正常。如果在調(diào)試過程中出現(xiàn)問題,找出對(duì)數(shù)據(jù)處理存在干擾的干擾源,可以從兩方面入手,在程序中加強(qiáng)濾波的效果,或者在硬件電路中尋求解決。使MPU6050可以正常工作,輸出準(zhǔn)確的角度和加速度數(shù)據(jù)。圖5-2為串口調(diào)試。圖5-2串口數(shù)據(jù)接收5.3雙輪自平衡小車直立控制PID參數(shù)的設(shè)定在本系統(tǒng)中控制部分采用的是閉環(huán)串級(jí)PID控制算法,因?yàn)槠鋮?shù)具有不確定性,所以PID控制參數(shù)需要通過多次實(shí)驗(yàn)驗(yàn)證所調(diào)整參數(shù)的合理性,不斷試驗(yàn)直到尋找到能使雙輪自平衡小車平衡控制系統(tǒng)實(shí)現(xiàn)較為穩(wěn)定的自平衡控制的最佳參數(shù)。以下為雙輪自平衡小車的姿態(tài)環(huán)的PID參數(shù)調(diào)試過程:首先對(duì)Kp的值進(jìn)行階段性調(diào)整,使雙輪自平衡小車保持垂直方向得穩(wěn)定狀態(tài)。在這個(gè)時(shí)候,雙輪自平衡小車會(huì)在一定范圍內(nèi)振蕩,但仍然可以保持平衡。2.第二步對(duì)雙輪自平衡小車的Kp值進(jìn)行調(diào)整,調(diào)整為原先參數(shù)的80%。再慢慢的對(duì)Kd的值進(jìn)行調(diào)整,當(dāng)雙輪自平衡小車可以保持平衡時(shí),停止調(diào)整Kd參數(shù)的數(shù)值。3.精細(xì)調(diào)整在上面兩個(gè)步驟中已經(jīng)調(diào)整過的Kp與Kd的數(shù)值,可以將Kp的數(shù)值增加,然后針對(duì)參數(shù)Kd進(jìn)行細(xì)微的調(diào)整微調(diào),以尋求最穩(wěn)定的平衡狀態(tài)。通過多次的嘗試與實(shí)驗(yàn),最終得到以下的參數(shù)。Kp=6.35,Kd=0.72。在以上參數(shù)時(shí),經(jīng)過多次的驗(yàn)證實(shí)驗(yàn),雙輪自平衡小車能在較短的時(shí)間內(nèi)恢復(fù)平衡穩(wěn)定狀態(tài)并且保持。以上為雙輪自平衡小車的平衡控制PID參數(shù)的調(diào)整設(shè)定過程。采用同樣的方法對(duì)運(yùn)行速度PID參數(shù)進(jìn)行調(diào)試,最終的調(diào)試結(jié)果為在Ksp=6.55時(shí),雙輪之自平衡小車能夠以較快的速度達(dá)到穩(wěn)定的平衡狀態(tài)。通過前期的理論分析我們可以得知。在雙輪自平衡小車進(jìn)行自我平衡控制的過程中,如果施加一個(gè)外力來打破平衡狀態(tài),此時(shí)雙輪自平衡小車的受力狀態(tài)會(huì)發(fā)生改變,此時(shí)需要小車快速對(duì)自身的姿態(tài)的改變做出調(diào)整動(dòng)作。通過驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng)改變軸向的受力,重新調(diào)整姿態(tài)來達(dá)到一個(gè)新的平衡狀態(tài)。在剛剛開始進(jìn)行調(diào)試的時(shí)候,雙輪自平衡小車能夠?qū)ψ藨B(tài)的變化做出相應(yīng)的調(diào)整動(dòng)作。但存在不確定性以及震蕩,需要較長(zhǎng)的時(shí)間才能恢復(fù)穩(wěn)定的平衡狀態(tài)。在調(diào)整過程中,不斷修正相關(guān)的PID參數(shù),讓雙輪自平衡小車可以實(shí)現(xiàn)對(duì)姿態(tài)變化的快速響應(yīng)與調(diào)整。經(jīng)過參數(shù)調(diào)整的雙輪自平衡小車平衡姿態(tài)時(shí)效如圖所示。系統(tǒng)通電后,雙輪自平衡小車完成自我平衡調(diào)整所用的時(shí)間6s。在實(shí)驗(yàn)過程中所用的普通混凝土地面上,雙輪自平衡小車自我可控的傾斜角度范圍約為15度。如果在小車保持穩(wěn)定平衡狀態(tài)時(shí)對(duì)其施加一定外來作用力,可以在較短的時(shí)間內(nèi)恢復(fù)自我平衡穩(wěn)定狀態(tài)。5.4本章小結(jié)本章主要闡述雙輪自平衡小車控制系統(tǒng)各個(gè)關(guān)鍵的模塊的調(diào)試過程以及相關(guān)的方法。同時(shí)也詳細(xì)的介紹了Kalman濾波中的參數(shù)的調(diào)整與相應(yīng)的串級(jí)PID控制系統(tǒng)中相關(guān)的參數(shù)的調(diào)整設(shè)定。通過不斷的調(diào)整與實(shí)驗(yàn),使雙輪智能自平衡小車可以完美的實(shí)現(xiàn)平衡功能。并且在此基礎(chǔ)上,具有一定的帶載能力,達(dá)到本文開頭所預(yù)期的預(yù)期的效果。第六章文章總結(jié)6.1總結(jié)本文對(duì)雙輪智能自平衡小車的硬件部分進(jìn)行了分析與設(shè)計(jì),并在完成相對(duì)應(yīng)的硬件結(jié)構(gòu)后進(jìn)行了相關(guān)參數(shù)的調(diào)整測(cè)試。制作完成基于串級(jí)PID算法進(jìn)行自我平衡保持的雙輪自平衡小車,該雙輪自平衡小車可以進(jìn)行速度的控制與自我平衡調(diào)節(jié)。在進(jìn)行雙輪自平衡小車的硬件電路的設(shè)計(jì)工作時(shí),選用ST公司的STM32F103cct6為本系統(tǒng)中的主控芯片。其具有豐富外設(shè)和較高的主頻,完全可以滿足設(shè)計(jì)需求。在系統(tǒng)電源設(shè)計(jì)時(shí),為了系統(tǒng)在運(yùn)行時(shí)更加的穩(wěn)定,選取了芯片MPS2307DN和ASM1117-3.3分別負(fù)責(zé)不同的降壓功能。為系統(tǒng)內(nèi)的其他模塊提供相應(yīng)的工作電壓。在驅(qū)動(dòng)模塊的部分,TB6612FNG作為電機(jī)驅(qū)動(dòng)模塊。因其具有較大的工作電流以及相對(duì)其他模塊較為小巧的體積,方便了在系統(tǒng)中的放置。節(jié)約了系統(tǒng)內(nèi)的空間,提高了系統(tǒng)運(yùn)行的穩(wěn)定性。為了進(jìn)一步提高平衡控制的效果,在系統(tǒng)中將編碼器和姿態(tài)模塊相結(jié)合進(jìn)行控制。使其具備了自我平衡保持及速度控制的功能。在軟件部分,重點(diǎn)在軟件程序的結(jié)構(gòu)和算法,為了讓系統(tǒng)具有更好的穩(wěn)定性,在進(jìn)行設(shè)計(jì)時(shí)對(duì)硬件部分也進(jìn)行了考慮。因?yàn)橄到y(tǒng)內(nèi)選取的MPU6050傳感器具有一定的噪聲濾除的功能。我們?cè)谶M(jìn)行軟件部分的設(shè)計(jì)時(shí)間選取了卡爾曼濾波的數(shù)據(jù)融合方式,對(duì)傳感器回傳的數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算。以此以期望獲得精度更高的數(shù)據(jù)。在兩輪智能平衡車的主要平衡算法中,采用具有較高精度和穩(wěn)定性的串級(jí)PID算法。并且對(duì)雙輪自平衡小車的不同的受力狀態(tài)進(jìn)行了理論層面的分析計(jì)算。在硬件結(jié)構(gòu)設(shè)計(jì)完成后,進(jìn)行了PID參數(shù)的調(diào)整測(cè)試,使雙輪自平衡小車具有更好的抗干擾性。致
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度內(nèi)陸水路貨物運(yùn)輸代理合同樣本
- 二零二五年度廣告?zhèn)髅叫袠I(yè)設(shè)計(jì)人員派遣合同范本2篇
- 二零二五年度土地征收與補(bǔ)償安置合同模板
- 2025年度上市公司人事勞動(dòng)合同模板2篇
- 2025年度個(gè)人旅游線路設(shè)計(jì)服務(wù)合同4篇
- 二零二五年度電梯鋼結(jié)構(gòu)高空作業(yè)安全防護(hù)承包合同2篇
- 2025版智慧苗圃基地規(guī)劃設(shè)計(jì)施工一體化合同4篇
- 二零二五版內(nèi)墻批灰與智能家居照明系統(tǒng)合同4篇
- 課題申報(bào)參考:面向破損兵馬俑修復(fù)的碎片多尺度全局T o k e n掩碼學(xué)習(xí)分類研究
- 2025年度商鋪?zhàn)赓U合同(含租賃物安全責(zé)任)
- 《電影之創(chuàng)戰(zhàn)紀(jì)》課件
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- 開題報(bào)告-鑄牢中華民族共同體意識(shí)的學(xué)校教育研究
- 《醫(yī)院標(biāo)識(shí)牌規(guī)劃設(shè)計(jì)方案》
- 公司2025年會(huì)暨員工團(tuán)隊(duì)頒獎(jiǎng)盛典攜手同行共創(chuàng)未來模板
- 新滬科版八年級(jí)物理第三章光的世界各個(gè)章節(jié)測(cè)試試題(含答案)
- 夜市運(yùn)營(yíng)投標(biāo)方案(技術(shù)方案)
- 電接點(diǎn) 水位計(jì)工作原理及故障處理
- 國(guó)家職業(yè)大典
- 2024版房產(chǎn)代持協(xié)議書樣本
- 2024年3月計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫技術(shù)筆試真題及答案
評(píng)論
0/150
提交評(píng)論