Mäta SMD kondensatorer på Arduino (1 / 6 steg)
Steg 1: Grunderna
Det finns massor av sätt att göra en kapacitans mätare på nätet, start med minimalistisk nr-extern-komponenter experimenterande och upp till åtgärd-nästan-allt tyvärr avbröts projektet. Det finns tre grundläggande sätt att kapacitans mätning som kan användas på Arduino – kontrollera en detaljerad beskrivning i "Induktans/kapacitans Saga" instructable. Jag valde tidskonstanten vägen eftersom det är den mest begripliga och lätta att göra. Visst, den har en felmarginal på plussidan på grund av herrelösa motstånd, men det märks mest på stora kondensatorer, särskilt sådana tantal.
Den tid konstanta metoden beräknar kapacitans baserat på hur lång tid det tar för att ladda en kondensator till vissa fördefinierade spänning. Arduino ger oss den 16MHz timern och en analog jämförelseperson på stift 6 och 7 (Obs: även detta är en analog kontrollapparat och dess leder kallas AIN0 och AIN1, den sitter på digital stiften på Arduino, nämligen D6 och D7). Den senare kan anropa ett avbrott när spänningen på ett av stiften överstiger / understiger spänningen på den andra.
För att göra detta arbete behöver vi en skärbräda, några kablar och tre motstånd som kommer att kallas Rc, R1 och R2 från nu på. RC är laddning motståndet, den sitter mellan en Arduino stift och kondensatorn som testas. Ju större det är, desto långsammare laddningsprocessen, exaktare resultat, desto mer tid för ansvarsfrihet. För nF och uF kondensatorer behöver du ett 10K eller 20K Rc motstånd; en 1 M och mer är bättre för pF kondensatorer, men vi kommer till det senare, så ta en 10K resistor för nu. R1 och R2 ger referensspänningen enligt följande:
VREF = Vin * (R2 / (R1 + R2))
Vin är Arduino 5V leverera, men i själva verket är runt 4.8V. Jag använde 1K för R1 och 2K för R2, som gav mig runt 3.2V av Vref, vilket är perfekt, men du kan använda olika motstånd värden om du vill.
För att göra den första versionen av Arduino kapacitans mätare chef till Nick Gammon webbplats och greppa den senaste skissen på sidan (den tredje en); Du kan också kontrollera detaljerad förklaring av tid konstant medan du är där.
Nu, Anslut motstånden som visas där (eller på en bild ovan), ändra dessa raderna enligt din setup
CONST byte pulsePin = 2; PIN-koden används för att puls kondensatorn
CONST float Rc = 10000; laddning resistor
CONST float R1 = 1000; mellan marken och D7
CONST float R2 = 1800; mellan + 5V och D7
sätt några kondensator (jag skulle föreslå något liknande 100nF till att börja med) i test läge och ladda upp skissen till Arduino.
Du bör få några avläsningar i följetong monitor. Om inte-kolla bildskärmsinställningar, bör det fungera på 115200 baud.