91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PWM實現ADC采集電量的原理是什么

發布時間:2021-12-03 18:36:08 來源:億速云 閱讀:179 作者:柒染 欄目:互聯網科技

本篇文章為大家展示了PWM實現ADC采集電量的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

PWM實現ADC采集電量的原理是什么

 

1. 說明

對于沒有ADC的主控芯片來說,如果要實現ADC的功能,可以用兩個GPIO和一個運算放大器解決該問題。對于某些國產芯片來說,其內部沒有ADC,所以在有些方案上采用的是PWM電路進行模擬電壓的測量。接下來逐步分析一下基本的原理與采集過程。

 

2.基本原理

利用積分電路,通過調節PWM的占空比,將PWM變成平滑的電壓輸出。然后與需要測量的電壓用比較器進行比較。不斷調節PWM的占空比,當比較器的輸出從0到1時,正好變化時,記錄當前的PWM的占空比即可實現模擬電壓的測量。

 

2. 硬件原理圖

PWM實現ADC采集電量的原理是什么

 
2.1 積分電路

PWM實現ADC采集電量的原理是什么

該部分電路的作用主要是將PWM波轉換成一個平滑的直線。

由于電容兩端的電壓不能突變,這里采用三階積分電路,使得輸出到比較器的電壓是一個平滑的直流電壓。

計算公式

PWM實現ADC采集電量的原理是什么  

經過仿真后效果如下:
PWM實現ADC采集電量的原理是什么  

輸入為100K,振幅為3.3V的PWM波。當占空比為70%時,此時的輸出波形為一個平滑的直流電壓,根據計算公式,得到理論值為2.31V與仿真得到的2.325V基本保持一致。

 
2.2 電壓比較器
PWM實現ADC采集電量的原理是什么  

這部分電壓是電壓比較器的電路原理圖,其中R6的作用是上拉電阻,提高運放的輸出能力。

通過R4與R5兩個電阻進行分壓。得到測量電壓的三分之一與PWM調節出來的電壓進行比較。通過連續不斷的條件PWM的占空比,并檢測運放的輸出,當功放輸出電平出現正好反向時,此時的運放的正級輸入就可以認為與三分之一的測試電壓相同。通過該原理得到需要測量電壓的值。

 

3. 軟件設計

對于PWM測量電壓,需要gpio能夠輸出PWM波。可以直接用gpio輸出高低電平,然后通過計算占空比來進行調節。對于君正X1000來說,可以直接利用PWM輸出穩定的波形。

然后在比較器輸出引腳,可以將該引腳設置成一個中斷,當中斷發生時,功放的電平發生翻轉。通過得到當前的PWM占空比,從而計算出此時電池的電量。

代碼可以參考

kernel/drivers/power/pwm-battery.c

通過該方法測量得到的電壓不是很準確,代碼中的默認精度為50mV。如果要調節精度,可以修改以下代碼

#define PWM_FREQ (140 * 1000)    //采樣頻率
#define PWM_STABLE_TIME_US 200    
#define PWM_SAMPLE_TIMES 3    //采樣次數
#define PWM_DUTY_NS_STEP 30    //每次調節PWM采樣時間
   

4. 總結

在沒有ADC的情況下,可以利用兩個GPIO和一個功放進行模擬ADC的設計。

(1)該方法需要輸出一個穩定的PWM波,其占空比需要精確,所以能夠產生一個穩定的PWM波是關鍵。

(2)被測量的電壓需要穩定,所以為了其電壓的穩定,可以在需要測量的電路部分加一個電容。

PWM實現ADC采集電量的原理是什么  

增加電容C162可以讓電平更加的平穩,采集的電壓更加精確。

(3)可多次ADC轉換求平均值,進行數字濾波消除誤差。

上述內容就是PWM實現ADC采集電量的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武陟县| 温州市| 达日县| 桐庐县| 古蔺县| 大关县| 曲靖市| 岳阳市| 长宁县| 当雄县| 拉萨市| 会宁县| 收藏| 财经| 乌鲁木齐县| 延安市| 奉新县| 天台县| 北海市| 东乌| 安图县| 普宁市| 海南省| 景东| 甘孜| 博罗县| 博白县| 新蔡县| 长乐市| 交城县| 英吉沙县| 那曲县| 垦利县| 东丰县| 探索| 北海市| 邢台县| 武陟县| 泽库县| 波密县| 沙湾县|