還記得我們“2022寒假在家一起練”的RP2040游戲機(jī)平臺(tái)上的4向搖桿么?很多同學(xué)用它實(shí)現(xiàn)了游戲機(jī)的位置操控,還制作了鼠標(biāo)的功能。4向搖桿本質(zhì)是2個(gè)電位計(jì) - X軸和Y軸各一個(gè)電位計(jì)。
用RP2040制作的游戲機(jī)平臺(tái)
四向搖桿的結(jié)構(gòu)和內(nèi)部原理圖
在RP2040游戲機(jī)平臺(tái)中占用了RP2040的兩個(gè)ADC輸入管腳,通過檢測由這兩個(gè)電位計(jì)帶來的分壓電壓的變化,從而判斷搖桿的相對位置。
想一下,如果MCU內(nèi)部沒有ADC,只有數(shù)字IO,或者用FPGA是否也能檢測電位計(jì)的變化?甚至給出電位計(jì)的阻值變化?而且能夠用一根輸入管腳同時(shí)感知2個(gè)電位計(jì)?
初聽起來是不是有點(diǎn)天方夜談?如果我們能巧妙利用PWM信號這個(gè)神器,就能實(shí)現(xiàn)對2只電位計(jì)的檢測。
大家知道PWM信號的特點(diǎn) - 一根數(shù)字信號,兩個(gè)基本參數(shù) - 頻率和占空比。我們多數(shù)情況下是產(chǎn)生PWM信號來控制外部的器件,反過來我們能否測量這兩個(gè)參數(shù)的變化,從而用于感知外部的變量呢?
測量PWM信號的這兩個(gè)參量很容易,用高頻率的時(shí)鐘數(shù)數(shù)就可以實(shí)現(xiàn),無論MCU用定時(shí)器來實(shí)現(xiàn),還是FPGA用計(jì)數(shù)器來實(shí)現(xiàn),都很簡單,在這里就不再贅述了。
下面的問題就是通過變化的PWM測量外部的參量:
我們設(shè)計(jì)一個(gè)電路,能夠產(chǎn)生調(diào)頻、調(diào)占空比的PWM信
用一只電位計(jì)來控制產(chǎn)生的PWM信號的頻率
用另外一只電位計(jì)控制產(chǎn)生的PWM信號的占空比
這個(gè)電路是啥樣的?想一下PWM信號的生成原理:
我們?nèi)绻軌蚩刂?a target="_blank">比較器輸入端鋸齒波的頻率,就能調(diào)整PWM脈沖的頻率;
我們?nèi)绻軌蛘{(diào)節(jié)比較器另一端參考電壓的變化,就能調(diào)整PWM脈沖的占空比。
那么,電路就有了:
一顆普通的4運(yùn)放LM324 + 幾顆電阻 + 幾顆電容即可。在這個(gè)電路中用到的供電電壓是5V,此電路結(jié)構(gòu)同樣也適用于3.3V供電。
用兩個(gè)運(yùn)放產(chǎn)生可調(diào)頻率(一個(gè)電位計(jì)P1控制)的三角波,送給一個(gè)用作比較器的運(yùn)放,運(yùn)放的輸出為占空比可調(diào)的脈沖波形。比較器的一個(gè)輸入端電壓由另一個(gè)電位計(jì)來控制。
這個(gè)電路的頻率調(diào)節(jié)范圍為250Hz - 500Hz,脈寬變化從10%到90%,根據(jù)電路中的電阻參數(shù)就可以計(jì)算出兩個(gè)電位計(jì)變化的阻值。
是不是挺簡單的?
要不要用MCU和FPGA分別試一試?
如果你試了,可以將過程和結(jié)果分享在電子森林的項(xiàng)目頁面哦。
原文標(biāo)題:設(shè)計(jì)小技巧:如何用MCU或FPGA的一個(gè)數(shù)字IO測量2個(gè)電位計(jì)的阻值變化?
文章出處:【微信公眾號:電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
605987 -
mcu
+關(guān)注
關(guān)注
146文章
17317瀏覽量
352630 -
adc
+關(guān)注
關(guān)注
99文章
6533瀏覽量
545744 -
電位計(jì)
+關(guān)注
關(guān)注
0文章
253瀏覽量
17019
原文標(biāo)題:設(shè)計(jì)小技巧:如何用MCU或FPGA的一個(gè)數(shù)字IO測量2個(gè)電位計(jì)的阻值變化?
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論