使用Arduino構(gòu)建電阻色碼計算器和歐姆表
對于這個項目,我使用ATmega328微控制器和1.8英寸彩色液晶顯示器構(gòu)建了一個手持電阻色碼計算器和歐姆表。
本文引用地址:http://2s4d.com/article/202410/463553.htm對于我們的項目,我們將創(chuàng)建一個基于Arduino的歐姆計,它也可以作為一個電阻顏色代碼計算器,在視覺上模仿All About Circuits流行的在線電阻顏色代碼計算機。以下是我們已完成項目的運行視頻:
項目概況
該系統(tǒng)的大腦是一個ATmega328微控制器(Arduino UNO)。我們還將使用:
一個小型TFT液晶顯示器。
用于與簡單GUI交互的六個按鈕,
CD4051多路復(fù)用器/多路分用器
八個不同的電阻器,用于在測量范圍之間切換。
與我之前的幾個項目類似,我為這個設(shè)備創(chuàng)建了一個專用的All About Circuits品牌PCB;但是,您也可以使用面包板或perfboard復(fù)制此項目。
這個項目旨在既有趣又有教育意義。有更準(zhǔn)確和可靠的方法來測試您的組件,因為即使是最便宜的萬用表也可能會給您更好的結(jié)果。典型的電阻器的容差為5%,ATmega328的模數(shù)轉(zhuǎn)換器(ADC)的分辨率僅為10位。所以,我們的精度將低于一個好的歐姆表。
電阻器顏色代碼
電阻器色標(biāo)系統(tǒng)最初由無線電制造商協(xié)會在20世紀(jì)20年代開發(fā),用于提供電阻器值和額定值的視覺指示(圖1)。
電阻色帶編碼系統(tǒng)
圖1。電阻色碼表。圖片由EEPower提供
我們將在這個項目中構(gòu)建的顏色代碼計算器只涵蓋四個帶電阻。對于這些類型的組件,前兩個帶表示電阻值的兩個最高有效數(shù)字,第三個帶表示十進(jìn)制乘數(shù),第四個帶表示以百分比表示的值公差。
什么是歐姆表?
歐姆表是每個EE實驗室的重要工具,它是一種測量電阻的儀器,既可以作為專用單元,也可以作為萬用表的一部分。它需要一個內(nèi)部電壓源來產(chǎn)生必要的工作電流,以及適當(dāng)?shù)臏y距電阻器來有效測量被測設(shè)備。
雖然有各種不同類型的歐姆表,但這個項目使用了一個簡單的分壓器。分壓器是一種電路,其中串聯(lián)連接的兩個電阻器兩端的輸入電壓與兩個電阻器的比率成比例地減小。
我們將在串聯(lián)連接到被測電阻器(未知值)的多個測距電阻器(已知值)之間進(jìn)行切換,并使用歐姆定律根據(jù)測量的輸出電壓和已知的輸入電壓計算其值。
電路設(shè)計
圖2的示意圖向我們展示了如何將此項目的面包板或PCB版本的所有組件連接在一起。如果您使用的是開發(fā)板,請確保您的組件與代碼中的引腳配置相匹配。
電阻色碼計算器和歐姆表示意圖
圖2:電阻色碼計算器和歐姆表示意圖。
由于我沒有使用電壓調(diào)節(jié)器,因此最好使用插入穩(wěn)壓5V電源的設(shè)備。我的PCB使用一個專用的USB B端口,可以插入電腦、手機充電器或移動電源,這也使它變得便攜。
圖形顯示和用戶界面
我們的系統(tǒng)使用一系列七個嵌套屏幕(專用功能),能夠出現(xiàn)在128x160 TFT LCD上,作為其基本的圖形用戶界面(GUI)。這些屏幕的插圖是通過使用Adafruit的GFX和ST7735庫在顯示器上直接繪制字母數(shù)字和基本形狀而生成的。ST7735是嵌入到本項目使用的1.8英寸TFT LCD模塊中的顯示驅(qū)動芯片。
注意:將形狀組合為圖形是因為使用轉(zhuǎn)換為Arduino代碼的大位圖會損害系統(tǒng)性能。
控制
我們GUI的每個屏幕功能最多可以響應(yīng)六個觸覺按鈕。在專用PCB上,外兩個標(biāo)有“選擇”和“返回”,而內(nèi)四個標(biāo)有左、右、上、下箭頭符號。這些按鈕構(gòu)成了用于瀏覽菜單、選擇菜單項和返回上一屏幕的控件。
主菜單
初始化屏幕作為其主菜單。GUI的這一部分提示用戶在兩個主要功能之一之間進(jìn)行選擇——歐姆表或顏色代碼計算器(圖3)。對于這個菜單,我決定在兩個菜單項上方放置一個All About Circuits徽標(biāo),使用幾個相互連接的圓形矩形重新創(chuàng)建。
歐姆表和電阻器色碼計算器功能的主菜單
選擇
圖3.歐姆表和電阻器色碼計算器功能選擇的主菜單
導(dǎo)航和選擇
我們系統(tǒng)的每個屏幕都包含多個可選擇的菜單項,顯示為圓角矩形。要瀏覽這些項目,每個菜單都有一個額外的輪廓矩形,可以使用四個導(dǎo)航按鈕向上或向下移動。
通過單擊菜單中的“選擇”按鈕,我們的代碼通過檢查輪廓矩形的當(dāng)前位置以及相應(yīng)的輪廓項目來確定用戶從該菜單中選擇了什么項目。
菜單之間的切換是使用一個標(biāo)志變量在內(nèi)部實現(xiàn)的,該變量根據(jù)用戶的選擇跟蹤LCD上需要顯示的內(nèi)容。也就是說,在Arduino代碼循環(huán)的下一次迭代中,需要調(diào)用七個屏幕函數(shù)中的哪一個。
歐姆表應(yīng)用程序
我們系統(tǒng)中的第二個屏幕是自包含的歐姆表應(yīng)用程序,如圖4所示。此屏幕的頂部顯示被測電阻器的值以及所選的測量范圍。屏幕底部顯示八個可選范圍,對應(yīng)于連接到CD4051芯片輸出的每個測距電阻器的值。
<em>歐姆表主屏幕</em>
圖4.歐姆表主屏幕
在我們的項目中,我們使用CD4051作為解復(fù)用器,并使用ATmega328的三個引腳對其進(jìn)行尋址。這樣做將使我們能夠從八個CD4051輸出通道中數(shù)字選擇一個,將測距電阻器物理連接到其輸入端的未知電阻器,從而完成我們的分壓器電路。
一旦從GUI中選擇了一個范圍,微控制器將尋址多路分解器,并在其模擬引腳之一上測量分壓器的輸出電壓。從這里開始,它根據(jù)前面討論的公式計算未知電阻,并在系統(tǒng)的LCD上顯示其測量值。
為了了解如何正確選擇或校準(zhǔn)測量范圍,您應(yīng)該查看AAC的Intro Lab-如何使用歐姆表測量電阻文章。
電阻器顏色代碼計算器應(yīng)用程序
我們系統(tǒng)中的第三個屏幕是電阻器顏色代碼計算器應(yīng)用程序(圖5)。此屏幕分為三個部分,可以將用戶帶到四個附加的嵌套菜單。
<em>電阻色碼計算器主屏幕</em>
圖5.電阻色碼計算器主屏幕
此屏幕的頂部顯示了一個以All About Circuits的電阻器顏色代碼計算器為藍(lán)本的四帶電阻器,該計算器是使用一系列不同大小和顏色的矩形重新創(chuàng)建的。在這張圖上,代表電阻器色帶的四個矩形能夠根據(jù)用戶輸入動態(tài)切換顏色。
右下角部分包含四個菜單項,一個用于設(shè)置將用戶帶到附加菜單屏幕的每個色帶,而左下角部分則包含應(yīng)用程序標(biāo)題以及所選色帶序列的計算結(jié)果(電阻值和公差)。
為了設(shè)置色帶,用戶必須首先進(jìn)入四個附加菜單屏幕中的一個。這些屏幕由一個適當(dāng)?shù)臉?biāo)題以及一系列顏色或菜單項組成(如圖6所示)。每次用戶從這些菜單中選擇一種顏色時,系統(tǒng)都會將其保存到該特定波段,返回上一屏幕,更改電阻器圖示上該波段的顏色,并將其值輸入顏色代碼計算器公式。
電阻色碼計算器第一位色帶選擇屏幕
圖6.電阻色碼計算器第一位數(shù)字色帶選擇屏幕
這樣,所示電阻器上當(dāng)前描繪的頻帶序列的電阻和公差就會被計算出來,并顯示在我們的電阻器顏色代碼計算器屏幕的左下角。
上傳代碼
一旦你連接好所有東西,你需要將代碼上傳到你的微控制器。如果你使用的是普通的Arduino或類似的開發(fā)板,這個過程很簡單,只需插入USB連接器,選擇你的板和相應(yīng)的com端口,然后單擊上傳按鈕。你可以從Github下載Arduino代碼。
另一方面,如果你想使用我的PCB設(shè)計將這個項目重新創(chuàng)建為一個獨立的系統(tǒng),你需要一個額外的USB到串行模塊,以便按照面包板文章中Arduino的從Arduino到微控制器對ATmega328 IC進(jìn)行編程。
物料清單和PCB文件
表1包含物料清單(BOM)。您可以下載PCB板文件。
表1.物料清單電阻器色碼計算器和歐姆表
讓我知道進(jìn)展如何
如果你試圖重新創(chuàng)建這個項目或用它來開發(fā)其他東西,請在下面的評論中留言。All About Circuits團(tuán)隊和我都很想知道這件事。
評論