版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
使用Arduino和LM317制作一個低電阻表如果您是像我這樣的制造商并在網(wǎng)上尋找一些有趣的項目,那么毫歐表是您可以制作的一件簡單而有用的東西。該電路的基本原理是基于恒流源,我們在之前的一篇文章中已經(jīng)介紹過。毫歐表是一種設(shè)備,可用于確定小電阻的值、PCB走線的電阻,如果您了解專有技術(shù),則可以使用它來找出PCB中的短路?;ヂ?lián)網(wǎng)上有很多毫歐表和低電阻表電路,但今天我們將使用Arduino和流行的LM317線性穩(wěn)壓器IC制作一個非常簡單的低電阻表,它不僅可靠而且提供了一個準(zhǔn)確的測量。W還將在OLED顯示屏上顯示信息,最后,我們將對我們的電路進(jìn)行性能測試。在我們的測試中,該電路不僅準(zhǔn)確,而且范圍也不錯。我們能夠非常準(zhǔn)確地測量0.05R到22R。所以事不宜遲,讓我們開始吧。什么是毫歐表,它是如何工作的?正如我們之前所討論的,毫歐表是一種用于測量低電阻的設(shè)備,如果您問為什么測量低電阻很重要,讓我告訴您它可以用于許多不同類型的應(yīng)用,而不是測量反抗。一個例子可能是;假設(shè)您的電路板顯示電源部分短路,大多數(shù)情況下,問題可能是電容器損壞。如果您可以使用低電阻表,您可以檢查電路板的不同部分,以查明電阻最低的特定區(qū)域,然后您可以從那里開始調(diào)試。這是一個簡單的例子,如果你想你可以做的不僅僅是這個。電阻可以定義為阻礙電子流動的成分;電阻的單位是歐姆。毫歐表是一種非常簡單的儀器,用于測量未知/低值電阻。市場上有許多歐姆表,它們可以測量各種電阻,但這些儀表有一個共同點(diǎn),一開始它們非常昂貴。我們的毫歐表根據(jù)歐姆定律工作。工作原理和電路很簡單,從標(biāo)題就知道了,我們要用一個Arduino來處理電流信息,但是Arduino不知道如何測量電流,它只知道如何測量電壓,要將電流值轉(zhuǎn)換為電壓值,我們將結(jié)合歐姆定律使用恒流源,并且我們將使用流行的LM317穩(wěn)壓器作為恒流源。構(gòu)建基于Arduino的低電阻表所需的組件您需要一些組件來構(gòu)建這個項目,因為它們非常通用,您可以在當(dāng)?shù)氐膼酆蒙痰曛姓业剿羞@些組件。下面給出了具有值的組件列表。Arduino納米-1LM317T-1128X64OLED-110R電阻-1測試電阻器基于Arduino的低電阻表示意圖基于Arduino的低電阻表的完整電路圖如下所示。該電路的連接圖和工作原理非常簡單,如上圖所示,我們有一個ArduinoNano負(fù)責(zé)數(shù)據(jù)采集、計算和處理。我們有一個OLED顯示屏,可以顯示計算出的電阻值。最后,我們使用的是恒流源LM317T。通過恒流源和一點(diǎn)歐姆定律,我們可以很容易地計算出電阻值。在原理圖中,您可以看到用于計算LM317穩(wěn)壓器IC的電流限制的公式。您還可以在原理圖中看到,我們在電路中使用了一個10R電阻器來計算0.125A或125mA的恒定電流。現(xiàn)在,由于我們有電流值,我們只需將其除以電壓即可得到電阻V=IR,因此R=V/I,我們將得到電阻。代碼:基于Arduino的低電阻表此項目中使用的完整代碼可在此頁面底部找到。添加所需的頭文件和源文件后,應(yīng)該可以直接編譯Arduino代碼了。您可以從下面給出的鏈接下載庫,或者您可以使用板管理器方法安裝庫。下載Adafruit的SSD1306OLED庫代碼非常簡單,如下所示。我們首先包含所有必需的庫。由于我們使用的是OLED顯示器,所以我們必須包含SSD1306庫和Wire庫,SSD1306庫使用Wire庫。
#include#include//OLED線庫
接下來,我們將定義顯示器的屏幕寬度和屏幕高度。此外,我們將定義LM317穩(wěn)壓器IC的電阻值和參考值。這是必需的,因為我們將使用這些值計算恒定電流。一旦我們這樣做,我們將定義平均ADC值所需的所有必要變量。此外,我們將聲明引腳號和其他變量。
常量intnumReadings=50;//用于平均/我們將取50個樣本并平均得到ADC值整數(shù)讀數(shù)[numReadings];//存儲來自模擬輸入的讀數(shù)intreadIndex=0;//當(dāng)前讀數(shù)的索引整數(shù)=0;//運(yùn)行總和intADC平均值=0;//平均值浮動R;//存儲電阻值整數(shù)輸入引腳=A0;//A0被選為輸入
接下來,我們?yōu)镾SD1306顯示器創(chuàng)建一個實(shí)例并傳入線對象。
Adafruit_SSD1306顯示(SCREEN_WIDATA_PINH,SCREEN_HEIGHT,&Wire,-1);
接下來,在setup()部分,我們將初始化顯示并檢查顯示是否可用。我們在if語句的幫助下做到這一點(diǎn)。如果顯示可用,我們繼續(xù)執(zhí)行我們的代碼,否則我們打印一個錯誤語句。
if(!display.begin(SSD1306_SWITCHCAPVCC,0x3C)){//地址0x3D為128x64Serial.println(F("SSD1306分配失敗"));為了(;;);}
接下來,我們設(shè)置OLED顯示屏的文本顏色,如果不設(shè)置,則顯示屏可能會顯示黑色段。然后我們在display.setRotation(2)方法的幫助下旋轉(zhuǎn)顯示,因為這是這個項目的要求。
完成后,我們定義for循環(huán)。在for循環(huán)中,我們將數(shù)組的所有元素初始化為零。這很重要,因為數(shù)組中可能存在垃圾值,這可能會在我們的計算中引入錯誤。
display.setTextColor(白色);//設(shè)置液晶顏色display.setRotation(2);//它有模式1,2,3,4//for(intthisReading=0;thisReading<numReadings;thisReading++){讀數(shù)[thisReading]=0;}延遲(500);}
接下來,我們有我們的循環(huán)()部分。在本節(jié)中,我們將進(jìn)行平均ADC值所需的所有必要計算,以平滑輸出ADC讀數(shù)。您在下面看到的代碼用于平均ADC值。
總計=總計-讀數(shù)[readIndex];//減去最后一個讀數(shù):讀數(shù)[readIndex]=模擬讀數(shù)(輸入引腳);//從傳感器讀?。嚎傆?總計+讀數(shù)[readIndex];//將讀數(shù)加到總數(shù)中:讀取索引=讀取索引+1;//前進(jìn)到數(shù)組中的下一個位置:if(readIndex>=numReadings){//如果我們在數(shù)組的末尾...//...繞到開頭:讀取索引=0;}
一旦ADC值被平均,我們打印平均值僅用于調(diào)試。接下來,我們將ADC值轉(zhuǎn)換為電壓值,因為這是計算所需的。此后,我們打印電壓值進(jìn)行調(diào)試。一旦我們有了電壓,我們就知道我們的電流值是固定的。現(xiàn)在,在歐姆定律的幫助下,我們計算電阻值并將其打印在串行監(jiān)視器窗口中。此外,我們在OLED顯示屏上打印這些值。
ADCaverage=總數(shù)/numReadings;//計算平均值:Serial.print("AVG:");Serial.print(ADCaverage);浮動電壓=ADCaverage*(5.0/1024.0);//將ADCaverage轉(zhuǎn)換為電壓序列號.print("\t\t");//給我一點(diǎn)TAb好嗎Serial.print(電壓,3);//將電壓打印到串行監(jiān)視器Serial.print("\t\t");//再給我一個小TAb好嗎R=電壓/(LM317_REF/LM317_Resistance);Serial.print("阻力:");序列號.println(R);display.clearDisplay();display.setTextSize(2);display.setCursor(10,10);顯示.打?。≧,3);display.print("R");顯示.顯示();延遲(50);
這標(biāo)志著我們編碼過程的結(jié)束,現(xiàn)在我們可以開始測試我們的儀表了?;贏rduino的低電阻表的測試為了測試該電路,使用了以下設(shè)置。該設(shè)置是在面包板上進(jìn)行的,僅用于測試目的,強(qiáng)烈建議將此電路制作在合適的PCB板上。正如您在圖片中看到的那樣,我們在面包板上制作了電路,因為它是一個測試電路,結(jié)果證明這是一個壞主意,因為接觸電阻和阻抗對電路造成了很大的影響。這就是為什么在最后一刻,我們決定直接在電路板上焊接一些電線,我們還將10R電阻和鱷魚夾的電線直接焊接到LM317IC本身上。完成后,我們用這個儀表測量了一些電阻并觀察了結(jié)果,結(jié)果非常好。正如您在上圖中所看到的,該值非常準(zhǔn)確。為了驗證結(jié)果,我們決定在MECHO450B+萬用表的幫助下再次測試電路,結(jié)果非常糟糕。萬用表給了我們非常奇怪的值,可能是一個錯誤。為了驗證,我們再次測試了不同的電阻值,結(jié)果幾乎相同。在這一點(diǎn)上,我們確信Meco萬用表無法測量如此低的電阻值。您可以查看描述中的視頻以獲取更多詳細(xì)信息。進(jìn)一步增強(qiáng)這個電路并不完美,還有很大的改進(jìn)空間。首先,電路需要在穿孔板或一塊PCB板上,否則我們會遇到各種各樣的問題。我們使用LM317IC制作了恒流源,可以升級為專門為此目的設(shè)計的特定恒流源。我們使用公差為5%的電阻,但使用公差為1%或更低的電阻會大大改善結(jié)果。#include
#include//OLED線庫
#defineSCREEN_WIDATA_PINH128//OLED顯示寬度,以像素為單位
#defineSCREEN_HEIGHT64//OLED顯示高度,以像素為單位
#defineLM317_REF1.25
#defineLM317_Resistance10.1
常量intnumReadings=50;//用于平均/我們將取50個樣本并平均得到ADC值
整數(shù)讀數(shù)[numReadings];//來自模擬輸入的讀數(shù)
intreadIndex=0;//當(dāng)前讀數(shù)的索引
整數(shù)=0;//運(yùn)行總和
intADC平均值=0;//平均值
浮動R;
整數(shù)輸入引腳=A0;
Adafruit_SSD1306顯示(SCREEN_WIDATA_PINH,SCREEN_HEIGHT,&Wire,-1);
無效設(shè)置(){
//把你的設(shè)置代碼放在這里,運(yùn)行一次:
序列號.開始(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC,0x3C)){//地址0x3D為128x64
Serial.println(F("SSD1306分配失敗"));
為了(;;);
}
display.setTextColor(白色);//設(shè)置液晶顏色
display.setRotation(2);//它有模式1,2,3,4
//
for(intthisReading=0;thisReading<numReadings;thisReading++){
讀數(shù)[thisReading]=0;
}
延遲(500);
}
無效循環(huán)(){
總計=總計-讀數(shù)[readIndex];//減去最后一個讀數(shù):
讀數(shù)[readIndex]=模擬讀數(shù)(輸入引腳);//從傳感器讀取:
總計=總計+讀數(shù)[readIndex];//將讀數(shù)加到總數(shù)中:
讀取索引=讀取索引+1;//前進(jìn)到數(shù)組中的下一個位置:
if(readIndex>=numReadings){
//如果我們在數(shù)組的末尾...
//...繞到開頭:
讀取索引=0;
}
ADCaverage=總數(shù)/numReadings;//計算平均值:
Serial.print("AVG:");
Serial.print(ADCaverage);
浮動電壓=ADCaverage*(5.0/1024.0);//轉(zhuǎn)換ADCaveraget0電壓
序列號.print("\t\t");//給我一點(diǎn)TAb好
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省齊齊哈爾市富??h益海學(xué)校2024-2025學(xué)年七年級上學(xué)期11月期中語文試題(含答案)
- 廣東省汕尾市海豐縣附城中學(xué)2024-2025學(xué)年八年級上學(xué)期11月期中英語試題(含答案)
- 安徽省黃山市歙縣2024-2025學(xué)年七年級上學(xué)期期中考試英語試題(無答案)
- 白瓷餐具行業(yè)相關(guān)投資計劃提議
- 阿米妥相關(guān)行業(yè)投資規(guī)劃報告范本
- GSM和CDMA制移動通信檢測設(shè)備相關(guān)項目投資計劃書
- 汽車配套年終總結(jié)
- 兒童生長發(fā)育與健康評估課件
- 膳食與健康食品安全
- 【初中地理】第三章第二節(jié)世界的地形(1)課件-2024-2025學(xué)年湘教版七年級地理上冊
- OBE理念與人才培養(yǎng)方案制定PPT課件
- 離任審計工作方案 樣稿
- 四大名著稱四大小說三國演義西游記水滸傳紅樓夢中國古典章回小說PPT資料課件
- 港珠澳大橋項目管理案例分析PPT課件
- 員工入職體檢表
- GB∕T 12810-2021 實(shí)驗室玻璃儀器 玻璃量器的容量校準(zhǔn)和使用方法
- 一般跨越架搭設(shè)施工方案
- 小學(xué)體育《網(wǎng)球傳統(tǒng)正手擊球的原地拋球擊球技術(shù)》教案
- RPG游戲概要設(shè)計文檔
- 水泥混凝土路面施工驗收規(guī)范(完整版)
- 西學(xué)中心得體會大全
評論
0/150
提交評論