Go Down

Topic: Capacimetro per condensatori ceramici (Read 1 time) previous topic - next topic

nikone

May 07, 2011, 03:24 pm Last Edit: May 07, 2011, 03:30 pm by nikone Reason: 1
Ciao a tutti,
volevo condividere con voi il progetto di un capacimetro realizzato con arduino che permette misurazioni di condensatori ceramici superiori ad un microfarad ( i soliti poliestere) ho preso spunto da un progetto comparso sulla rivista elektor qualche mese fà http://www.elektor.it/le-riviste/2011/aprile/pico-c.1753089.lynkx e l'ho adattato a funzionare con arduino usando un ne555

Uploaded with ImageShack.us ( il condensatore sul control voltage è da 10nF e le resistenze sono da 100k e 4,7k)

Uploaded with ImageShack.us purtroppo sono riuscito a misurare solo sopra 1 uF ( a causa della bassa capacità di clock dell'atmega) Ringrazio Menniti per il codice perfettamente funzionante che mi ha fornito :
Code: [Select]
#include <LiquidCrystal.h>
int val=0;
int val1;
int sigPin = 6; //signal pin
int state; //the state of the input
int oldstate;
unsigned long t; //timer
unsigned long s; //samples
unsigned long c; //count
unsigned long f; //frequency
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup()
{
 lcd.begin(2, 16);
 pinMode(sigPin, INPUT);
 pinMode(2, INPUT);
 Serial.begin(9600);
}

void loop()
{
 c = 0;

  t = millis(); // read time at start of sampling
  for(s=0; s<100000; s++){ //take a number of samples
state = digitalRead(sigPin); //read state
if (state != oldstate){ //if state changes:
  c++; //increment counter
  oldstate = state; //and reset current state
}

  }
  t = millis() - t; //read time at end of sampling

  c = c/2; // need to divide by 2 because counter incremented on each change - two changes per cycle

  f = 1000*c/t; //calculate frequency
  lcd.clear();
lcd.print("capacita");
lcd.print(f/8);

 
}
 XD
Una volta perfezionato ho passato tutto su un atmega 328 ed ecco il risultato :

Uploaded with ImageShack.us(scusate la definizione)
se qualcuno è interessato allego  il file eagle per il pcb
ciao niko
Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose(albert Einstein )

Go Up