單片機工程師在面試的過程中,經常會碰到一些相同的問題,筆者總結了十個提問率較高的問題,供大家參考。現在我們來分析單片機工程師常遇面試問題之三:單片機如何采樣電流?
單片機的AD模塊轉換原理我這里就不做講解了,有興趣的小伙伴可以找度娘了解,百度都有很詳細的介紹。需要注意的是,想要通過AD口來檢測信號,必須先要把這個信號轉換成電壓信號,這樣單片機才能識別。
電壓采樣
我們來看一下單片機采樣電壓電路圖(1),AIN_Vbat接單片機AD檢測口,需要檢測的電壓Vbat經過電阻R31和R37分壓,分壓得到的電壓送給單片機AD口來檢測,分壓是因為需要把Vbat映射到單片機AD口采樣范圍內,比如Vbat最高電壓為90V,單片機AD模塊參考電壓為3.3V,那么我們就需要把0-90V映射到0-3.3V。因為這是直接檢測電壓信號,所以不需要轉換直接送到單片機AD口即可,圖種R31和R37用來分壓,C30和R32用來濾波防干擾。
電流采樣
言歸正傳,單片機如何采樣電流呢?如之前所說,單片機AD模塊識別的是電壓信號,那么要采樣電流就需要先把電流信號轉換成電壓。一般的做法是在負載端增加一顆電流采樣電阻,比如選擇一個0.05Ω的電阻,當電流為2A的時候,那么該電阻兩端的壓差就是V=IR=0.052=0.1V;這樣就可以把這個電壓信號傳送給單片機AD口進行檢測。但是這個電壓只有0.1V,單片機AD口資源得不到充分利用,檢測誤差會很大,所以我們要把這個電壓進行放大。能不能增大采樣電阻呢?顯然是不行的,因為增大采樣電阻會增加電路損耗。比如增加采樣電阻為1Ω,那么當電流為2A的時候,電阻上消耗的功率為P=I2R=22*1=4W。這樣的損耗是不允許的。所以我們只能加放大器來對這個小電壓信號進行放大。圖(2)是一個電流采樣電路,R100為電流采樣電阻,阻值0.05歐姆。該電路放大倍數為N=120K/5.1K=23.5倍。電路中使R29=R30,R24=R35,放大倍數即為N=R24/R29=R30/R35。具體原理作者將在后續文章為您分解。
單片機采樣計算表格
圖(3)是ADC采樣自動計算的excel表格,輸入電路中的相關參數即可自動計算數據,有需要的小伙伴可以微信搜索“DPJGCS”,關注作者的微信公眾號“單片機技術交流站”,然后回復“AD計算表格”,即可獲取該份excel。