魏象鋒 陳棣之 張華臣 徐江陵
(武漢科技大學(xué)城市學(xué)院,湖北武漢 430083)
中國(guó)第七次人口普查已經(jīng)進(jìn)入籌備階段。根據(jù)國(guó)家人口統(tǒng)計(jì)局發(fā)布的人口數(shù)據(jù),老齡人口總數(shù)由16714萬(wàn)增長(zhǎng)至25388萬(wàn),增加了8674萬(wàn)老年人口[1]。另外,隨著交通的擁擠,意外事故頻繁發(fā)生,殘疾人數(shù)量也在急劇增加。行動(dòng)有障礙卻無(wú)人照顧的問(wèn)題日益嚴(yán)重,而一個(gè)功能豐富、價(jià)格適中的智能輪椅,則會(huì)成為老年人、殘疾人優(yōu)秀的代步工具,具有重要意義并將產(chǎn)生巨大的社會(huì)效益[2]。因此,本文設(shè)計(jì)并研發(fā)了基于STM32F103單片機(jī)控制的輔助站立輪椅。該輪椅以STM32F103單片機(jī)為核心,使用者可以用右扶手的手柄操控輪椅移動(dòng),實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)的功能。利用電動(dòng)推桿推動(dòng)座椅靠背和座椅底板的方式,使座椅靠背與座椅底板同步上升,實(shí)現(xiàn)輪椅輔助站立功能。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖Fig.1 System hardware structure diagram
本產(chǎn)品由STM32F103單片機(jī)、速度傳感器、紅外避障模塊電機(jī)驅(qū)動(dòng)模塊以及推桿行程傳感器組成[3]。硬件系統(tǒng)結(jié)構(gòu)圖如圖1所示:
輪椅輔助站立的方式為:老人先按下站立按鈕,然后推桿開(kāi)始伸長(zhǎng),以推動(dòng)座椅靠背和座椅底板的方式,使座椅底板與座椅靠背同步上升,在到達(dá)合適位置時(shí)使用者可以自行選擇停止或者到達(dá)最高處時(shí)推桿會(huì)自行停止,可以毫不費(fèi)勁地讓使用者站起來(lái)。輪椅模型渲染圖2所示:
首先設(shè)計(jì)了信號(hào)處理電路,該速度傳感器VCC端接電源正極,GND端接地,VO端為輸出端。傳感器輸出的轉(zhuǎn)速信號(hào)為方波脈沖信號(hào),它的高電平為15V,而低電平接近0。由于該脈沖信號(hào)的電壓幅值大于5V,與單片機(jī)接口不匹配,因此該電路又選用了一個(gè)由三極管(Q18050)組成的整形電路處理轉(zhuǎn)速信號(hào)使其滿足單片機(jī)的接收要求。轉(zhuǎn)速信號(hào)處理電路已設(shè)計(jì)完畢,經(jīng)處理后的方波脈沖信號(hào)滿足單片機(jī)的接收要求[4]。
圖2 輪椅模型渲染圖Fig.2 Rendering of a wheelchair model
首先接一個(gè)晶振電路,提供單片機(jī)所必須的時(shí)鐘脈沖,其中由高、中、低三個(gè)位置安裝的光電開(kāi)關(guān)對(duì)推桿進(jìn)行位置檢測(cè),使推桿能夠進(jìn)行準(zhǔn)確定位。PB0、PB1、PB2分別接入三個(gè)光電位置傳感器,用于檢測(cè)運(yùn)轉(zhuǎn)過(guò)程中推桿的實(shí)時(shí)位置。當(dāng)PB0為高電壓時(shí),那么此時(shí)推桿正處于最小行程,也就是輪椅的坐立狀態(tài),當(dāng)PB1為高電壓時(shí),此時(shí)推桿處于工作狀態(tài),輪椅正在輔助站立過(guò)程中,當(dāng)PB2為高電壓時(shí),推桿處于最大行程,也就是輪椅完全輔助站立之后的狀態(tài)。PC9接推桿步進(jìn)電機(jī),控制推桿伸縮,用一個(gè)三極管Q1來(lái)控制電機(jī)和充當(dāng)電壓轉(zhuǎn)換器,實(shí)現(xiàn)低電壓控制高電壓。
在本設(shè)計(jì)中,單片機(jī)的選擇有兩種方案[5]:方案一:采用傳統(tǒng)的AT89C51單片機(jī)芯片,AT89C51是由Atmel公司開(kāi)發(fā)的,它是一種自帶4K字節(jié)(FPEROM-Flash Programmable Erasable Read Only Memory),即可擦可編程只讀存儲(chǔ)器,能保證在各種意外和突發(fā)事故造成的掉電情況下,用戶用電數(shù)據(jù)的不消失和長(zhǎng)期存儲(chǔ)。且它能夠與MCS-51兼容。但是其存儲(chǔ)空間較小,而且保護(hù)能力很差,很容易燒壞芯片。方案二:選擇STM系列的單片機(jī)由ST廠商推出的STM32系列單片機(jī),這是一款性價(jià)比超高的系列單片機(jī),STM32的運(yùn)算速度大約是51單片機(jī)的幾十倍,而且外圍接口功能比51強(qiáng)大太多。STM系列MCU有片內(nèi)安全功能,能檢測(cè)到由電磁干擾或靜電所引起的誤操作,使系統(tǒng)更加安全和可靠。
經(jīng)過(guò)考慮,STM系列STM32F103單片機(jī)被選定為核心控制芯片,在本次設(shè)計(jì)中由于需要我們編寫的代碼多,為防止4K字節(jié)的存儲(chǔ)器的存儲(chǔ)空間不夠,所以我們選擇STM系列STM32F103單片機(jī)。
對(duì)步進(jìn)電機(jī)的保持轉(zhuǎn)矩進(jìn)行簡(jiǎn)單的計(jì)算:假設(shè)老人重量為75kg,輪椅及電機(jī)重10kg,摩擦系數(shù)為0.05,電機(jī)效率為85%。則驅(qū)動(dòng)輪椅需要的牽引力為:
表1 L298的邏輯功能圖Tab.1 Logic function diagram of L298
則電機(jī)需要做功為:
保持轉(zhuǎn)矩計(jì)算:提升速度為100mm/s,即步進(jìn)電機(jī)齒輪線速度為0.1m/s,電機(jī)齒輪直徑30mm,則電機(jī)轉(zhuǎn)速約為100r/min,若電機(jī)軸直接帶齒輪,則保持轉(zhuǎn)矩為:
因?yàn)橐话銘?yīng)選用力矩比實(shí)際需要大10%到15%的步進(jìn)電機(jī),所以本設(shè)計(jì)采用規(guī)格型號(hào)為42BYG250A-0151的2相永磁式步進(jìn)電機(jī),將兩個(gè)步進(jìn)電機(jī)安裝在輪椅的兩側(cè),分別驅(qū)動(dòng)左右兩邊的輪子,再加上后方的兩個(gè)萬(wàn)向輪構(gòu)成了驅(qū)動(dòng)部分。
電機(jī)驅(qū)動(dòng)選用專門的L298芯片,L298N為SGSTHOMSONMicroelectronics所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片(DualFull-BridgeDriver),本設(shè)計(jì)中STM32F103單片機(jī)直接控制L298芯片,通過(guò)主控芯片的I/O輸入對(duì)其控制電平進(jìn)行設(shè)定,就可為電機(jī)進(jìn)行正轉(zhuǎn)反轉(zhuǎn)驅(qū)動(dòng)。輸入端IN1接PC7,IN2接PC8,IN3接PC9,IN4接PC10。ENA、ENB使能端接電源。輸出端OUT1、OUT2分別接驅(qū)動(dòng)電機(jī)的a+、a-端。L298的邏輯功能見(jiàn)表1。
從表1的邏輯功能圖分析得出結(jié)論:L298N的控制邏輯功能為:控制使能端為低電平時(shí),輸入電平對(duì)輪椅控制不起作用,當(dāng)控制使能端為高電平,輸入電平為一高一低,輪椅前行或后退。輸入電平同為低電平輪椅停止,同為高電平輪椅停止。
紅外避障軟件流程圖3所示,紅外避障程序啟動(dòng)后首先系統(tǒng)初始化,然后驅(qū)動(dòng)電機(jī)開(kāi)始運(yùn)轉(zhuǎn),開(kāi)始前進(jìn),此時(shí)發(fā)射管一直往前方、左方、右方三個(gè)方向發(fā)射紅外光,當(dāng)前面的障礙物越近,反射回來(lái)的紅外光越強(qiáng),紅外接收管的EC電壓越接近0V。當(dāng)沒(méi)有檢測(cè)到障礙物時(shí),程序返回到輪椅前進(jìn)這一步。當(dāng)電壓小于某一個(gè)程度時(shí),檢測(cè)到路面有障礙,避障程序開(kāi)始啟動(dòng)。此時(shí)程序根據(jù)實(shí)際情況執(zhí)行前方避障程序或者左右避障程序。避障成功之后沒(méi)有檢測(cè)到障礙物,程序返回到輪椅前進(jìn)這一步。
本步進(jìn)電機(jī)步進(jìn)角為7.5度,一圈360度,需要48個(gè)脈沖完成。
//引腳連接
圖3 紅外避障軟件流程圖Fig.3 Flow chart of infrared obstacle avoidance software
//IN1:PC7、IN2:PC8、IN3:PC9、IN4:PC10
正轉(zhuǎn)次序:AB組--BC組--CD組--DA組(即一個(gè)脈沖,正轉(zhuǎn)7.5度)
所以執(zhí)行步進(jìn)電機(jī)前進(jìn)的代碼如下所示:
void Motorcw(void)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
GPIO_ResetBits(GPIOC,GPIO_Pin_2);
GPIO_ResetBits(GPIOC,GPIO_Pin_3);
delay_ms(10);……
}
圖4 實(shí)物模型圖Fig.4 Physical model diagram
使用C語(yǔ)言對(duì)主控制器已經(jīng)電機(jī)驅(qū)動(dòng)模塊用Keilu Vision4軟件進(jìn)行調(diào)試,查看工程文件能否正常運(yùn)行,如果出現(xiàn)問(wèn)題對(duì)錯(cuò)誤和BUG必須進(jìn)行一次次的修改和檢驗(yàn)。
為了檢驗(yàn)輪椅的功能及性能,團(tuán)隊(duì)購(gòu)買了所需的電子器件,試制了實(shí)物樣機(jī),圖4為組裝完成的輪椅實(shí)物。
針對(duì)助老輪椅的需求,本文完成了以STM32F103單片機(jī)為核心的輔助站立輪椅的設(shè)計(jì)和測(cè)試,并通過(guò)proteus軟件分析了紅外線傳感器的避障效果。仿真結(jié)果表明紅外線傳感器能較好地進(jìn)行避障工作,驗(yàn)證了本設(shè)計(jì)的可行性。該輪椅具有輔助站立、電機(jī)驅(qū)動(dòng)及紅外避障等功能,對(duì)比市面上的普通電動(dòng)輪椅具有明顯的優(yōu)勢(shì)。