# Detectar un voltaje determinado con un pic.



## Fortivo (Jun 23, 2009)

Hola amigos y compañeros , no se si esto se postea aqui , si no es asi por favor moderadores situanlo en donde deva.   

Bueno les comento, estoy con un proyecto de clase con un amigo, se trata de que activamos un led con un pic, pero la manera de activarlo es: 

- el pic tiene que detectar por unas de sus entradas una tensión, por ejemplo: en el programa ponemos que la tensión deve ser de 3.5v por el portA, y si es correcto poner on en outportA ((es un ejemplo)), la cuestion es lo que llega ahora, es facil la explicacion pero no logramos el codigo que nos realize esto, si al port A le damos una tensión de 5v no deveria poner en on el outportA, no se si me explico bien.

vamos una forma de decirlo mas rapido, si la tensión dada es la correcta en la programacion funciona el led, si la tensión no es la correcta no funciona.

   el problema es que , no sabemos como crear el codigo y nos jugamos una nota... 
espero que me ayuden en este tema , un gran saludo amigos.


----------



## analfabeta (Jun 23, 2009)

¿y en que lenguaje sabes programar el PIC? 

yo te puedo ayudar un poco pero solo con basic, no se manejar ensamblador

quieres que el puerto no se digamos B1 encienda el LED cuando por la entrada analógica del PIC haya 3.5V, ni mas ni menos, corecto?


----------



## Fortivo (Jun 23, 2009)

analfabeta dijo:
			
		

> ¿y en que lenguaje sabes programar el PIC?
> 
> yo te puedo ayudar un poco pero solo con basic, no se manejar ensamblador
> 
> quieres que el puerto no se digamos B1 encienda el LED cuando por la entrada analógica del PIC haya 3.5V, ni mas ni menos, corecto?



Hola amigo, te vas a reir de mi D porque estamos programando con el cocodrile technology 606, despues lo pasamos a picbasicpro y modificamos solo las salidas y compilamos, vamos como los niños que empiezan... tengo un tutorial aqui en casa grande pero no entiendo ni las 10 primeras paginas, pero con una ayuda seguro que entiendo.

si , pero no ace falta que sea 3.5v, puede ser otro voltaje pero que no supere los 12v
, eso si , si se dice que el voltaje es 3v deve activarse con 3v, ni con mas de 3v ni con menos de 3v...

creo que el peor ejercicio me toco a mi....
saludos y gracias ¡


----------



## mabauti (Jun 23, 2009)

si solo son 2 niveles de voltaje quiza sea mejor utilizar un comparador con histeresis y asi usarias la señal digital.

que pic vas a utilizar?


----------



## Fortivo (Jun 23, 2009)

hola mabauti, perdona pero ya ahi me perdi , pero vamos a utilizar un 16f84 , sirve la version esta o la terminada en A, podrias explicarme lo del comparador con histeresis ?

un saludo amigo


----------



## Fortivo (Jun 23, 2009)

me estoy repasando esto amigo, creo que es de lo mismo que ablamos ... http://www.sec.upm.es/docencia/plan_92/cia/descarga_CIA/Comparadores.PDF
pero no lo entiendo mucho , parece un 741 de operacional pero en comparador...

un saludo.


----------



## analfabeta (Jun 23, 2009)

¿cuales son las condiciones del trabajo?
¿es necesario utilizar un pic?
¿es necesario utilizar la entrada analógica? o todo puede ser digital?


----------



## mabauti (Jun 23, 2009)

No es un pic, si no un comparador, quiza no sea necesario el pic, googlea comparador de histeresis para adaptar uno a lo que quieres.


Con Pic.
esto te puede servir
http://www.fv.uan.edu.mx/file.php/78/tema1/Tema6_-_Microcontroladores_PIC_16F84.PDF
primero haz el ejemplo de la pagina 22 y ya despues lo adaptas a lo que quieres


----------



## Fortivo (Jun 23, 2009)

analfabeta dijo:
			
		

> ¿cuales son las condiciones del trabajo?
> ¿es necesario utilizar un pic?
> ¿es necesario utilizar la entrada analógica? o todo puede ser digital?



hola amigo, bueno las condiciones del trabajo es; ahi que utilizar un pic y tiene que tener un comando, el chip se le va a programar una tarea, la tarea es esta:

inicio
comprobar tensión señalada ok
si es ok, pasar a encender led on
relay 10s
comprobar tensión señalada off
end.

si es necesario un pic porque es obligatorio contenerlo en el proyecto.
Otra cosa se puede utilizar otro circuito secundario para el control de la alimentacion , esto es un tipo juego, te explico, la cuestion es , consegir que tensión hace funcionar el pic.... mira la imagen, los alumnos pondremos resistencias asta lograr arrancar el pic, solo sabre yo,mi compañero y profesor que resistencia es la que lo hace funcionar. ojo que creo que ahi que tener cuidado en no mandar tanta tensión al pic porque creo que se rompera.


----------



## analfabeta (Jun 23, 2009)

tengo un programa que compara la señal analógica de entrada al pic, puedes poner que el valor sea por ejemplo entre 2.9 y 3.1V, si el voltaje no esta en ese rango, el led se apaga, con la limitante que máximo son 5V (es lo  máximo que puedes meterle de entrada analógica) si el pic no tiene entrada analógica, entonces tendrias que hacer los comparadores para que solo cuando haya 3V, pase voltaje al pic


----------



## Fortivo (Jun 23, 2009)

analfabeta dijo:
			
		

> tengo un programa que compara la señal analógica de entrada al pic, puedes poner que el valor sea por ejemplo entre 2.9 y 3.1V, si el voltaje no esta en ese rango, el led se apaga, con la limitante que máximo son 5V (es lo  máximo que puedes meterle de entrada analógica) si el pic no tiene entrada analógica, entonces tendrias que hacer los comparadores para que solo cuando haya 3V, pase voltaje al pic



OK , creo que hablando con el profesor podria cambiar de pic, ¿?que pic tiene entrada analogica?¿ , si me pasarias el programa para verlo te lo agradeceria asi podria ir viendo las opciones que tengo.

un saludo amigo y gracias por los 2 hecharme una mano , saludos.


----------



## Fortivo (Jun 23, 2009)

mabauti dijo:
			
		

> No es un pic, si no un comparador, quiza no sea necesario el pic, googlea comparador de histeresis para adaptar uno a lo que quieres.
> 
> 
> Con Pic.
> ...



ok eso esta perfecto lo del pulsador , y ya tenia en mi manual ese circuito, ahora el que me falta es del comparador de histeresis para que detecte la tensión que es y cuando sea la que yo quiero abra y es como si pulsaramos ese pulsador, ¿¿o me equivoco?

saludos.


----------



## analfabeta (Jun 23, 2009)

Bueno, este programa lo hice en pic simulator ide, asi que tendrás que adecuarlo si quieres hacerlo con pic basic pro, pero la secuencia para la comparacion ahi esta

Define CONF_WORD = 0x3f72
Define CLOCK_FREQUENCY = 12
AllDigital
ADCON1 = 0x0e

Dim an0 As Word      "declaramos la entrada analogica"
TRISB = 0                  "configuramos el puerto b como salida"
loop:
	Adcin 0, an0
	If an0 > 600 Then            "Si el valor es mayor a 600, entonces pasa al segundo if"
		If an0 < 650 Then    " Si el valor es menor a 650 entonces enciende B0"
		PORTB.0 = 1
		Goto loop                 "mientras las dos condiciones se cumplan, el programa se repite"
	Endif
	Endif
PORTB.0 = 0                             "si una condicion no se cumple, entonces B0 se apaga"
Goto loop                                 "repite el programa indefinidamente"

Los valores al menos en el pic simulator ide para la entrada analogica, son 0V = 0 y 5V = 1023, por lo que una regla de 3 y tendras los voltajes correspondientes a 600 y 650, si quieres cambiar el rango, cambia esos valores

Desconozco bastante de pics, y el único que  he utilizado es el 16F8777A, pero para prender y apagar un LED creo que es demasiado PIC


----------



## Fortivo (Jun 23, 2009)

muy buena aportacion si señor, ahora lo que falta algun pic algo mas normalito porque ese pic es para profecionales , haber si encontramos algo , o si no a experimentar con el comparador de histeresis y haber que sacamos de ahi.. un saludo amigo y muchas gracias , ya os contare  deww


----------



## dAVIb (Jun 23, 2009)

Mirate el datasheet del 16F84, en la version moderna, 16F628A ,tiene 4 comparadores configurables , tal vez te sirva.


----------

