基于STM32肌電采集康復器的恒流源設計
引言
直流電源在很多場合經(jīng)常使用,比如企業(yè)研發(fā)產(chǎn)品時、高校實驗室科研與教學實驗時,在產(chǎn)品中也被廣泛應用,例如在數(shù)字醫(yī)療設備中直流電源也常被使用。當前,雖然市面上有很多數(shù)控直流電源,但是市場上既采用STM32作為肌電誘發(fā)康復器的控制器,又采用STM32控制進行恒流輸出的產(chǎn)品較少[1]。目前的狀況是或者性能單一,或者功能齊全但價格昂貴,因此,研發(fā)一種精度高、功能強、成本低的基于 STM32的數(shù)控肌電誘發(fā)康復器的恒流電源具有現(xiàn)實意義,可以兼顧性能和成本。
1性能指標與總體設計方案
根據(jù)肌電誘發(fā)康復器的系統(tǒng)要求,采用STM32數(shù)控恒流源設計具有如下性能指標:
可調參數(shù):電流值。
可調范圍:電流0~3 000 mA。
可調精度:電流設定值和實際值相對誤差為±5%。
工作方 式 : 具有步進“+ ”“—”調整功能 ,步進≤ 10mA,按鍵設置輸出值。
系統(tǒng)總體組成框架圖如圖1所示。
本肌電誘發(fā)康復器設備第一路ADC監(jiān)控肌電信號的電壓值,即根據(jù)采集的肌電電壓信號,經(jīng)高輸入阻抗的隔離放大器進行放大,并進行低通濾波后,送入STM32控制器內置模數(shù)轉換模塊進行A/D轉換,得到數(shù)據(jù)經(jīng)過數(shù)字濾波、運算處理,最終得到肌電信號值。第二路ADC監(jiān)控恒流電源輸出,將電流采集電路采集的信號進行放大,送入STM32控制器進行 ADC數(shù)據(jù)采集,并將得到的數(shù)據(jù)用于反饋PI調節(jié)控制,輸出PWM控制波給驅動電路,從而形成閉環(huán)反饋恒定電流控制。
2主要模塊的實現(xiàn)方案
2.1核心處理器選擇
STM32微控制器(MCU)是意法半導體公司生產(chǎn)的,主要應用于項目要求運算速度比較快、主頻較高、實時性好的中高端市場。本設計使用的是一款采用高性 能ARMCortex—M3 處理器內核的控制器 STM32F103VCT6。其采用32位RISC中央處理器,工作主頻為72 MHz;包含3個12 bit的ADC轉換器,轉換范圍0~3.6 V;64 KBSRAM和256KBFLASH;多達11個通用16位定時器,其中4個PWM定時器等片內資源。
2.2 PWM驅動與采樣模塊
采用N溝道金屬氧化物半導體場效應管(NMOS)作為恒流源的開關管。由單片機控制輸出PWM波電壓控制信號[2],通過BUCK降壓電路輸出所需電流值。
PI調節(jié)[2]與驅動控制原理框圖如圖2所示。
2.3 量程切換與放大電路
本肌電誘發(fā)康復器的恒定電流源輸出部分采用一片八選一的多路模擬開關CD4051實現(xiàn)量程切換,使輸出放大倍數(shù)有8種選擇,方便電路自動調節(jié)控制。STM32通過引腳PA0、PA1、PA2對其通道進行選擇控制,從而實現(xiàn)量程自動切換。將該電路作為放大器LM358 的反饋通路進行放大倍數(shù)調整 , 經(jīng)過LM358其中的一個運算放大器組成的電壓跟隨器后,對電路起到隔離緩沖作用,從而使進入STM32中的A/D轉換信號更合理0量程切換與放大電路如圖3所示。
2.4 PWM驅動控制仿真電路
脈沖寬度調制PWM (Pulse Width Modulation)控制輸出開關管的通斷時間,給后級BUCK電路形成恒流輸出的電流源[3],BUCK電路由470μF電容、470μH電感、1N4148高速開關管構成。用5 Ω水泥電阻模擬負載,經(jīng)過0.1 Ω采樣電阻給LM358運放進行一級同向放大,放大倍數(shù)約為6。PWM驅動仿真控制硬件電路如圖4所示。
3 軟件設計
采用三個按鍵作為人機交互輸入,按鍵1是恒流輸出控制按鍵,實現(xiàn)對恒流輸出啟動和停止控制;按鍵2是恒流步進增加鍵,按鍵3是恒流步進減少鍵。
根據(jù)電路原理圖電路板接入的負載電阻為5 Ω,加上采樣電阻0.1 Ω,根據(jù)歐姆定律計算求得輸出電流的可調范圍為0~3 A。
程序流程圖如圖5所示。
圖5程序流程圖具體程序流程如下:
首先,對STM32的PWM、ADC、GPIO等相關片內外設進行初始化,并設置目標電流值。
然后,啟動定時器TIM的PWM功能,通過配置寄存器設置PWM不同占空比。
通過檢測按鍵觸發(fā)事件,主要檢測降低電流按鍵、提高電流按鍵和停止電流按鍵的觸發(fā),檢測程序進行對應調整。
最后,完成ADC采樣輸出,這一過程中對采樣電壓轉化得到的電流值與 目標電流值進行對比,若結果有較大偏差需進入反饋程序進行PI反饋調節(jié)校正,從而通過調整PWM占空比來減小偏差,直至兩者對比一致或者誤差(error)在所允許的精度范圍內[4—5]。
4 實驗數(shù)據(jù)及分析
實際肌電誘發(fā)康復器的輸出恒流值如表1所示。
表1測量的恒流值數(shù)據(jù)
ADC 值 |
實測電壓 值 /V |
PWM 寄存器值 |
實際電流 值 /A |
設置電流 值 /A |
0 |
0 |
0 |
0 |
0 |
4 |
0. 181 |
50 |
0.003 |
0.005 |
120 |
0.664 |
100 |
0.097 |
0.086 |
220 |
1. 19 |
150 |
0. 177 |
0. 176 |
295 |
1.72 |
200 |
0.238 |
0.234 |
365 |
2.25 |
250 |
0.294 |
0.294 |
438 |
2.77 |
300 |
0.353 |
0.353 |
510 |
3.31 |
350 |
0.411 |
0.413 |
585 |
3.84 |
400 |
0.471 |
0.470 |
676 |
4.38 |
450 |
0.545 |
0.546 |
750 |
4.88 |
500 |
0.604 |
0.605 |
825 |
5.32 |
550 |
0.665 |
0.670 |
915 |
5.96 |
600 |
0.737 |
0.739 |
1 005 |
6.56 |
650 |
0.810 |
0.806 |
1 105 |
7. 16 |
700 |
0.890 |
0.886 |
1 200 |
7.6 |
750 |
0.967 |
0.960 |
1 295 |
8. 16 |
800 |
1.043 |
1.044 |
1 350 |
8.6 |
850 |
1.088 |
1.091 |
1 400 |
9.04 |
900 |
1. 123 |
1. 120 |
1 540 |
9.54 |
980 |
1.257 |
1.254 |
由表1分析可知,恒流源輸出的實際測量值與理論值的相對誤差不超過±5%,滿足測量的精度要求。
STM32的PWM占空比取值范圍0~100%,對應寄存器設置的值域為0~1000,即步進10表征1%的占空比。信號頻率為20 KHz,最高電壓為參考電壓3.3 V。輸出電流與PWM占空比關系如圖6所示。
5結束語
本肌電誘發(fā)康復器的恒流源設計,采用STM32F—103VCT6的微控制器,利用其內部集成的A/D模塊中的兩路模數(shù)轉換模塊進行A/D轉換。對數(shù)控恒流電流源進行程序功能測試,分析測試結果數(shù)據(jù),考慮器件實際溫漂的影響,通過數(shù)據(jù)擬合方法以及程序的PI反饋校正功能,設置目標電流值,能得到較好的輸出電流質量。同時,該恒流源對測量參數(shù)具有顯示、數(shù)據(jù)上傳等功能。實驗數(shù)據(jù)表明,該康復器的恒流源輸出具有測量精度高、穩(wěn)定性好、體積小、成本低、便于攜帶等優(yōu)點,大眾家用前景很好。
[參考文獻]
[1] 張紅賓,李曉晨,趙二剛,等.基于STM32的便攜式數(shù)控直流電源設計[J].實驗室科學,2019,22(3):53-56.
[2] 李貴嬌,魯爭艷,李金寶,等.一種可PWM調制的恒流源電路[J].電子制作,2023,31(15):92-95.
[3]張士飛,肖高博,劉志國,等.基于寬范圍恒壓源的恒流源設計[J].科學技術創(chuàng)新,2021(29):187-189.
[4]劉文勝,李宗平,譚親躍,等.基于STM32的小紋波高精度恒流源系統(tǒng)設計 [J].現(xiàn)代電子技術,2023,46 (13):158-162.
[5]秦玲,楊興林,蔣薇,等.智能PID算法在恒流源紋波抑制中的應用[J].通信電源技術,2014,31(1):5-7.
2024年第10期第12篇