馬 靜,張 玉
(西安工業大學 計算機科學與工程學院,陜西 西安710021)
無人小車速度控制系統的設計與實現
馬 靜,張 玉
(西安工業大學 計算機科學與工程學院,陜西 西安710021)
本文提出了一種基于STM32嵌入式微處理器的無人小車速度控制技術。無人小車是以四輪式結構作為機械平臺,選擇常見的電機驅動模塊。根據軟硬件的相關配置編寫程序,實現無人小車的基本運轉及無人小車的調速和測速功能,達到智能控制,完成設計目標。
無人小車;STM32;智能控制;調速;測速
近年來,隨著科技的進步,人們在不斷的追求高品質的生活,車是人們外出的首選方案,電瓶車、私家車、公共汽車等都和我們的生活息息相關,因此,車輛技術[1]的研究備受關注,人們主要從環保、節能、安全等的方向展開研究。在研究車輛技術的安全性上,車輛速度是否能夠精確控制至關重要。
無人小車是實現交通智能化的前提、是高新技術研發的基礎和載體,它是完成一項或者多項功能駕駛任務的綜合車輛技術的前提條件。無人小車是一個集各種高科技和創新技術為一體的智能系統,包括對不同環境的感知技術、路徑規劃技術、智能駕駛等技術,結合這些高新技術,使它在遇到障礙物時具有自動識別的功能,通過自動報警裝置,系統的采取車速、方向、安全距離等一系列的自動控制。它集中運用了傳感器、信息、通信、計算機、導航、人工智能及自動控制等技術,是典型的高新技術綜合體[2]。無人小車的應用非常廣泛,它的研發將受益于各行各業,包括可以代替人在倉庫搬運東西,減輕人的負擔;可以運用于無人駕駛的車輛、生產線、服務業,減少人力;應用于航空航天領域,推動航天事業的發展。它的研究對于智能駕駛、抗險救災、外太空探測等都有重大意義,因此,為了使無人小車在最佳狀態下工作,進一步研究及完善其速度的控制是非常有必要的。
本設計運用STM32嵌入式微處理器[3]知識設計了一個無人小車速度控制系統,keil uvision4和JDK作為軟件開發平臺,選擇常見的電機模型車為機械平臺,通過細化設計要求,結合傳感器技術[4]和電機控制技術相關知識[5],實現無人小車速度控制等一系列的功能,主要體現在無人小車的速度測量和調速兩個方面。
本系統總體框圖如圖1所示,主要有電源模塊,核心處理器模塊,電機驅動模塊。

圖1 系統結構
無人小車的核心處理器模塊為STM32F103VE,其優點在于性價比較高、配置比較靈活、低功耗等;電機驅動模塊是雙L298N,其支持PWM調速;電機為ASLONG JGA25-371,其速度穩定,性價比高。
1)電源模塊
其功能是提供給驅動模塊驅動電機所需12 V的電壓。電機驅動模塊通過轉接器,給核心處理器提供其所需的5 V電壓。
2)核心處理器模塊
負責采集各模塊回傳的信息和數據,并進行相應的處理,協調各模塊完成它們的預定的任務,起到控制整個系統運作的作用。
3)電機驅動模塊
電機驅動模塊雙L298N支持PWM方式調速[6]。主要功能是驅動電機,使小車能夠完成基本的運轉。控制器通過對PWM輸出的控制,進而通過控制電機驅動模塊芯片的管腳來達到對電機速度的控制,并且攜帶編碼器和控制器內的計數器配合使用,完成測速功能。
這里采用的是直流調速系統 ,直流調速系統[7]的主要優點是啟制動性能好和良好的調速性能,速度穩定,維修便宜,經濟適用,能夠實現平滑而經濟的調速。目前常見的直流調速系統有電樞回路串電阻調速系統,晶閘管變流器供電調速系統和脈沖調速系統。
1)電樞回路串電阻調速系統
電樞回路串電阻調速的原理是通過交流發電機的拖動,給直流發電機供電,通過調節勵磁電流使輸出電壓發生改變,進而達到了調速的目的。但這種調速發法所需的外來設備較多,調速范圍較小,體積較大,效率較低,適用于小功率的電動機和調速精度要求不高的場合。
2)晶閘管變流器供電調速系統
通過調節觸發器的控制電壓來改變觸發脈沖的相位,這樣就改變了整流電壓的大小,實現了調速,但是,由于晶閘管它不是雙向導電,只是單向導電,所以可逆運行實現起來還是比較復雜,進而導致運行條件高,費用貴,維護不方便。
3)脈沖調速系統
脈沖寬度調制(Pulse Width Modulation),簡稱PWM。其方法是通過改變電機電樞電壓通電時間與導通時間的比值(即占空比)來控制電機速度。在電源電壓不變的情況下,電樞端電壓的平均值取決于占空比的大小,改變占空比的值可以改變電樞端電壓的平均值從而達到調速的目的。如果能夠實現占空比的連續調節即可實現直流電機無級調速。其優勢有電路損耗小,效率比較高;頻率高,因此獲得很寬的頻帶,響應速度快,且抗干擾能力強;系統低速運行時較平穩,調速范圍較寬,在等電流下,損耗及發熱較小。
電機速度的檢測是整個無人小車控制必不可少的一部分,而速度控制的精度是速度檢測的核心部分。目前,具有較高精度控制的系統是基于反饋信號的閉環控制系統[8],即就是增加測量電機轉速的傳感器。常見的測速方案有霍爾傳感器[9]和光電式編碼器。
1)霍爾傳感器
霍爾傳感器是利用霍爾效應和它內部的集成電路進行磁電轉換的一種靈敏度高的傳感器,它的基本結構是在帶動電機轉動的轉軸上有一個轉盤,轉盤上裝有若干個磁鋼,磁鋼均勻分布,在距離轉盤1~2 mm處裝有一個固定的霍爾傳感器,當轉軸轉動時,帶動轉盤轉動,小磁鋼通過霍爾傳感器時輸出相應的脈沖,小磁鋼愈多輸出的脈沖也越多,即小磁鋼越多越精確。通過采納固定時間內的脈沖數進行相應的減速比轉換后計算出轉速。
2)光電式編碼器
它裝在電機的轉軸上,電機的轉軸轉動時隨軸一起轉動,發光元件光發出的光通過光柵被光敏元件接收后經過轉化以脈沖信號形式輸出。在轉軸的帶動下,碼盤的位置不的斷變化,相繼輸出一系列的脈沖信號,根據位置變化的方向用計數器對輸出來的脈沖信號進行加/減計數,通過采樣固定時間內的脈沖數,經過轉換后獲得轉速。此方法靈敏度較高,但容易受外界光源影響。
采用PWM方式調速,PWM是英文“Pulse Width Modulation”的縮寫,即脈沖寬度調制,其方法是通過調節高電平時間和整個周期時間的比值(即占空比)來控制電機速度。也就是說要按固定的頻率來接通和斷開電源,并且根據實際需要改變固定周期內“接通”和“斷開”時間的長短。通過改變直流電動機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉速。
當電機通電時,速度增加;電機斷電時,速度逐漸減少。因此,掌握通、斷電時間的變化規律,改變通、斷時間即可讓電機轉速得到控制。設電機一直接通電源時,設占空比為D=t1/T,Vd為電機的平均速度,Vmax是電機全通時的電壓,Vd=Vmax·D,式中,Vd為電機的平均速度,Vmax為電機兩端的最大電壓,D為占空比。平均速度Vd與占空比D的函數曲線如圖2所示。

圖2 平均速度和占空比的關系
由圖2可以看出,在T不變的情況下改變t1就能得到不同的電壓,準確的來說,Vd與占空比D并不是完全線性關系(圖中實線),理想情況下,可以將其近似地看成線性關系(圖中虛線)。在電源電壓始終不變的情況下,電樞端電壓的平均值取決于占空比的大小,通過改變占空比的值可以改變電樞端電壓的平均值從而達到調速的目的。占空比越大,電機轉得越快,當占空比為1時,電機轉速最大。如果能夠實現占空比的連續調節即可實現直流電機無級調速。
具體方法為:在小車行駛期間,電源經過PWM輸出控制后會給小車提供一個平均電壓。當電源輸出的電壓為最大值Vmax時,平均電壓Vd=Vmax*D=Vmax*(t1/T)。其中t1為高電平持續的時間,T為PWM的周期。在T不變的前提下,通過調高電平時間內的脈沖數與一個周期內的脈沖數的比值來調占空比,從而達到控制無人小車轉度的目的。
調速采用的是PWM1模式的向上計數方式,即TIMx_CNT<TIMx_CCR1時通道為有效電平,否則為無效電平;并通過改變CCRX的值來改變占空比來調壓,從而實現無人小車的調速。例如:設定CCRX的值為x,PWM1向上計數模式時低電平為有效,則當 TIMx_CNT<TIMx_CCR1時,輸出的是低電平,因此在一個周期中,低電平占了x%,而高電平占了(100-x)%,而占空比是一個周期中高電平所占時間比率為占空比,故此時占空比為D為(100-x)%。
通過PWM方式調速,高電平時間和整個周期時間的比值即占空比對速度的影響如表1所示。

表1 占空比對速度的影響
由表1中數據可以得出占空比的值和手工測量速度的值的關系,在電源電壓始終不變的情況下,占空比的值越大,速度越大,如果能夠實現占空比的連續調節,則可實現電機的無極調速。
由于增量式編碼器的測速精確,因此,這里采用增量式旋轉編碼器來測速,它裝在電機的轉軸上,電機的轉軸轉動時編碼器隨之轉動,轉軸帶動車輪的轉速情況是以脈沖信號形式輸出的。碼盤的位置隨轉軸在不斷發生變化,輸出一系列的脈沖信號,根據位置變化的方向用計數器對脈沖信號進行加/減計數,通過采樣固定時間的脈沖數,經過轉換后獲得轉速。圖3為光電式編碼器的示意圖,一個帶光柵的碼盤,由發光元件作為光源來發射光,隨著碼盤的轉動,不斷地有光通過光柵,光通過光柵時,光敏元件接收到光,即接收到高電平,輸出脈沖信號,光敏元件沒有接收到光時,沒有光通過光柵,接收到低電平,即沒有脈沖輸出。如果一個碼盤的光柵數越多,則它的精度越高。電機旋轉一圈,碼盤上有多少個光柵,接受管就會接收多少個高電平,進而輸出相應的脈沖信號。這里采用的是ASLONG JGA25-371電機,它攜帶的是334線碼盤,即334個光柵,具有較高的測速精度,其電機轉一圈輸出334個脈沖,芯片上已集成了脈沖整形觸發的電路,輸出的是矩形方波,將脈沖輸出線接在單片機上,通過單片機處理后獲得電機的速度。

圖3 編碼器
增量式旋轉編碼器利用它的內部兩個光敏接受管通過轉化角度碼盤的時序和及它的相位關系,得到角度碼盤角度位移量增加即正轉或減少即負轉。如圖4為編碼器的原理圖。

圖4 增量式旋轉編碼器原理
A,B兩點分別對應的是兩個光敏接受管,它們之間的距離是S2,碼盤上的光柵間距分別為S0和S1。S0和S1距離的和是S2的四倍。這樣保證了A,B波形相位相差90度。旋轉的反向不同,鋸齒波A,B先到達高電平的順序就會不同,如圖4左側所示,利用順序的不同,就可以得到旋轉的方向。
測速方法是M法測速,如圖5,M法測速即在固定周期的時間Tc內,碼盤隨位置不斷地的變化輸出一系列的脈沖信號,計數器對脈沖信號進行計數,計數值為M1,電機每轉動一圈輸出Z1個脈沖,電機的轉速習慣上用r/min為單位,而時間T是以秒為單位,則設轉速為n

上式中Z1為碼盤的線數是固定值,Tc是自己設定的合理測量周期也是固定值,因此可以得出轉速n與脈沖數M1成正比,轉速越小誤差越大,轉速過低時,計數值M1的值可能會小于1,此時電機轉軸不能正常運轉,所以M法適合高速段[10]。
由于 ASLONG JGA25-371電機在這里選用的是21.3:1的減速比,即是電機軸轉動21.3圈,電機輸出一圈,即輸出一圈光柵數為21.3*334,空載時轉速為201 r/min,在固定時間t內計數器對脈沖信號的計數值為i,即編碼器輸出的值為i,由于是脈沖上升沿和下降沿都會計數,計數器就會在一個脈沖周期內計4次計數原理如圖6所示,則t時間內光柵總數為x=i/4,轉速 n=60x/(21.3*334*t)。

圖5 M法測速

圖6 計數器計數原理
為了方便測量和運算,這里采用電機上的車輪每秒轉一圈為轉速,實際電機轉速可以經過相應轉化后得出,經過測量,車輪周長為20 cm,編碼器測速經過軟件測量和手測量值如表2。

表2 誤差分析
從2表中數據得出誤差范圍較大,導致誤差較大的原因包括模型車各部分硬件的重量,如電池、螺絲等,電機轉軸帶動的輪子不夠靈活,光電式編碼器受外見光的影響以及手工測量受路面摩擦力等的影響等。還有一個重要的原因是這里采用的是M法測速,M法測速適合高速測速,當轉速越小的時候誤差越大,甚至小到計數值小于1,不能正常行駛。后期應做出的調整主要是從測速方法上,選擇M/T法,這種測速方法,即適應高速又適應低速,避免M法在低速時誤差大。
本系統基于STM32系列單片機,選擇常見的電機模型車作為機械平臺,通過細化要求,結合傳感器和電機知識對無人小車進行速度控制,實現了基本的小車速度的調控和速度的檢測,但是要達到智能控制還有很多地方需要調整和完善,主要從調速穩定性、避障、循跡等方面著手完善。對于這幾點的研究有待后期做進一步探討。
[1]葛廣軍,楊帆.基于單片機的智能小車控制系統設計[J].河南城建學院學報,2011,3(20):47-50.
[2]丁芝琴.基于霍爾傳感器的電機測速裝置設計[J].農機化研究,2010(5):81-83.
[3]郭清,王元昔.霍爾傳感器在直流電機轉速測量中的應用研究[J].傳感器與微系統,2011,7(30):54-56.
[4]陳育中.霍爾傳感器測速系統的設計[J].科學技術與工程,2010,30(10):7529-7532.
[5]王美麗.霍爾傳感器的應用探討[J].山西電子技術,2010(4):84-86.
[6]張順星,梁小宜.基于旋轉編碼器及MCGS的電機測速系統設計與實現[J].自動化與儀器儀表,2014(11):161-163.
[7]丁衛東,朱衛民,曹玲芝.基于增量式光電編碼器電機測速系統的設計[J].鄭州輕工業學院學報:自然科學版,2013,6(28):95-97.
[8]周維來,裴景斌,徐殿國.基于雙PWM控制永磁直驅風電變流器的研究[J].變頻器世界,2010(5):60-63.
[9]王瑜,王斌.基于STC系列微控制器的電機數字測速系統設計[J].電氣技術,2012(3):69-71.
[10]焦東升,張秀彬,應俊豪.基于正交編碼器高精度測速方法的研究[J].微型電腦應用,2010.10(26):13-15.
[11]王文成,李健.基于單片機的電機轉速測量系統的設計[J].儀表技術與傳感器,2011(8):70-72.
[12]李玲,李洋濤.基于FPGA的相關測速系統[J].微型機與應用,2012,20(31):68-71.
[13]鄭隆舉,李慧芳,王志全,等.基于單片機的電機測速系統設計[J].自動化與儀器儀表,2015(3):37-39.
[14]王靖.基于FPGA的電機測速系統設計[J].電子設計工程,2013(12):46-49.
[15]郭志勇.單片機應用技術項目教程(C語言版)[M].北京:中國水利水電出版社,2011.
Design and realization of speed control system based on single chip microcomputer
MA Jing,ZHANG Yu
(School of Computer Science and Engineering,Xi'an Technological University,Xi'an 710021,China)
A speed control technology based on STM32 embedded microprocessor is presented was proposed.Unmanned vehicle is a four wheeled structure as a mechanical platform,it choose common motordrive module.A programwrote according to the related software and hardware configuration,realizes the basic operation of unmanned vehicle and control of speed and speed measuring function.The program achieve intelligent control and complete design goal.
unmanned vehicle; STM32; intelligent control; control of speed; speed measuring
TP242.6
A
1674-6236(2017)16-0138-05
2016-07-17稿件編號:201607126
西安工業大學跨學科研究基金無人車自動避障與路徑規劃技術研究(CXY 1340-6);國家大學生創新創業項目(201410702037);陜西省"面向工程應用的計算機嵌入式技術人才培養模式創新實驗區"支持項目
馬 靜(1980—),女,陜西西安人,碩士,講師。研究方向:嵌入式系統。