Sensores capacitivos y potenciómetros
Enviado por danyraziel • 20 de Septiembre de 2012 • 1.635 Palabras (7 Páginas) • 476 Visitas
ráctica numero 9 Sensores capacitivos y potenciómetros
1.- Sensores de nivel hecho con varillas:
Para este circuito se hizo un divisor con capacitores, uno fijo y otro el hecho por las varillas. El diagrama del circuito quedo de la siguiente manera:
Las variaciones de voltaje respecto a la altura a la que se introducían las varillas dentro del agua se muestran en la siguiente tabla:
Altura [cm]
Voltaje de salida [v]
4
0.99
10
0.97
15
0.96
19.5
0.93
23
0.92
Podemos ver que las variaciones de voltaje son muy pequeñas, pensamos que se debe a que el estaban muy separadas las varillas y que el aislante era demasiado grueso.
A continuación se muestra la grafica de altura a la que se está introduciendo contra el voltaje de salida:
2.-Sensor capacitivo de toque.
I. Encender un led cuando se toca y cuando se suelta se apaga
II. Encender una carga cuando se toca y se suelta, y cuando lo volvemos a tocar y soltar se apaga la carga.
Para estos dos incisos se diseño y construyo el siguiente circuito:
Utilizamos un microcontrolador ATMEGA8. Y un puente con resistencias y capacitores para usar el sensor capacitivo de toque.
El diseño del sensor capacitivo es de dos círculos concéntricos como se muestra en la siguiente figura:
Se utilizo papel para cubrir el sensor, la capacitancia medida sin tocar el capacitor fue de 7 uF, al momento de tocarlo con el pulgar la capacitancia sube a 10 uF.
Ya en el puente para el acondicionamiento al no tocarlo tenemos un voltaje de 1.5 v, al momento de tocarlo el puente arroja un voltaje de 4.3 v. Que es lo suficiente para que el AVR lo reconozca como un 1 lógico y de esta manera mediante el programa diseñado realicemos las dos acciones solicitadas.
El programa utilizado fue el siguiente:
;Configuracion del AVR a utilizar y declaracion de variables
.include "m8def.inc"
.def temp=r16
.def giro=r17
;Vector de interrupcion de reset
.org 0x00
rjmp reset
reset: ;Configuracion de la pila
ldi temp,low(ramend)
out spl,temp
ldi temp,high(ramend)
out sph,temp
;configuracion del Puerto B y C como salida
ser temp
out ddrb,temp
out ddrc,temp
;Configuracion de Puerto D como entrada
clr temp
out ddrd,temp
;Cargar variable giro con cero
ldi giro,0
begin: ;Mandamos al Puerto C el valor de “giro” que es donde está conectado el motor
out portc,giro
ldi temp,0 ;Cargamos con cero a “temp”
out portb,temp ;Mandamos al Puerto b el valor de “temp”
;Preguntamos si hay un uno en el pin 0 del puerto D que es donde esta la salida del puente de capcitores y resistencias, si hay un uno va a la etiqueta encendido, si hay un cero regresa a la etiqueta begin
sbis pind,0
rjmp begin
encendido:
;En esta parte , cargamos “temp” con 2 y lo mandamos por el puerto b para que de esta manera encendamos el led
ldi temp,2
out portb,temp
;Preguntamos si hay un cero en el pin 0 del Puerto D, que es donde tenemos el touch sensor, si hay un cero significa que se dejo de tocar y vamos hacia la etiqueta inversión, de lo contrario regresamos a la etiqueta encendido
sbic pind,0
rjmp encendido
inversion:
;En esta parte analizamos el valor de “giro” de esta manera sabemos si el motor estaba encendido o apagado,
cpi giro,0 ;Comparamos “giro” con 0 para saber si estaba apagado
breq carga1
rjmp otro
carga1: ;Si estaba apagado mandamos 48 al puerto C para encender el motor
ldi giro,48
rjmp begin
otro:
cpi giro,48;Comparamos “giro” con 48 para saber si estaba encendido
breq carga0
rjmp begin
carga0: ;Cargamos giro con cero para apagar le motor
ldi giro,0
rjmp begin ;regresamos al principio del programa
3.- Sensor de posición resistivo:
I. Potenciómetro para medir en grados la posición con un vástago.
Para este punto se diseño y construyo el siguiente circuito:
Se utilizo un pontenciometro de 1K al cual se le adapto un vástago
...