Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

19/03/2007 #1


Normalizacion con o sin PIC
Hola espero me ayuden a encontrar la solución a este problema que tengo...

Tengo la salida de un sensor de presion (transductor) esta señal ya la necesito visualizar en displays... es decir cuando mi sensor me este mandadndo 30 psi en los displays se vea el 30...
Como lo hago.... la señal que viene del sensor es analoga (voltaje) y la señal que necesito es digitar para que pueda visulizarlo... Me dijeron que lo que necesito es una normalizacion de señal que lo puedo hacer con circuiteria externa o con una programacion del pic 16f877a.... pero he buscado y no encuentro como hacerlo de ninguna de las 2 formas....

Espero haberme explicado... Espero que me ayuden
20/03/2007 #2


hola
yo te sugiero que primero utilices un acondicionador es decir un apmlificador para podert obtener valores de voltaje considerables puede ser entre 0 y 5 voltios si vas a ingresar a un PIC, 0 voltios corresponderia al nivel minimo de presion y 5 voltios al nivel maximo de presion, luego esa señal ingresala al micro donde tienes quen hacer una conversion analoga digital, es decir ingresas por un canal analógico, luego ese valor mediante programacion tendrias que leer de una tabla para obtener el valor deseadom ya seaen PSI o en la unidad que quieras y ese valor enviar a los displays.

Si tienes otra duda o quiere una aclaracion pregunta

Saludos
Jairo
20/03/2007 #3


Ok si ya tengo la parte de la amplificación y la señal que entra a mi micro esta entre 0 para minimo y 5 para la maxima presion. de ahi lo de la conversion analoga a digital igualmente ya la hice con el pic pero no me sace el valor que introduci en psi....

Lo que me dices de la tabla es algo como:
1 psi = 3v y cuando a la entrada ahiga 3V me sacara 1 a los display...

si es asi como le hago para hcer dicha tabla en que me baso, que codigos o instrucciones...

Espero respuesta...

Gracias por la ayuda de antemano
21/03/2007 #4


hola

Nose en que estas haciendo el programa, si lo haces en pic basic es mucho mas sencillo, solo utilizas una instruccicion que es look up, la cual te asigna un valor en una variable de acuerdo al numero que contenga esa variable, pero si lo estas haciendo en assembler, es un poco mas laboriosos pero no dificil, supongo que el valor digital que tienes esta entyre 0 y 255, entonces tienes que utilizar el puntero del programa, que es el que te indica a que direccion va a ir en la siguiente intsruccion , tienes que hacer algo asi
.....
movfw conversion ; en la variable conversion debe estar el resultado de la conversion entre 0 y 255
call tabla
......
.....
org 0x800 ;las tablas por seguridad se las coloca siempre en otra pagina del programa
addwf pclath ; en esta parte se suma el valor que tiene la variable conversion que guardamos en w al puntero para dirigir a la posicion de la tabla
retlw 0x00 ;te regrea w con el valor 0 o el valor deseado, aqui pondrias lo que quieres si deseas tres o cualquier cosa cuando esta 0 voltios, en la forma que tu quieras si es para el dispplay de 7 segmentos, tendrias que poner que segmentos se van a encender y cuales no y asi hasta el valor que corresponderia a 255
retlw 0x01
.......
retlw 0xfc
retlw 0xff

Nota: ten ccuidado con los saltos de pagina, despues de regresar leyendo la tabla asegurate que estas en la pagina del programa con un pagesel o seleccionando los bancos

Si no entendistes algo me preguntas

Saludos Jairo
25/03/2007 #5


Ok muchas gracias por la ayuda ya he encontrado la solucion de lo que queria... si me sirvio de algo lo que me dijistes... gracias por tu ayuda....

Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.