新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 用一個微控制器輸入端讀取多個開關與一只電位計的設置

        用一個微控制器輸入端讀取多個開關與一只電位計的設置

        作者: 時間:2011-10-05 來源:網絡 收藏

          本例中的電路給出了一種方法,用一個輸入端,將混合的模擬與數字輸入傳送給一個。電路輸出被連接到一個輸入端。電路包括一個可變電阻和幾個SPST(單刀單擲)開關(圖1)。用戶可以用按鍵來選擇模式、狀態或選項,而模擬輸入提供了一種傳送可調節參數的方法。這個實現要求分析一個并行電阻電路和一個分壓器。如果仔細選擇了電阻值,則電路就能提供一個可識別的模擬輸入,以及一系列分立的按鍵輸入狀態。

        本電路可用一只微控制器管腳

          圖1,本電路可用一只管腳,讀出多個開關和一只電位器的值。

          電阻值的選擇是一個多步的過程,用一個電子表可幫助完成這個計算。例如,假設你想要用5 kΩ的電位器RADJ,為微控制器產生一個0至100%的值。通常會將0至255的采樣值映像為0至100的值,用于表示某個百分數。不過,通過選擇偏置電阻RBIAS的值,可以將模擬輸入直接定位于的0至255范圍內,如78至178。

          要計算相應的高側和低側偏置電阻值,可用下式,將電路作為一個簡單分壓器作計算:

          代入并算出RBIAS,當最大電壓值為255時,最大低電壓值為78,最大高電壓值為178,而RADJ的值為5 kΩ時,則得下式:

          計算得到RBIAS的值為3875Ω。電位器選用標準值3.3 kΩ,則輸入范圍從73至182。這個范圍的動態范圍大于你的需求,但電位器值與按鍵值之間有了一個保護區。當按下開關時,RADJ的位置影響著電路看到的總電阻,因此微控制器必須為每個開關解析一系列值。為S1或S2確定開關電阻RSW時,可在電位器兩個端點位置上使用一個并聯電阻網絡。

          當按下S1,而RADJ在最大位置時,分壓器下端的有效電阻為RADJ與RBIAS串聯后再與RSW并聯。在最小位置時,有效電阻為RSW與RBIAS并聯:

          按下S1時,求出RBIAS與RRFFMAX構成的分壓器值,就確定了值:

          注意,當RADJ在最大值并按下S1時,產生的值必須小于RADJ自身提供的最小值,這樣才能唯一地確定按下了哪個開關。因此最大有效電阻REFFMAX必須產生一個小于最大低電壓的值,如下式所示:

          將開關電阻代入并解算式,得到:

          用電子表格算出開關電阻,得1558Ω,可以選擇標稱為1.5 kΩ的電阻。這樣,當按下開關S1時,根據電位器的位置可得到28至71的區間。同樣,為S2選擇相同的值可得到184至227的區間。這些區間可以用于確定所需按下開關的一系列值,而與電位器的位置無關。雖然沒有必要選擇相同的電阻,但這樣可以減少計算量,簡化設計。此外,選擇較小的串聯開關電阻可擴展它們與電位器之間的保護區,如果獲得的值之間過于靠近,這可能是可取的方法。微控制器使用一個小例程來確定開關的位置以及電位器的設置。

          這種方法也有局限,那就是在任何時間時,不能按下一個以上的按鍵。而且,只有當你未按任何其它按鍵時,微控制器才能讀出電位器的位置。本例給出了如何用兩個按鍵,但按鍵的數量可以修改。輸入范圍可以多達10個按鍵和一只電位器,所有這些均可共享相同的輸入端(圖2)。盡管計算范圍并不重疊且是唯一的,但你的能否在所有情況下都可靠地區分出這些區段,則是有問題的。選擇較小的電阻值可以使這些頻段相隔較遠,創建一個較大的保護區。

        電路最多可以有10個按鍵和一只電位器

          圖2,電路最多可以有10個按鍵和一只電位器。

          用這一技巧加上四只按鍵與一只電位器,為最佳組合。用電子表作試驗,有助于快速地確定每個開關的正確串聯電阻值,以及其輸出范圍。



        關鍵詞: 微控制器 電位計 ADC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 涟水县| 民权县| 赤水市| 洪江市| 新昌县| 定远县| 报价| 大英县| 康保县| 班玛县| 汉沽区| 甘南县| 庄河市| 汝州市| 霍邱县| 缙云县| 清新县| 开江县| 新和县| 阳原县| 开封县| 中牟县| 如皋市| 崇文区| 巧家县| 宜宾县| 永修县| 盐池县| 广州市| 昌邑市| 宁陕县| 临海市| 阿尔山市| 纳雍县| 镇沅| 南靖县| 江陵县| 中方县| 丹凤县| 嘉峪关市| 涞水县|