劉風旺, 韓 娜, 許宗嶺, 鄒月英, 劉 志
(中通客車股份有限公司, 山東 聊城 252022)
隨著公共交通和旅游業的快速發展,客車行業進入到高速發展轉型的關鍵階段,新車型更加注重智能化、信息化、安全化等問題。本文結合相關技術,研發一種基于NI myRIO的智能駕駛客車路況識別系統[1-3]。該系統以NI myRIO控制器設計為主、硬件電路和監控電路的設計為輔。
本系統設計的核心內容是數據傳輸,包括自平衡行駛、讀取傳感器數據、電機轉速控制、自動控制及人工智能。該系統通過攝像頭和傳感器檢測[4-5],將數據傳輸到NI myRIO處理器,驅動系統控制其電機轉速大小;Wi-Fi模塊和手機APP通信可將前方檢測的路況實時反映到我司PC端顯示界面上。將NI myRIO作為主控來實現智能客車360度的檢測、識別、行駛,共分為終端控制端、檢測端、前進行駛端3個節點。當駕駛員疲勞時,可開啟自動駕駛功能,使車輛保持勻速行駛;通過控制器反饋的信號,可在我司PC端實時觀察車輛的各項信息指標,以便工作人員讀取數據,判斷車輛各部件是否正常運行,預防出現突發情況,保障了車輛及車上乘客的人身安全。車身擁有強大的防御裝置,可提前檢測并避開山體滑落及石塊阻礙;可根據路況控制智能客車行駛的速度,選擇最優的行駛路線,以此解決路況故障及人機交互工作中產生的問題。
采用NI myRIO核心芯片控制電路,NI myRIO控制器中內嵌的XiLinx Zynq芯片具有低功耗、低成本、高性能、便攜的優勢,同時控制器具有不同程度的智能性(記憶、感知、推理、學習)。工控方面,用戶要求更快的中斷速度。采用TZ460XSF06永磁同步電動機,額定功率為143 kW;額定轉矩為1 606 N·m;冷卻方式為水冷;最高轉速為3 000 r/min;通過CAN總線給出電機控制和動力電池管理指令[6],實現整車驅動及能量優化,同時可通過綜合儀表接口功能(儀表上顯示整車狀態信息),完善該客車的故障診斷、處理及整車網絡管理功能。可通過編碼器控制其轉速,無需使用相位順序表、高頻率控制等復雜的界面編程。工作電壓為5~15 V,通訊方式為串口通信。我司網絡PC端可顯示清晰的界面和準確的行駛路況。其結構流程如圖1所示。

圖1 結構流程
控制電路使用了一種采樣數據技術以降低主控電路的平均功耗,采用STM32F407控制板和智能駕駛通訊處理[7]。主控芯片NI myRIO與控制芯片STM32F407進行數據的傳輸,通訊處理通過單片機外部連接傳感器采集數據反饋到控制芯片進行內部集成,再傳輸到主控芯片進行遠程傳輸,數據間通過主控芯片傳輸到我司的PC端,便于工作人員實時監測車輛的信息狀況。定時器不僅能輸出多路PWM供給電機使用,還能快速處理攝像頭和PWM信號傳回的數據,從而提高智能客車的運行速度和處理信號的采集頻率,使其模塊核心芯片能較好地滿足功能要求。
該系統的控制對象為車輛行駛參數,控制的目的是使系統自動識別并進行調節,以提供最優運載能力和路況環境。攝像頭與手機APP共同負責網絡通信。系統控制參數見表1。

表1 系統控制參數
該項目通過LabVIEW 2016設計[8],由程序框圖設計主程序。通過內部的NI myRIO插件編寫來實現相對應的功能。主程序流程如圖2所示。

圖2 主程序流程
1) 對系統進行初始化。在監控程序中,首先對系統進行初始化編程。硬件方面包括NI myRIO控制器和輔助控制器STM32F407系統的初始化;軟件方面主要是針對于標志位的賦值,定義按鈕、繼電器與精進電機裝載運行,讀取E2PROM的數據,同時采用蜂鳴器對行駛中遇到的路況障礙進行報警提示。
2) 顯示界面。通過應用LabVIEW軟件在程序框圖的界面編寫液晶顯示屏和物流機器人交互相接的數據,直接調用該程序框圖,主程序每循環一遍清屏一次,通過函數的嵌套調用再次調用時鐘芯片DS1302讀取時間,將讀取回來的值顯示在液晶顯示屏界面上,經由串口通信傳輸到主控系統,主控系統中的無線模塊GPS定位傳輸到遠程界面,主控芯片針對不同的數據及時作出相應的處理[9]。采集顯示程序流程如圖3所示。

圖3 采集指令系統流程
3) PID控制算法應用。PID控制器參數的自動調整是運用智能化一體化調整或自校正、自適應、自整合算法來完成,其控制原理如圖4所示。

圖4 PID控制原理
PID調節器是一種線性調節器,可通過MATLAB軟件的計算數據和響應曲線將相應的數據傳回主控面板,PID調節器中給定值r(t)與控制輸出值u(t)的偏差即比例、積分、微分,三者通過線性組合構成控制量,以此來達到對被控對象實際輸出值y(t)的轉速控制[10]。
交叉進行控制系統的硬件和軟件調試時,通常先排除系統的硬件故障,尤其是電源故障,才能安全地進行連接及綜合測試。
通過在相應路況的實際操作運行,可直觀地發現,相比于一般的智能駕駛客車,基于NI myRIO控制器的智能駕駛客車具有速度快、精準度高、穩定性強等優點,但也存在一些小問題,即在路況水量超過400 mm高度時,行駛會受到一定的影響,相應的運行效率不是很高。因此,在設計過程中要明確各元器件的工作條件,考慮到電機穩定性,可采用成本相對較低,穩定性高的精進電機,通過在LabVIEW程序框圖上的設計,適當地對編碼器的數值進行整定,可有效地解決此類問題。
軟件部分的設計對于整個系統來說至關重要,通常針對不同的數據運用不同的軟件進行仿真測試。
在軟件數據采集的過程中,曾嘗試過使用多種軟件來對標志位、堆棧溢出、計算數據、工作寄存器等多種數據進行采集[11],最終選擇MATLAB軟件,主要是因為MATLAB軟件可以對智能駕駛客車運行數據進行仿真分析。輔助控制器STM32F407程序應用Keil uVision5軟件的編寫制作,由LabVIEW軟件進行最后的程序構造,傳輸到NI myRIO控制器[12],來對主要功能的搭建進行處理并集合。但制作過程中有時會遇到中斷響應不及時或中斷響應錯誤的情況。通過對中斷控制寄存器初值的調試,進行了多種數據的測試和整定,最終得到了較好的解決辦法。
本文使用了NI myRIO控制器與STM32F407單片機對整車控制器的動力性和經濟性的策略進行優化,同時對智能駕駛客車路況顯示進行了研究與開發;本系統對今后行業的發展,成本的降低,加快生產線的流動起著至關重要的作用,為人機交互工作未來的發展提供了參考。