- Nødvendige komponenter:
- Forklaring af kredsløb:
- 555 Timer IC-baseret firkantbølgenerator:
- Schmitt udløserport:
- Arduino måler kapacitansen:
- Resume og test:
Når vi støder på kredsløb, som tidligere er designet, eller vi tager en ud fra gammelt tv eller computer, i forsøg på at reparere det. Og nogle gange er vi nødt til at kende kapacitansen for en bestemt kondensator i kortet for at eliminere fejlen. Så står vi over for et problem med at få den nøjagtige værdi af kondensator fra kortet, især hvis det er en overflademonteret enhed. Vi kan købe udstyr til måling af kapacitansen, men alle disse enheder er dyre og ikke for alle. Med det i tankerne skal vi designe en simpel Arduino kapacitansmåler til at måle kapacitansen hos ukendte kondensatorer.
Denne måler kan let fremstilles og også omkostningseffektiv. Vi skal lave kapacitansmåler ved hjælp af Arduino Uno, Schmitt trigger gate og 555 IC timer.
Nødvendige komponenter:
- 555 timer IC
- IC 74HC14 Schmitt trigger-gate eller NOT gate.
- 1K Ω modstand (2 stykker), 10KΩ modstand
- 100nF kondensator, 1000µF kondensator
- 16 * 2 LCD,
- Brødbræt og nogle stik.
Forklaring af kredsløb:
Kredsløbsdiagrammet for kapacitansmåleren ved hjælp af Arduino er vist i nedenstående figur. Kredsløbet er simpelt, en LCD er grænseflade med Arduino for at vise kondensatorens målte kapacitans. Et firkantbølgegeneratorkredsløb (555 i astabel tilstand) er forbundet til Arduino, hvor vi har tilsluttet kondensatoren, hvis kapacitans skal måles. En Schmitt trigger gate (IC 74LS14) bruges til at sikre, at kun rektangulær bølge føres til Arduino. Til filtrering af støj har vi tilføjet et par kondensatorer på tværs af strøm.
Dette kredsløb kan nøjagtigt måle kapacitanser i området 10nF til 10uF.
555 Timer IC-baseret firkantbølgenerator:
Først og fremmest vil vi tale om 555 Timer IC-baseret firkantbølgenerator, eller skal jeg sige 555 Astable Multivibrator. Vi ved, at kondensatorens kapacitans ikke kan måles direkte i et digitalt kredsløb, med andre ord UNO beskæftiger sig med digitale signaler, og det kan ikke måle kapacitans direkte. Så vi bruger 555 firkantbølgegenerator kredsløb til at forbinde kondensatoren til den digitale verden.
Simpelthen giver timeren kvadratbølgeoutput, hvis frekvens direkte implicerer den kapacitans, der er forbundet med den. Så først får vi firkantbølgesignalet, hvis frekvens er repræsentativ for kapaciteten til den ukendte kondensator, og føder dette signal til UNO for at få den passende værdi.
Generel konfiguration 555 i astabel tilstand som vist i nedenstående figur:
Udgangssignalfrekvensen afhænger af RA, RB-modstande og kondensator C. Ligningen er angivet som, Frekvens (F) = 1 / (tidsperiode) = 1,44 / ((RA + RB * 2) * C).
Her er RA og RB modstandsværdier, og C er kapacitansværdi. Ved at sætte modstands- og kapacitansværdierne i ovenstående ligning får vi frekvensen af output kvadratbølge.
Vi skal forbinde 1KΩ som RA og 10KΩ som RB. Så formlen bliver, Frekvens (F) = 1 / (Tidsperiode) = 1,44 / (21000 * C).
Ved at omarrangere de vilkår, vi har, Kapacitans C = 1,44 / (21000 * F)
For at få kapacitansværdien nøjagtigt har vi i vores programkode (se nedenfor) beregnet resultatet i nF ved at multiplicere de opnåede resultater (i farads) med “1000000000”. Vi har også brugt '20800' i stedet for 21000, fordi de nøjagtige modstande for RA og RB er 0,98K og 9,88K.
Så hvis vi kender frekvensen af firkantbølgen, kan vi få kapacitansværdien.
Schmitt udløserport:
Signalerne genereret af timerkredsløbet er ikke helt sikre at blive givet direkte til Arduino Uno. Med følsomheden af UNO i tankerne bruger vi Schmitt trigger gate. Schmitt trigger gate er en digital logisk gate.
Denne port giver OUTPUT baseret på INPUT-spændingsniveau. En Schmitt-udløser har et THERSHOLD-spændingsniveau, når INPUT-signalet, der påføres porten, har et spændingsniveau højere end THRESHOLD for den logiske gate, går OUTPUT HIGH. Hvis INPUT-spændingssignalniveauet er lavere end THRESHOLD, vil portens OUTPUT være LAV. Med det får vi normalt ikke Schmitt-udløseren separat, vi har altid en IKKE-gate efter Schmitt-udløseren. Schmitt Trigger-arbejde forklares her: Schmitt Trigger Gate
Vi skal bruge 74HC14 chip, denne chip har 6 Schmitt Trigger porte i den. Disse SIX-porte er forbundet internt som vist i nedenstående figur.
Den sandhed Tabel over Inverted Schmitt Trigger gate er show i nedenstående figur, med dette har vi til at programmere UNO til at vende de positive og negative tidsperioder på dens terminaler.
Vi forbinder signalet genereret af timerkredsløb til ST gate, vi vil have en rektangulær bølge af inverterede tidsperioder ved udgangen, som det er sikkert at give til UNO.
Arduino måler kapacitansen:
Uno har en speciel funktion pulseIn , som gør det muligt for os at bestemme varigheden af den positive tilstand eller den negative tilstand for en bestemt rektangulær bølge:
Htime = pulseIn (8, HIGH); Ltid = pulseIn (8, LAV);
Den pulseIn funktion måler den tid, hvor højt eller lavt niveau er til stede ved pin8 af Uno. De pulseIn funktion foranstaltninger denne High tid (htime) og lav Time (Ltime) i mikrosekunder. Når vi tilføjer Htime og Ltime sammen, har vi cyklusvarigheden, og ved at invertere den har vi frekvensen.
Når vi har fået frekvensen, kan vi få kapacitansen ved hjælp af formlen, vi diskuterede tidligere.
Resume og test:
Så sammenfattende forbinder vi den ukendte kondensator til 555-timerkredsløbet, der genererer en firkantbølgeoutput, hvis frekvens er direkte relateret til kondensatorens kapacitans. Dette signal gives til UNO gennem ST gate. UNO måler frekvensen. Med kendt frekvens programmerer vi UNO til at beregne kapacitansen ved hjælp af den tidligere diskuterede formel.
Lad os se nogle resultater, jeg fik, Da jeg tilsluttede 1uF elektrolytkondensator, er resultatet 1091.84 nF ~ 1uF. Og resultatet med 0,1 uF polyester kondensator er 107,70 nF ~ 0,1 uF
Derefter tilsluttede jeg keramisk kondensator på 0,1 uF, og resultatet er 100,25 nF ~ 0,1 uF. Resultatet med 4.7uF elektrolytisk kondensator er også 4842.83 nF ~ 4.8uF
Så det er sådan, vi simpelthen kan måle kapacitansen på en hvilken som helst kondensator.