ADC是什么信號(hào)
ADC是什么?
ADC將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的電子元件,通常是將一個(gè)輸入電壓信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào)。
模擬信號(hào):某一個(gè)區(qū)間內(nèi)連續(xù)的物理信號(hào),比如電壓會(huì)每時(shí)每刻都存在且不停的變化;
數(shù)字信號(hào):某一個(gè)區(qū)間內(nèi)有限個(gè)數(shù)的抽象數(shù)值記錄,比如每隔1秒鐘一個(gè)電壓數(shù)值;
采樣率和分辨率
采樣:在模擬信號(hào)上間隔某個(gè)固定的時(shí)間采集瞬時(shí)值,得到一系列的離散值。采樣越密集,得到的離散數(shù)據(jù)集越貼近實(shí)際信號(hào)。采樣率表示采樣的頻率;
分辨率:輸入電壓對(duì)應(yīng)分辨率的位數(shù),分辨率=測(cè)量電壓范圍/(2^resolution-1)。 比如逐次逼近型的ADC,8位分辨率下,能夠?qū)⒖潭戎鸫蔚确?次,每次將精確度提高一倍。假設(shè)最大輸入電壓為3.3V,那么能夠分辨的最小電壓變化為3.3V/255= 12.94mV.
采樣方式
單通道:?jiǎn)蝹€(gè)端口采集對(duì)GND的電壓,受到輸入電壓的干擾,如果輸入電壓波動(dòng)很劇烈,誤差會(huì)很大(蜂鳥(niǎo)Pro等);
差分方式:使用兩個(gè)端口采集,可以一定程度上排除干擾(需要電路上做支持);
采樣原理
ADC有多種不同的設(shè)計(jì)原理和構(gòu)造方式,一般嵌入式芯片集成的都是逐次逼近型ADC。
逐次逼近:類(lèi)似于軟件上的二分,通過(guò)N個(gè)并聯(lián)的比較電路逐次比較大小,來(lái)確定輸入電壓的范圍,每次將數(shù)值范圍在當(dāng)前分辨率內(nèi)減小二分之一,比較電路的數(shù)量決定了分辨率(2^N-1)。
基礎(chǔ)電路知識(shí)
分壓:
通過(guò)串聯(lián)電阻進(jìn)行分壓,串聯(lián)的電阻分得的電壓和阻值成正比。
通過(guò)串聯(lián)電容進(jìn)行分壓,串聯(lián)的電容分得的電壓和容值成反比;
不論是電阻還是電容,接通的時(shí)候都會(huì)導(dǎo)致整個(gè)電路電流增大,從而出現(xiàn)壓降;
選擇合適的參數(shù)
判斷是否存在差分電路,如沒(méi)有則是單端采集模式;
判斷ADC采集端口的輸入范圍,比如3.3V;
基于參考電壓的增益:比如DA14585內(nèi)部基準(zhǔn)是1.2V,則需要至少3倍增益才能達(dá)到3.3V以上的量程;
理解電路邏輯:產(chǎn)品A

v_BAT=(1M+220K)/220K*v_AD;
理解電路邏輯:產(chǎn)品B
v_BAT=vref_adc_value?3000/4095;
v_BAT =v_BAT*2;

理解電路邏輯:產(chǎn)品C

R_NTC=adc_ntc?R_REF/(2?adc_30k-adc_ntc);
結(jié)合實(shí)際需求:產(chǎn)品D
超低功耗,長(zhǎng)時(shí)間持續(xù)運(yùn)行
電壓一定的時(shí)間內(nèi)變化較小,每隔5分鐘測(cè)量一次,并取6次的均值;
結(jié)合實(shí)際需求:產(chǎn)品C
高精度
采集:每隔100ms執(zhí)行一次測(cè)量,每次測(cè)量重復(fù)64次;
過(guò)濾:數(shù)據(jù)排序后,拋掉前后各30個(gè),取4個(gè)中位數(shù)的均值,得到這次采集的結(jié)果;
去抖動(dòng):每秒鐘會(huì)得到10個(gè)處理過(guò)后的數(shù)值,經(jīng)過(guò)平均后顯示到屏幕上(相當(dāng)于每秒鐘執(zhí)行了6400*2次才得到一個(gè)數(shù)值);
進(jìn)一步提高精度的思考
修改電路,同步修改算法,將單端采集改為差分的模式,NTC一路,30K一路。由于差分是直接計(jì)算P、N端口的壓差的,會(huì)直接消除電壓波動(dòng)帶來(lái)的誤差;
低電量閾值設(shè)定方法 (硬件同學(xué)貢獻(xiàn))
列出電路中各個(gè)元器件的最低工作電壓,和最大工作電流。保證最大工作電流的情況下,電池電壓不能低于元器件的最低工作電壓
電子表:以2.3V作為設(shè)備的最低截至電壓,5mA作為電池放電電流。
eink屏幕-2.3V <1mA
藍(lán)牙-2.0V 5mA
FLASH-1.8V 5mA
MCU ADC測(cè)量 1mA
…
將放電曲線根據(jù)放電時(shí)間,分成10等份,每一份代表10%的電量
將一顆新電池依次放電到100%、90%、80%.... 10%, 使用MCU的ADC測(cè)量不同階段時(shí)的電壓,作為不同電量階段的電壓閾值


附:逐次逼近型ADC內(nèi)部工作原理
