Cov txheej txheem:

Arduino Precise & Volt Meter (0-90V DC): 3 Kauj Ruam
Arduino Precise & Volt Meter (0-90V DC): 3 Kauj Ruam

Video: Arduino Precise & Volt Meter (0-90V DC): 3 Kauj Ruam

Video: Arduino Precise & Volt Meter (0-90V DC): 3 Kauj Ruam
Video: Measure DC Voltage and Current with Arduino 2024, Kaum ib hlis
Anonim

Hauv cov lus qhia no, Kuv tau tsim lub ntsuas hluav taws xob los ntsuas qhov ntsuas hluav taws xob siab DC (0-90v) nrog tus txheeb ze qhov tseeb thiab qhov tseeb siv Arduino Nano.

Qhov ntsuas ntsuas kuv coj yog qhov raug txaus, feem ntau hauv 0.3v ntawm qhov ntsuas hluav taws xob tiag tiag ntsuas nrog tus qauv voltmeter (Kuv siv Astro AI DM6000AR). Qhov no ze txaus rau kuv lub hom phiaj siv lub cuab yeej.

Txhawm rau khaws qhov no kuv siv qhov ntsuas hluav taws xob (4.096v) thiab faib hluav taws xob.

Ntawm txoj cai sab, kuv tau siv, qhov tseeb, "kev siv sab nraud" xaiv rau Arduino Nano thiab "Smoothing" piv txwv hauv Arduino qhia.

Khoom siv

1 x Arduino Nano - Txuas

1 x Oled Display (SSD 1306) - Txuas

1 x 1/4W 1% Resistors - 1k ohm - Txuas

1 x 1/4W 1% Resistors - 220k ohm - Txuas

1 x 1/4W 1% Resistors - 10k ohm - Txuas

1 x 4.096v LM4040DIZ -4.1 Kev Siv Hluav Taws Xob - Txuas

Creadboard thiab xov hlau - Txuas

Astro AI DM6000AR - Txuas

USB Power Bank - Txuas

9V Roj Teeb - Txuas

CanadianWinters yog tus koom nrog hauv Amazon Services LLC Associates Program, kev koom tes tshaj tawm txoj haujlwm tsim los muab txoj hauv kev rau cov vev xaib kom tau txais tus nqi los ntawm kev txuas rau Amazon.com thiab cov chaw koom nrog. Los ntawm kev siv cov kev txuas no, ua Amazon Koom Tes Kuv tau txais los ntawm kev tsim nyog yuav khoom, txawm tias koj yuav lwm yam-thiab nws yuav tsis raug nqi dab tsi.

Kauj Ruam 1: Schematics

Schematics
Schematics
Schematics
Schematics

Kuv txuas txhua ntu raws li cov lus qhia saum toj no. Tshwj xeeb kuv tau xaiv 4.096 qhov ntsuas hluav taws xob kom nyob ze li sai tau rau 5v cim kom tsis txhob poob qhov kev daws teeb meem.

Ua raws cov ntawv teev tseg, Kuv tau xaiv 1K ohm resistor rau qhov ntsuas hluav taws xob txawm hais tias tus nqi sib txawv tuaj yeem siv tau. Qhov ntsuas hluav taws xob rau kev siv yog muab los ntawm Nano 5v tus pin.

Lub tswv yim ntawm kev sib tw yog tias DC qhov ntsuas hluav taws xob los ntsuas mus dhau qhov ntsuas hluav taws xob. Qhov ntsuas hluav taws xob thiab tom qab ntawd nkag mus rau tus lej sib piv ntawm Arduino kom ua piv txwv, smoothed, rov ua dua tshiab thiab nthuav tawm ntawm OLed zaub.

Kuv sim ua kom yooj yim:)

Kauj Ruam 2: Txoj Cai thiab Kev Xeem Tshuaj Tiv Thaiv

Qhov ntsuas qhov ntsuas tau raug xaiv raws li nws tau txais kev pom zoo (yog tias kuv tsis yuam kev qhov no yog ntawm Arduino/Atmega cov ntawv) kom ua kom tsis muaj zog qis dua 10k ohm.

Txhawm rau ua kom yooj yim, Kuv tau ua daim ntawv nthuav qhia uas siv lub tshuab xam zauv hauv qhov xwm txheej uas koj xav siv qhov sib txawv tiv thaiv qhov tseem ceeb: Txuas rau Google Daim Ntawv

Nov yog tus lej kuv siv rau txoj haujlwm no:

#suav nrog

#suav nrog U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (tig, [rov pib dua]) ntab voltage = 0; // siv los khaws cov nqi hluav taws xob ntab Radjust = 0.043459459; // Voltage divider factor (R2 /R1+R2) ntab vbat = 0; // qhov hluav taws xob kawg tom qab calcs- qhov hluav taws xob ntawm lub roj teeb ntab Vref = 4.113; // Qhov ntsuas hluav taws xob - ntsuas tus nqi tiag. Nominal tus nqi 4.096v const int numReadings = 50; // tus naj npawb ntawm kev kuaj nyeem - nce ntxiv kom du dua. Txo kom nyeem tau sai dua. int nyeem [numReadings]; // kev nyeem los ntawm cov tswv yim analog int readIndex = 0; // qhov ntsuas ntawm kev nyeem tam sim no tsis tau kos npe ntev = 0; // qhov khiav tag nrho int nruab nrab = 0; // sib txawv rau kev rov ua dua lub vijtsam yam tsis siv ncua ncua tsis tau kos npe ntev dhau losMillis = 0; // yuav khaws zaum kawg lub vijtsam tau hloov kho tshiab // qhov hloov pauv yuav tsis hloov pauv: ncua sijhawm ntev = 50; // ncua sijhawm uas rov ua dua lub vijtsam (milliseconds) tsis muaj teeb tsa (tsis muaj dab tsi) {analogReference (sab nrauv); // siv AREF rau qhov ntsuas hluav taws xob 4.096. Kuv qhov siv hluav taws xob tiag tiag yog 4.113v u8g2.begin (); rau (int thisReading = 0; thisReading = numReadings) {//… qhwv ncig mus rau qhov pib: readIndex = 0; } // xam qhov nruab nrab: nruab nrab = (tag nrho / numReadings); qhov hluav taws xob = nruab nrab * (Vref / 1023.0); //4.113 yog Vref vbat = voltage/Radjust; // Teeb tsa ncua rau lub vijtsam rov ua dua tshiab siv Millis yog (currentMillis - previousMillis> = ncua sijhawm) {// txuag lub sijhawm kawg uas lub vijtsam tau hloov tshiab yav dhau losMillis = currentMillis; u8g2.clearBuffer (); // tshem tawm sab hauv menory // Pob Voltage zaub u8g2.setFont (u8g2_font_fub20_tr); // 20px font u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px font u8g2.setCursor (76, 20); u8g2.print ("Volts"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Qhov tseeb Voltage"); } u8g2.sendBuffer (); // hloov lub cim xeeb sab hauv rau cov zaub ncua (1); }

Thov nco ntsoov kuv me ntsis xeb nrog Arduino coding, yog li yog tias koj pom ib qho yuam kev lossis ib txoj hauv kev los txhim kho txoj cai, kuv qhib rau cov lus qhia:)

Kauj Ruam 3: Cia Peb Xeem Nws

Cia Peb Kuaj Nws!
Cia Peb Kuaj Nws!
Cia Peb Kuaj Nws!
Cia Peb Kuaj Nws!
Cia Peb Kuaj Nws!
Cia Peb Kuaj Nws!

Txhawm rau ntsuas qhov ntsuas hluav taws xob no kuv siv roj teeb 8x9v uas kuv tau txais ntawm lub khw hauv ib cheeb tsam. Kuv tab tom npaj yuav siv lub ntsuas hluav taws xob no los ntsuas qhov hluav taws xob ntawm kuv lub tsheb kauj vab hluav taws xob roj teeb (lawv muaj cov ntsuas hluav taws xob txij li 24-60v nrog rau qee zaum 72v).

Thaum cov khoom siv hluav taws xob tau ntim rau hauv pcb thiab lub thawv me me, qhov no yuav ua rau lub ntsuas roj teeb zoo thiab nqa tau. Cov duab thiab cov ntawv ntawm OLED tuaj yeem hloov kho kom haum rau koj cov kev xav tau (piv txwv li cov ntawv loj rau kev nyeem tau yooj yim).

Kuv lub hom phiaj yog kom muaj qhov ntsuas hluav taws xob nyeem ntawm Oled/Arduino meter tsis deb ntawm kuv li Digital Multi Meter. Kuv tau tsom rau +/- 0, 3v max delta. Raws li koj tuaj yeem pom los ntawm cov vis dis aus Kuv tuaj yeem khaws qhov no tshwj tsis yog nyob rau qhov kawg ntawm qhov ntsuas.

Kuv vam tias koj nyiam qhov Qhia Ntawv thiab qhia rau kuv paub koj cov kev xav!

Pom zoo: