框圖,整個系統劃分為4個主要部分:傳感器部分,控制部分,人機 交互部分和電機驅動部分,傳感器部分連接控制部分,控制部分連接驅動電機部分,且控制 部分和人機交互部分相交互。控制部分采用STM32主控制器芯片,用于控制平衡車的兩個 無刷直流電機,并利用傳感器信號不斷調整平衡車的姿態和行駛速度,實現在不同路況和 行駛要求下的整車穩定行駛。通過一些人機交互模塊可以實現對平衡車的工作狀態和性能 顯示,并通過無線技術可以完成平衡車的無人遙控控制能力。
[0053] 圖2為硬件結構圖,主要包括:
[0054] (1)傳感器部分:主要由數字陀螺儀,加速度計,編碼器,操作桿,避障傳感器,紅 外傳感器,電壓傳感器和電流傳感器構成。傳感器可直接采集所需要的信息,其中,數字陀 螺儀用來采集車身偏移的角速度,加速度計用來采集車身偏移角度,當車體有偏移角度的 時候,重力會在水平和垂直方向產生兩個加速度,加速度計獲取其中一個通過計算來獲取 與豎直方向的夾角;編碼器用來采集實際速度,操作桿用來采集方向控制量,避障傳感器用 來檢測障礙情況,紅外傳感器用來檢測路況,電壓和電流傳感器分別用來采集電機的定子 電壓和繞組電流信息。
[0055] (2)控制部分:由單片機和最小系統板組成。主要通過獲取傳感器的反饋信號來 控制電機的運行、維持自平衡、和實現相關功能。例如獲取電壓、電流傳感器、數字陀螺儀、 加速度計的反饋信號,將反饋信號經過控制部分的調理運算(倍數放大和偏置運算)產生 一個輸出信號控制電機從而保持車體的自平衡;獲取紅外傳感器的反饋信號,通過相關處 理對路況當前的平整度進行判斷,從而設置最高行駛速度和強化自平衡控制以提高安全系 數;獲取操作桿的電壓信號從而產生電機控制信號來控制左右兩個電機差速運轉來控制平 衡車完成轉向。
[0056] (3)人機交互部分:該部分主要由無線通信模塊,按鍵,顯示屏,蜂鳴器,LED燈和 攝像頭組成。其中無線通信實現手機與單片機進行信息傳輸和視頻的傳輸,其中,視頻傳 輸功能可以實現平衡車的無人偵察功能和車底路況查看功能;按鍵可以供用戶選擇模式, 可以選擇靈敏度,選擇速度等等;當平衡車車處于不同模式或工作狀態時,點亮不同的LED 燈,提醒用戶;將電池電量,行駛路程和車前死角視頻等車體信息顯示在顯示屏上。
[0057] (4)驅動電機部分:該部分由電機驅動電路和直流無刷電機組成。
[0058] 參見圖3和圖4,本發明主要過程中,包括了無線通訊藍牙模塊的信息交互、車底 攝像頭信息的編碼、鍵盤按鍵掃描、采集避障傳感器信號并通過避障算法計算路線、采集路 況傳感器信號并且通過路況檢測算法計算出路況參數以備調用,下來是蜂鳴器提示音、LED 指示燈、顯示屏三大人機交互模塊的控制;函數主要過程執行的過程中每隔一段時間就會 跳入中斷程序中,完成對傳感器的定時掃描,其中主要包括:通過路況參數調整車體行駛 的最高速度參數、采集加速度計和陀螺儀的檢測信號,通過卡爾曼濾波處理收集到的陀螺 儀和加速度計的信號,通過角度PID對車體角度進行調整、采集速度傳感器的信號通過速 度PID完成對速度的閉環控制、采集操作桿的電壓信號并做出相對應的轉向、避障控制、以 及采集電機的電壓和電流信息并通過直接轉矩算法完成車體自平衡的精確控制。本發明具 體的工作過程如下:
[0059] 步驟101:開始,初始化系統。
[0060] 步驟102:平衡車運行。
[0061]步驟1021:通過無線通訊藍牙模塊將手機與單片機進行信息交互,比如用戶用手 機無線控制平衡車;
[0062]步驟1022 :單片機獲取車底攝像頭拍攝的視頻,并對視頻信號壓縮編碼并存儲; 如果用戶在步驟1021中開啟手機通訊模式的話,能夠在手機上查看車底攝像頭所拍攝的 圖像;
[0063]步驟1023:鍵盤按鍵掃描;判斷用戶是否有按下按鍵,如果有則執行對應操作,如 果沒有則繼續向下執行。
[0064]步驟1024:障礙掃描;采集避障傳感器的信息,是一個用于判斷前方是否有障礙 物的開關量,通過避障傳感器檢測障礙物所在方位和另一組紅外傳感器來獲取障礙物周圍 的情況。如果有障礙,則在后面中斷程序的步驟2005中進行處理。
[0065]步驟1025:路況掃描;收集一段時間平衡車車底紅外傳感器測量的車底到地面的 距離信息,送入控制部分進行路況分析。
[0066]步驟103 :人機交互;主要包括蜂鳴器控制,LED燈控制,顯示屏顯示;其中,蜂鳴器 控制是當電池電量即將耗盡或者當平衡車的速度大于設定的安全速度的時候報警,提醒用 戶;LED燈控制是比如平衡車處于不同模式或工作狀態時,點亮不同的LED燈,提醒用戶;顯 示屏顯示,是在平衡車車體的顯示屏屏幕上顯示必要信息,如電池電量,行駛路程和車前死 角視頻,或者當用戶按下按鍵時,顯示對應的設置信息與用戶進行交互。
[0067] 步驟104 :判斷平衡車運行是否結束,如果結束,進入步驟105,沒有結束,返回步 驟 102〇
[0068] 步驟105 :結束。
[0069] 在步驟101之后,執行定時中斷程序,進入定時中斷程序時,主程序暫停,定時中 斷程序結束后返回主程序暫停的位置;定時中斷程序包括以下步驟:
[0070] 2001、通過獲取步驟1025中采集到的車底到地面的距離,分析紅外測出的距離數 據,計算出這些距離的方差,根據方差的大小獲取道路的平整度信息,方差大則道路不平 整,方差小則道路平整,根據此方法獲取當前正在行駛的道路路況,進行路況判斷,調整車 體行駛的最高行駛速度,超過該速度,車體自動抬頭減速,最高行駛速度由下述公式給出: V_=RXVs,其中^_為不同路況所對應的最高行駛速度,R為道路系數,R通過上述的距離 方差得到,R= 1-當前方差/最大允許方差,該系數越大,道路越平整,最大不超過1,1為 設定的最大速度;
[0071] 2002、通過加速度計和陀螺儀傳感器獲取車體的角度和角速度,將角度和角速度 輸入卡爾曼濾波濾波器,卡爾曼濾波器會根據陀螺儀測出的角速度對加速度計測出的角 度進行修正,使結果更準確;在角度等于或超過設定的最大值,車體即將翻倒時,通過角度 PID計算并且輸出一組輸出信號給電機來控制對車體角度進行調整,使車體能平穩的保持 直立;
[0072] 2003、采集編碼器的信號,獲取平衡車的實際速度,通過速度PID完成對速度的閉 環控制;
[0073] 2004、采樣操作桿本身的電壓信號并根據與設定的參考電壓比較從而判斷出轉向 的方向和角度,并且產生相應的電機控制信號給控制部分,控制左右兩個電機差速運轉完 成轉向;也可以一個電機正轉,另一個反轉,可完成原地轉向;
[0074] 2005、避障控制;方向PID;
[0075] 通過獲取步驟1024中得到的障礙物信息,首先選擇出平衡車正前方180度范圍內 沒有障礙物的所有方位,通過比較選出能夠讓平衡車通過障礙物的方位,并且將符合條件 的方位相比較,找出繞行半徑最短的避障路線,按該避障路線行駛從而躲避障礙物;
[0076] 2006、通過電壓和電流傳感器采集電機的定子電壓和繞組電流,利用電機的繞組 電流和定子電壓計算轉矩和磁鏈,再通過電機轉矩和磁鏈調節器并利用現有矢量表生成兩 個電機一共所需要12路的PWM,進行直接轉矩控制,輸出到直流無刷電機,具體來說,就是 通過六路PWM控制驅動電路輸出的三相電壓,并通過該三相電壓控制對應電機的轉速。
[0077] 601、用采集到的定子電壓和電流信息經過如下公式計算從而獲得電機轉矩;