錢惠祥 錢金法 朱長卿 吳超



摘? 要:本系統以STM32F407ZGT6微控制器為核心,采用可靠性高、實時性強和靈活性高的CAN總線數據采集方案。主要采集智能康復輪椅上超聲波傳感器、激光傳感器、MPU6050六軸傳感器、壓力傳感器及電池電壓的實時數據。并對采集到的實時數據進行算法優化處理,由串口轉CAN通信模塊上傳至CAN總線。上位機可根據CAN總線上實時環境數據對康復輪椅進行智能控制。與目前智能輪椅相比,主要特點是增加了頸椎智能牽引技術,多傳感器、多CAN節點的數據采集功能。每個傳感器模塊單獨采用一個CAN節點進行數據采集,提高了數據傳輸實時性、可靠性、安全性。并采用串口轉CAN模塊方便了系統的優化、維護和輪椅功能的升級。
關鍵詞:CAN總線? ?智能輪椅? STM32F407ZGT6
中圖分類號:TP274.2 ? ? ? ? ? 文獻標識碼: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
隨著現代智能控制技術的發展和應用研究,現代智能康復輪椅已經具備監測、輔助治療、遠程監控、導航、避障等多種功能。如通過對聲音、圖像、動作、環境參數等要素進行信息的提取和數據處理,實現遠程網絡監控;應用智能算法控制輪椅運動實現避障;利用傳感技術及智能控制技術實現康復輔助治療等。同時,輪椅產品功能多樣化,也大幅降低了介護人員的工作量。
目前的智能輪椅主要采用ARM核心,通過USART串口或485通信方式,對多種傳感器進行數據采集。雖然也可以完成智能輪椅數據系統的采集,但是隨著智能輪椅的功能不斷提升,傳感器的數量增加,實時性、可靠性不足的問題會越來越明顯。
針對上述問題,我們采用了CAN總線技術,多CAN節點的數據采集功能。CAN總線實時性高,非破壞總線仲裁技術,優先級高的節點無延時。出錯的CAN節點會自動關閉并切斷和總線的聯系,不影響總線的通訊。報文為短幀結構并有硬件CRC校驗,受干擾概率小,數據出錯率極低。每個傳感器模塊單獨采用一個CAN節點進行數據采集,提高了數據傳輸實時性、可靠性、安全性。
與現有的智能輪椅相比,我們還增加了頸椎智能牽引技術的數據采集方案,并采用串口轉CAN模塊方便了智能輪椅維護和功能擴展、升級。
1? 系統整體設計
本系統如圖1所示,由STM32F407核心控制器和超聲波避障[1]、頸椎牽引、姿態平衡、激光越障、電池電量檢測等幾個模塊組成。各個功能的傳感器數據采集在物理上獨立,采用單獨的串口傳輸通道,極大地提高了數據傳輸的實時性、可靠性,避免了信號的相互干擾[2]。
2? 系統硬件設計
2.1 超聲波避障模塊
為了提升環境數據采用的可靠性,配置了2個前置超聲波傳感器,2個左側超聲波傳感器,2個右側超聲波傳感器采集輪椅周圍障礙物信息[3]。利用STM32F407內部自帶定時器功能,TIM5和TIM3多通道捕獲功能捕獲時間轉換成輪椅與障礙物的距離數據[4],并通過USART1串口轉CAN透傳模塊上傳至CAN總線。各個傳感器協同工作,配合上位機對環境的影像識別,讓避障功能得到了進一步的優化。
STM32F407 六通道捕獲配置如表1所示。
2.2 頸椎牽引模塊
頸椎牽引模塊采用壓力傳感器檢測頸椎壓力,將黃色的應變片固定在頸椎牽引桿上。電阻應變片的工作原理是基于應變效應,使其隨著被測定物的應變相應彎曲,根據電阻應變片彎曲度的變化即可改變輸出電壓值[5]。OUT管腳輸出模擬電壓通過MCU自帶A/D轉換功能將電壓模擬量轉換成數字量。并由USART3串口轉CAN透傳模塊上傳至CAN總線。
2.3 越障模塊
越障模塊采用激光傳感器。安裝在輪椅離地10cm高度,檢測距離設置成2m,如果有近距離的數據反饋,說明障礙物超過10cm,不可越障。距離數據從4腳TXD輸出,USART2串口RXD輸入,后由串口轉CAN模塊上傳至CAN總線。該模塊可配合攝像頭確保越障功能的可靠性。
2.4 電池電量檢測模塊
電池電量檢測模塊通過電阻分壓間接獲取電池電壓值,由于STM32F407內部 A/D轉換的參考電壓是3.3V,所以電阻分壓獲取的電壓需小于3.3V。該電壓通過A/D轉換功能將電壓模擬量轉換成數字量,并由USART4串口轉CAN透傳模塊上傳至CAN總線。
2.5 姿態平衡模塊
姿態平衡功能采用MPU6050傳感器模塊[6]。電源電壓VCC 為3.3V,RX串行數據輸入,TX串行數據輸出,利用模塊TTL串口通信模式,通過C程序數據格式處理,可獲取輪椅坐姿X和Y軸的4個字節的角度數據,并由USART4串口轉CAN透傳模塊上傳至CAN總線。
2.6 串口轉CAN透傳模塊
模塊如圖2所示。采用ARM作為處理器,處理速度快。波特率、數據幀ID、濾波器等設置軟件使用方便,波特率可在3kbps-1Mbps的范圍內任意的設定,適應能力更強。模塊上的TTL接口讓與嵌入式系統對接更方便。
該模塊有一個TTL接口及一個CAN接口,可作為一個標準的CAN節點。可直接與任意具有TTL接口的嵌入式系統對接,實現CAN總線的數據收、發雙向傳輸。管腳功能見表2。
利用串口轉CAN透傳模塊不僅節省了智能康復輪椅的開發時間,而且方便了智能輪椅功能的提升和傳感器擴展[7]。
3? 系統軟件設計
3.1 智能康復輪椅數據采集CAN通信數據格式
如表3所示。
3.2 程序簡介
主程序各模塊初始化函數:
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
delay_init(168);? ? ? ? ? ? ? ? ? ? ? ? ?//初始化延時函數
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( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化左側超聲波傳感器使能端口
sr04_3Init( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化右側超聲波傳感器使能端口
Adc_Init();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始化ADC1壓力傳感器數據采集
Adc2_Init();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化ADC2電池電壓數據采集
IWDG_Init(4,500);? ? ? ? ? ? ? ? ? ? ? ? //初始化看門口
TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1);? ? ? ? //初始化定時器5通道1捕獲
TIM5_CH2_Cap_Init(0XFFFFFFFF,84-1); ? ?//初始化定時器5通道2捕獲
4? 系統測試
通過便攜式CAN分析儀,用監控軟件對CAN總線上各個功能模塊傳感器采集到的數據進行分析,如表4所示。包括傳輸時間、數據幀ID、幀類型、數據長度、數據結構協議。
通過檢測軟件數據的全面分析及傳感器實測環境數據的比對,測試結果能夠滿足智能康復輪椅對環境實時數據采集的要求。
5? 結語
智能輪椅數據采集系統CAN總線上數據傳輸的波特率為500kB,能夠快速的感應到康復輪椅周圍環息及人體姿態、頸椎壓力等信息。上位機可以根據實時數據判斷分析,通過PWM脈寬控制電機作出相應的功能調整[8]。通過系統軟件測試和硬件功能調試,CAN總線協議上數據傳輸可靠性高、實時性強,能夠很好滿足智能輪椅多傳感器、多CAN節點的數據采集功能。利用串口轉CAN模塊更方便了系統的優化和輪椅功能的升級。
參考文獻
[1] 陳亦翔,李業健,張鈉棣,等.智能輪椅的人臉識別與避障系統研究[J].電子元器件與信息技術.2020(6):71-72.
[2] 胡鋮錕,陳致格,晏泉,等.基于坐姿傳感及自主避障的輪椅控制系統[J].安徽工業大學學報,2020(9):280-288.
[3] 方略,何洪軍,高旭.基于CAN通信多通道數據采集系統設計[J].計算技術與自動化,2020(9):37-41.
[4] 侯佳辛,廣軍.基于單片機的超聲波液位智能控制系統設計[J].自動化與儀表,2020(5).
[5] 王維果,朱世國,饒大慶,等.應變式電阻壓力傳感元件靈敏度的測定[J].物理實驗,2018(11):27-29.
[6] 陳昱,沈林濤,王凱.基于STM32控制的平衡小車系統設計[J].軟件導刊,2020(8):319.
[7] 李威,嚴良文,錢峰峰.基于CAN總線下串口通訊在車載監測中的應用[J].工業控制計算機,2019(2):28-29,31.
[8] 彭天然,張梅.基于STM32的智能輪椅控制系統設計[J].智能處理與應用,2020(8).