Digitale multimeter shield voor Arduino (17 / 17 stap)

Stap 17: Trimmen de ohmmeter


Hoe trim de ohmmeter die ik laten voor het bereik 1000 Ohm zien zal. Dezelfde aanpak wordt gebruikt voor het andere bereik.

Alvorens de software moet trimmen van sommige extra meting gebeuren.

  1. De spanningsval over de Zener-diode D2.
  2. Dat een stabiele stroom heb ik veranderd de volgende rij in het hoofdprogramma (lus ()): digitalWrite (curr_mode, laag---> hoog); - op deze manier kan ik de huidige stabiel houden en om het te meten tijdens de Welkom-procedure. De stroom die van de PNP/PMOS verzamelaar/afvoer terminal op grond moet worden gemeten (foto 1)
  3. De dezelfde stroom wordt gemeten weer maar met seriële aangesloten weerstand van 1KOhm (de max voor het bereik) - foto 2. De spanning over de weerstand moet ook worden gemeten.

Ik heb gemeten 2,5 mA in de eerste en 2,48 mA in de tweede metingen. Mijn weerstand was 997 Ohm.

Nu moeten we om de bemonsterde gegevens te verwerken. Om dit te kunnen moeten we ook de Vce/Vds - de spanningsval over de transistor voor bot gevallen berekenen.

Deze spanning - voor de eenvoud die zal ik schrijven dat VCE wordt berekend volgens de volgende formule:

Vce = Vsupply - Vzener - Vr, waar

Vsupply is de gemeten voedingsspanning van de "Arduino" bestuur;

Vzener - de spanningsval over D2 (gemeten op stap 1 hierboven);

Vr - de spanning over de weerstand - gemeten bij stap 3. Geval is voor het eerst 0 V.

De berekende Vce en de bijbehorende stromingen zijn gevuld in excel-bestand. (foto 3). Grafiek wordt gedaan, en trendlijn overeenkomt met de datum wordt weergegeven (rechte lijn). De vergelijking voor de trendlijn wordt weergegeven - het zal worden gebruikt voor de berekeningen.

In mijn geval Ir = ijs = 0.0081 * Vce + 2.4773 -met behulp van deze formule kunnen we berekenen altijd de stroom ijs die door de gemeten weerstand en ook de functie van de spanning over de weerstand, die door de ADC wordt bemonsterd. Hier komt het vermoeden, dat de afhankelijkheid van de Ice van Vce lineair is, wat is vaak waar.

Tenslotte berekenen we de weerstand met behulp van de formule van Ohm:

R = Vr / Ir

Hier is hoe de gewijzigde code eruit ziet:

.......

zweven V_zener = 2.16;
zweven Vr = 0;

zweven Vce = 0;

zweven ijs = 0;

zweven coeff_v100 = 1,01;

zweven coeff_v30 = 1.011;

zweven coeff_v10 = 1.018;

zweven coeff_A_gain = 0.992174;

zweven coeff_A_res = 0.98315;

zweven opamp_offset = 0.000767;

volatile unsigned long last_millis = 0;

ongeldig R_1000() {}
digitalWrite (curr_mode, hoge);

vertraging(20);

LCD.Clear();

LCD.Print ("Ohmmeter R = < 1000");

Serial.println ("* Ohmmeter modus - bereik 0 - 1000 Ohm *");

lcd.setCursor (0, 1);

acc_value = 0;

for (int i = 0; ik < = 15; i ++)

{curr_value = analogRead(A2);

acc_value = acc_value + curr_value; }

curr_value = int(acc_value/16);

Als (curr_value > = 513) {meas_overflow();}

else {Vr = (curr_value * leveren) / 1024;

VCE = levering - V_zener - Vr; Ijs = 0.0081 * Vce + 2.4773;

disp_res = Vr / ijs * 1000;

LCD.Print ("R =");

LCD.Print (disp_res, 1);

LCD.Print ("Ohm");

Serial.Print ("* R =");

Serial.Print (disp_res, 1);

Serial.println ("Ohm");

delay(250); }

}



Als conclusie:

De getoonde multimeter is ontworpen op de eenvoudigste manier, proberen om zo veel functies mogelijk insluiten. Deze aanpak brengt sommige ongewenste eigenschappen - de input weerstand is heel laag, dat de nauwkeurigheid in vergelijking met de standaard stof DMM is lager. De redenen daarvoor zijn:

de onderlinge afstemming van de discrete elementen (voornamelijk weerstanden);

niet voldoende nauwkeurigheid van de microcontroller ADC - het is 10 bit, maar biedt fout voor 3-4 LSB;

de digitale ruis op het gebied van de analoge metingen;

niet goed vast voedingsspanning (dit kan variëren als de DMM is aangesloten op verschillende computers), die fungeert als referentiespanning voor de ADC-converter;

... enz.

Ondanks alle nadelen, werd in dit werk getoond, hoe met behulp van software trucs, de nauwkeurigheid van dergelijk apparaat kunnen drastisch toegenomen - beginnen met meerdere ADC lezingen, hun gemiddeld en alle extra software bijknippen. Ik denk dat die gelijksoortig project zou interessant voor studenten bereid om diep in de gegevens te meten en verwerken van de theorie. Het kan gebruikt worden ook als DMM vervanging voor home elektronische projecten, die net vereisen meer gecompliceerde prestatiemetingsprogramma's.


Dank u voor de aandacht!

Gerelateerde Artikelen

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2105Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
ECG shield voor Arduino

ECG shield voor Arduino

Onlangs maakte ik shield voor arduino die ECG, ademhaling, uiteindelijk na enkele veranderingen in PCB en code, EEG en EMG kan meten. Groot voordeel van deze shield is de mogelijkheid om het gemakkelijk thuis te maken. Het schild is uitgerust met dis
RGB-LCD Shield voor Arduino 65K kleuren KIT V2 montage handleiding

RGB-LCD Shield voor Arduino 65K kleuren KIT V2 montage handleiding

de RGB LCD shield voor Arduino 65K kleur KIT bevat alle onderdelen om een klaar om te gebruiken LCD shield voor Arduino en compatibele boards zoals Freeduino monteren.(bezoek http://store.nkcelectronics.com/rgb-lcd-shield-for-arduino-65k-color-k65.ht
Android telefoon gebruikt als een GSM-shield voor arduino

Android telefoon gebruikt als een GSM-shield voor arduino

hier mijn een andere video toont het gebruik van app uitvinder en bluetooth communicatie interface een arduino board en een Androïde apparaat. Ditmaal ben ik laten zien hoe de SMS-functie gebruiken om te zetten van de telefoon in een gratis GSM shiel
Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

kwamen We kwesties wanneer we LinkSprite RS485 Shield Shield voor Arduino voor hoge snelheid toepassingen, zoals DMX512 communicatie gebruiken.Stap 1: Circuit analyse Het schema van het RS485-schild is hierboven weergegeven.De antwoorden van het schi
Eenvoudige Relay Shield voor Arduino

Eenvoudige Relay Shield voor Arduino

Shield voor control 6 Relais, 6 digitale input en 6 analoge ingang met Arduino Duemilanove, Arduino UNO. De digitale ingangen en relaisuitgangen zijn uitgerust met een LED die de status aangeeft.Het circuit diagram is heel eenvoudig:Stap 1: Schema's
Linux, WiFi, Ethernet, USB-Shield voor Arduino

Linux, WiFi, Ethernet, USB-Shield voor Arduino

Yun Shield is een Arduino-schild die zal gewoon "turn" Arduino (UNO, Leonardo, MEGA2560 enz) zowel een "Arduino Yun". Het biedt een linuxsysteem, WiFi, Ethernet naar de Arduino board voor connectiviteit. Het heeft ook een USB-hostpoort
Bouwen van een ISP-Shield voor Arduino

Bouwen van een ISP-Shield voor Arduino

dit Instructable is voor de instructies van de bouw voor onze nieuwe AVR ISP Shield Kit voor Arduino. Haar ontwikkeling heeft veel te danken aan Instructables en onze eigen Gemeenschap (met name Nick!) en ik hoop om uit te leggen wat van die langs de
Mini Motor shield voor arduino breadboard test

Mini Motor shield voor arduino breadboard test

Klein, basic motor shield voor het testen van project met arduino.Zijn op basis van transistor, maar als u smd mosfet, die beter.Stap 1: Deel lijst, circuit, pcb Deel de lijst:-BCX56 transistor (indien geen Mosfet)-een diode (de bescherming van de ar
Prototyping shield voor Arduino Mega

Prototyping shield voor Arduino Mega

dit is een down dirty prototyping schild dat voor Arduino Mega's werken zal en pin er compatibel klonen. Dit is de eerste keer dat ik dit forum heb gemaakt, maar ik heb andere projecten die ik denk dat dit zou handig zijn voor.Gebruikte materialen:Pr
Hoe zet uw smartphone aan een generieke shield voor Arduino

Hoe zet uw smartphone aan een generieke shield voor Arduino

Hallo jongens, ik ben een van de makers van 1Sheeld, het is een mobiele app en een bestuur dat uw smartphone in een open platform voor Arduino verandert.OnderdelenArduino Uno 19,99 dollar1Sheeld $54.94Breadboard, springpaarden, LEDsHet idee is eigenl
Zeer goedkope/Simple WiFi Shield voor Arduino en microprocessoren

Zeer goedkope/Simple WiFi Shield voor Arduino en microprocessoren

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2015Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
ATtiny programmering Shield voor Arduino

ATtiny programmering Shield voor Arduino

dit weinig circuit zit mooi ontop van een Arduino board en kunt u snel de stekker in een ATtiny spaander voor programmeren met behulp van de Arduino "taal" en de IDE te schrijven van de code en de Arduino board als een ISP programmeur de code up
Geheugen kaart Shield voor Arduino UNO

Geheugen kaart Shield voor Arduino UNO

dit soort schild is oorspronkelijk kost maximaal 4000 BDT (in Bangladesh), die is ongeveer 39 USD (zonder verzendkosten). Maar door deze manier kunt u uw eigen schild microSD kaart alleen op 120 BDT ($1.6 USD). Geen verrassing, omdat het Ethernet-ver