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

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

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

如何使用Arduino制作萬(wàn)能表

454398 ? 來(lái)源:wv ? 2019-10-18 11:24 ? 次閱讀

步驟1:材料

這是要使用的材料。

集成:

IC ATMEGA 328P(Arduino UNO/Duemilanove )

LM741

LM393

穩(wěn)壓L7805CV

LCD 16X2

晶體16MHz

電容器

0.33uF

100nF

2 x 22pF 《1》聚酯1uF 《電阻:10K電位計(jì)

7 x 10K

2 x 220歐姆

1 M 《150》 330歐姆

二極管

1N4004

連接器

端子塊2針

4 x MOLEX 100支2針

4針MOLEX花費(fèi)100

4 x Borne

2 x開(kāi)關(guān)

2 x按鍵盒

步驟2:代碼和性能

作為測(cè)量骨骼電容的三個(gè)功能,電感和電阻,我們必須選擇我們想做的,要選擇功能并使用2位可以計(jì)數(shù)0-0,0-1,1-0,1-1。

所以我們使用兩個(gè)開(kāi)關(guān)進(jìn)行選擇,使它們用作下拉開(kāi)關(guān),將它們用作下拉開(kāi)關(guān),以測(cè)量電感為0-0,電容為0-1,電阻為1-0,這就是方法我們選擇衡量。

要測(cè)量電感,請(qǐng)使用LM393比較器來(lái)測(cè)量LM741的電容,并使用10k電阻輕松地測(cè)量電阻并制作一個(gè)分壓器。

假設(shè)我們要計(jì)算R1。我們知道R2的值為10k,我們知道Vin的值為5V(通常在Arduino環(huán)境中可以找到),并且在Arduino的模擬Vout引腳上的讀數(shù)是750。

1 。-我們知道ADC Arduino的分辨率為10位,這意味著對(duì)于0V到5V之間的輸入值,可以進(jìn)行1024分頻(將2提升到10)。因此,如果我們?cè)谀M引腳上施加5V,則其值為1023(1024不會(huì)記住從0開(kāi)始計(jì)數(shù),而不是從1開(kāi)始計(jì)數(shù))。如果我們?cè)谝_上施加0V,其值將為0,例如,如果我們將其設(shè)為2.5V,其值將為511。

因此,如果以數(shù)字值提供讀取模擬引腳的值是750,我們可以計(jì)算出Vout,即分壓器的輸出電壓。

》》 5V/1024格= 0,00488V/格

》》 0.00488伏/格?750格= 3.66V

2.-我們可以已經(jīng)清除了R1,那就是問(wèn)題:

》》 Vout =(R2/R1 + R2)?Vin

》》 3.66 V =(10k/R1 + 10k)?5V

》》 R1 + 10k = 10k?5V/3.66V

》》 R1 =(10k?5V/3.66V)-10k =3.66KΩ

通常,我們可以將R1的值計(jì)算為:

》》 R1 =(R2?Vin/Vout)-R2

相同的代碼在西班牙語(yǔ)文檔中,因此如果您如有任何疑問(wèn),請(qǐng)這樣說(shuō):

#include LiquidCrystal lcd(13, 8, 7, 5, 4, 2);

#define R_1 A1

#define R_2 A2

#define IND_1 6

#define IND_2 12

#define fuente_pin 11

#define switch_pin 10

#define descarga_pin 9

#define PIN_1 A3

#define PIN_2 A4

//Variables leer pines

int pin_1;

int pin_2;

//Variables para inductometro

double pulso;

double frecuencia;

double capacitancia;

double inductancia;

//Capacimetro

float R = 1.0e6;

float C = 0;

float RC = 0;

long t_inicio = 0;

volatile long t_alto = 0;

long T = 0;

float VCC = 4.50;

float Vref = VCC / 2;

float V0 = 0;

float error_correccion = 40.;

int retardo_delay = 20;

//Variables resistometro

int vR_1 = 0;

int vR_2 = 0;

float Vin = 5;

float Vout = 0;

float Res_1 = 10000;

float Res_2 = 9000000;

float r_1 = 0;

float r_2 = 0;

float Resistor_1[8];

float Resistor_2[5];

float ResArreglo_1;

float ResArreglo_2;

void setup() {

lcd.begin(16, 2);

//Configuracion de pines

pinMode(PIN_1, INPUT);

pinMode(PIN_2, INPUT);

//Configuracion Inductometro

pinMode(IND_1, INPUT);

pinMode(IND_2, OUTPUT);

capacitancia = 0.000001021;

//delay(200);

//Configuracion de Resistometro

pinMode(R_1, INPUT);

pinMode(R_2, INPUT);

//Configuracion Capacimetro

attachInterrupt(1, stop, RISING);

Vref = VCC / 2;

pinMode(fuente_pin, OUTPUT);

digitalWrite(fuente_pin, LOW);

pinMode(switch_pin, INPUT);

pinMode(descarga_pin, INPUT);

}

void loop() {

leerpines();

if (pin_1 == LOW && pin_2 == LOW) {

digitalWrite(IND_2, HIGH);

delay(5);

digitalWrite(IND_2, LOW);

delayMicroseconds(100);

pulso = pulseIn(IND_1, HIGH, 5000);

lcd.clear();

if (pulso 》 0.1) {

frecuencia = 1.E6 / (2 * pulso);

inductancia = 1. / (capacitancia * frecuencia * frecuencia * 4.*3.1459 * 3.14159);

inductancia *= 1E6;

lcd.setCursor(2, 0);

lcd.print(“INDUCTANCIA:”);

//delay(200);

if (inductancia 》= 1000) {

lcd.setCursor(0, 1);

int valor = (inductancia / 1000) - 0.5;

lcd.print(valor);

lcd.setCursor(6, 1);

lcd.print(“mH”);

} else {

lcd.setCursor(0, 1);

int valor_2 = inductancia + 10;

lcd.print(valor_2);

lcd.setCursor(6, 1);

lcd.print(“uH”);

}

} else if (pulso 《 0.1) {

lcd.setCursor(2, 0);

lcd.print(“INSERTAR IND”);

}

delay(300); } if (pin_1 == LOW && pin_2 == HIGH) {

lcd.clear();

for (int i = 0 ; i 《= 7; i++) {

Resistor_1[i] = analogRead(R_1);

ResArreglo_1 = ResArreglo_1 + Resistor_1[i];

}

vR_1 = (ResArreglo_1 / 8.0);

Vout = (Vin * vR_1) / 1023;

r_1 = Res_1 * (1 / ((Vin / Vout) - 1));

lcd.setCursor(2, 0);

lcd.print(“RESISTENCIA:”);

if (r_1 《= 999) {

lcd.setCursor(0, 1);

lcd.print(r_1);

lcd.setCursor(9, 1);

lcd.print(“Omhs”);

} else if (r_1 》= 1000) {

r_1 = r_1 / 1000;

lcd.setCursor(0, 1);

lcd.print(r_1);

lcd.setCursor(9, 1);

lcd.print(“KOmhs”);

}

delay(500);

ResArreglo_1 = 0;

} if (pin_1 == HIGH && pin_2 == LOW) {

lcd.clear();

if (debounce(switch_pin) == LOW)

{

pinMode(descarga_pin, OUTPUT);

digitalWrite(descarga_pin, LOW);

delay(100);

pinMode(descarga_pin, INPUT);

digitalWrite(fuente_pin, HIGH);

t_inicio = micros(); } if (t_alto 》 0 && t_inicio 》 0 && (t_alto - t_inicio) 》 0 )

{

T = (t_alto - t_inicio);

RC = -T / log((Vref - VCC) / (V0 - VCC));

//Vref = VCC/2

//V0 = 0V

C = RC / R; //Valor en uF

lcd.setCursor(0, 0);

lcd.print(“C:”);

lcd.setCursor(3, 0);

lcd.print(C * 1000, 1);

lcd.setCursor(13, 0);

lcd.print(“nF”);

lcd.setCursor(0, 1);

lcd.print(“C:”);

lcd.setCursor(3, 1);

lcd.print(C * 1000000 - error_correccion , 0);

lcd.setCursor(13, 1);

lcd.print(“pF”); t_inicio = 0;

t_alto = 0; digitalWrite(fuente_pin, LOW);

delay(2000);

}

}

}void leerpines() {

pin_1 = digitalRead(PIN_1);

pin_2 = digitalRead(PIN_2);

}void stop()

{

t_alto = micros();

}int debounce(int pin)

{

int estado;

int previo_estado;

previo_estado = digitalRead(pin);

for (int i = 0; i 《 retardo_delay; i++)

{

delay(1);

estado = digitalRead(pin);

if ( estado != previo_estado)

{

i = 0;

previo_estado = estado;

}

}

return estado;

}

步驟3:電路,原理圖和PCB

在這里您可以看到原理圖中所有內(nèi)容的連接方式,我上傳了用老鷹。

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

    關(guān)注

    1

    文章

    21

    瀏覽量

    13935
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185939
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    萬(wàn)能轉(zhuǎn)換開(kāi)關(guān)的作用有哪些

    萬(wàn)能轉(zhuǎn)換開(kāi)關(guān)是一種廣泛應(yīng)用于工業(yè)自動(dòng)化、電力系統(tǒng)、機(jī)械設(shè)備等領(lǐng)域的電氣元件。它具有多種功能和優(yōu)點(diǎn),能夠?qū)崿F(xiàn)對(duì)電路的控制、保護(hù)和轉(zhuǎn)換。 電路控制功能 萬(wàn)能轉(zhuǎn)換開(kāi)關(guān)最基本的作用是對(duì)電路進(jìn)行控制。它可
    的頭像 發(fā)表于 08-20 10:18 ?268次閱讀

    萬(wàn)能轉(zhuǎn)換開(kāi)關(guān)是什么的主令電器

    萬(wàn)能轉(zhuǎn)換開(kāi)關(guān),作為一種高度靈活多變的主令電器,在電力工程及工程技術(shù)領(lǐng)域扮演著重要角色。其英文名稱為CAM switch,即Highly Versatile Change-Over Switch
    的頭像 發(fā)表于 08-20 10:11 ?256次閱讀

    萬(wàn)能斷路器參數(shù)設(shè)置的基本原則

    萬(wàn)能斷路器是一種廣泛應(yīng)用于電力系統(tǒng)、工業(yè)自動(dòng)化和建筑電氣等領(lǐng)域的保護(hù)和控制設(shè)備。它具有過(guò)載保護(hù)、短路保護(hù)、欠壓保護(hù)等多種功能,能夠有效地保護(hù)電氣設(shè)備和線路的安全運(yùn)行。為了確保萬(wàn)能斷路器的正常工作
    的頭像 發(fā)表于 08-14 15:50 ?306次閱讀

    萬(wàn)能斷路器跳閘后如何復(fù)位

    萬(wàn)能斷路器是一種廣泛應(yīng)用于電力系統(tǒng)中的保護(hù)裝置,其主要作用是在電路發(fā)生故障時(shí),能夠迅速切斷電路,以保護(hù)電氣設(shè)備和人身安全。然而,在實(shí)際使用過(guò)程中,萬(wàn)能斷路器可能會(huì)出現(xiàn)跳閘現(xiàn)象,這時(shí)候就需要進(jìn)行復(fù)位
    的頭像 發(fā)表于 07-31 15:24 ?666次閱讀

    萬(wàn)能斷路器合不上閘的原因

    以下是萬(wàn)能斷路器合不上閘的原因的主要內(nèi)容: 萬(wàn)能斷路器的基本原理和功能 萬(wàn)能斷路器是一種用于保護(hù)電力系統(tǒng)的設(shè)備,可以自動(dòng)切斷故障電路,以防止設(shè)備損壞和事故的發(fā)生。 萬(wàn)能斷路器的主要功能
    的頭像 發(fā)表于 07-31 15:21 ?872次閱讀

    萬(wàn)能斷路器參數(shù)如何設(shè)置

    萬(wàn)能斷路器是一種廣泛應(yīng)用于電力系統(tǒng)、工業(yè)自動(dòng)化和建筑電氣領(lǐng)域的電氣設(shè)備,其主要功能是在電路中起到過(guò)載、短路、欠壓等保護(hù)作用。正確設(shè)置萬(wàn)能斷路器參數(shù)對(duì)于確保設(shè)備安全運(yùn)行和提高系統(tǒng)可靠性具有重要意義
    的頭像 發(fā)表于 07-31 15:19 ?699次閱讀

    萬(wàn)能式斷路器怎么調(diào)電流大小

    萬(wàn)能式斷路器(Universal Circuit Breaker)是一種廣泛應(yīng)用于電力系統(tǒng)、工業(yè)自動(dòng)化和建筑電氣領(lǐng)域的電氣保護(hù)設(shè)備。它具有過(guò)載保護(hù)、短路保護(hù)和欠壓保護(hù)等多種功能,能夠有效地保護(hù)電路
    的頭像 發(fā)表于 07-31 15:06 ?509次閱讀

    簡(jiǎn)述萬(wàn)能電橋測(cè)量電容的步驟

    萬(wàn)能電橋是一種測(cè)量電感和電容的儀器,具有測(cè)量范圍廣、精度高、操作簡(jiǎn)便等特點(diǎn)。在測(cè)量電容時(shí),萬(wàn)能電橋可以準(zhǔn)確地測(cè)量出電容的值,為電子電路設(shè)計(jì)和維修提供了重要的參考數(shù)據(jù)。下面介紹萬(wàn)能電橋測(cè)量電容的步驟
    的頭像 發(fā)表于 07-26 09:58 ?410次閱讀

    python函數(shù)的萬(wàn)能參數(shù)

    我們通過(guò)一個(gè)簡(jiǎn)單的事例來(lái)展示一下函數(shù)的萬(wàn)能參數(shù),我們先寫(xiě)一個(gè)最簡(jiǎn)單的函數(shù)。
    的頭像 發(fā)表于 07-17 14:56 ?222次閱讀
    python函數(shù)的<b class='flag-5'>萬(wàn)能</b>參數(shù)

    AG32的“萬(wàn)能管腳”

    推薦新設(shè)計(jì)了,也就是說(shuō)原廠停產(chǎn)這款芯片已經(jīng)進(jìn)入倒計(jì)時(shí)了。客戶聽(tīng)說(shuō)我們的MCU是“萬(wàn)能管腳”的,所以想試一試看能否替換。AG32的確是目前MCU產(chǎn)品中最接近于“萬(wàn)能
    的頭像 發(fā)表于 07-09 10:00 ?78次閱讀
    AG32的“<b class='flag-5'>萬(wàn)能</b>管腳”

    萬(wàn)能表如何測(cè)量電瓶

    電瓶作為汽車(chē)、摩托車(chē)等交通工具的重要能源儲(chǔ)存裝置,其性能的好壞直接影響到車(chē)輛的正常運(yùn)行。因此,定期檢查電瓶的狀態(tài),確保其電量充足、性能穩(wěn)定,是每位車(chē)主都應(yīng)重視的事項(xiàng)。在眾多的電瓶檢測(cè)工具中,萬(wàn)能表
    的頭像 發(fā)表于 05-20 17:02 ?824次閱讀

    萬(wàn)能表和搖有什么區(qū)別?

    萬(wàn)能表(也稱萬(wàn)用表或多用電表)和搖(兆歐)是兩種不同類型的電氣測(cè)量工具,它們?cè)陔姎鈾z測(cè)中發(fā)揮著各自獨(dú)特的作用。
    的頭像 發(fā)表于 05-11 11:27 ?1189次閱讀

    數(shù)字萬(wàn)能表使用及功能介紹

    公司主營(yíng)出售/回收:示波器、頻譜分析儀、網(wǎng)絡(luò)分析儀、信號(hào)發(fā)生器、萬(wàn)用表/示波器校準(zhǔn)儀、手機(jī)綜合測(cè)試儀、噪聲系數(shù)分析儀、數(shù)據(jù)采集器、NI-GPIB卡、阻抗/LCR測(cè)試儀,音頻分析儀、藍(lán)牙/WANL測(cè)試儀、電源、電池測(cè)試儀、探頭/配件、天饋線測(cè)試儀、光譜分析儀 頻率計(jì)、功率計(jì)等各類儀器儀表!
    的頭像 發(fā)表于 03-19 10:55 ?661次閱讀

    萬(wàn)能表怎么測(cè)短路電流?

    在測(cè)量交流電流時(shí),需要使用特定的夾子或夾具來(lái)確保良好的電流接觸,并注意電路選路的連通性,以確保準(zhǔn)確測(cè)量。
    的頭像 發(fā)表于 02-03 14:57 ?1974次閱讀

    萬(wàn)能遙控器的設(shè)置和使用方法

    萬(wàn)能遙控器是一種能夠控制不同品牌電器的設(shè)備,它可以將多個(gè)遙控器的功能整合到一個(gè)遙控器上,方便用戶操作。在本文中,我將詳細(xì)介紹萬(wàn)能遙控器的設(shè)置和使用方法。 設(shè)置萬(wàn)能遙控器 步驟一:準(zhǔn)備工作 在開(kāi)始設(shè)置
    的頭像 發(fā)表于 01-24 10:57 ?1.3w次閱讀