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

Temas similares

24/05/2012 #1


Ayuda Usando 2 ADC 16F887 mucha oscilacion
Hola Gente volví con esto de los pic, estoy intentando hacer un seguidor solar.
Estuve informándome que usaban para "medir" la luz y vi en muchos lugares que utilizan leds ambar de alta intensidad, ya que al iluminarlos entregan 1,5v de tensión en sus patas.
Lo primero que hice fue conectarlos directamente a 2 entradas analógicas del pic que yo había declarado A0 y A1 seteando la +Vref en 1,5 pero, al mostrar en un lcd los valores obtenidos, oscila muchisimo.

luego arme un amp no inversor con un lm324 y usando una R1 = 10k, R2=3900, cuando en la entrada tengo 1,5 v a la salida tengo 5,3, puse un zener 5.1v para que la tensión no se pase y me queme el pic.

pero tengo un problema ya que al tapar totalmente los led la tensión entregada por ellos no se pone en 0 y no entiendo porque.

Resumiendo
Como evito la oscilacion y que puedo usar para medir la luz?

aca dejo los diagramas:

1) Amp Operacional



eso que dice 2,5v no le den importancia me quedo sin editar

2) al pif 16f887 tengo conectado un display de 2x16 al PORTB

En la A0 y A1 tengo 2 entradas analogicas, a la que se conectan los amp operacionales.
Uso el oscilador interno del pic a 8mhz.

3) Codigo MikroBasic

Código:
program lee2adc

dim text as char[20]

dim ld,li as string

dim ldt,lit as string[4]



main:

ANSEL = %00000011          ' PIN A0 A1 como analogicos

ANSELH = 0                 ' todos los demas digitales

ADCON1= 0x80

TRISB = 0                   ' PORTB is output

Lcd_Init(PORTB)             ' Initialize LCD on PORTB

Lcd_Cmd(Lcd_CURSOR_OFF)     ' Turn off cursor

text = "Midiendo la LU"

Lcd_Out(1, 1, text)         ' Print text at LCD

Delay_ms(1000)

Lcd_Cmd(Lcd_Clear)

Lcd_Out(1,1,"ld:")

Lcd_Out(2,1,"li:")



While 1

ld = ADC_Read(0)

wordtostr(ld,ldt)

Lcd_Out(1,4,ldt)

Delay_ms(150)



li = ADC_Read(1)

wordtostr(li,lit)

Lcd_Out(2,4,lit)

Delay_ms(150)



Wend

end.

dejo un video tambien

24/05/2012 #2


hola,
no se de donde sacaste la idea de que con un LED puedes medir la intensidad de luz cuando este solo la emite; tal vez te confundiste y sea un FOTODIODO lo que debas usar o en su defecto un fototransistor , en segundo si usas cualesquiera de estos dos elementos lo mas recomendable seria usar OA como comparadores para tener voltajes de referencia y puedas procesar los voltajes de salida,ya que si lo usas en la configuraion que lo muestras lo unico que haces es "amplificar" la senal,
yo te sugeriria una simple fotoresistencia y usar el ADC si lo unico que quieres medir es la intensidad de la luz, la resistencia es proporcional a la intensidad de la luz que recibe
p.ej
luz 100% ----> LDR--->ADC= 1111
luz 50% ----> LDR--->ADC= 1000
luz 0% ----> LDR--->ADC= 0000
suponiendo que el adc es de 4 bits
unsaludo
24/05/2012 #3


biopic dijo: Ver Mensaje
hola,
no se de donde sacaste la idea de que con un LED puedes medir la intensidad de luz cuando este solo la emite; tal vez te confundiste y sea un FOTODIODO lo que debas usar o en su defecto un fototransistor , en segundo si usas cualesquiera de estos dos elementos lo mas recomendable seria usar OA como comparadores para tener voltajes de referencia y puedas procesar los voltajes de salida,ya que si lo usas en la configuraion que lo muestras lo unico que haces es "amplificar" la senal,
yo te sugeriria una simple fotoresistencia y usar el ADC si lo unico que quieres medir es la intensidad de la luz, la resistencia es proporcional a la intensidad de la luz que recibe
p.ej
luz 100% ----> LDR--->ADC= 1111
luz 50% ----> LDR--->ADC= 1000
luz 0% ----> LDR--->ADC= 0000
suponiendo que el adc es de 4 bits
unsaludo
vi eso de los led por varios lados de internet, tambien probe con un LDR directo al ADC y tambien hay oscilacion
24/05/2012 #4


puede ser que en el reg ADCON0 CHS<3:0> por default esta en el canal 0, no lo modificas, no se en que canal hayas conectado tu senal?? podria ser eso , con respecto a lo del LED no lo creo al menos que lo irradies con rayos Beta jaja pero ps pasa los links saludos
24/05/2012 #5

Avatar de Basalto

Hola, prueba a poner una resistencia elevada entre la entrada + y masa. Un saludo
24/05/2012 #6


biopic dijo: Ver Mensaje
puede ser que en el reg ADCON0 CHS<3:0> por default esta en el canal 0, no lo modificas, no se en que canal hayas conectado tu senal?? podria ser eso , con respecto a lo del LED no lo creo al menos que lo irradies con rayos Beta jaja pero ps pasa los links saludos
Ahora que miro la hoja de datos yo seleccione A0 y A1 como entrada analogica escribiendo ANSEL= %00000011. o lo debo hacer con ADCON0???

con el adcon0 como seleciono 2 entradas analogicas??

con respecto a los led xd lo conecte a un multimetro y le di con una linterna y mide 1.5v

aca esta la hoja en español

http://www.mikroe.com/eng/chapters/v...dor-pic16f887/

---------- Actualizado después de 8 minutos ----------

tampoco se porque el conversor funciona en 8bits y no en 10bits
24/05/2012 #7


si eso esta correcto por RA0 y RA1 como entradas analogas pero cual de los 11 canales que tiene el ADC es el usadoi ?
Imágenes Adjuntas
Tipo de Archivo: jpg adc.JPG (64,2 KB (Kilobytes), 11 visitas)
Tipo de Archivo: jpg adcch.JPG (47,0 KB (Kilobytes), 8 visitas)
24/05/2012 #8


Basalto dijo: Ver Mensaje
Hola, prueba a poner una resistencia elevada entre la entrada + y masa. Un saludo
Gracias voy a probar con esta opción

---------- Actualizado después de 4 minutos ----------

biopic dijo: Ver Mensaje
si eso esta correcto por RA0 y RA1 como entradas analogas pero cual de los 11 canales que tiene el ADC es el usadoi ?
no entiendo, que son los canales? según la hoja de datos este pic tiene 13 entradas analógicas, yo utilice solo dos: RA0 y RA1 la pata 2 y 3 del pic, las cual configure con el comando ANSEL=%00000011
con el adcon0 que hago?
24/05/2012 #9


y la info del LED magico??? o cual es su simbolo??? datasheet?
24/05/2012 #10


biopic dijo: Ver Mensaje
y la info del LED magico??? o cual es su simbolo??? datasheet?
Cuando vuelva de mi casa al trabajo lo busco, pero yo estoy seguro que lo vi por algun lado, y para confirmarlo agarre un tester y alumbre el led ambar con la linterna y me tiro 1.5voltios.
Tambien probe con un led verde difuso creo que era y me dio 1.2v

---------------------------------------------------

aca estaaaaaaaaa!!!!!!!

http://www.neoteo.com/proyecto-giras...un-panel-solar
24/05/2012 #11


esque ANSEL solo es para configurar los pines de los puertos como entrada analoga o E/S digitales, lo primero que es lo que hiciste esta bien ya que puedes usar cualquiera de esos 2 pines co el ADC, ahora el modulo ADC del pic tiene 11 canales de conversion es decir que puedes conctar 11 senales independientes analogas a convertir por el ADC ,(solo una a la vez) por eso es que tienes que seleccionar RA0, o RA1 en ru caso
24/05/2012 #12


biopic dijo: Ver Mensaje
esque ANSEL solo es para configurar los pines de los puertos como entrada analoga o E/S digitales, lo primero que es lo que hiciste esta bien ya que puedes usar cualquiera de esos 2 pines co el ADC, ahora el modulo ADC del pic tiene 11 canales de conversion es decir que puedes conctar 11 senales independientes analogas a convertir por el ADC ,(solo una a la vez) por eso es que tienes que seleccionar RA0, o RA1 en ru caso
no entiendo, lo de los 11 canales. No se a que te referís, la conversión me esta funcionado pero solo en 8bits.

Con el adc_Read(0) leo RA0 espero un tiempo y luego con adc_read(1) leo RA1
24/05/2012 #13


entonces define bien tus preguntas porque creas lios!
pues si quieres leer valores en 10 bits eso es dependiente de tu compilador no se si te lo permita, o puede hacer tu propia libreria para ADC 10 bits. un saludo y hasta luego .
24/05/2012 #14


biopic dijo: Ver Mensaje
entonces define bien tus preguntas porque creas lios!
pues si quieres leer valores en 10 bits eso es dependiente de tu compilador no se si te lo permita, o puede hacer tu propia libreria para ADC 10 bits. un saludo y hasta luego .
bueno gracias, ahi arriba te deje el link del led magico
24/05/2012 #15


ok gracias por el link aunque no hay info clara , no digo que no se pueda ,por que existe el efecto foto electrico , pero no lo creo!!! y ahora si fin de la discusion por que no estamos para debatir aqui si no para ayudarnos bye
24/05/2012 #16

Avatar de Basalto

No será que tu operacional lo tienes que que alimentar con tensión simetrica?? Prueba porque hay operacionales que es obligado. Un saludo
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.