那曲檬骨新材料有限公司

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

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

3天內不再提示

簡述采用蒙特卡洛分析可靠性

電子工程師筆記 ? 來源:電子工程師筆記 ? 2023-05-29 11:56 ? 次閱讀

ADC檢測多個組合按鍵的方法

一般情況下,一個GPIO口只能連接一個按鍵,通過檢測外部輸入的高、低電平判斷按鍵的開閉狀態。

使用按鍵切換串聯或并聯的電阻網絡電壓的通路,可能得到該網絡與不同的按鍵狀態相對應的分壓值,處理器檢測該分壓值之后再映射到按鍵狀態,從而實現按鍵檢測。

接如果按鍵同一時刻只有一個閉合,可以用下圖分壓電阻相互串聯的方式檢測。

25bf1d3a-fdcc-11ed-90ce-dac502259ad0.jpg

電阻串聯分壓的按鍵檢測電路,適用于沒有組合鍵的情況

如果按鍵存在多個同時閉合的情況,則應該用下圖電阻并聯的方式實現檢測;

25c6302a-fdcc-11ed-90ce-dac502259ad0.jpg

存在多個按鍵同時被按下時的ADC檢測電路

當需要檢測n個可能同時閉合的按鍵時,存在種按鍵狀態的組合。

比如,2個按鍵存在以下4種按鍵狀態的組合:

25cd38a2-fdcc-11ed-90ce-dac502259ad0.jpg

2個按鍵的4種組合狀態

以下電路可用于2個組合按鍵的檢測,

25d230b4-fdcc-11ed-90ce-dac502259ad0.jpg

2個組合按鍵的檢測電路

2種按鍵的4種不同狀態,可以得到4個不同的分壓值,經過12位ADC轉換得到不同的ADC值,以此為中心劃分為4個區間。

25d994f8-fdcc-11ed-90ce-dac502259ad0.jpg

4種組合狀態的ADC區間劃分

處理器通過判斷轉換得到的ADC值所在區間,以判斷輸入按鍵的狀態。

如果ADC區間范圍太小,當按鍵處于該區間對應的狀態時,轉換的ADC值有可能因為誤差而落在其它區間,造成按鍵狀態的誤檢測,為了避免這一情況,應該選擇合適的電阻值,使得每一組按鍵狀態對應的ADC區間的范圍盡量大。

電阻阻值的選取

對于3個組合按鍵的ADC檢測,根據上面的分析,電阻阻值的選擇轉換為以下約束條件,最大值的求解:

選擇一組電阻R2,R3,R4,R1的阻值,計算3個按鍵的8個組合狀態下的并聯電阻與R1的ADC值,以此為中心劃分8個區間,與相鄰值的平均值為邊界,劃分8個區間;

每一個區間的邊界之差為區間范圍,求得8個區間中的最小范圍值;

在所有可選阻值中,求解使得8個區間的最小范圍值最大的一組阻值。

我們可以通過編寫octave程序,將R2,R3,R4,R1遍歷所有可選阻值,求出其中使最小范圍值最大的一組阻值,程序如下:

re = linspace(1, 20, 30);%1kΩ-20kΩ之間等間隔取30個阻值
rl=length(re);
rk = [0 0 0;0 0 1;0 1 0; 0 1 1; 1 0 0; 1 0 1; 1 1 0; 1 1 1];%3個按鍵的8種狀態列成3*8的矩陣
maxdiff = 0;
r2o = 0;
r3o = 0;
r4o = 0;
r1o = 0;
for i=1:rl
  for j=1:rl
    for m=1:rl
      for n=1:rl
         r2=re(i);
         r3=re(j);
         r4=re(m);
         r1 = re(n);
         gn = rk * [1/r2; 1/r3; 1/r4] + 0.00001;%矩陣乘法計算R2,R3,R4并聯的導納
         rn = 1./gn;%計算3個電阻的并聯阻抗
         ad = 4096 * r1 ./ (rn + r1);
         ads = sort(ad);
         mind = 65535;
         for p = 1:7
            nd = ads(p + 1) - ads(p);
            if(nd < mind)
              mind = nd;%計算8個區間的最小范圍值
            endif
         end
         if(mind > maxdiff)
          r2o = r2;
          r3o = r3;
          r4o = r4;
          r1o = r1;
          maxdiff = mind;//求解最小范圍值的最大值
         endif
      end
    end
  end
end
maxdiff
r2o
r3o
r4o
r1o

遍歷得到,R2=8.2kΩ,R3=10.8kΩ,R4=18.0kΩ,R1=6.3kΩ,此時8個ADC區間的最小范圍值為186。‘

25e02c14-fdcc-11ed-90ce-dac502259ad0.jpg

3個按鍵8組狀態的ADC區間劃分

汽車電子設計規范對按鍵檢測的要求

根據某百年車企某特的軟硬件設計規范要求,對按鍵檢測有以下要求:

1) 按鍵斷開時,最小的絕緣電阻為100KΩ,對于涉水的開關(比如門狀態開關,最小的絕緣電阻為10KΩ)

2) 接鍵閉合時,最大的接觸電阻為50Ω

25e8ebba-fdcc-11ed-90ce-dac502259ad0.jpg

考慮了絕緣電阻和接觸電阻的按鍵模式

3)對于有機械觸點的按鍵,在閉合瞬間,需要提供不小于10mA的潤濕電流(wetting current)

潤濕電流是指能夠通過維持一定的小電弧清理觸頭表面的塵垢和腐蝕以保持觸頭狀態良好的最小電流值。

采用蒙特卡洛分析可靠性

R2、R3、R4、R1選擇1%精度的電阻,考慮初始誤差,老化和溫度的影響,其阻值在95%至105%之間均勻分布;

按鍵斷開時的絕緣電阻在100KΩ-1MΩ之間均勻分布;

按鍵閉合時的絕緣電阻在0-50Ω之間均勻分布;

ADC轉換誤差在-10LSB于+10LSB之間均勻分布;

用Octave編寫蒙特卡洛仿真程序,

format long;
adc = 04095;
adcc = zeros(1, 4096);
r2=8.2;
r3=10.8;
r4=18;
r1=6.3;
n=1000000;
for i=1:n
  r2d = ((rand - 0.5)*10/100 + 1) * r2;
  r3d = ((rand - 0.5)*10/100 + 1) * r3;
  r4d = ((rand - 0.5)*10/100 + 1) * r4;
  r1n = ((rand - 0.5)*10/100 + 1) * r1;
  r2on =r2d + (rand -0.5) * 0.05 + 0.025;
  r3on =r3d + (rand -0.5) * 0.05 + 0.025;
  r4on =r4d + (rand -0.5) * 0.05 + 0.025;
  r2off =(rand - 0.5)*900 + 550;
  r3off =(rand - 0.5)*900 + 550;
  r4off =(rand - 0.5)*900 + 550;
  rk = [0 0 0;0 0 1;0 1 0; 0 1 1; 1 0 0; 1 0 1; 1 1 0; 1 1 1];
  rki = floor(rand*8);
  rkn = rk(rki + 1,:);
  r2n = r2on;
  r3n = r3on;
  r4n = r4on;
  if(rkn(1) == 0)
    r2n = r2off;
  end
  if(rkn(2) == 0)
    r3n = r3off;
  end
  if(rkn(3) == 0)
    r4n = r4off;
  end
  rs = 1/ (1 / r2n + 1 / r3n + 1 /r4n);
  adv = r1n * 4096 / (r1n + rs);
  adn = floor(adv +(rand - 0.5) *20);
  if(adn < 0)
    adn = 0;
  end
  if(adn >= 4096)
    adn = 4095;
  end
  adn=adn+1;
  adcc(adn)=adcc(adn)+1;
end
 plot(adc, adcc);

取1000000個樣本,統計仿真得到的ADC值,繪制分布圖,如下:

25ee2684-fdcc-11ed-90ce-dac502259ad0.jpg

ADC值分布圖

可見,8個按鍵組合的ADC值沒有限定在區間范圍內,而是發生了重疊。

也就是發生了按鍵狀態誤檢測的現象。

結束:

將一個ADC口用于檢測3個可能同時按下的按鍵時,會發生誤檢測的情況。

同時使用ADC口檢測按鍵還存在沒辦法提供潤濕電流的情況,在工作環境比較惡劣時,按鍵的機械觸點易沾染灰塵等雜質,易被氧化,大大降低按鍵的使用壽命。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電阻
    +關注

    關注

    86

    文章

    5561

    瀏覽量

    172733
  • adc
    adc
    +關注

    關注

    99

    文章

    6533

    瀏覽量

    545759
  • GPIO
    +關注

    關注

    16

    文章

    1216

    瀏覽量

    52380

原文標題:采用蒙特卡洛分析可靠性

文章出處:【微信號:電子工程師筆記,微信公眾號:電子工程師筆記】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    蒙特卡洛法求解估計值

    蒙特卡洛
    YS YYDS
    發布于 :2022年10月28日 23:05:40

    MATLAB蒙特卡洛算法匯集篇

    蒙特卡洛算法,大家可以看看
    發表于 03-30 17:55

    模擬電路故障:用PSPICE做電路故障蒙特卡洛分析遇到問題

    本人新手,研究生論文為模擬電路故障仿真,在用PSPICE做電路故障蒙特卡洛分析,現在遇到問題,如何將仿真結果導入Matlab進行畫圖或者分析。還請高手給予指點。萬分感謝!
    發表于 07-29 15:38

    multisim 對電路進行蒙特卡洛分析 在相同的時間內多次分析后導出的數據點怎么不一樣多呢?

    multisim 對電路進行蒙特卡洛分析在相同的時間內多次分析后導出的數據點怎么不一樣多呢?
    發表于 11-05 22:05

    求助關于multisim中蒙特卡洛分析不能添加輸出節點的問題

    請問各位大神有沒有什么好的方法能讓我一次觀測好多變量。舉個例子如圖。我只能選擇一個變量,如V(probe1)進行***仿真。我能不能選擇V(probe1)~V(probe5)之后再進行蒙特卡洛仿真呢?或者有沒有什么方法能讓我每進行一次蒙特卡洛仿真的時候能同時觀測5個變量值
    發表于 03-05 16:53

    蒙特卡洛分析方法示例

    在仿真中,可以對整體特性的波動進行評估。這在電路整體的特性受多個電路元素影響時是非常有效的分析方法。其實方法有很多,一般采用的方法是圍繞對整體特性有較大影響的電路元素來模擬波動。蒙特卡洛分析
    發表于 07-12 04:20

    用ADE XL做蒙特卡洛仿真分析,要怎樣設置呢?

    用ADE XL做蒙特卡洛仿真分析,在彈出的對話框里面,要怎樣設置呢?只知道有一個是設置仿真點數的,其他的各項設置都是什么含義呢?
    發表于 06-22 06:36

    蒙特卡洛分析時出現錯誤是什么原因導致的?

    蒙特卡洛分析時出現這個錯誤是什么原因蒙特卡洛仿真有用嗎?
    發表于 06-25 07:59

    求助!!!!蒙特卡洛仿真時出現錯誤如何解決???

    求助!!!! 在蒙特卡洛仿真時出現下面的錯誤如何解決呢?? 不知道是不是model配置的有問題,不清楚model file里的文件是什么意思以及如何選取??
    發表于 11-17 10:45

    熱輻射傳輸中的蒙特卡洛方法

    熱輻射傳輸中的蒙特卡洛方法蒙特卡洛方法概述:蒙特卡洛方法是一種隨機模擬方法。將其用于輻射傳熱計算時,其基本思想:將輻射能量看成由大量獨立的光束(光子)組成
    發表于 07-06 07:24 ?54次下載

    基于蒙特卡洛方法的碰撞預警系統仿真

    本文提出了一種基于蒙特卡洛方法的汽車碰撞預警系統。本系統可以自動連續測量行駛車輛前方障礙物的速度和方位等數據,經過估計產生車體和目標的姿態,利用蒙特卡洛方法計
    發表于 12-16 13:52 ?25次下載

    蒙特卡洛模擬優缺點

    本文以蒙特卡洛法為中心,對蒙特卡洛的優缺點、缺點的改進方法、蒙特卡洛的基本原理思想與應用領域進行了詳細的概述。
    發表于 12-15 14:31 ?5.5w次閱讀
    <b class='flag-5'>蒙特卡洛</b>模擬優缺點

    蒙特卡洛模擬方法

    蒙特卡洛是摩納哥大公國的一座知名賭城,里面遍布輪盤賭、擲骰子和老虎機等游戲,類似的,蒙特卡洛方法的建模機制也基于隨機數和統計概率。
    的頭像 發表于 06-05 11:13 ?9758次閱讀

    基于蒙特卡洛相似度遺傳算法的運輸求解算法

    收斂速度;最后,采用蒙特卡洛相似度接收的方式,避免算法陷入局部最優解悶題。通過收斂速度、最優解偏差率、相對標準差等參數對基本遺傳算法GΔ和改進遺傳算法IGA進行比較,驗證了所提算法的有效。針對杭州地理數據,設計開
    發表于 05-10 11:27 ?3次下載

    PSpice仿真教程之蒙特卡洛分析

    前面我們已經講了PSpice提供的三種最基本的分析方法:直流分析、交流掃描分析和瞬態分析,也講了一種進階分析:參數掃描
    的頭像 發表于 11-10 09:57 ?1.6w次閱讀
    百家乐那个娱乐城信誉好| 百家乐官网试玩活动| 千亿娱百家乐官网的玩法技巧和规则 | 百家乐官网赌场大全| 至尊百家乐赌场娱乐网规则| 哈尔滨百家乐官网赌场| 极速百家乐真人视讯| 百家乐官网策略| 百家乐赌博代理荐| 澳门百家乐官网赢技巧| 云鼎百家乐作弊| 百家乐官网棋牌游戏皇冠网| 澳门百家乐心| 百家乐官网大小是什么| 帝王百家乐的玩法技巧和规则| 百家乐官网开户最快的平台是哪家 | 试玩百家乐的玩法技巧和规则 | 老钱庄百家乐官网的玩法技巧和规则| 365棋牌游戏| 做生意的好风水| 老牌全讯网| 博彩百家乐在线| 百家乐官网娱乐城公司| 夜总会百家乐的玩法技巧和规则 | 百家乐视频对对碰| 跨国际百家乐的玩法技巧和规则| 百家乐官网翻天快播粤语| 百家乐计划软件| 莫斯科百家乐官网的玩法技巧和规则 | 威尼斯人娱乐中心老品牌| 新利百家乐官网的玩法技巧和规则| 香港六合彩管家婆| 百家乐路单破解器| 百乐坊百家乐官网游戏| 全讯网历史回顾| 九州百家乐官网的玩法技巧和规则 | 澳门百家乐玩法心得技巧| 优博百家乐官网现金网平台| 大发888合营商| 精英百家乐现金网| 真人百家乐官网免费开户送钱|