CH571F的AD口檢測時外部電壓小于0V的時候(負0.2V)該如何處理 ???

CH571F的AD口檢測時外部電壓范圍為:-0.2至1.0V,最低值是(負0.2V),此時AD獲取出來的結(jié)果(不為零)是一個大于0的數(shù)值,當實際測試外部到AD口電壓為0V?時 AD結(jié)果接近是0,這導(dǎo)致?會出現(xiàn)?程序邏輯判斷錯誤,應(yīng)該如何避免呢,我需要的效果是:判斷當AD口的電壓<=0伏時,AD檢測獲取出來的結(jié)果值都為零

image.png

這個負值理論測量值,單通道是沒法測負值的,實際只能測量最低0V。



現(xiàn)在PGA配置的是0db(1倍),我并不需要測量負電壓具體數(shù)值,在AD采樣范圍(-0.2至1.0V)里 ,實際測試當AD口電壓為負值時AD獲取的結(jié)果不為0,我只是需要: 當AD口采樣電壓小于0V時,負值電壓時AD獲取的結(jié)果應(yīng)該為0才對的


evt使用的時候,不要啟用粗調(diào)校準,直接使用通道測量的值。
理論上因為測量誤差,測量的ADC值應(yīng)該接近0,測量0v,應(yīng)該是5以內(nèi)的值


在AD初始化的時候直接讓 RoughCalib_Value = 0;相當于關(guān)閉了 AD粗調(diào)校準,實測果然好用了

void ADC_Init(void)

{

? ? GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeIN_Floating); //PA15

? ? GPIOA_ModeCfg(GPIO_Pin_14, GPIO_ModeIN_Floating); //PA14

? ? GPIOA_ModeCfg(GPIO_Pin_13, GPIO_ModeIN_Floating); //PA13

? ? GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating); //PA12

? ? ADC_ExtSingleChSampInit(SampleFreq_4, ADC_PGA_0);

//? ? RoughCalib_Value = ADC_DataCalib_Rough(); //用于計算ADC內(nèi)部偏差,記錄到全局變量? ? ? ? ? ?RoughCalib_Value中?屏蔽此行?不校準AD誤差

? ? RoughCalib_Value = 0; //不使用校準? 2022年5月6日 驗證太陽能板檢測負電壓時? 出現(xiàn)錯誤,這里暫不校準=0;?實測可以達到要求

}

目前已經(jīng)可以達到要求了 ,謝謝!!




只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频