Indholdsfortegnelse:

Arduino -drevet multimeter: 8 trin (med billeder)
Arduino -drevet multimeter: 8 trin (med billeder)

Video: Arduino -drevet multimeter: 8 trin (med billeder)

Video: Arduino -drevet multimeter: 8 trin (med billeder)
Video: How to Interface Industrial Sensors with Arduino Nano 2024, December
Anonim
Arduino -drevet multimeter
Arduino -drevet multimeter
Arduino -drevet multimeter
Arduino -drevet multimeter

I dette projekt bygger du et voltmeter og ohmmeter ved hjælp af digitalRead -funktionen på en Arduino. Du vil kunne få en aflæsning næsten hvert millisekund, meget mere præcist end et typisk multimeter.

Endelig kan dataene tilgås på den serielle skærm, som derefter kan kopieres til andre dokumenter, f.eks. excel, hvis du vil analysere dataene.

Da typiske Arduinoer er begrænset til kun 5V, vil en tilpasning af det potentielle divider kredsløb give dig mulighed for at ændre den maksimale spænding, som Arduino kan måle.

Der er også en bro -ensretterchip indbygget i dette kredsløb, som gør det muligt for multimeteret at måle ikke kun DC -spænding, men også AC -spænding.

Forbrugsvarer

1) 1 x Arduino nano/Arduino Uno + tilslutningskabel

2) 5 cm x 5 cm Perfboard

3) 20 x jumperkabler eller ledninger

4) 1 x 1K modstand

5) 2x modstande af samme værdi (ligegyldigt hvad værdierne er)

6) 1 x 16x2 LCD -skærm (valgfrit)

7) 1 x DB107 bro ensretter (Kan udskiftes med 4 dioder)

8) 1 x 100K eller 250K potentiometer

9) 6 krokodilleklip

10) 1 x Låsende trykkontakt

11) 1 x 9V batteri + stikclip

Trin 1: Anskaffelse af materialer

De fleste varer kan købes hos Amazon. Der er et par elektronik -kits på Amazon, som giver dig alle de grundlæggende komponenter såsom modstande, dioder, transistorer osv.

Den, jeg har fundet for at give mig et pang for pengene, er tilgængeligt på dette link.

Jeg havde personligt de fleste komponenter allerede, da jeg gør mange af denne type projekter. For opfinderne derude i Singapore er Sim Lim Tower stedet at gå hen for at købe alle elektroniske komponenter. jeg

anbefaler rumelektronik, kontinental elektronik eller Hamilton elektronik på 3. sal.

Trin 2: Forstå kredsløbet (1)

Kredsløbet er faktisk lidt mere kompliceret, end du måske forventer. Dette kredsløb gør brug af potentielle delere til at måle modstanden og tilføje funktionen med variabel maksimal spænding for voltmeteraspektet.

På samme måde som et multimeter kan måle spændingen på forskellige stadier, 20V, 2000mV, 200mV og så videre, giver kredsløbet dig mulighed for at variere den maksimale spænding, enheden kan måle.

Jeg vil lige gå over formålet med de forskellige komponenter.

Trin 3: Forstå kredsløbet: Formål med komponenter

1) Arduino bruges til sin analogRead -funktion. Dette gør det muligt for Arduino at måle potentialeforskellen mellem den valgte analoge pin og dens jordstift. I det væsentlige spændingen ved den valgte pin.

2) Potentiometeret bruges til at variere kontrasten på LCD -skærmen.

3) Byg videre på, at LCD -skærmen bruges til at vise spændingen.

4) De to modstande af samme værdi bruges til at oprette potentialdeleren til voltmeteret. Dette vil gøre det muligt at måle spændinger over kun 5V.

Oneresistor vil blive loddet på perf -kortet, mens den anden modstand er forbundet med krokodilleklip.

Når du vil have mere præcision og en maksimal spænding på 5V, vil du forbinde krokodilleklipperne sammen uden modstand imellem. Når du vil have en maksimal spænding på 10V, vil du forbinde den anden modstand mellem krokodilleklemmerne.

4) Broens ensretter bruges til at omdanne enhver vekselstrøm, måske fra en dynamo, til DC. Derudover skal du nu ikke bekymre dig om positive og negative ledninger, når du måler spændingen.

5) 1K modstanden bruges til at lave den potentielle divider til ohmmeteret. Spændingsfaldet, målt ved analogRead -funktionen, efter at 5V er indtastet i potentialdeleren, angiver værdien af R2 -modstanden.

6) Låsekontakten bruges til at skifte Arduino mellem Voltmeter -tilstand og Ohmmeter -tilstand. Når knappen er tændt, er værdien 1, Arduino måler modstanden. Når knappen er slukket, er værdien 0, Arduino måler spændingen.

7) Der kommer 6 krokodilleklip ud af kredsløbet. 2 er spændingsproberne, 2 er ohmmeterproberne, og de sidste 2 bruges til at variere multimeterets maksimale spænding.

For at øge den maksimale spænding til 10V, vil du tilføje den anden samme værdimodstand mellem de varierende maksimale krokodilleklip. For at holde den maksimale spænding ved 5V skal du forbinde disse krokodillestifter sammen uden modstand mellem dem.

Når du ændrer spændingsgrænsen ved hjælp af modstanden, skal du sørge for at ændre værdien af VR i Arduino -koden til modstandsværdien mellem de varierende maksimale krokodilleklip.

Trin 4: Sammensætning af kredsløbet

Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet
Sammensætning af kredsløbet

Der er et par muligheder for, hvordan man sammensætter kredsløbet.

1) For begyndere vil jeg anbefale at bruge brødbrættet til at bygge kredsløbet. Det er meget mindre rodet end lodning, og det bliver lettere at fejlsøge, fordi ledningerne let kan justeres. Følg forbindelserne vist på de fritzende billeder.

I det sidste fritzende billede kan du se 3 par orange ledninger forbundet til ingenting. De forbinder faktisk med voltmeterproberne, ohmmeterproberne og de maksimale spændingsvarierende stifter. De to øverste er til ohmmeteret. De to midterste er til voltmeteret (kan være AC- eller DC -spænding). Og de to nederste er til at variere den maksimale spænding.

2) For mere erfarne personer, prøv at lodde kredsløbet på et perfboard. Det vil være mere permanent og vare længere. Læs og følg skematisk vejledning. Det hedder new-doc.

3) Endelig kan du også bestille et færdiglavet print fra SEEED. Alt hvad du skal gøre for at lodde komponenterne på. Den nødvendige Gerberfile er vedhæftet i trin.

Her er et link til en Google Drive-mappe med den zipede Gerber-fil:

Trin 5: Kode til Arduino

#include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

flyde analogr2;

flyde analogr1;

float VO1; / Spænding på tværs af potentialdeleren til kredsløbet, der måler modstand

flyde spænding;

flyde modstand;

float VR; / Dette er den modstand, der bruges til at ændre voltmeterets maksimale grænse. Det kan varieres

flyde Co; / Dette er den faktor, hvormed spændingen registreret af arduino skal multipliceres med for også at tage højde for faldet i spænding fra potentialdeleren. Det er "koefficienten"

int Modepin = 8;

ugyldig opsætning ()

{

Serial.begin (9600);

lcd.begin (16, 2);

pinMode (Modepin, INPUT);

}

void loop () {

hvis (digitalRead (Modepin) == HIGH)

{Resistanceread (); }

andet

{lcd.clear (); Voltageread (); }

}

void Resistancer læs () {

analogr2 = analogRead (A2);

VO1 = 5*(analogr2/1024);

Modstand = (2000*VO1)/(1- (VO1/5));

//Serial.println(VO1);

hvis (VO1> = 4,95)

{lcd.clear (); lcd.print ("Leads not"); lcd.setCursor (0, 1); lcd.print ("tilsluttet"); forsinkelse (500); }

andet

{//Serial.println(Resistance); lcd.clear (); lcd.print ("Modstand:"); lcd.setCursor (0, 1); lcd.print (modstand); forsinkelse (500); }}

ugyldig Voltageread () {

analogr1 = (analogRead (A0));

//Serial.println(analogr1);

VR = 0; / Skift denne værdi her, hvis du har en anden modstandsværdi i stedet for VR. Endnu en gang er denne modstand der for at ændre den maksimale spænding, dit multimeter kan måle. Jo højere modstand her, jo højere spændingsgrænse for Arduino.

Co = 5/(1000/(1000+VR));

//Serial.println(Co);

hvis (analogr1 <= 20)

{lcd.clear (); Serial.println (0,00); lcd.print ("Leads not"); lcd.setCursor (0, 1); lcd.print ("tilsluttet"); forsinkelse (500); }

andet

{Spænding = (Co * (analogr1/1023)); Serial.println (spænding); lcd.clear (); lcd.print ("Spænding:"); lcd.setCursor (0, 1); lcd.print (spænding); forsinkelse (500); }

}

Trin 6: Kabinet med 3D -printer

Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer
Kabinet med 3D -printer

1. Bortset fra akrylhuset vil denne Instructables også have et 3D -trykt hus, som er lidt mere holdbart og æstetisk.

2. Der er et hul på toppen, så LCD'en kan passe ind, og der er også to huller på siden, hvor proberne og Arduino -kablet kan komme igennem.

3. På toppen er der endnu et firkantet hul, som kontakten kan passe ind i. Denne switch skifter en gang mellem ohmmeter og voltmeter.

3. Der er en rille på bundens indvendige vægge, hvor et tykt stykke kort kan glide ind, så kredsløbet er korrekt lukket, selv i bunden.

4. For at sikre bagpanelet er der et par riller på tekstfladen, hvor et gummibånd kan bruges til at binde det.

Trin 7: 3D -udskrivning af filer

3D -udskrivning af filer
3D -udskrivning af filer
3D -udskrivning af filer
3D -udskrivning af filer

1. Ultimaker Cura blev brugt som skiver og fusion360 blev brugt til at designe kabinettet. Ender 3 var den 3D -printer, der blev brugt til dette projekt.

2..step- og.gcode -filerne er begge knyttet til dette trin.

3..step -filen kan downloades, hvis du vil foretage nogle redigeringer af designet før udskrivning.. Gcode -filen kan uploades direkte til din 3D -printer.

4. Kabinettet var lavet af orange PLA og tog cirka 14 timer at udskrive.

Trin 8: Kabinet (uden 3D -udskrivning)

Kabinet (uden 3D -udskrivning)
Kabinet (uden 3D -udskrivning)

1) Du kan bruge en gammel plastkasse til kabinettet. Brug en varm kniv til at skære åbningerne til LCD'en og knappen ud.

2) Derudover kan du tjekke min konto for en anden instruerbar, hvor jeg beskriver, hvordan man bygger en kasse ud af laserskåret akryl. Du vil kunne finde en svg -fil til laserskæreren.

3) Endelig kan du bare forlade kredsløbet uden et kabinet. Det vil være let at reparere og ændre.

Anbefalede: