91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于ADC數(shù)值標定轉(zhuǎn)換為物理量數(shù)值的方法

GReq_mcu168 ? 來源:今日頭條 ? 作者:今日頭條 ? 2022-05-26 15:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

處理器經(jīng)過模數(shù)轉(zhuǎn)換得到數(shù)值之后,需要經(jīng)過進一步的轉(zhuǎn)換得到表征真實物理量的數(shù)值。

得到了物理量數(shù)值,就可以進行顯示,故障判斷等操作。

我們需要找到從模數(shù)轉(zhuǎn)換數(shù)值到物理量之間的轉(zhuǎn)換關(guān)系;

比如,用14位的ADC對市電電壓進行采樣,得到了某個數(shù)據(jù),該數(shù)據(jù)并不是電壓值,而需要經(jīng)過轉(zhuǎn)換關(guān)系得到電壓值。

如果傳感器信號處理電路的線性度都比較好,可以在整個測量范圍內(nèi)采用線性關(guān)系進行轉(zhuǎn)換,如下:

a033c832-dcbb-11ec-ba43-dac502259ad0.png

a0423bba-dcbb-11ec-ba43-dac502259ad0.jpg

ADC與物理量的線性關(guān)系

x為ADC讀到的數(shù)值,y為物理量的數(shù)值,比如電壓值、電流值、溫度值、壓力值等等。

有兩個問題需要注意:

1) k,b的數(shù)值從何而來

2) 單片機如何轉(zhuǎn)換

一、k, b數(shù)值的確認

我通常采用三種方法來確認k、b數(shù)值:

1)正向推導,根據(jù)傳感器、信號處理電路的線性關(guān)系推導得到:

以下圖的三相線電壓測量電路為例:

a04f3450-dcbb-11ec-ba43-dac502259ad0.png

三相線電壓測量電路

電壓互感器的參數(shù)為:

初次級的變比:1mA:1mA

初級限流電流為:400kΩ;

次級線圈電阻為:17Ω;

次級采樣電阻為:100Ω;

運放組成的處理電路的參數(shù)為:

放大倍數(shù):47/(4.7+0.1//0.017)=9.969。

根據(jù)這些參數(shù),假設(shè)相電壓的真有效值為U,按照下面步驟推導:

  • 初級電流為a056d57a-dcbb-11ec-ba43-dac502259ad0.png

  • 次極輸出電壓=次極電流*100//4700=

a05e8f22-dcbb-11ec-ba43-dac502259ad0.png

  • 運放輸出電壓=次極輸出電壓*放大倍數(shù)

a06f2832-dcbb-11ec-ba43-dac502259ad0.png

  • 單片機讀到的14位ADC的數(shù)值=

a080d708-dcbb-11ec-ba43-dac502259ad0.png

  • ADC與線電壓的關(guān)系為:

a08d6734-dcbb-11ec-ba43-dac502259ad0.png

  • 進一步得到:

a09e5120-dcbb-11ec-ba43-dac502259ad0.png

  • 為了減少量化誤差,提供精度,我們對換算得到的電壓保留一位小數(shù),當用整數(shù)來表示需,需要擴大10倍,得到:

a0b0fc1c-dcbb-11ec-ba43-dac502259ad0.png

從而得到了ADC與擴大10倍的線電壓之間的線性轉(zhuǎn)換關(guān)系,其k=3.302264,b=0;

2)分段線性化以及最小二乘法確認轉(zhuǎn)換關(guān)系

在另一篇文章中詳述。

二、 單片機如何轉(zhuǎn)換

當我們得到ADC數(shù)值與物理量之間的線性轉(zhuǎn)換關(guān)系:

a033c832-dcbb-11ec-ba43-dac502259ad0.png

我們需要在程序中將物理量計算出來。

低端的單片機都沒有硬件浮點數(shù)計算能力,即使是32位的cortex-M0/cortex-M3內(nèi)核的處理器(如STM32F0xx以及STM32F1xx系統(tǒng)處理器)也沒有硬件浮點數(shù)計算能力。

當我們通過浮點數(shù)進行轉(zhuǎn)換運算時,會消耗大量的時間。

我的做法是,將k轉(zhuǎn)變?yōu)檎砸粋€整數(shù)后再除以另一個整數(shù),

而對物理量保留小數(shù)點,利用擴大整10倍的整數(shù)進行存儲時,b可以直接四舍五入為整數(shù);

即:

a0c4d7c8-dcbb-11ec-ba43-dac502259ad0.png

,其中,M、N、b都是整數(shù)。

在STM32F103的處理器上,我做了一些測算:

采用64MHz的時間頻率,

計算65535次的浮點數(shù)轉(zhuǎn)換的耗時為:164ms。

單次運算耗時為:2.5us。

轉(zhuǎn)化為整數(shù)乘除運算,計算65535次耗時為:20ms。

單次運算耗時為:0.31us。

當轉(zhuǎn)為整數(shù)運算時,可能會擴大舍入誤差。

我的做法是,根據(jù)整數(shù)M、N的位數(shù)取大數(shù),比如16位的數(shù)。

如果k小于1,則將N固定為65535。

M=round(k*65535)。

如果k大于等于1,則將M固定為65535。

N=round(65535/k)。

在上例中,k=3.302264,則M=65535,N=round(65535/3.302264)=19845。

const STRConfigCalDef g_pt_calvoldefs[PT_VOLTAGE_NUM] =
{
{65535, 19845, 0},
{65535, 19845, 0},
{65535, 19845, 0}
};
U16  pt_calval(U16 val, U16 pm, U16 pn, signed int pk,){
U32 uwDataA;
signed int uwDataB;
U16 resval;
uwDataA = (U32)val * pm;
if(pn == 0){
pn = 1;
}
uwDataA = (U32)val * pm;
uwDataA = (U32)uwDataA / pn;
uwDataB = (signed int)uwDataA;
uwDataB = uwDataB + pk;
if(uwDataB < 0){
uwDataB = 0;
}
  if(uwDataB > 65535){
uwDataB = 65535;
}
resval = (U16)uwDataB;
return(resval)
}

a0d21f46-dcbb-11ec-ba43-dac502259ad0.jpg

轉(zhuǎn)為整數(shù)運算的轉(zhuǎn)換算法

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2576

    文章

    55062

    瀏覽量

    791513
  • adc
    adc
    +關(guān)注

    關(guān)注

    100

    文章

    7513

    瀏覽量

    556085
  • 數(shù)值
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    14739

原文標題:ADC數(shù)值標定轉(zhuǎn)換為物理量數(shù)值的方法及注意事項

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    機器學習特征工程:分類變量的數(shù)值化處理方法

    特征,必須轉(zhuǎn)成數(shù)值才能輸入到模型中。那么問題來了:為什么不直接把Red編成1,Blue編成2?這個做法看起來簡單粗暴,但其實藏著大坑。下面用一個小數(shù)據(jù)集來說明。數(shù)據(jù)
    的頭像 發(fā)表于 02-10 15:58 ?346次閱讀
    機器學習特征工程:分類變量的<b class='flag-5'>數(shù)值</b>化處理<b class='flag-5'>方法</b>

    深入解析ADC:模擬到數(shù)字轉(zhuǎn)換

    將系統(tǒng)性地講解ADC的工作原理、關(guān)鍵參數(shù)、常見類型及實際應(yīng)用技巧,幫助工程師全面掌握其設(shè)計與選型方法。 一、概述 ADC,模擬到數(shù)字轉(zhuǎn)換器(Analog-to-Digital Conv
    的頭像 發(fā)表于 02-04 18:54 ?174次閱讀
    深入解析<b class='flag-5'>ADC</b>:模擬到數(shù)字<b class='flag-5'>轉(zhuǎn)換</b>器

    ADC芯片溫度計算出來的溫度有時錯的離譜,為什么?

    以下是庫函數(shù)里關(guān)于溫度計算的要點,芯片手冊里也是這樣描述的: 讀取ADC參考電壓1.5V時的溫度傳感器的測量溫度 void ADC_GetTsVref1V5(float *fAdcTsDegree
    發(fā)表于 01-22 06:39

    嵌入式中的浮點型數(shù)據(jù)轉(zhuǎn)換為字節(jié)類型的三種方法

    一般是以字節(jié)的形式進行數(shù)據(jù)交互。要想傳輸一個浮點數(shù)需要把浮點數(shù)轉(zhuǎn)換為字節(jié)的形式。 MCU不能直接保存浮點型數(shù)據(jù),能直接保存的是0或1。把數(shù)據(jù)保存到MCU中比較常用的保存方法就是以字節(jié)的方式把數(shù)據(jù)寫到
    發(fā)表于 01-07 06:28

    什么是參比電流?數(shù)值大小對電能表有什么影響?

    計量檢定時的一個參數(shù)值,用作誤差檢測、精度校準的一個數(shù)值
    的頭像 發(fā)表于 12-05 10:15 ?744次閱讀
    什么是參比電流?<b class='flag-5'>數(shù)值</b>大小對電能表有什么影響?

    簡儀科技高密度多物理量自動化測試解決方案

    用戶采用先進的微納工藝從事太赫茲集成器件科研和開發(fā)。在研發(fā)中經(jīng)常需要進行繁復的高密度多物理量測量。用戶采用傳統(tǒng)分立儀器測試的困難在于高度依賴實驗人員經(jīng)驗,缺乏標準化、自動化試驗平臺。
    的頭像 發(fā)表于 10-18 11:22 ?1359次閱讀
    簡儀科技高密度多<b class='flag-5'>物理量</b>自動化測試解決方案

    數(shù)字電壓表設(shè)計教程之模數(shù)轉(zhuǎn)換原理分析

    自然界中的物理量,例如壓力、溫度等都是模擬,要對這些物理量進行控制和檢測,就需要一種能在模擬信號與數(shù)字信號之間起轉(zhuǎn)換作用的電路——模數(shù)轉(zhuǎn)換
    的頭像 發(fā)表于 08-26 16:16 ?4412次閱讀
    數(shù)字電壓表設(shè)計教程之模數(shù)<b class='flag-5'>轉(zhuǎn)換</b>原理分析

    cs1237 讀取數(shù)值老是跳

    使用過程中,讀取的數(shù)值大幅度波動頻繁,低速率傳輸沒問題,只要高于40就會上下跳,這是怎么回事?
    發(fā)表于 07-09 13:42

    上海光機所在高數(shù)值孔徑多芯成像光纖微氣泡缺陷研究中取得進展

    圖1 微氣泡缺陷導致?lián)p耗的數(shù)值模擬。(a)變形纖芯的重建模型;(b)不同變形程度的纖芯的功率變化;(c)變形光纖的電場模。 近期,中國科學院上海光學精密機械研究所先進激光與光電功能材料部特種玻璃
    的頭像 發(fā)表于 06-19 06:45 ?648次閱讀
    上海光機所在高<b class='flag-5'>數(shù)值</b>孔徑多芯成像光纖微氣泡缺陷研究中取得進展

    ADS129x設(shè)備如何將ADC輸出代碼轉(zhuǎn)換為電壓

    要將輸出代碼轉(zhuǎn)換為電壓,必須首先計算最低有效位或LSB的值。一個LSB代表一個代碼的電壓權(quán)重。換句話說,輸入電壓必須改變一個LSB大小,以增加/減少ADC輸出。
    的頭像 發(fā)表于 06-18 17:20 ?1241次閱讀
    ADS129x設(shè)備如何將<b class='flag-5'>ADC</b>輸出代碼<b class='flag-5'>轉(zhuǎn)換為</b>電壓

    EtherCAT科普系列(11):EtherCAT技術(shù)在數(shù)據(jù)采集系統(tǒng)領(lǐng)域的應(yīng)用

    數(shù)據(jù)采集是從物理對象中挖掘有價值的信息的過程。數(shù)據(jù)采集系統(tǒng)先將待測物理量通過傳感器轉(zhuǎn)換為合適的電信號(電壓或電流),電信號經(jīng)過預處理(縮放或濾波等)后傳輸?shù)浇K端設(shè)備,經(jīng)過進一步的轉(zhuǎn)換
    的頭像 發(fā)表于 06-06 11:06 ?807次閱讀
    EtherCAT科普系列(11):EtherCAT技術(shù)在數(shù)據(jù)采集系統(tǒng)領(lǐng)域的應(yīng)用

    VirtualLab Fusion應(yīng)用:具有高數(shù)值孔徑的反射顯微鏡系統(tǒng)

    提高定位精度。在這個案例中,我們演示了具有0.99數(shù)值孔徑(Inagawa et al,2015)的非常緊湊的反射顯微鏡系統(tǒng)的建模,并將使用VirtualLab Fusion的快速物理光學技術(shù)得到的結(jié)果
    發(fā)表于 06-05 08:49

    測試ADXL357 Z軸數(shù)值偏小的原因?

    振動傳感器項目現(xiàn)在用ADXL357這顆料,使用測試軟件測試傳感器不同方向擺放輸出的數(shù)值,大概有百分之二的不良。不良現(xiàn)象為Z軸的數(shù)值偏小。請問遇到過類似的問題嗎 是確認是什么原因呢?
    發(fā)表于 04-16 06:35

    數(shù)字電路—15、數(shù)值比較器

    數(shù)值比較器:能夠比較數(shù)字大小的電路。
    發(fā)表于 03-26 14:16

    L9663無法正常寫入數(shù)值怎么解決?

    我可以正常讀取L9663芯片寄存器內(nèi)的默認值,但無法正常寫入數(shù)值,那位大牛可以幫忙解答一下嘛
    發(fā)表于 03-10 06:00