還記得我們“2022寒假在家一起練”的RP2040游戲機平臺上的4向搖桿么?很多同學用它實現了游戲機的位置操控,還制作了鼠標的功能。4向搖桿本質是2個電位計 - X軸和Y軸各一個電位計。
用RP2040制作的游戲機平臺
四向搖桿的結構和內部原理圖
在RP2040游戲機平臺中占用了RP2040的兩個ADC輸入管腳,通過檢測由這兩個電位計帶來的分壓電壓的變化,從而判斷搖桿的相對位置。
想一下,如果MCU內部沒有ADC,只有數字IO,或者用FPGA是否也能檢測電位計的變化?甚至給出電位計的阻值變化?而且能夠用一根輸入管腳同時感知2個電位計?
初聽起來是不是有點天方夜談?如果我們能巧妙利用PWM信號這個神器,就能實現對2只電位計的檢測。
大家知道PWM信號的特點 - 一根數字信號,兩個基本參數 - 頻率和占空比。我們多數情況下是產生PWM信號來控制外部的器件,反過來我們能否測量這兩個參數的變化,從而用于感知外部的變量呢?
測量PWM信號的這兩個參量很容易,用高頻率的時鐘數數就可以實現,無論MCU用定時器來實現,還是FPGA用計數器來實現,都很簡單,在這里就不再贅述了。
下面的問題就是通過變化的PWM測量外部的參量:
我們設計一個電路,能夠產生調頻、調占空比的PWM信
用一只電位計來控制產生的PWM信號的頻率
用另外一只電位計控制產生的PWM信號的占空比
這個電路是啥樣的?想一下PWM信號的生成原理:
我們如果能夠控制比較器輸入端鋸齒波的頻率,就能調整PWM脈沖的頻率;
我們如果能夠調節比較器另一端參考電壓的變化,就能調整PWM脈沖的占空比。
那么,電路就有了:
一顆普通的4運放LM324 + 幾顆電阻 + 幾顆電容即可。在這個電路中用到的供電電壓是5V,此電路結構同樣也適用于3.3V供電。
用兩個運放產生可調頻率(一個電位計P1控制)的三角波,送給一個用作比較器的運放,運放的輸出為占空比可調的脈沖波形。比較器的一個輸入端電壓由另一個電位計來控制。
這個電路的頻率調節范圍為250Hz - 500Hz,脈寬變化從10%到90%,根據電路中的電阻參數就可以計算出兩個電位計變化的阻值。
是不是挺簡單的?
要不要用MCU和FPGA分別試一試?
如果你試了,可以將過程和結果分享在電子森林的項目頁面哦。
原文標題:設計小技巧:如何用MCU或FPGA的一個數字IO測量2個電位計的阻值變化?
文章出處:【微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1630文章
21802瀏覽量
606364 -
mcu
+關注
關注
146文章
17357瀏覽量
352793 -
adc
+關注
關注
99文章
6537瀏覽量
545879 -
電位計
+關注
關注
0文章
253瀏覽量
17026
原文標題:設計小技巧:如何用MCU或FPGA的一個數字IO測量2個電位計的阻值變化?
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
![](https://file.elecfans.com/web2/M00/A8/C3/poYBAGR3QwaAR2PYAAAn1Z4oqWo051.png)
![](https://file.elecfans.com/web2/M00/A8/C4/poYBAGR3RA2APkgLAAArjhh75Y8484.png)
使用板載電位計(USER POT)通過ADC外設通道讀取電平值
電位器的阻值變化規律與特性解析
![<b class='flag-5'>電位</b>器的<b class='flag-5'>阻值</b><b class='flag-5'>變化</b>規律與特性解析](https://file1.elecfans.com//web2/M00/A6/BE/wKgZomUMQBOAesZ5AAAgrIJDycg132.jpg)
3296電位器阻值怎么看?
![3296<b class='flag-5'>電位</b>器<b class='flag-5'>阻值</b>怎么看?](https://file1.elecfans.com//web2/M00/A6/F8/wKgZomUMQYqAVNTiAAAMPji8pLo712.jpg)
電位器型號含義和檢測阻值方法資料下載
![<b class='flag-5'>電位</b>器型號含義和<b class='flag-5'>檢測</b><b class='flag-5'>阻值</b>方法資料下載](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論