錢惠祥 錢金法 朱長卿 吳超
摘? 要:本系統(tǒng)以STM32F407ZGT6微控制器為核心,采用可靠性高、實(shí)時性強(qiáng)和靈活性高的CAN總線數(shù)據(jù)采集方案。主要采集智能康復(fù)輪椅上超聲波傳感器、激光傳感器、MPU6050六軸傳感器、壓力傳感器及電池電壓的實(shí)時數(shù)據(jù)。并對采集到的實(shí)時數(shù)據(jù)進(jìn)行算法優(yōu)化處理,由串口轉(zhuǎn)CAN通信模塊上傳至CAN總線。上位機(jī)可根據(jù)CAN總線上實(shí)時環(huán)境數(shù)據(jù)對康復(fù)輪椅進(jìn)行智能控制。與目前智能輪椅相比,主要特點(diǎn)是增加了頸椎智能牽引技術(shù),多傳感器、多CAN節(jié)點(diǎn)的數(shù)據(jù)采集功能。每個傳感器模塊單獨(dú)采用一個CAN節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集,提高了數(shù)據(jù)傳輸實(shí)時性、可靠性、安全性。并采用串口轉(zhuǎn)CAN模塊方便了系統(tǒng)的優(yōu)化、維護(hù)和輪椅功能的升級。
關(guān)鍵詞:CAN總線? ?智能輪椅? STM32F407ZGT6
中圖分類號:TP274.2 ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2021)01(b)-0072-05
Design of Intelligent Rehabilitation Wheelchair Data Acquisition System Based on CAN Bus
QIAN Huixiang? QIAN Jinfa? ?ZHU Changqing? ?WU Chao
(Changzhou Vocational Institute of Mechatronic Technology,Changzhou, Jiangsu Province, 213164 China)
Abstract: This system takes STM32F407ZGT6 microcontroller as the core, mainly collects the real-time data of ultrasonic sensor, laser sensor, MPU6050 six-axis sensor, pressure sensor and battery voltage on the intelligent wheelchair, and carries on the optimized processing to the collected data, and then uploads it to CAN bus from serial port to CAN communication module. The upper computer can control the wheelchair intelligently according to the real-time environment data. This design mainly focuses on the modular design technology of intelligent rehabilitation wheelchair components, intelligent obstacle avoidance and overcoming technology, integrated intelligent cervical traction technology, remote monitoring and positioning technology and other key technologies, so as to develop modular, multi-functional, personalized, low-cost intelligent rehabilitation wheelchair products.
Key Words: CAN bus; Intelligent wheelchair; STM32F407ZGT6
隨著現(xiàn)代智能控制技術(shù)的發(fā)展和應(yīng)用研究,現(xiàn)代智能康復(fù)輪椅已經(jīng)具備監(jiān)測、輔助治療、遠(yuǎn)程監(jiān)控、導(dǎo)航、避障等多種功能。如通過對聲音、圖像、動作、環(huán)境參數(shù)等要素進(jìn)行信息的提取和數(shù)據(jù)處理,實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控;應(yīng)用智能算法控制輪椅運(yùn)動實(shí)現(xiàn)避障;利用傳感技術(shù)及智能控制技術(shù)實(shí)現(xiàn)康復(fù)輔助治療等。同時,輪椅產(chǎn)品功能多樣化,也大幅降低了介護(hù)人員的工作量。
目前的智能輪椅主要采用ARM核心,通過USART串口或485通信方式,對多種傳感器進(jìn)行數(shù)據(jù)采集。雖然也可以完成智能輪椅數(shù)據(jù)系統(tǒng)的采集,但是隨著智能輪椅的功能不斷提升,傳感器的數(shù)量增加,實(shí)時性、可靠性不足的問題會越來越明顯。
針對上述問題,我們采用了CAN總線技術(shù),多CAN節(jié)點(diǎn)的數(shù)據(jù)采集功能。CAN總線實(shí)時性高,非破壞總線仲裁技術(shù),優(yōu)先級高的節(jié)點(diǎn)無延時。出錯的CAN節(jié)點(diǎn)會自動關(guān)閉并切斷和總線的聯(lián)系,不影響總線的通訊。報文為短幀結(jié)構(gòu)并有硬件CRC校驗(yàn),受干擾概率小,數(shù)據(jù)出錯率極低。每個傳感器模塊單獨(dú)采用一個CAN節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集,提高了數(shù)據(jù)傳輸實(shí)時性、可靠性、安全性。
與現(xiàn)有的智能輪椅相比,我們還增加了頸椎智能牽引技術(shù)的數(shù)據(jù)采集方案,并采用串口轉(zhuǎn)CAN模塊方便了智能輪椅維護(hù)和功能擴(kuò)展、升級。
1? 系統(tǒng)整體設(shè)計(jì)
本系統(tǒng)如圖1所示,由STM32F407核心控制器和超聲波避障[1]、頸椎牽引、姿態(tài)平衡、激光越障、電池電量檢測等幾個模塊組成。各個功能的傳感器數(shù)據(jù)采集在物理上獨(dú)立,采用單獨(dú)的串口傳輸通道,極大地提高了數(shù)據(jù)傳輸?shù)膶?shí)時性、可靠性,避免了信號的相互干擾[2]。
2? 系統(tǒng)硬件設(shè)計(jì)
2.1 超聲波避障模塊
為了提升環(huán)境數(shù)據(jù)采用的可靠性,配置了2個前置超聲波傳感器,2個左側(cè)超聲波傳感器,2個右側(cè)超聲波傳感器采集輪椅周圍障礙物信息[3]。利用STM32F407內(nèi)部自帶定時器功能,TIM5和TIM3多通道捕獲功能捕獲時間轉(zhuǎn)換成輪椅與障礙物的距離數(shù)據(jù)[4],并通過USART1串口轉(zhuǎn)CAN透傳模塊上傳至CAN總線。各個傳感器協(xié)同工作,配合上位機(jī)對環(huán)境的影像識別,讓避障功能得到了進(jìn)一步的優(yōu)化。
STM32F407 六通道捕獲配置如表1所示。
2.2 頸椎牽引模塊
頸椎牽引模塊采用壓力傳感器檢測頸椎壓力,將黃色的應(yīng)變片固定在頸椎牽引桿上。電阻應(yīng)變片的工作原理是基于應(yīng)變效應(yīng),使其隨著被測定物的應(yīng)變相應(yīng)彎曲,根據(jù)電阻應(yīng)變片彎曲度的變化即可改變輸出電壓值[5]。OUT管腳輸出模擬電壓通過MCU自帶A/D轉(zhuǎn)換功能將電壓模擬量轉(zhuǎn)換成數(shù)字量。并由USART3串口轉(zhuǎn)CAN透傳模塊上傳至CAN總線。
2.3 越障模塊
越障模塊采用激光傳感器。安裝在輪椅離地10cm高度,檢測距離設(shè)置成2m,如果有近距離的數(shù)據(jù)反饋,說明障礙物超過10cm,不可越障。距離數(shù)據(jù)從4腳TXD輸出,USART2串口RXD輸入,后由串口轉(zhuǎn)CAN模塊上傳至CAN總線。該模塊可配合攝像頭確保越障功能的可靠性。
2.4 電池電量檢測模塊
電池電量檢測模塊通過電阻分壓間接獲取電池電壓值,由于STM32F407內(nèi)部 A/D轉(zhuǎn)換的參考電壓是3.3V,所以電阻分壓獲取的電壓需小于3.3V。該電壓通過A/D轉(zhuǎn)換功能將電壓模擬量轉(zhuǎn)換成數(shù)字量,并由USART4串口轉(zhuǎn)CAN透傳模塊上傳至CAN總線。
2.5 姿態(tài)平衡模塊
姿態(tài)平衡功能采用MPU6050傳感器模塊[6]。電源電壓VCC 為3.3V,RX串行數(shù)據(jù)輸入,TX串行數(shù)據(jù)輸出,利用模塊TTL串口通信模式,通過C程序數(shù)據(jù)格式處理,可獲取輪椅坐姿X和Y軸的4個字節(jié)的角度數(shù)據(jù),并由USART4串口轉(zhuǎn)CAN透傳模塊上傳至CAN總線。
2.6 串口轉(zhuǎn)CAN透傳模塊
模塊如圖2所示。采用ARM作為處理器,處理速度快。波特率、數(shù)據(jù)幀ID、濾波器等設(shè)置軟件使用方便,波特率可在3kbps-1Mbps的范圍內(nèi)任意的設(shè)定,適應(yīng)能力更強(qiáng)。模塊上的TTL接口讓與嵌入式系統(tǒng)對接更方便。
該模塊有一個TTL接口及一個CAN接口,可作為一個標(biāo)準(zhǔn)的CAN節(jié)點(diǎn)??芍苯优c任意具有TTL接口的嵌入式系統(tǒng)對接,實(shí)現(xiàn)CAN總線的數(shù)據(jù)收、發(fā)雙向傳輸。管腳功能見表2。
利用串口轉(zhuǎn)CAN透傳模塊不僅節(jié)省了智能康復(fù)輪椅的開發(fā)時間,而且方便了智能輪椅功能的提升和傳感器擴(kuò)展[7]。
3? 系統(tǒng)軟件設(shè)計(jì)
3.1 智能康復(fù)輪椅數(shù)據(jù)采集CAN通信數(shù)據(jù)格式
如表3所示。
3.2 程序簡介
主程序各模塊初始化函數(shù):
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級分組2
delay_init(168);? ? ? ? ? ? ? ? ? ? ? ? ?//初始化延時函數(shù)
uart_init(115200);? ? ? ? ? ? ? ? ? //初始化串口1波特率為115200
usart2_Init(9600); ? ? ? ? ? ? ? ? ? ? ? ? ? //初始化串口2波特率為9600
usart3_Init(115200);? ? ? ? ? ? ? ? ? ? ? ? ? //初始化串口3波特率為115200
uart4_Init(115200);? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化串口4波特率為115200
usart6_Init(115200);? ? ? ? ? ? ? ? ? ? ? ? ? //初始化串口6波特率為115200
sr04_Init( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始化前置超聲波傳感器使能端口
sr04_2Init( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化左側(cè)超聲波傳感器使能端口
sr04_3Init( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化右側(cè)超聲波傳感器使能端口
Adc_Init();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始化ADC1壓力傳感器數(shù)據(jù)采集
Adc2_Init();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化ADC2電池電壓數(shù)據(jù)采集
IWDG_Init(4,500);? ? ? ? ? ? ? ? ? ? ? ? //初始化看門口
TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1);? ? ? ? //初始化定時器5通道1捕獲
TIM5_CH2_Cap_Init(0XFFFFFFFF,84-1); ? ?//初始化定時器5通道2捕獲
4? 系統(tǒng)測試
通過便攜式CAN分析儀,用監(jiān)控軟件對CAN總線上各個功能模塊傳感器采集到的數(shù)據(jù)進(jìn)行分析,如表4所示。包括傳輸時間、數(shù)據(jù)幀ID、幀類型、數(shù)據(jù)長度、數(shù)據(jù)結(jié)構(gòu)協(xié)議。
通過檢測軟件數(shù)據(jù)的全面分析及傳感器實(shí)測環(huán)境數(shù)據(jù)的比對,測試結(jié)果能夠滿足智能康復(fù)輪椅對環(huán)境實(shí)時數(shù)據(jù)采集的要求。
5? 結(jié)語
智能輪椅數(shù)據(jù)采集系統(tǒng)CAN總線上數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?00kB,能夠快速的感應(yīng)到康復(fù)輪椅周圍環(huán)息及人體姿態(tài)、頸椎壓力等信息。上位機(jī)可以根據(jù)實(shí)時數(shù)據(jù)判斷分析,通過PWM脈寬控制電機(jī)作出相應(yīng)的功能調(diào)整[8]。通過系統(tǒng)軟件測試和硬件功能調(diào)試,CAN總線協(xié)議上數(shù)據(jù)傳輸可靠性高、實(shí)時性強(qiáng),能夠很好滿足智能輪椅多傳感器、多CAN節(jié)點(diǎn)的數(shù)據(jù)采集功能。利用串口轉(zhuǎn)CAN模塊更方便了系統(tǒng)的優(yōu)化和輪椅功能的升級。
參考文獻(xiàn)
[1] 陳亦翔,李業(yè)健,張鈉棣,等.智能輪椅的人臉識別與避障系統(tǒng)研究[J].電子元器件與信息技術(shù).2020(6):71-72.
[2] 胡鋮錕,陳致格,晏泉,等.基于坐姿傳感及自主避障的輪椅控制系統(tǒng)[J].安徽工業(yè)大學(xué)學(xué)報,2020(9):280-288.
[3] 方略,何洪軍,高旭.基于CAN通信多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算技術(shù)與自動化,2020(9):37-41.
[4] 侯佳辛,廣軍.基于單片機(jī)的超聲波液位智能控制系統(tǒng)設(shè)計(jì)[J].自動化與儀表,2020(5).
[5] 王維果,朱世國,饒大慶,等.應(yīng)變式電阻壓力傳感元件靈敏度的測定[J].物理實(shí)驗(yàn),2018(11):27-29.
[6] 陳昱,沈林濤,王凱.基于STM32控制的平衡小車系統(tǒng)設(shè)計(jì)[J].軟件導(dǎo)刊,2020(8):319.
[7] 李威,嚴(yán)良文,錢峰峰.基于CAN總線下串口通訊在車載監(jiān)測中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2019(2):28-29,31.
[8] 彭天然,張梅.基于STM32的智能輪椅控制系統(tǒng)設(shè)計(jì)[J].智能處理與應(yīng)用,2020(8).