顧菊芬
(蘇州信息職業(yè)技術(shù)學(xué)院 江蘇 蘇州:215200)
職業(yè)院校致力于培養(yǎng)服務(wù)于行業(yè)一線、實(shí)踐能力強(qiáng)的高素質(zhì)技能型應(yīng)用人才。以綜合項(xiàng)目訓(xùn)練為載體開展課程教學(xué),可以在項(xiàng)目實(shí)施過程中對(duì)學(xué)生進(jìn)行工程知識(shí)、技能、素養(yǎng)教育的無痕滲透,是實(shí)現(xiàn)高素質(zhì)高技能人才培養(yǎng)的重要抓手[1]。我校電子創(chuàng)新社團(tuán)“創(chuàng)客島”以專業(yè)社團(tuán)的興趣班模式,在第二課堂通過專業(yè)教師指導(dǎo)學(xué)生開展綜合訓(xùn)練項(xiàng)目,激發(fā)學(xué)生的專業(yè)學(xué)習(xí)熱情。本文以智能送餐小車控制系統(tǒng)設(shè)計(jì)綜合訓(xùn)練項(xiàng)目為例開展教學(xué),在此過程中培養(yǎng)學(xué)生的設(shè)計(jì)思維和工程實(shí)踐能力[1-2],并滲透科學(xué)精神、工匠精神等。
智能送餐小車是一種能夠自主或半自主地提供客戶送餐服務(wù)的智能機(jī)器人。智能送餐小車面向餐廳完成自動(dòng)送餐,可以緩解服務(wù)人員數(shù)量不足、服務(wù)人員的工作強(qiáng)度過大等問題[2-8]。智能送餐小車設(shè)計(jì)制作對(duì)于培養(yǎng)學(xué)生自上而下的工程設(shè)計(jì)全局意識(shí)、自下向上的回歸迭代思維、模塊化原則、等價(jià)原則、成本與表現(xiàn)的平衡思維是一個(gè)較好的綜合訓(xùn)練項(xiàng)目載體。
智能送餐小車考慮到送餐過程的平穩(wěn)性和承重選用四輪驅(qū)動(dòng)的麥克納姆輪底盤(見圖1),當(dāng)兩側(cè)的輪子同速度相反速度運(yùn)動(dòng)時(shí),能夠?qū)崿F(xiàn)向左或者向右的平行運(yùn)動(dòng)、前進(jìn)、轉(zhuǎn)彎等。
圖1 小車底盤
小車底盤采用麥克納姆輪,使用的是520直流減速電機(jī)帶編碼盤。自動(dòng)送餐服務(wù)車總體結(jié)構(gòu)包括外殼、底板、底盤和抓取機(jī)構(gòu)。自重小于等于10 kg;負(fù)載能力為10 kg;供電方式為鋰電池供電。底盤尺寸參數(shù)360mm×238mm。
選用電機(jī)參數(shù):
額定電壓:12V 減速比:1:56
額定功率:4.32W 電機(jī)類型:永磁有刷
額定扭力:6.5kg·cm 最大扭力:9kg·cm
電機(jī)帶編碼器,AB相增量式霍爾傳感器,線速:360
智能送餐小車前后各有8位的循跡傳感器;車身中間兩側(cè)有定位檢測(cè)傳感器,用于定位檢測(cè);電機(jī)驅(qū)動(dòng)采用PWM調(diào)速;車循跡速度可設(shè)置;車旋轉(zhuǎn)速度可設(shè)置。為此,在小車底盤上需要設(shè)計(jì)相應(yīng)的電控系統(tǒng)、驅(qū)動(dòng)電路、傳感器電路,線路板大致布局見圖2,保證小車重心穩(wěn)定,反應(yīng)迅速。
圖2 小車電控板總體布局
根據(jù)方案設(shè)計(jì),電控系統(tǒng)組成如圖3所示,系統(tǒng)組成部分如下:
圖3 電控系統(tǒng)示意圖
(1)主控制器STM32F103ZET6,該芯片具有2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、112個(gè)通用IO口,資源充足,定時(shí)器可以配置產(chǎn)生2路PWM提供電機(jī)調(diào)速信號(hào);
(2)傳感器模塊。使用白光LED發(fā)射強(qiáng)大光線,用8個(gè)光敏傳感器采集路面信息,將信號(hào)反饋給控制單元,由控制單元判別黑線位置以控制車的速度、轉(zhuǎn)向和制動(dòng);
(3)電機(jī)驅(qū)動(dòng)模塊和速度控制模塊。根據(jù)碼盤反饋信號(hào),用集成橋式驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī)的運(yùn)轉(zhuǎn)狀態(tài),形成閉環(huán)控制,對(duì)電機(jī)的速度進(jìn)行準(zhǔn)確快速的調(diào)節(jié)。
小車電控板采用單片機(jī)作為核心控制單元,安裝在車前后部的光電傳感器負(fù)責(zé)采集信號(hào),并將采集到的信號(hào)傳入核心控制單元,核心控制單元對(duì)信號(hào)進(jìn)行判別處理后,由內(nèi)部模塊發(fā)出PWM波,分別對(duì)兩側(cè)的直流電機(jī)進(jìn)行控制,完成小車的轉(zhuǎn)向、前進(jìn)和制動(dòng)。液晶顯示模塊可以實(shí)時(shí)顯示小車的狀態(tài)。
電源系統(tǒng)如圖4所示,采用外部16.8V鋰電池供電,經(jīng)LM2596-12轉(zhuǎn)換為12V直流電供直流電機(jī)電源,經(jīng)LM2596-5轉(zhuǎn)換為5V直流電供編碼器、集成電路芯片電源,5V經(jīng)線性穩(wěn)壓電源AMS1117-3.3V轉(zhuǎn)換為3.3V供單片機(jī)電源,以滿足系統(tǒng)的供電要求,同時(shí)通過采用線性穩(wěn)壓電源可以減小電源紋波,保證系統(tǒng)工作的可靠性。電源部分加過流、過壓和防反接保護(hù)、軟啟動(dòng)電路等;電源部分電解電容越大越好,儲(chǔ)能充放電用,否則負(fù)載電流太大會(huì)把電源電壓拉下來幅度較大,影響系統(tǒng)運(yùn)行。
圖4 電源系統(tǒng)原理圖
直流電機(jī)驅(qū)動(dòng)控制電路主要包括改變直流電動(dòng)機(jī)兩端的電壓控制直流電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向的H橋電路和改變電機(jī)轉(zhuǎn)動(dòng)速度的PWM控制電路[2-8]。
常見的電機(jī)驅(qū)動(dòng)主要有兩種,一種是專用的驅(qū)動(dòng)電路加MOSFET管設(shè)計(jì),一種是采用專用的集成電機(jī)驅(qū)動(dòng)芯片[2-11]。LMD18200T是一款專用于直流電動(dòng)機(jī)驅(qū)動(dòng)的H橋組件集成芯片,芯片外形封裝和內(nèi)部結(jié)構(gòu)如圖5所示,在同一個(gè)芯片上集成了CMOS控制電路和DMOS功率器件,可以非常方便的與單片機(jī)、電機(jī)、增量型編碼器構(gòu)成一套完整的運(yùn)動(dòng)控制系統(tǒng)。
圖5 LMD18200T芯片外形和內(nèi)部結(jié)構(gòu)圖
LMD18200T內(nèi)部集成了一個(gè)標(biāo)準(zhǔn)的H型驅(qū)動(dòng)橋,由四個(gè)DMOS管組成。上橋臂的2個(gè)開關(guān)管的通斷是通過充電泵電路提供柵極電壓進(jìn)行控制。第二個(gè)充電泵電路可通過引腳1、11外接電容構(gòu)成,如果需要提高工作頻率,則需要提高外接電容的容量,這時(shí)充電泵電路向開關(guān)管柵極輸入的電容充電速度越快,電壓上升的時(shí)間越短,從而達(dá)到提高工作頻率。直流電機(jī)電樞接在引腳 2、10之間,電樞電流的方向從引腳2至引腳10則電機(jī)正轉(zhuǎn);反之,電樞電流的方向從引腳10至引腳2,則電機(jī)反轉(zhuǎn)。如果需要檢測(cè)芯片輸出是否過流,可以在電流檢測(cè)輸出引腳8接一個(gè)對(duì)地電阻,從而通過電阻來輸出過流情況。芯片內(nèi)部有過電流和過熱保護(hù)電路,過電流閾值10A,當(dāng)超過該值時(shí)芯片自動(dòng)封鎖輸出,并按照一定周期自動(dòng)恢復(fù)輸出。若過電流持續(xù)時(shí)間較長(zhǎng),則啟動(dòng)過熱保護(hù),芯片自動(dòng)關(guān)閉整個(gè)輸出。過熱信號(hào)可通過引腳9輸出,當(dāng)結(jié)溫達(dá)到145℃時(shí)該引腳有輸出信號(hào),結(jié)溫達(dá)170℃時(shí),芯片關(guān)斷。具有良好的抗干擾性。輸出引腳2、10峰值輸出電流高達(dá)6A,連續(xù)輸出電流達(dá)3A;工作電壓高達(dá)55V。LMD18200T芯片引腳功能詳見表1。
表1 LMD18200T芯片引腳功能
服務(wù)小車雙側(cè)電機(jī)驅(qū)動(dòng)原理圖如圖6所示,采用兩片LMD18200T分別進(jìn)行驅(qū)動(dòng)雙側(cè)電機(jī),需要注意的是,在電機(jī)的兩個(gè)輸入端口之間應(yīng)并入一定容量的電容,而且電源中也應(yīng)并入一個(gè)大容量的電容,這兩個(gè)電容的作用在于濾波,可以在電機(jī)的啟動(dòng)過程中降低沖擊電流的幅度,防止電機(jī)電流太大而對(duì)主板產(chǎn)生的電磁干擾。電機(jī)和驅(qū)動(dòng)電路的散熱問題會(huì)影響小車的正常工作,因此在電機(jī)和驅(qū)動(dòng)電路上都加上了散熱片。兩片專用集成電機(jī)驅(qū)動(dòng)芯片LMD18200T的4腳剎車信號(hào)均接地,根據(jù)LMD18200T芯片電路功能,左右側(cè)電機(jī)控制信號(hào)分別為PWM調(diào)速信號(hào)和DIR方向信號(hào),電機(jī)控制信號(hào)真值表如表2、表3所示。
圖6 雙側(cè)電機(jī)驅(qū)動(dòng)原理圖
表2 左側(cè)電機(jī)控制信號(hào)
表3 右側(cè)電機(jī)控制信號(hào)
在實(shí)際設(shè)計(jì)中,針對(duì)左右側(cè)電機(jī)編寫底層函數(shù)分別控制左側(cè)電機(jī)、右側(cè)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止、速度控制的函數(shù)。在后續(xù)的小車動(dòng)作函數(shù)編寫中,可以調(diào)用底層函數(shù),以實(shí)現(xiàn)小車左拐、右拐、直行、后退、掉頭等動(dòng)作函數(shù)。
在智能小車系統(tǒng)中,巡線傳感器就是整個(gè)系統(tǒng)的“眼睛”,其對(duì)于路徑的識(shí)別在控制系統(tǒng)中尤為重要。光電檢測(cè)方式和攝像頭檢測(cè)方式各有優(yōu)缺點(diǎn)。攝像頭檢測(cè)方式檢測(cè)前瞻距離大,但是電路設(shè)計(jì)復(fù)雜,軟件處理數(shù)據(jù)量大,檢測(cè)信息更新速度慢,綜上所述,選擇性價(jià)比更高的光電檢測(cè)方式[2-11]。
巡線傳感電路原理圖如圖7所示。采用高亮度白光LED和光敏電阻、比較器等組成,采用高亮度白光LED的目的是為了抗場(chǎng)地的環(huán)境光干擾。巡線傳感電路檢測(cè)路面信息的原理是:黑色物體與白色物體對(duì)光的吸收程度不同,導(dǎo)致兩者的反射系數(shù)有很大差別。由于白光照射到黑色物體上的大部分被吸收掉了,只有少量被反射回;而白光照射到白色物體上的大部分光線被反射回來,所以白光照射在黑色和白色物體上后光敏電阻接收到的反射光強(qiáng)不一樣,根據(jù)光敏電阻的特性曲線光敏電阻阻值發(fā)生變化的程度不同,因此光敏電阻和1K阻值的電阻組成的分壓電路取出的電壓不一樣,從而區(qū)分出黑白路面。光照射電路與光接收電路一一對(duì)應(yīng),在不同背景下反光強(qiáng)度不同,光敏電阻的值變化不同,為了減輕CPU處理壓力,通過比較器信號(hào)處理電路轉(zhuǎn)換為高低電平信號(hào),送主控板檢測(cè)。
圖7 循跡傳感器信號(hào)處理電路電原理圖
巡線傳感器的布局采用一排安裝或多排安裝的形式。由于直線排列的控制策略較為簡(jiǎn)單,檢測(cè)效果良好,故本系統(tǒng)采用“一”字型直線布局的排列方式。
服務(wù)車采用左右側(cè)電機(jī)驅(qū)動(dòng),沒有專門的轉(zhuǎn)向系統(tǒng),故采用左右側(cè)電機(jī)控制差速控制轉(zhuǎn)向角度。為了更好的實(shí)現(xiàn)車輛轉(zhuǎn)向的控制品質(zhì),小車裝有前后兩排灰度傳感器,通過感知小車位置偏差,調(diào)節(jié)控制小車轉(zhuǎn)向角度,實(shí)現(xiàn)小車穩(wěn)定可靠的巡線工作。
在小車運(yùn)行過程,主要?jiǎng)幼靼ǎ盒≤囇簿€直行、巡線左拐、巡線右拐、盲走直行、盲走左拐、盲走右拐、遇到地圖標(biāo)志處理判斷等。其中巡線直行是非?;A(chǔ)且重要的動(dòng)作,在巡線直行過程最重要的是對(duì)位置偏差的采樣和分析,并調(diào)整處理。
小車裝有前后兩排灰度傳感器,通過信號(hào)處理電路輸出高低電平。小車在巡線過程,前后排灰度傳感器應(yīng)有分左偏、右偏、居中和不在線上,具體應(yīng)至少16種情況,表5所列出的是小車巡線左偏的情況。根據(jù)偏移情況,左偏移增量分別為-7~-1,右偏移增量分別為+1~+7,不在線上的為99,單獨(dú)處理。
表5 小車左偏情況
左偏情況分析,類似的右偏情況也是一樣的。按照表格所示,小車巡線過程和線的位置共分16種情況,居中,無需調(diào)整,左偏,右偏,需要根據(jù)偏移量進(jìn)行調(diào)整。如果不在線上采取盲走策略。巡線直行過程采用采樣數(shù)據(jù)-分析數(shù)據(jù)后進(jìn)行增量式PID調(diào)整小車轉(zhuǎn)向角度策略,核心代碼如下:
j=speed/15;
if((i>=-8)&&(i<=8))
{
error_left = speed-i*j;
error_right = speed+i*j;
PID_Speed_Left = error_left-gyro[1]*0.4;
PID_Speed_Right = error_right+gyro[1]*0.4;
Motor(left,backward,PID_Speed_Left);
Motor(right,backward,PID_Speed_Right);
}
else
if(i==99)
{
Motor(left,backward,speed);
Motor(right,backward,speed);
}
小車在巡線過程還需判斷運(yùn)行標(biāo)志,根據(jù)設(shè)計(jì)的地圖,小車運(yùn)行標(biāo)志包括左丁字口、右丁字口、前T路口、后T路口、十字路口等標(biāo)志,如圖8所示。根據(jù)前后兩排灰度傳感器反饋的高低電平值判斷得出當(dāng)前所處的地圖標(biāo)志,從而確定小車下一步的動(dòng)作:直行、后退、左拐、右拐。
圖8 送餐小車運(yùn)行地圖標(biāo)志
設(shè)計(jì)編寫送餐小車動(dòng)作函數(shù)如下:
void Track_Forward(uchar speed,uchar exit); //向前 循跡;speed速度;tuichu退出條件;
void Track_Backward(uchar speed,uchar exit); //向后 循跡;speed速度;tuichu退出條件;
void Track_Forward_Delay(uchar speed,uchar time);
void Track_Backward_Delay(uchar speed,uchar time);
void Online_Forward(uchar speed,uchar exit,uchar xiuzhengl,uchar xiuzhengr);
void Online_Backward(uchar speed,uchar exit,uchar xiuzhengl,uchar xiuzhengr);
void Online_Forward_Delay(uchar speed,uchar time);
void Online_Backward_Delay(uchar speed,uchar time);
void Turn_Left(uchar speed,uchar b_a);
void Turn_Right(uchar speed,uchar b_a);
void Turn_Compass(uchar speed,int jiaodu);
void Forward_Analyse(uchar speed); //前方數(shù)據(jù)處理;speed 為速度
void Backward_Analyse(uchar speed);
為了進(jìn)行智能送餐小車的測(cè)試,搭建了一個(gè)模擬餐廳的工作環(huán)境,在地面事先規(guī)劃好一定寬度的白線路徑,每個(gè)餐桌邊上的白線為“”字線,作為餐桌定位標(biāo)志。智能送餐小車調(diào)試環(huán)境如圖9所示。
圖9 智能送餐小車調(diào)試環(huán)境
自動(dòng)送餐服務(wù)小車實(shí)際運(yùn)行效果如圖10所示,具體運(yùn)行調(diào)試過程如下:實(shí)驗(yàn)人員將放置于餐盤在小車托盤上,啟動(dòng)服務(wù)小車送至某號(hào)餐桌;隨即沿回型路線返回待命區(qū)。依次調(diào)試其他餐桌號(hào),功能均正常。
圖10 智能送餐小車實(shí)際運(yùn)行效果
自動(dòng)送餐小車能夠正確引導(dǎo)操作、定位、停車和裝運(yùn)餐具,自動(dòng)化程度和智能化水平較高,具有一定的實(shí)用價(jià)值,由于采用硬件模塊化、自制傳感器線路板等措施,工程成本較低、性能表現(xiàn)較高。在電子類專業(yè)綜合項(xiàng)目訓(xùn)練的實(shí)踐教學(xué)過程中,作為教學(xué)載體具有較好的展示效果,可以充分調(diào)用學(xué)生的學(xué)習(xí)興趣、激發(fā)學(xué)習(xí)動(dòng)力。學(xué)生基于問題開展有效學(xué)習(xí),在發(fā)現(xiàn)問題、解決問題過程中提升了工程素養(yǎng)。社團(tuán)學(xué)生在面向工程的綜合訓(xùn)練中得到較好的鍛煉,在各類電子創(chuàng)新競(jìng)賽、省大學(xué)生機(jī)器人大賽取得不俗的成績(jī)。