Autor Tema: Sincronizar ADC Free running con micro  (Leído 5153 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado diego_castano01

  • PIC10
  • *
  • Mensajes: 21
Sincronizar ADC Free running con micro
« en: 23 de Julio de 2006, 01:11:00 »
Hola, tengo un problemita con mi proyecto de grado, estoy tratando de controlar un motor DC unido por su eje a un potenciometro lineal de uso industrial, el problema se presenta en que uso la señal del sensor ( señal Analoga)para luego convertirla en digital usando un ADC 0804 en modo free running pero se me presentan problemas, ya que al parecer creo yo ambos integrado (el micor AT89S52 y el ADC 0804) no estan trabajando a la par,razon por lo que, cuando detecto un dato del ADC logro controlar el motor DC e invertir su giro, pero esto sucede como de CHEPAZO como decimos en mi pais (es decir de vez en cuando y en intervalos de tiempo), ahora he encontrado una APNOTE aplicacion de national ,semiconductor pero no se si me sirva (no m e es muy clara), solo necsita que ambos bicho me trabajen a la par y no se pierda en su ejecuccion muco tiempo.

Alguien sabe como corregir este problema
Gracias  :?

Desconectado JCAK

  • PIC18
  • ****
  • Mensajes: 325
Re: Sincronizar ADC Free running con micro
« Respuesta #1 en: 23 de Julio de 2006, 15:24:26 »
Hola Diego

Una posibilidad puede ser la siguiente:
Ante de continuar con algún proceso debes darle tiempo al ADC para que termine de hacer su conversión.
Una vez qe la conversión finaliza, registro del ADC camabia uno de los flags y avisa al respecto.

Esto es una de las tantas posibilidades.... pero me parece que tu consulta no es clara, no has puesto un esquema ni has explicado técnicamente los pasos. Así es muy dificil que alguien pueda ayudarte con claridad, o solo conseguiras que todos aportemos cosas en el aire como la que te acabo de pasar.

Saludos
Julio - Argentina

Desconectado diego_castano01

  • PIC10
  • *
  • Mensajes: 21
Re: Sincronizar ADC Free running con micro
« Respuesta #2 en: 24 de Julio de 2006, 02:28:00 »
Hola, de pronto mas claro, lo que necesito es que el ADC 0804 (en modo free-running) funcione a la par con el micro (ATMEL AT89S52), es decir algun esuqma o idea en la que yo logre que el micro no me lea la salida del dato del ADC, mientras este este ejecutando por ejemplo una nueva conversion,

mas claro que ambos trabajen juntitos, no es mas

Gracias

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Sincronizar ADC Free running con micro
« Respuesta #3 en: 24 de Julio de 2006, 14:02:36 »
En el esquema que te dejo (es el del datasheet) se puede ver la forma de conexionado. Claramente se ve la línea INTR que es activa a nivel bajo. Esta patilla esta pensada para generar una interrupción cuando el ADC a terminado la interrupción. Si ponemos esta patilla como entrada de nuestra interrupción, cada vez que teermine el ADC se generará una interrupción.

Saludos.
« Última modificación: 24 de Julio de 2006, 14:04:45 por jfh900 »
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado diego_castano01

  • PIC10
  • *
  • Mensajes: 21
Re: Sincronizar ADC Free running con micro
« Respuesta #4 en: 27 de Julio de 2006, 00:01:46 »
Hola, se de el datasheet, pero en que me puede ayudar esta INTR (activa en bajo) en la sincronizacion, no se si entendi mal, pero si es claro que cada vez que termina el ADC 0804 una conversion genera una Interrupccion, yo como puedo usar esta herramienta para que la conversion en modo Free running no se me desfaze con la lectura de los ocho bits digitales (los convertidos del sensor) que realiza y compara constantemente el micro con un valor determinado.

Un poco mas y mas claro para que non nos nredemos mucho, hay un motor DC (uno chiquitico) unida al eje esta sujeta una caja reductora y de  esta se encuentra unida un potenciometro lineal de uso indutrial (bastante razonable) yo estoy, tomando la señal del portenciometro (que esta unido con el eje de una caja reductora, esta gira bastante lento), para ser convertida (digitalizada a bits con el ADC), mi intencion es con un dato ingresado y guardado en el micro compararlo con la señal converida del potenciometro, es decir guardo un 45 en un registro X y compara este 45 con por ejemplo un 45 obtenido de la conversion ADC (es decir del giro del potenciometro unido a la caja reductora), con esto lo que trato es de controlar los angulos de giro de mi dispositivo. esa INTR de la que me comentas como la puedo usar para que cuando el micro este leyendo el puerto X, este a la par con la conversion ADC, por que lo que me sucede es que a veces capta el dato y para el motor, pero a veces no lo capta y sigue derecho el giro del mismo

Gracias

Desconectado omeehecatl

  • PIC10
  • *
  • Mensajes: 3
Re: Sincronizar ADC Free running con micro
« Respuesta #5 en: 27 de Julio de 2006, 03:51:59 »
al igual que JCAT, opino que seria mas ilustrativo que pongas tu diagrama de tu micro, tu adc y tu sensor, para ver que patita te estaria faltando al conectar (por decir una posibilidad), para mi, el intr del adc lo conectarias al int0 o int1 del micro y cuando se genere la interrupcion del adc seria el aviso por medio de la interrupcion para que el micro lea el dato y pueda procesarlo y espere el siguiente dato, pero.....
me dijeron y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: Sincronizar ADC Free running con micro
« Respuesta #6 en: 08 de Agosto de 2006, 20:24:25 »
Cada vez que termina el ADC la lectura cambia de estado INTR. Usa este cambio de estado para disparar la interrupcion de tu micro.

Cuando disparas la interrupcion en el micro, el adc le dice al micro que el dato esta listo y que tiene que leerlo por el puerto que tengas configurado para la lectura (dificil que alguien te pueda ayudar sin un diagrama).

Luego al terminar de leerlo desactivas la interrupcion del micro y estas listo para el siguiente dato. En el cual se repite la secuencia.

No conozco los micros Atmel pero en un Pic esta seria la secuencia.

Saludos
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo