ADC del PIC: ¿es normal esto?
| ADC del PIC: ¿es normal esto? |
|
Loktar
|
Pone un capacitor de 100 nF. Una patita de este en la entrada de la señal analógica y la otra a masa. Si no me equivoco, esto soluciona estos problemas.
Saludos |
||||||||||||
|
|
|||||||||||||
|
alejandro_oo
|
Hola Loktar,
Pues ya le coloque el condensador como me indicas, y la variación sigue, nunca se queda estable. Otra cosa que probé es poner la entrada a masa, se supone que debería ponerse en 0, pero no, aun así se mantiene variando: 0, 1, 2, 4, etc. De momento todo esto lo tengo montado en protoboard, no creo que ese sea el problema, pero pienso que es como una interferencia o algo así. Cualquier idea es bienvenida. Saludos y gracias, |
||||||||||||
|
|
|||||||||||||
|
Loktar
|
Mmm, a mi entonces me parece que se debe a un error en el mismo PIC. Pienso que puede ser el programa. Estás seguro que esperas todos los tiempos necesarios provisto por Microchip? Osea el tiempo de adquisición y eso. Y también comprobando que la conversión está lista?
|
||||||||||||
|
|
|||||||||||||
|
Loktar
|
Capaz sería bueno que nos pases el programa en ASM.
|
||||||||||||
|
|
|||||||||||||
|
alejandro_oo
|
Hola, y cuales son los tiempos mas adecuados ¿?, yo le hago así: Primero configuro las entradas que van a ser análogas, luego elijo el canal a leer y espero 5 ms, leo el valor del ADC, espero otros 5 ms, hago uso del valor y finalmente tengo un retardo de 100 ms entre cada conversión, esto en un ciclo infinito.
Eso de si la conversion esta lista, la verdad no estoy seguro, ya que no lo hago en ASM sino en C y pues no se si eso lo haga la funcion read_adc() por automatico. ¿Tendría que esperar más en algun punto? Saludos, |
||||||||||||
|
|
|||||||||||||
|
alejandro_oo
|
Perdón, no había visto tu segundo mensaje, pues no lo tengo en ASM pero igual pongo el C, para que lo chequen:
Saludos, |
||||||||||||||
|
|
|||||||||||||||
|
Loktar
|
Hola. En C nunca programe. Los tiempos de adquisición parecen suficientes. Cuando empiezas la conversión, tienes que verificar que el bit GO/DONE se ponga a cero. Eso te dirá que la conversión está lista. Lo que no sé es si la función en C te hace eso automáticamente. Prueba hacer esto: Luego de que empieces la conversión, haz un ciclo que verifique que el bit GO/DONE (bit 2 de la dirección 1FH), Si el bit está a cero es que la conversión está lista, si no, el bucle continúa hasta que el bit se ponga a cero.
También sugiero la opinión de alguien más experimentado. Saludos. |
||||||||||||
|
|
|||||||||||||
|
alejandro_oo
|
Hola,
Esa idea me gusta, de verificar el bit GO/DONE del ADCON0, solo que no veo en que punto meter tal verificación, esto por que la función read_adc() me deja sin control de esa parte. Ya que es ella quien me devuelve el valor de la conversión, pero como tu bien dices yo igualmente ignoro la estructura de esa función como para poder determinar si verifica el estado del bit GO/DONE o no. Hasta ahorita no me he encontrado la referencia de esa función, así que si alguien sabe donde se puede checar esto pues no se quede callado. Saludos, |
||||||||||||
|
|
|||||||||||||
|
alejandro_oo
|
Hola de nuevo, pues no se pero creo que el problema es el montaje, pues muevo o pongo la mano sobre algunos de los alambres del protoboard y casi se queda quieto, digo casi por que la variación es mínima, de estar en 139 se mueve a 140, o sea muy poco e inclusive se llega a quedar estático. Debo decir que tiendo a dejar un poco largos los puentes, a tal grado que al final me queda como una araña de colores alrededor y sobre el PIC, pero no se si esto es una causa real del problema o ya me sugestione ¿?.
Saludos, |
||||||||||||
|
|
|||||||||||||
|
| Temas de interés | |
|---|---|
| Prueba de Componentes | |
| Cual es la diferencia entre un PLC y un PIC en este caso? | |
| Circuito de prueba para TRIACs | |
| Prueba de componentes electrónicos activos | |
| Prueba de componentes electrónicos pasivos | |
| Foros de Electronica |
|
||
Cuestiones Elementales de Electrónica
||
Fuentes de alimentacion
||
Circuitos de radio
||
Diseño de circuitos en general
|| || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfases y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10927 segundos, Consultas = 13
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10927 segundos, Consultas = 13

