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