
ING. FISICA
Unicauca
SENSOR DE NIVEL CAPACITIVO
Los sensores capacitivos son interruptores electronicos que trabajan sin contacto. Estos sensores aprovechan el efecto que tiene los materiales como el papel , el vidrio, agua,aceite,asi como de los metales, de aumetar la capacidad cuando esta en contacto con algun material.
Aplicando los conocimientos en electromagnetismo , diseñe un sensor de nivel de agua capacitivo, lo cual consta de un cilindro masiso , un tubo de aluminio y en este caso lo que varia entre las dos superficies es el dielectrico (AGUA)


calculamos el campo elecrico

formula para calcular la capacitancia
longitud L=0.27m
radio b =4.9x10-3m
radio a= 3.5x10-3m
CIRCUITO UTILIZADO PARA MEDIR EL NIVEL DE AGUA:

DESCRIPCION DEL CIRCUITO:
OSCILADOR: Para el diseño de este esquema , tenemos que tener muy claro el funcionamiento de amplificadores operacionales, y dispositivos presentes.
Este circuito nos va a generar una onda cuadrada, de una determinada frecuencia calculada con los dispositivos pasivos (C1 y R3) formula: ( F=(0.455)/(C1*R3)) (frecuencia puede ser > 1khz) y una ganacia (R2 y R1).
DIVISOR DE VOLTAJE: Se coloca un capacitor de 100nf de poliester, en serie con el Sensor Capacitivo, este va a variar su capacitancia, al aumentar su dielectrico entre sus terminales (agua), por lo que su reactancia capacitiva varia, se obtiene un divisor de voltaje.
RECTIFICADOR DE ONDA: Luego de obtener la variacion del voltaje , rectificamos la onda completa para que no haya valores negativos, debido a que trabajamos con polaridades como (+5, GND, -5v), aqui se puede trabajar solo con una fuente si se desea.
ACOPLE DE IMPEDANCIA: Este circito surje por la variaciòn que tomaba el voltaje de salida del rectificador al colocar el microcontrolador .
MICROCONTOLADOR: Bueno esta es la parte donde digitalizamos los voltajes de entrada y los mostramos en un apantalla lcd.
Para obtener una ecuacion que describiera el comportamiento del sensor , se tomaron datos cada o.5mm y anotabamos los voltajes que nos arojaba, se diseño una tabla voltaje vs distancia, y por medio del programa, ORIGIN8, se encontro la ecuacion , que incluimos en la programacion del pic.
Programacion para el microcontrolador pic
-
#include <18f452.h>
-
#device adc=10
-
#include <math.h>
-
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP
-
#use delay(clock=20000000) //Frecuencia de reloj
-
#include "lcd.c"
-
float x,y;
-
int i;
-
/////////////////////////////////////////////////
-
void main() {
-
setup_adc (ADC_CLOCK_INTERNAL);
-
setup_adc_ports(ALL_ANALOG);
-
lcd_init();
-
lcd_putc("SENSOR DE NIVEL ");
-
lcd_gotoxy(1,2);
-
lcd_putc("EFECTO CAPACITIVO");
-
delay_ms(1000);
-
delay_ms(1000);
-
lcd_putc("\f");
-
-
while(true){
-
float value=0;
-
float temp=0;
-
for(i=0;i<=150;i++){// calculamos el promedio de 150 muestras tomadas
-
set_adc_channel(0);//configurarcion canal AN0
-
delay_us(40);
-
value=value+read_adc();
-
}
-
x=value/151;
-
temp=(((x*0.0048828125)));
-
-
y=((40.58208*(pow(2.718281828,(-temp/0.519))))+(0.62302));// ecuacion calculado por el programa ORIGIN8
-
-
lcd_gotoxy(1,1);
-
printf(lcd_putc,"VOLTAJE(v)= %2.2f",temp);
-
lcd_gotoxy(1,2);
-
printf(lcd_putc,"ALTURA(cm)= %2.0f",y);
-
-
output_high(PIN_d2);
-
DELAY_MS(20);
-
output_low(PIN_d2);
-
DELAY_MS(20);
-
//////////////////////////// por medio de led determinamos los niveles de agua.
-
if(y<=5){
-
output_high(pin_c3);
-
}else output_low(pin_c3);
-
-
if(y>5&&y<=10){
-
output_high(pin_d0);
-
}else output_low(pin_d0);
-
-
if(y>10){
-
output_high(pin_d1);
-
}else output_low(pin_d1);
-
}}
Espero que le sea de gran ayuda.