聚豐項目 > 帶生理監護的頭動智能輪椅控制系統
李耿超
分享李耿超
團隊成員
李耿超 學生
王永勇 學生
黃添杰 學生
1. 硬件設計
系統結構框圖如圖1:
圖1 系統總體架構圖
1.1. MPU9150模塊
近年來隨著MEMS技術的飛速發展,許多芯片公司如ADI,飛思卡爾等知名企業都有自己的MEMS器件。其中,InvenSense公司是首發的第一臺九軸運動傳感跟蹤組件MPU-9150。MPU-9150整合了MPU6050及AK8975電子羅盤功能,集成了3軸陀螺儀,3軸加速度計和三軸磁場。綜上,InvenSense公司的MPU9150器件非常適合我們頭部動作及方向識別這一功能。通過陀螺儀與加速度傳感器經過數據融合算法得到角度數據,并利用三軸磁場對積分漂移問題進行校正。
圖2 MPU9150模塊電路圖
1.2. PPG模塊
圖3 PPG脈搏波檢測電路框圖
圖4 PPG硬件信號處理電路
1.3. 紅外測溫模塊
圖5 紅外傳感器連接圖
1.4. nRF51822和STM32 Nucleo 401主控模塊
Nordic Semiconductor nRF51822 是一款帶ARM-M0內核的多協議藍牙低功耗/ 2.4GHz 專用 RF的單芯片藍牙片上系統。nRF51822將射頻收發器和一個標準具有增強ARM-M0內核結合。它具有高性能、低成本、低功耗和高集成度的特點,便于開發優勢。作品中使用nRF51822結合藍牙4.0協議進行數據傳輸,通過ADC及IIC協議采集數據并發送到手機APP顯示等。利用STM32 Nucleo 401作為輪椅的控制器,接收nRF51822的頭部三維信息并結合輪椅三維信息進行PID運算后,輸出PWM控制輪椅兩輪運動。
圖6 nRF51822模塊電路
1.5. 電機驅動模塊
驅動電路的作用是根據主控電路輸出的控制信號及無刷直流電機發送的霍爾信號控制無刷直流電機繞組的通電順序及時間,從而控制電機的速度和方向。此電路的主要作用是放大從主控芯片STM32 Nucleo 401輸出的 PWM 控制信號,把其轉換成可以驅動電機轉動的 PWM 功率信號。根據作品需要,本文使用帶有電機驅動芯片 IR2130的電機驅動電路。它可以用來驅動工作在母電壓不高于 600V 的電路中的功率 MOS 門器件,相比于反向最大驅動電流500m A,它可輸出的最大正向峰值驅動電流為 250m A。它的內部設計有過壓、欠壓以及過流保護,封鎖以及指示網絡,可以很好的保護被驅動的功率 MOS 管。引腳 5(LIN1)、6(LIN2)、7(LIN3)為三個低壓側功率管對應的驅動器輸入信號端。引腳 2(HIN1)、3(HIN2)、4(HIN3)為三個高壓側功率管對應的驅動器輸入信號端,引腳 5(LIN1)、6(LIN2)、7(LIN3)為三個低壓側功率管對應的驅動器輸入信號端。把控制輪椅的驅動運動的四路PWM信號經過光耦隔離后輸入2、3、5和6引腳即可控制輪椅運動。
驅動系統通過IR2130將輪椅主控芯片NRF51822的輪椅控制信號發出的PWM信號轉換為電機控制PWM信號,經三相半橋逆變電路后驅動電機,實現了電機電流調節。主要驅動電路如下:
圖7 電機驅動模塊電路圖
1.6. 無刷直流電機
直流無刷電動機具有的運行效率、好的調速性能,同時有交流電動機的簡單結構、可靠運行以及維護方便的特點。通過無刷直流電機作為驅動電機,配合全向輪驅動輪椅,使輪椅的運動更加靈活。無刷直流電機可以像有刷直流電機那樣以電源的接通或斷開來實現起停控制。這種控制方法通常是用觸點開關直接完成的。這種方法的缺點是起動電流比較大,電流過大容易引起過熱和去磁問題,起動過快還會引起負載機械的沖擊,所以只適用小功率的電機。更常用的方法是用觸點開關接通控制電源后,再通過對控制器的控制實現起動和停止。在控制器設置有起停控制口(使能控制),以邏輯電平來控制電動機的起動。同時,有調速功能的控制器,以轉速控制指令電壓的高低控制電動機轉速,常常取電壓為零時電動機停轉。控制器有 PWM 信號接口,該信號占空比為零時電動機停轉。
1.7. ECG模塊
圖8 ECG采集模擬前端
圖9 ECG采集后端數字處理流程
1. 算法與軟件設計
1.1. 系統算法設計
要解算得到航姿,我們必須利用相互正交的三軸MEMS陀螺儀不斷快速測量角速度,然后不斷利用姿態更新算法,解算得到最新的航姿,常用以下的四元數姿態更新微分方程:
表示從n到n+1時間內機體坐標系的轉角增加量,包括三軸分量,且有:
由于有歐拉姿態矩陣與四元數姿態矩陣的關系有:
我們可以從姿態矩陣中提取姿態和航向:
1.1.2. 位置式PID控制算法
PID 控制系統在連續控制系統中,按偏差的比例P( proportion)、積分I ( integral)、微分D( derivative)進行計算調整并輸出,經過電機驅動電路進行功率放大之后控制輪椅兩主動輪直流無刷電機的運動[13-16]。
本作品采用位置式PID算法,其理想式為:
式中: u(t) 為控制系統的輸出; Kp為比例放大系數,作用是加快系統的響應速度,提高調節精度; e(t)為輸入的偏差信號; Ti為控制系統微分時間常數; Td為控制系統積分時間常數。
設u(t) 為第k 次采樣控制系統輸出的值,可得出離散PID 算式:
式中: Ki為積分系數,作用是消除系統的穩態誤差; Kd為微分系數,作用是改善系統的動態特性。
(1)輸入/輸出接口
輸入接口與檢測傳感器連接,把檢測的數字信號并輸入給MCU處理。輸出接口把MPU輸出的控制轉向和速度的PWM信號分別輸出給輪椅左右兩個控制電機。
(2)檢測裝置。
輪椅行駛時主要檢測頭部的航向角和俯仰角、輪椅的航向角、兩輪的速度和動作識別所得到的控制信息。
(3)被控對象。
輪椅控制系統有兩個獨立被控對象,分別是兩輪前進和后退的速度,它們都是根據檢測信號來確定輸出量的。
1.2. 主要程序流程圖
軟件設計包括頭戴控制系統部分、智能輪椅控制和智能手機部分。主要控制由頭部控制器MCU,輪椅控制器MCU及智能手機CPU組成。
1.2.1. 頭部控制系統部分
頭部控制系統主要通過ADC采集脈搏波信號,讀取溫度信號并發送到智能手機,讀取MPU9150數據并通過藍牙發送到輪椅控制器。程序流程見圖10。
圖10頭部控制系統部分程序流程圖
1.2.2. 智能輪椅控制部分
輪椅主控芯片STM32 Nucleo 401主要通過ADC采集心電信號,讀取MPU9150數據,通過串口讀取NRF51822接收到的頭部運動數據。并且,收到的頭部控制信號數據與輪椅上的MPU9150數據進行PID運算,通過STM32 Nucleo 401輸出相應的PWM輪椅控制信號,程序流程見圖11。
圖11 輪椅控制部分程序流程圖
1.2.3. 智能手機部分
智能手機部分主要通過藍牙4.0協議接受頭部主控芯片發來的生命體征信號,顯示并共享至互聯網。程序流程見圖12。
圖12 APP部分程序流程圖
本項目精心制作的演示視頻已上傳到騰訊視頻,視頻播放地址:
https://v.qq.com/x/page/b05105izja9.html
實物圖:
輪椅 頭戴控制器
手機APP STM32 Nucleo 401輪椅控制器
輪椅演示視頻截圖:
可見,項目生命體征提取準確,輪椅控制效果穩定,作品功能完整。避免手部操作,只需檢測頭部動作,創新地實現“方向對方向”的控制,使用簡單,攜帶方便,特別適合手腳不靈活的老年人和肢體殘疾人士應用,利于減輕老齡化到來的壓力。
李耿超: 666
回復
caiyu0622: 很贊,非常詳盡~
回復