期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要:本系統以STM32F407ZGT6微控制器為核心,采用可靠性高、實時性強和靈活性高的CAN總線數據采集方案。主要采集智能康復輪椅上超聲波傳感器、激光傳感器、MPU6050六軸傳感器、壓力傳感器及電池電壓的實時數據。并對采集到的實時數據進行算法優化處理,由串口轉CAN通信模塊上傳至CAN總線。上位機可根據CAN總線上實時環境數據對康復輪椅進行智能控制。與目前智能輪椅相比,主要特點是增加了頸椎智能牽引技術,多傳感器、多CAN節點的數據采集功能。每個傳感器模塊單獨采用一個CAN節點進行數據采集,提高了數據傳輸實時性、可靠性、安全性。并采用串口轉CAN模塊方便了系統的優化、維護和輪椅功能的升級。
關鍵詞:CAN總線 智能輪椅 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( ); //初始化右側超聲波傳感器使能端口
推薦閱讀:社區智能快遞柜柜格設計及使用情況調研報告