Kapacitans mätare med arduino och 555 timer (2 / 3 steg)
Steg 2: Fungera av ARDUINO
ARDUINOEN FÖR ATT MÄTA PULS BREDD
Produktion (3) av 555 är ansluten till arduino (för detta projekt jag använde arduino en) på två av dess terminaler (2 och 3) som bifogas programmässigt avbrott 0 och 1 att upptäcka förändringar spänningsnivån på 555-utgång.
Så den pin 2 som är kopplat till avbrott 0 kommer att upptäcka stigande kanten av utgång puls och omedelbart stoppa (avbrott) körs all aktivitet som äger rum vid det tillfället och arduino koden i funktionen Start() som vi skrev.
Koden i funktionen Start() spara bara den tid som returneras av funktionen millis() i en volatil (global) variabel. En led sätts också på här att ge en visuell signal att avbrottet ägde rum. Sedan funktionen slutar och det gör avbrottet.
Sedan, när 555 utgång puls avslutas, den arduino pin 3 som är kopplad till avbrottet 1 upptäcker dess fallande kant utlöser en annan avbrott i driften av arduino att köra nu koden i en annan funktion som vi kallat stop (). Som i funktionen Start() koden här bara ställa en annan flyktiga variabel (t_final) med det värde som returneras av funktionen millis() och släcks led, markerar avsluta av pulsen.
Koden i Loop ()-funktionen ansvarar för att kontinuerligt kontrollera om värdet av variabeln t_final inte längre är noll, händelse som kommer att hända i slutet av pulsen.
När villkoret i vår om blockera bekräftar att t_final är effektivt längre 0, koden fortsätter till bestämning av T (pulslängd) och med det kapacitansen beräknas.
T = T_final - T_inicial
C1 = T / (1.1 x R1)
Vi kan se värdena för de komponenter som används i schematiskt av kretsen.
1 Mohm för R1 är lämplig för kondensatorer i området omkring 1 nF till 1uF.
Högre värden för kapacitans kommer att orsaka varaktigheter pulser i flera sekunder, så mäta dessa värden skulle det vara tillrådligt att använda en 1 kohm motstånd.