SlideShare a Scribd company logo
1 of 11
CONTROL DE LIQUIDO CON SEÑALES DE
ULTRASONIDO
OBJETIVO.-
Implementar el sistema de control de nivel con el sensor de ultrasonido yun autómata
programable.
Sistema de control de nivel de líquido que también abarca temas como el manejo de potencias para el
accionamiento de una electro válvula y una bomba electro sumergible. Este proyecto esta
completamente controlado por un microcontrolador con aplicaciones como la conversión análoga-
digital, el manejo del teclado matricial y del display de cristal líquido (LCD), el operador del sistema
podrá ingresar el valor del nivel de agua deseado en el tanque almacenador y este por medio del
sistema de sensado implementado con poleas y de la bomba se llenará posicionándose en dicho valor, el
líquido proviene de un tanque distribuidor haciéndolo un circuito cerrado de control. Keywords:
microcontroladores, potencia, control, conversión A/D, posicionamiento, sensor análogo.
Tanque Almacenador
El control del nivel de líquido en los depósitos y el flujo entre ellos es un problema básico en los
procesos industriales. Los procesos industriales requieren líquidos para ser bombeados, almacenados en
tanques y luego bombeados a otros tanques; esto se puede aplicar al uso del agua dentro de una casa,
ya que al controlar el nivel de agua que se tiene en una cisterna automáticamente se controla el nivel de
agua existente en toda la casa.
La vida del ser humano es gobernada por sistemas de control de nivel de flujo. Por ejemplo el baño de
nuestra casa, la palanca adjunta a la válvula del tanque de la taza permite al agua fluir dentro del tanque
hasta que el flotador sube a un punto en el que cierra la válvula. Este es un simple y efectivo sistema de
control del nivel de depósitos para agua.
Los sistemas de control del nivel del depósito están en todos lados. Todos los procesos industriales, el
cuerpo humano y los sistemas que manejan fluidos dependen de sistemas de control de nivel.
Medida de distancias con SRF04
En realidad en este proyecyo se emplea un sensor de distancias por ultrasonidos SRF05 pero
funcionando en modo SRF04 con pulso trigger y eco por separados. El sensor SRF05 es una
versión mejorada del clásico SRF04 con el que es compatible.
El PIC manda un pulso de al menos 10us por la línea “pulso trigger” para comenzar el proceso de
medida. El SRF04 responde con un tren de 8 impulso ultrasónico a 40khz. Pone su “Pulso eco” en estado
alto hasta recibir el eco ultrasónico de los impulsos. La distanica al objeto estará en función del tiempo
del pulso eco en un rango de 100us (minima distancia medible) hasta 25ms (máxima distancia medible).
Si el senosr no recibe el eco ultrasónico pasa su salida eco a estado bajo a los 30ms.
Velocidad de propagación y longitud de onda
Velocidad de propagación o velocidad acústica (V), es la velocidad de
transmisión de la energía sonora a través de un medio, está determinada por la
distancia recorrida por la onda dividida por el tiempo empleado para recorrer esa
distancia. La velocidad de los ultrasonidos en un medio depende de la densidad
y elasticidad del mismo, que a su vez varían con la temperatura; la relación es
directa, a mayor densidad del medio mayor será la velocidad de propagación de
los ultrasonidos. [4]
La relación entre la velocidad de propagación ultrasónica C, la longitud de onda
y la frecuencia son expresadas en la siguiente ecuación:
C = λ*ƒ
C = velocidad de la onda en m/s
ƒ = frecuencia en Hertz (Hz)
λ = longitud de onda en metros (m).
También se puede expresar como:
C = λ I T done ƒ =1/T
T = período de la onda.
La propagación de la velocidad de la onda ultrasónica en los medios se muestra
en la tabla 2.
Reflexión, refracción y la transmisión. Cuando una onda ultrasónica se
propaga a través de una interface entre dos medios, una parte de la energía
transmitida será refleja por la interfaz y el resto puede ser transmitido a través
de la interfaz. La impedancia acústica Z del medio determina la intensidad de la
onda de reflexión o de transmisión. La impedancia acústica Z se define como el
producto de la densidad del medio ρ y la velocidad del sonido C en el medio. Si
la onda ultrasónica se transmite a la interfaz entre los diferentes medios de
comunicación,
Descripción:
Dimensiones del circuito 43 x 20 x 17 mm
Tensión de alimentación 5 Vcc
Frecuencia de trabajo 40 KHz
Rango máximo 4.5 m
Rango mínimo 1.7 cm
Duración mínima del pulso de disparo (nivel TTL) 10 μS
Duración del pulso eco de salida (nivel TTL) 100-25000 μS
Tiempo mínimo de espera entre una medida y el inicio de otra 20 Ms
PIC18F4550
El componente más importante de la arquitectura hardware del robot es el
PIC18F455 que posee 40 pines. Se ha utilizado este microcontrolador porque tiene
una gran cantidad de pines necesarios para la entrada de los distintos periféricos de
E/S, como los sensores HC-SR04, los CNY70, los motores, etc. Este micro contiene
las funciones necesarias para el control de los motores y para el uso de los sensores,
como por ejemplo los distintos Timers.
3.2 Sistema sensorial
El robot tiene dos tipos de sensores: Los sensores infrarrojos CNY70 y los sensores
de ultrasonido HC-SR04.
-Sensores CNY70:
Serán utilizados para evitar salirnos del tatami. Se dispondrán cuatro sensores
CNY70 en cada una de las esquinas del robot, en la parte inferior de la placa de
policarbonato. Este sensor, a través de un diodo que emite luz por infrarrojos y un
fototransistor detectan la diferencia de blanco y negro.
Al emitir luz, ésta se refleja en el borde blanco del tatami y se produce la reflexión.
Se envía una señal al Pic, y éste hace que los motores realicen una acción para
volver a la zona negra.
-Sensores HC-SR04:
Para la detección del oponente vamos a utilizar sensores ultrasonidos (SFR04). La
mayoría de los sensores de ultrasonido de bajo coste se basan en la emisión de un
pulso de ultrasonido cuyo lóbulo, o campo de acción, es de forma cónica.
Midiendo el tiempo que transcurre entre la emisión del sonido y la percepción del
eco
se puede establecer la distancia a la que se encuentra el obstáculo que ha
producido la reflexión de la onda sonora.
Control de motores
La alimentación de los motores la podremos seleccionar mediante una tira de
pines. Se puede seleccionar entre alimentación externa o la misma alimentación
que también suministra tensión a la electrónica de la placa.
Hemos utilizado el driver L293D y varios transistores para crear un puente en H,
para el control del giro de cada motor.
PROGRAMA
////////////////////////////////////////////////////////////////////////////////
// //
// MEDIDA DE DISTANCIAS CON SRF04 //
// //
// (c) RobotyPic 2010 //
// //
////////////////////////////////////////////////////////////////////////////////
#include <16F877A.h>
#fuses XT, NOWDT, NOPROTECT
#use delay(clock=4000000) //Frecuencia del cristal oscilador 4MHz
#byte PIR1=0x0C
#byte trisa=0x85
#byte porta=0x05
#byte trisb=0x86
#byte portb=0x06
#byte trisc=0x87
#byte portc=0x07
#define use_portb_lcd TRUE //Configuración del puerto b para uso del lcd
#include <lcd.c> //Incluye uso del archivo para control del lcd
#define BIT_TEST_ON output_high(PIN_C0)
#define BIT_TEST_OFF output_low(PIN_C0)
/********************** Prototipos de las funciones ***************************/
void main (void); //función principal
void pulso_test (void); //da pulso y calcula distancia al objeto
void ccp2_int(void); //captura del pulso de eco
/******************** Variables para lectura distancia ************************/
int1 nuevopulso=0; //Entra otro pulso de lectura
int16 TFB=0,TFS=0,TF=0; //Tiempo flancos
float distancia=0.0; //Valor distancia al obstáculo
int1 cambio=0; //Control flanco subida o bajada del impulso leido
/******************************************************************************/
/*********************** FUNCIÓN PULSO DE TEST ********************************/
void pulso_test(){
enable_interrupts(INT_CCP2); //Habilitación interrupción para medida de pulso eco
BIT_TEST_ON; //salida de pulso test durante 10us por Bit 0 puerto C
delay_us(10);
BIT_TEST_OFF;
while(nuevopulso==0) //Espera a finalizar el pulso eco
{}
if(nuevopulso==1){ //Finalizado el pulso eco se calcula su valor.
TF=(TFB-TFS); //Valor entre pulso de subida y bajada.
distancia=TF*1.0; //Valor pulso leido en us de 100u a 25ms
distancia = distancia/58; //Distancia del obstáculo en cm
nuevopulso=0; //Listo para recibir nuevo pulso
}
disable_interrupts(INT_CCP2);
}
/******************************************************************************/
/************************ FUNCIÓN LECTURA OBSTÁCULO ***************************/
#int_ccp2 //LLamada por interrupción flanco en RC2
void ccp2_int(){
if(cambio==0){ //Si es flanco de subida...
TFS=CCP_2; //Carga en valor flanco subida valor registro ccpr1
setup_ccp2(CCP_CAPTURE_FE); //Configuración modo captura en flanco de bajada
cambio=1; //Próximo flanco debe ser de bajada
}
else { //Si es flanco de bajada...
TFB=CCP_2; //Carga en valor flanco bajada valor registro ccpr2
setup_ccp2(CCP_CAPTURE_RE); //Configuración modo captura en flanco de subida
cambio=0; //Próximo flanco debe ser de subida
if(nuevopulso==0) //Fin de pulso...
nuevopulso=1; //Pulso finalizado.
}
}
/******************************************************************************/
/*************************** FUNCIÓN PRINCIPAL ********************************/
void main(){
trisb=0x00; //Puerto B todo salidas
trisc=0b00000100; //Puerto C definición de entradas y salidas
setup_timer_1(T1_INTERNAL); //Configuración timer1 para lectura objeto
setup_ccp2(CCP_CAPTURE_RE); //Configuración modo captura en flanco de subida
disable_interrupts(INT_TIMER1);
disable_interrupts(INT_CCP2); //Deshabilitación interrupción modo comparación
enable_interrupts (GLOBAL);
lcd_init(); //Inicialización de la pantalla lcd
printf(lcd_putc, "fMedida distancia");
printf(lcd_putc,"n con srf04 ");
delay_ms(2000);
printf(lcd_putc,"f (c) Control d Liquido ");
delay_ms(2000);
while (1){
pulso_test(); //Envío del pulso ultrasónico
printf(lcd_putc,"fDistancia=%5.2f", distancia);
delay_ms(500); //Refresco de la medida
}
CIRCUITO
CONCLUSION.-
Los sensores de ultrasonido son unos de los más económicos, fáciles de
manipular y pueden detectar objetos en el orden de los metros sin necesidad de
algún filtro o adaptación especial. El SRF05, es un sensor de distancias por
ultrasonidos desarrollado por la firma DEVANTECH Ltda. Capaz de detectar
objetos y calcular la distancia a la que se encuentra en un rango de 1,7 a 431 cm.
Una metodología para encontrar los parámetros del controlador, es la respuesta
en frecuencia; el cual nos representa la señal de salida en magnitud y fase,
facilitando la búsqueda de los controladores, debido a la relación

More Related Content

What's hot

Funcionamiento del osciloscopio Tektronix TDS320º
Funcionamiento del osciloscopio Tektronix TDS320ºFuncionamiento del osciloscopio Tektronix TDS320º
Funcionamiento del osciloscopio Tektronix TDS320ºjesuscc
 
Analisador de espectros.odp
Analisador de espectros.odpAnalisador de espectros.odp
Analisador de espectros.odpDamián
 
Analizador de Espectro
Analizador de Espectro Analizador de Espectro
Analizador de Espectro David Acuña
 
Osciloscopio tds1001b
Osciloscopio tds1001bOsciloscopio tds1001b
Osciloscopio tds1001bSawy G
 
Osciloscopio martinez escuela 80
Osciloscopio martinez escuela 80Osciloscopio martinez escuela 80
Osciloscopio martinez escuela 80jose martinez
 
Electrónica fácil11
Electrónica fácil11Electrónica fácil11
Electrónica fácil11Alvaro Mejia
 
Osciloscopio
OsciloscopioOsciloscopio
Osciloscopiosorzua
 
Ft 2800 m-spanish
Ft 2800 m-spanishFt 2800 m-spanish
Ft 2800 m-spanishpu2nbf
 
24 De Noviembre Del 2009
24 De Noviembre Del 200924 De Noviembre Del 2009
24 De Noviembre Del 2009davidc200910
 

What's hot (19)

Funcionamiento del osciloscopio Tektronix TDS320º
Funcionamiento del osciloscopio Tektronix TDS320ºFuncionamiento del osciloscopio Tektronix TDS320º
Funcionamiento del osciloscopio Tektronix TDS320º
 
Analizador de espectros
Analizador de espectrosAnalizador de espectros
Analizador de espectros
 
El osciloscopio
El osciloscopioEl osciloscopio
El osciloscopio
 
ELECTRICIDAD 1
ELECTRICIDAD 1 ELECTRICIDAD 1
ELECTRICIDAD 1
 
Analizador de espectro
Analizador de espectroAnalizador de espectro
Analizador de espectro
 
Analisador de espectros.odp
Analisador de espectros.odpAnalisador de espectros.odp
Analisador de espectros.odp
 
Analizador de Espectro
Analizador de Espectro Analizador de Espectro
Analizador de Espectro
 
Osciloscopio tds1001b
Osciloscopio tds1001bOsciloscopio tds1001b
Osciloscopio tds1001b
 
Osciloscopio martinez escuela 80
Osciloscopio martinez escuela 80Osciloscopio martinez escuela 80
Osciloscopio martinez escuela 80
 
Analizador de espectro paper
Analizador de espectro paperAnalizador de espectro paper
Analizador de espectro paper
 
Osciloscopio
OsciloscopioOsciloscopio
Osciloscopio
 
Tiristores
TiristoresTiristores
Tiristores
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Aplicaciones LOGO
Aplicaciones LOGOAplicaciones LOGO
Aplicaciones LOGO
 
Electrónica fácil11
Electrónica fácil11Electrónica fácil11
Electrónica fácil11
 
Osciloscopio
OsciloscopioOsciloscopio
Osciloscopio
 
Ft 2800 m-spanish
Ft 2800 m-spanishFt 2800 m-spanish
Ft 2800 m-spanish
 
24 De Noviembre Del 2009
24 De Noviembre Del 200924 De Noviembre Del 2009
24 De Noviembre Del 2009
 
Actividades: Práctica osciloscopio.
Actividades: Práctica osciloscopio. Actividades: Práctica osciloscopio.
Actividades: Práctica osciloscopio.
 

Similar to Control de liquido

Cuestionario de Aplicaciones con Hardware Abierto con Arduino
Cuestionario de Aplicaciones con Hardware Abierto con Arduino Cuestionario de Aplicaciones con Hardware Abierto con Arduino
Cuestionario de Aplicaciones con Hardware Abierto con Arduino SANTIAGO PABLO ALBERTO
 
SENSORES DE FLUJO
SENSORES DE FLUJOSENSORES DE FLUJO
SENSORES DE FLUJOEquipoSCADA
 
Filtros activos con amplificador operacional
Filtros activos con amplificador operacionalFiltros activos con amplificador operacional
Filtros activos con amplificador operacionalFranklin J.
 
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...Jesu Nuñez
 
Amplificador diferencial pdf
Amplificador  diferencial pdfAmplificador  diferencial pdf
Amplificador diferencial pdfFranklin J.
 
Exposicion sensores ultrasonido
Exposicion sensores ultrasonidoExposicion sensores ultrasonido
Exposicion sensores ultrasonidodanger1827
 
Sensor Ultrasonico
Sensor UltrasonicoSensor Ultrasonico
Sensor UltrasonicoGalo Candela
 
Inyector y trazador de señal
Inyector y trazador de señalInyector y trazador de señal
Inyector y trazador de señalJomicast
 
Generador de funciones
Generador de funcionesGenerador de funciones
Generador de funcionesMayte Becerril
 
Generador de funciones
Generador de funcionesGenerador de funciones
Generador de funcionesMayte Becerril
 

Similar to Control de liquido (20)

Reporte proyecto sumorobot
Reporte proyecto sumorobotReporte proyecto sumorobot
Reporte proyecto sumorobot
 
preinforme PWM
preinforme PWMpreinforme PWM
preinforme PWM
 
Cuestionario de Aplicaciones con Hardware Abierto con Arduino
Cuestionario de Aplicaciones con Hardware Abierto con Arduino Cuestionario de Aplicaciones con Hardware Abierto con Arduino
Cuestionario de Aplicaciones con Hardware Abierto con Arduino
 
SENSORES DE FLUJO
SENSORES DE FLUJOSENSORES DE FLUJO
SENSORES DE FLUJO
 
Filtros activos con amplificador operacional
Filtros activos con amplificador operacionalFiltros activos con amplificador operacional
Filtros activos con amplificador operacional
 
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...
Seguridad en el laboratorio de circuitos electricos, cuidados con la intensid...
 
Amplificador diferencial pdf
Amplificador  diferencial pdfAmplificador  diferencial pdf
Amplificador diferencial pdf
 
Sensores II
Sensores IISensores II
Sensores II
 
TEOUTN1 (3).pptx
TEOUTN1 (3).pptxTEOUTN1 (3).pptx
TEOUTN1 (3).pptx
 
Presentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicosPresentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicos
 
Sensor de distancia
Sensor de distanciaSensor de distancia
Sensor de distancia
 
Sensor de distancia
Sensor de distanciaSensor de distancia
Sensor de distancia
 
Sensor de distancia
Sensor de distanciaSensor de distancia
Sensor de distancia
 
Analizador_espectros.pdf
Analizador_espectros.pdfAnalizador_espectros.pdf
Analizador_espectros.pdf
 
Exposicion sensores ultrasonido
Exposicion sensores ultrasonidoExposicion sensores ultrasonido
Exposicion sensores ultrasonido
 
Sensor Ultrasonico
Sensor UltrasonicoSensor Ultrasonico
Sensor Ultrasonico
 
Ici rtu-unidad2-tema4
Ici rtu-unidad2-tema4Ici rtu-unidad2-tema4
Ici rtu-unidad2-tema4
 
Inyector y trazador de señal
Inyector y trazador de señalInyector y trazador de señal
Inyector y trazador de señal
 
Generador de funciones
Generador de funcionesGenerador de funciones
Generador de funciones
 
Generador de funciones
Generador de funcionesGenerador de funciones
Generador de funciones
 

Control de liquido

  • 1. CONTROL DE LIQUIDO CON SEÑALES DE ULTRASONIDO OBJETIVO.- Implementar el sistema de control de nivel con el sensor de ultrasonido yun autómata programable. Sistema de control de nivel de líquido que también abarca temas como el manejo de potencias para el accionamiento de una electro válvula y una bomba electro sumergible. Este proyecto esta completamente controlado por un microcontrolador con aplicaciones como la conversión análoga- digital, el manejo del teclado matricial y del display de cristal líquido (LCD), el operador del sistema podrá ingresar el valor del nivel de agua deseado en el tanque almacenador y este por medio del sistema de sensado implementado con poleas y de la bomba se llenará posicionándose en dicho valor, el líquido proviene de un tanque distribuidor haciéndolo un circuito cerrado de control. Keywords: microcontroladores, potencia, control, conversión A/D, posicionamiento, sensor análogo. Tanque Almacenador El control del nivel de líquido en los depósitos y el flujo entre ellos es un problema básico en los procesos industriales. Los procesos industriales requieren líquidos para ser bombeados, almacenados en tanques y luego bombeados a otros tanques; esto se puede aplicar al uso del agua dentro de una casa, ya que al controlar el nivel de agua que se tiene en una cisterna automáticamente se controla el nivel de agua existente en toda la casa. La vida del ser humano es gobernada por sistemas de control de nivel de flujo. Por ejemplo el baño de nuestra casa, la palanca adjunta a la válvula del tanque de la taza permite al agua fluir dentro del tanque hasta que el flotador sube a un punto en el que cierra la válvula. Este es un simple y efectivo sistema de control del nivel de depósitos para agua. Los sistemas de control del nivel del depósito están en todos lados. Todos los procesos industriales, el cuerpo humano y los sistemas que manejan fluidos dependen de sistemas de control de nivel. Medida de distancias con SRF04 En realidad en este proyecyo se emplea un sensor de distancias por ultrasonidos SRF05 pero funcionando en modo SRF04 con pulso trigger y eco por separados. El sensor SRF05 es una versión mejorada del clásico SRF04 con el que es compatible.
  • 2. El PIC manda un pulso de al menos 10us por la línea “pulso trigger” para comenzar el proceso de medida. El SRF04 responde con un tren de 8 impulso ultrasónico a 40khz. Pone su “Pulso eco” en estado alto hasta recibir el eco ultrasónico de los impulsos. La distanica al objeto estará en función del tiempo del pulso eco en un rango de 100us (minima distancia medible) hasta 25ms (máxima distancia medible). Si el senosr no recibe el eco ultrasónico pasa su salida eco a estado bajo a los 30ms. Velocidad de propagación y longitud de onda Velocidad de propagación o velocidad acústica (V), es la velocidad de transmisión de la energía sonora a través de un medio, está determinada por la
  • 3. distancia recorrida por la onda dividida por el tiempo empleado para recorrer esa distancia. La velocidad de los ultrasonidos en un medio depende de la densidad y elasticidad del mismo, que a su vez varían con la temperatura; la relación es directa, a mayor densidad del medio mayor será la velocidad de propagación de los ultrasonidos. [4] La relación entre la velocidad de propagación ultrasónica C, la longitud de onda y la frecuencia son expresadas en la siguiente ecuación: C = λ*ƒ C = velocidad de la onda en m/s ƒ = frecuencia en Hertz (Hz) λ = longitud de onda en metros (m). También se puede expresar como: C = λ I T done ƒ =1/T T = período de la onda. La propagación de la velocidad de la onda ultrasónica en los medios se muestra en la tabla 2. Reflexión, refracción y la transmisión. Cuando una onda ultrasónica se propaga a través de una interface entre dos medios, una parte de la energía transmitida será refleja por la interfaz y el resto puede ser transmitido a través de la interfaz. La impedancia acústica Z del medio determina la intensidad de la onda de reflexión o de transmisión. La impedancia acústica Z se define como el producto de la densidad del medio ρ y la velocidad del sonido C en el medio. Si
  • 4. la onda ultrasónica se transmite a la interfaz entre los diferentes medios de comunicación, Descripción: Dimensiones del circuito 43 x 20 x 17 mm Tensión de alimentación 5 Vcc Frecuencia de trabajo 40 KHz Rango máximo 4.5 m Rango mínimo 1.7 cm Duración mínima del pulso de disparo (nivel TTL) 10 μS Duración del pulso eco de salida (nivel TTL) 100-25000 μS Tiempo mínimo de espera entre una medida y el inicio de otra 20 Ms PIC18F4550
  • 5. El componente más importante de la arquitectura hardware del robot es el PIC18F455 que posee 40 pines. Se ha utilizado este microcontrolador porque tiene una gran cantidad de pines necesarios para la entrada de los distintos periféricos de E/S, como los sensores HC-SR04, los CNY70, los motores, etc. Este micro contiene las funciones necesarias para el control de los motores y para el uso de los sensores, como por ejemplo los distintos Timers. 3.2 Sistema sensorial El robot tiene dos tipos de sensores: Los sensores infrarrojos CNY70 y los sensores de ultrasonido HC-SR04. -Sensores CNY70: Serán utilizados para evitar salirnos del tatami. Se dispondrán cuatro sensores CNY70 en cada una de las esquinas del robot, en la parte inferior de la placa de policarbonato. Este sensor, a través de un diodo que emite luz por infrarrojos y un fototransistor detectan la diferencia de blanco y negro. Al emitir luz, ésta se refleja en el borde blanco del tatami y se produce la reflexión. Se envía una señal al Pic, y éste hace que los motores realicen una acción para volver a la zona negra. -Sensores HC-SR04:
  • 6. Para la detección del oponente vamos a utilizar sensores ultrasonidos (SFR04). La mayoría de los sensores de ultrasonido de bajo coste se basan en la emisión de un pulso de ultrasonido cuyo lóbulo, o campo de acción, es de forma cónica. Midiendo el tiempo que transcurre entre la emisión del sonido y la percepción del eco se puede establecer la distancia a la que se encuentra el obstáculo que ha producido la reflexión de la onda sonora. Control de motores La alimentación de los motores la podremos seleccionar mediante una tira de pines. Se puede seleccionar entre alimentación externa o la misma alimentación que también suministra tensión a la electrónica de la placa. Hemos utilizado el driver L293D y varios transistores para crear un puente en H, para el control del giro de cada motor. PROGRAMA
  • 7. //////////////////////////////////////////////////////////////////////////////// // // // MEDIDA DE DISTANCIAS CON SRF04 // // // // (c) RobotyPic 2010 // // // //////////////////////////////////////////////////////////////////////////////// #include <16F877A.h> #fuses XT, NOWDT, NOPROTECT #use delay(clock=4000000) //Frecuencia del cristal oscilador 4MHz #byte PIR1=0x0C #byte trisa=0x85 #byte porta=0x05 #byte trisb=0x86 #byte portb=0x06 #byte trisc=0x87 #byte portc=0x07 #define use_portb_lcd TRUE //Configuración del puerto b para uso del lcd #include <lcd.c> //Incluye uso del archivo para control del lcd #define BIT_TEST_ON output_high(PIN_C0) #define BIT_TEST_OFF output_low(PIN_C0)
  • 8. /********************** Prototipos de las funciones ***************************/ void main (void); //función principal void pulso_test (void); //da pulso y calcula distancia al objeto void ccp2_int(void); //captura del pulso de eco /******************** Variables para lectura distancia ************************/ int1 nuevopulso=0; //Entra otro pulso de lectura int16 TFB=0,TFS=0,TF=0; //Tiempo flancos float distancia=0.0; //Valor distancia al obstáculo int1 cambio=0; //Control flanco subida o bajada del impulso leido /******************************************************************************/ /*********************** FUNCIÓN PULSO DE TEST ********************************/ void pulso_test(){ enable_interrupts(INT_CCP2); //Habilitación interrupción para medida de pulso eco BIT_TEST_ON; //salida de pulso test durante 10us por Bit 0 puerto C delay_us(10); BIT_TEST_OFF; while(nuevopulso==0) //Espera a finalizar el pulso eco {} if(nuevopulso==1){ //Finalizado el pulso eco se calcula su valor. TF=(TFB-TFS); //Valor entre pulso de subida y bajada. distancia=TF*1.0; //Valor pulso leido en us de 100u a 25ms distancia = distancia/58; //Distancia del obstáculo en cm
  • 9. nuevopulso=0; //Listo para recibir nuevo pulso } disable_interrupts(INT_CCP2); } /******************************************************************************/ /************************ FUNCIÓN LECTURA OBSTÁCULO ***************************/ #int_ccp2 //LLamada por interrupción flanco en RC2 void ccp2_int(){ if(cambio==0){ //Si es flanco de subida... TFS=CCP_2; //Carga en valor flanco subida valor registro ccpr1 setup_ccp2(CCP_CAPTURE_FE); //Configuración modo captura en flanco de bajada cambio=1; //Próximo flanco debe ser de bajada } else { //Si es flanco de bajada... TFB=CCP_2; //Carga en valor flanco bajada valor registro ccpr2 setup_ccp2(CCP_CAPTURE_RE); //Configuración modo captura en flanco de subida cambio=0; //Próximo flanco debe ser de subida if(nuevopulso==0) //Fin de pulso... nuevopulso=1; //Pulso finalizado. } } /******************************************************************************/ /*************************** FUNCIÓN PRINCIPAL ********************************/
  • 10. void main(){ trisb=0x00; //Puerto B todo salidas trisc=0b00000100; //Puerto C definición de entradas y salidas setup_timer_1(T1_INTERNAL); //Configuración timer1 para lectura objeto setup_ccp2(CCP_CAPTURE_RE); //Configuración modo captura en flanco de subida disable_interrupts(INT_TIMER1); disable_interrupts(INT_CCP2); //Deshabilitación interrupción modo comparación enable_interrupts (GLOBAL); lcd_init(); //Inicialización de la pantalla lcd printf(lcd_putc, "fMedida distancia"); printf(lcd_putc,"n con srf04 "); delay_ms(2000); printf(lcd_putc,"f (c) Control d Liquido "); delay_ms(2000); while (1){ pulso_test(); //Envío del pulso ultrasónico printf(lcd_putc,"fDistancia=%5.2f", distancia); delay_ms(500); //Refresco de la medida } CIRCUITO
  • 11. CONCLUSION.- Los sensores de ultrasonido son unos de los más económicos, fáciles de manipular y pueden detectar objetos en el orden de los metros sin necesidad de algún filtro o adaptación especial. El SRF05, es un sensor de distancias por ultrasonidos desarrollado por la firma DEVANTECH Ltda. Capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 1,7 a 431 cm. Una metodología para encontrar los parámetros del controlador, es la respuesta en frecuencia; el cual nos representa la señal de salida en magnitud y fase, facilitando la búsqueda de los controladores, debido a la relación