回覆列表
-
1 # 使用者8485617519646
-
2 # 使用者2458114238191884
adc內部電路就是利用電阻網路或是階梯網路來對輸入的電壓進行等級量化的。所以你要想轉換電流必須先轉成電壓,對應好電壓與電流的關係,就可了。
adc內部電路就是利用電阻網路或是階梯網路來對輸入的電壓進行等級量化的。所以你要想轉換電流必須先轉成電壓,對應好電壓與電流的關係,就可了。
謝邀。首先要看stm32的引腳設定範圍,比如常用的是在0到3.3V的範圍內,這個也與stm32的供電電壓相同,其中stm32中一般都會有一個VREF引腳,字面意思是參考電壓,也就是AD轉換的參考電壓,通常這個引腳會與3.3V相連線,中間串聯電感,同時對地有0.1uf的電容濾波。然後就是涉及到了AD轉換的問題,比較重要的引數包括取樣率和轉換精度。一般來講單個AD取樣率最大可以設定為1M甚至更高,如果將stm32設定為多個AD交替轉換,可以做到高達2.4M的取樣率;取樣精度的問題,通常為12位,其中在stm32f3系列中存在有一種16位的AD,其實在日常的生活中,12位的AD已經能夠滿足需求了。最後解釋關於stm32測量正弦波的問題,如果直接將正弦波接到stm32的引腳上,中間不具有調理電路,只有在0~VREF(例如3.3V),這個範圍內的電壓才能夠測量出來,並且由於stm32最大采樣率的問題,正弦波的頻率也不能太大,最大1M的取樣率,我覺得能測到100kHz就已經很不錯了,再往上就沒有意義了。但是,重點來了,傳統的使用中外界電壓範圍不可能剛好都在0~3.3V內,所以引入了調理電路,也就是用放大器實現對訊號的放大,縮小,加偏置電壓等功能,這樣可以實現±5V電壓到0~3.3V的線性轉換,也可以是±10V;同樣也可以加上放大,讓±1V的範圍放大到0~3.3V,這樣都是可以的。唯獨外界訊號的頻率不能任意變,這是由於stm32內部AD的取樣頻率決定的,如果非要測量高頻訊號,只能用外接AD晶片的方式來實現。最後總結,stm32可以直接測正弦訊號,只是對頻率和電壓範圍有要求;如果想實現更寬的電壓範圍,需要外接調理電路;如果想實現更高頻率訊號的測量,就採用外接更高取樣頻率的AD晶片了。注:由於本人能力有限,只是說出了自己的一部分見解,不可避免有錯誤的地方,請見諒。對於更多的stm32測量訊號的內容,可以搜尋網上別人用stm32做示波器的相關內容。