凌旭,陳立,戴俊良
(湖南化工職業技術學院機電工程學院,湖南株洲,412000)
隨著汽車工業的迅速發展,關于汽車的研究也就越來越受人關注。智能小車設計與研究,成為一種新的發展趨勢,無論是在特殊行業,還是民生生活都發揮著重要作用[1-3]。本研究設計一款坡道行駛電動智能小車,能自動循跡,可程控行駛速度在規定時間內完成任務,在停車點準確定位停車。小車在行駛前,需要路段設計和坡道設計如圖1所示;路段設計:在木板表面鋪設一條寬,長各約為1cm線條作為路線指示;總長度設計為1m,路線開始為直線,垂直于木板底邊,在坡頂轉向90°,平行于木板頂邊與頂邊相隔距離為≤20cm,轉彎半徑為10cm~20cm,轉彎完成后路線在延長≥30cm;停車標記設計為寬,長各為1cm,5cm。坡道設計:用長,寬各約為1m的木板搭建小車坡道,坡道角度可以任意調節。

圖1 小車坡道角示意及行駛線路頂視圖
要求小車能夠在不同傾斜角的木板上完成循跡,行駛速度均勻并且行駛時間可控,并且能夠在終點穩定停止。若需要完成以上要求,需要對位于木板上的小車進行受力分析,小車的受力分析如圖2所示。
由牛頓第二定律公式 F=m×a可知:小車靜止在坡道時應滿足:
mgsinθ≤μmgcosθ;摩擦系數應滿足μ≥tanθ;
小車在坡道勻速行駛應滿足:F車=mgsinθ+μmgcosθ;需小車電機產生作用力。

圖2 小車受力分析圖
由以上分析得:小車若要在循跡時要做到勻速行駛、運行時間可控,在終點穩定停止,與小車的質量、動摩擦因數以及電機的力矩大小都有關聯。
本系統采用超低功耗16位微控制器MSP430F5529作為系統設計的主控芯片[4-5]。
選用ST188反射式紅外光電傳感器進行循線。ST188由高發射功率光電二極管和高靈敏度光電晶體管組成。光電二極管由高電平觸發,發射出紅外線,若接收面為白色,則返回信號至接收管,若為黑色,則返回信號被吸收,接收管無信號。該傳感器價格低廉,且多個紅外傳感器配合使用,能做到基本的循跡。
選用DC3V-6V減速直流電機,減速直流電機結構簡單,易于固定,且便于驅動,通過單片機輸出PWM至驅動電路即可控制電機的轉速,電流小,不會燒壞電路。
選用編碼器型號為512線mini增量式編碼器作為測試模塊。該編碼器具有體積小、重量輕、精度高的特點,可讀取的最大轉速為10000rpm。使用簡單,輸出脈沖穩定,誤差較小。
本系統采用6個ST188紅外光電傳感器對黑色紙條進行信號采集,通過LM393電壓比較器讀取傳感器返回的電平,由MSP430單片機的IO口獲得比較后的電壓,根據不同的電平組合判斷小車狀態。主控芯片輸出PWM來控制電機的轉速,來矯正小車的姿態,使小車能夠沿標記線平穩行駛。同時通過編碼器讀取車輪轉速,引入位置式PID算法對車輪轉速進行精確控制。此外,系統還含有OLED顯示屏以及四個按鍵,以便于觀測實時數據以及設置參數,通過語音播報提示小車狀態。系統硬件框圖如圖3所示。

圖3 系統硬件框圖
本系統采用的電機驅動為TB6612FNG模塊,是一款直流電機驅動器件,它具有大電流MOSFET-H橋結構,雙通道電路輸出,可同時驅動2個電機。驅動控制邏輯如下:芯片VM直接接電池電源,VCC內部邏輯供電,STBY置高后模塊才能正常工作,AN1和AN2不同電平組合控制電機的正反轉,PWA接單片機PWM輸出口控制電機轉速,原理圖如圖4所示。

圖5 MSP430F5529電路圖

圖4 TB6612FNG驅動模塊原理圖
本系統選擇的主控為MSP430F5529,原理圖如圖5所示。對MSP430F5529 進行資源拓展,板上搭載5.0V、3.3V穩壓電路以及部分模塊接口,其中穩壓電路為每個接口模塊進行供電,OLED顯示屏用于顯示小車運行時的位置和速度信息,配合四個獨立按鍵可進行小車的模式選擇以及參數設定,小車的運行每個模式以及最后停止時都由語音模塊實時播報,拓展板資源。
系統MCU和各種外設在正常供電的情況下才能正常工作,此時MCU才能正常接收信號和處理信息,整個系統的電源需要多種供電接口,電機驅動需要電池電源,MCU、OLED顯示屏需要3.3V供電,語音播報、編碼器、需要5V供電。3.3V、5.0V電源分別使用LM2596-3.3V、LM2596-5.0V對電池電壓進行降壓,可調電源通過電位器進行電壓調節,調節范圍為 6~25V,由 LM2596-ADJ電源芯片來實現電壓輸出,每個電路輸出都外接五組排針,完全能滿足對電源的需求,同時每組電路都包含LED指示燈,能夠實時觀測電路的狀態。電路原理圖如圖6所示。
本系統選用6個ST188紅外光電傳感器對標記線進行識別,ST188通過發射端的光電二極管發射紅外光線,接收端通過高靈敏度晶體管接收反射回來的光線輸出對應的電平信號,再進入LM393電壓比較器與其基準電壓進行比較,使MCU的IO口能夠讀取到穩定的電平。在電路設計中,將發射管處串聯的電阻選為100Ω,以便發射管能夠發射高強度的紅外信號。電壓比較器LM393的基準電壓由一個10k的電位器進行調節,在OUT輸出口處接上一個上拉電阻,用于保護MCU的IO口,同時再接一個LED指示燈,以便使用時能夠直觀的看到輸出電平。部分電路原理圖如圖7所示。

圖6 系統電源模塊原理圖

圖7 紅外循跡電路圖
通過編碼器讀取小車的速度,通過位置式PID算法對小車速度進行閉環控制,PID控制是一種常見的反饋控制,由比例(P)、積分(I)、微分(D)組成。比例控制為基礎控制,積分控制為消除穩態誤差,微分為加快系統的響應速度。P、I、D分別對應現在、過去、將來,分別對系統進行調節修正,減少系統誤差,理想連續控制的公式如下[6-8]:

其中Kp為比例系數、Ti為積分時間常數、Td為微分時間常數、e(t)為實際值與設定值的差、u(t)控制為輸出值。
經過多次參數的整定,小車循線運行效果最優的參數為:P=6.35;I=1.36;D=0.63。
該系統最重要的部分在于小車的自動循跡,MCU通過GPIO口讀取紅外光電傳感器所返回的電平來判斷自身在標記線上的位置,輸出不同的PWM控制電機轉速,從而實現小車在標記線上的自動循跡以及終點停車。對電機采用位置式PID算法進行閉環控制。此外,采用模擬IIC控制OLED顯示一個菜單。菜單包括速度,紅外讀取的值以及小車的各種參數,其中菜單光標的移動以及參數調整由四個普通按鍵完成。小車的語音播報由MCU的UART0控制,用于播報小車循跡時間以及運動狀態。

圖8 主函數程序流程圖

圖9 中斷服務函數流程圖
對該系統進行測試時,需要用直尺對賽道各部分長度進行測量,檢查賽道是否符合標準。小車在不同的模式運行時,通過秒表記錄小車循跡時間。在小車穩定停在終點時,使用直尺測量小車上的標記點到停車標記中線的距離。測試小車在不同高度下的數據時,需要使用手機上的“指南針”APP對斜坡進行角度設定。
試驗一:設定木板坡度角θ=0°,要求智能小車在12s、15s、18s設定時間循跡自動行駛不能脫離標記線且準確停在停車標記點處誤差≤2cm(即小車上標記點到停車標記中心線的垂直距離誤差),試驗數據如表1所示。

表1 距離誤差
試驗二:設定木板坡度角θ=0°,將循跡線長度設定為1m長,時間設定為13s、16s、19s時間內循跡自動行駛不能脫離標記線且準確停在停車標記點處時間誤差≤1s,試驗數據如表2所示。

表2 時間誤差
試驗三:設定木板坡度角θ=0°~42°,將循跡線長度設定為1m長,時間設定15s,循跡自動行駛不能脫離標記線且準確停在停車標記點處誤差≤2cm,時間誤差≤1s,試驗數據如表3、表4所示。

表3 15°~25°坡度數據表格

表4 30°以上坡度數據表格
通過在不同角度下記錄小車的碾壓或脫離標記線次數、卡頓次數、行駛時間的偏差、以及在終點穩定停車次數可知,隨著坡道高度的增加,小車停頓的次數逐漸增加,其行駛時間與設定時間的偏差也隨之增加。由于小車加入閉環控制,其碾壓或偏離標記線的次數一直在可控范圍內,經過多次的測試,小車能完成循跡要求的最大角度為42°。
(1)小車出現碾壓或脫離標記線主要是因為在拐角處轉彎時紅外傳感器出現誤判或者漏判,導致小車沒有做出正確的姿態調整,出現碾壓甚至脫離標記線的情況。
(2)小車在行駛時的卡頓現象:一是因為在轉彎時車輪的重心不穩,導致小車左方輪子出現懸空現象,無法實現小車的差速轉彎而停在拐點;二是小車紅外傳感器精度不高,再加上循跡線僅為1cm的黑白標記線,小車無法完全實現無卡頓的循跡。
(3)小車實際行駛時間與設定時間出現偏差:一是因為小車在拐彎處的卡頓,增加了小車行駛時間;二是隨著高度增大,小車運行時所受到的反作用力也隨之增大。
通過采用MSP430/MSP432平臺設計智能小車電機驅動電機電路、主控板控制電路、電源電路、紅外循跡電路等相關硬件設計。利用位置式PID算法,進行智能小車運動控制。測試智能小車在不同坡度、不同時間坡道平穩運行、標記線上循跡效果良好,偏離誤差≤1cm,且運動時間可控,能夠在終點穩定停車,最大行駛傾斜角可達42°。該系統設計具有響應速度快,控制精度高等有點。