TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jdaniels en 17 de Mayo de 2007, 13:47:40
-
Alguno de ustedes alguna vez a usado los ADC de 16 o 24Bits que trae proteus?
Les explico porque, estoy haciendo una balanza, que esta conformada por 4 celda de carga, el maximo peso es de 88184.8988lb estas son lineales, y el voltaje de salida de las celdas son de 0 a 5v, es decir me sirve para el ADC del PIC, pero resulta que con los 8bits y los 10bits que trae el pic no me sirve, ya que los saltos que da son muy grande, me redondea el valor de entrada y al mostrar esto en una lcd la diferencia entre el peso real y el que muestra es grande, y la balanza tiene que ser muy precisa ya que es para la aviacion de una institucion militar, es sacado la cuenta y necesito un ADC de 24 bits, o cuando mucho uno de 16Bits, proteus trae varios de 16bits uno ubicado en Analog ICs elADC16071, y otro ubicado en Modelling Primitives el ADC_16 y de 24Bits el LTC2440, alguien a trabajado alguna vez con alguno de ellos? solo necesito saber su circuiteria externa, como por ejemplo que tengo que poner el las patas HOLD, OE etc, de antemano gracias
-
primero: que tiene que ver tu pregunta con este subforo dedicado al lenguaje C?
segundo: bueno amigo nada mas tienes que revisar el datasheet del integrado correspondiente, en tu caso el del ADC ADC16071,
LTC2440, en esta pagian web www.digchip.com hay muchos pdfs de los datasheet de seguro tambien estan estos chips. una vez quelo lees ya puedes aplicarlos al proteus. :mrgreen:
-
1. Publique el tema aqui ya que el programa lo estoy haciendo en C, y pense que si alguien ah utilizado estos ADC podia mas o menos darme una idea de como hizo para obtener los datos ya que estos ADC lo sacan serialmente
2. Eso es lo que estoy haciendo viendo el datasheet, solo pregunte por si alguien ya los ha utilizado pues podia decirme si no tuvo algun problema al simularlo, o si no corren bien con proteus etc, de ahi la pregunta
-
ah pues al menos yo no los he usado, :mrgreen:, disculpa si te entendi mal o si mis letras se leyeron algo ofensivas :-) no fue mi intención, mas por el contrario esta interesante tu proyecto dime con que complador programas en c? dependiendo de eso podemos buscar librerias o hacerlas :-) y simularlas en el proteus.
-
Yo utilizo el MCP3204, pero es de 12 bits y no se si lo tiene el proteus...
Ademas use algo el AD7715 de 16 bits y esta preparado para celdas de carga.
Si consigues emular este ultimo puedo ayudarte con las rutinas... :mrgreen: :mrgreen:
-
jdaniels, más allá del simulador o no simulador... usar un A/D de 16 bits ya implica un gran esfuerzo en la eliminación de ruido.
Usar uno de 24bits... mi dios...
Usarlo es fácil , sacarle provecho no. Si armas el hardware y envías lo que lees por el A/D a una usart, verás como los ultimos bits (y no hablo de los últimos 2 bits , sino tal vez los últimos 10 bits) varían constantemente debido al ruido blanco, a las interferencias, a realimentaciones de masas, etc.
2^24 = 16.777.216 de pasos
Si sensas 5V, eso te da una precisión de 0,298 microvoltios
Si sensas 24V, te da una precisión de 1,4305 microvoltios
Como te darás cuenta cualquier pequeño ruido mayor a ese voltaje hara variar las lecturas del A/D.
Saludos
-
micro_cadaver no hay problema men no ha pasado nada, uso el compilador CCS
MGLSOFT ese ADC no sale en proteus, no has utilizado uno que este en proteus? tu como lo utilizaste en fisico nada mas o lo emulaste con otro soft?
maunix te entiendo se que no es facil, por eso preguntaba, para arrancar con las experiencias de otros para que asi no se me haga tan dificil, pero de todos modos lo quiero intentar ya vere en que paro... ah cuando hablaste de los ruidos me rei un poco me imagino el hardware al lado de un motor de un 737 o un hercules jajaja las lecturas se moveran mas que las caderas de shakira
-
maunix te entiendo se que no es facil, por eso preguntaba, para arrancar con las experiencias de otros para que asi no se me haga tan dificil, pero de todos modos lo quiero intentar ya vere en que paro... ah cuando hablaste de los ruidos me rei un poco me imagino el hardware al lado de un motor de un 737 o un hercules jajaja las lecturas se moveran mas que las caderas de shakira
Aunque te parezca mentira tal vez no! ¿porqué? porque estas hablando de motores que del tipo de turbinas. Yo hablaba en general de motores eléctricos. En un motor a combustión lo que genera ruido es la bobina de encendido y las bujías.
Mi consejo para 'comenzar' es que no te la hagas complicada sin sentido... fíjate en las páginas de los fabricantes de semiconductores o de microcontroladores para ver cuantos bits de precisión tienen en sus A/Ds y sacarás conclusiones más rápido. :) :)
-
Los dos fabricantes de conversores de gran precision y efectivamente no fabrican microcontroladores o microprocesadores, se dedican a lo suyo solamente.
Son las empresas Analog Devices y Burr Brown (hoy parte de Texas).
Ellos hacen conversores de hasta 28 bits.
El resto pone dentro de sus micros conversores no mayores a 12 bits, Microchip tiene algunos modelos solamente, el resto son de 10 bits maximo...
Esto es por el ruido que llega a meter dentro de la circuiteria interna el conversor.
Si vas a usar un conversor de gran cantidad de bits lo recomendable es que sea externo.
El AD7715 ya tiene filtraje digital interno de los valores para obtener una señal sin ruido.
La mayoria posee algun algoritmo interno que permite el filtrado.
Yo tengo en caja muestras de ADS1240 un conversor de 22 bits, creo.
Hay que cumplir con TODAS las especificaciones de las hojas de datos del fabricante y leerse todas las notas de aplicacion para obtener buenos resultados.
-
MGLSOFT tienes razon lo maximo que incorporan en los micro son de 12bits cuando mucho... una pregunta y disculpa la ignorancia pero cuando dices "yo tengo en cajas muestras de ADS1240" a que te refieres? ah una ultima pregunta donde puedo conseguir un ADC de esos que nombraste? osea tienen alguna sucursal aqui en latinoamerica?
-
MGLSOFT buen dato ese que ya tienen filtros internos para evitar ruidos. 22 Bits :shock: impresionante la resolucion.
-
Bueno entre mis proyectos (hasta que no termine lo que hago hoy no empiezo otro) esta utilizar este conversor y hacer una balanza, para despuntar el vicio...
El ADS1240 es de Texas (ex-Burr Brown) y en realidad es de 24 bits.
Me enviaron muestras gratis directo sin costos, solo la ultima vez tuve que pagar un comisionista que me lo trajo de Bs As hasta mi casa.
El link para el datasheet es:
http://focus.ti.com/docs/prod/folders/print/ads1240.html (http://focus.ti.com/docs/prod/folders/print/ads1240.html)
Hay mucha documentacion y rutinas para hacerlo funcionar con micros de Texas (por supuesto), por eso me incline por ese conversor.
Hoy uso el MCP3204, para el cual hice mis librerias ya que CCS solo tenia la del MCP3208, la publique en el foro de CCS y hoy aparece (modificada) entre las librerias desde la version 4. :mrgreen:
-
Amigo como debo configurar el mcp3304 para leer voltajes negativos es lo que me falta
-
Amigo como debo configurar el mcp3304 para leer voltajes negativos es lo que me falta
La verdad no tengo ni idea porque no lo he usado así que no se si es que me falta o no me falta pero sería de gran ayuda que digas qué has intentado y qué pruebas has hecho con qué resultados para que podamos entre todos (o entre los que lo hayan usado) darte una idea de cómo configurarlo bien.
PD: MGLsoft, analog devices hace DSPs... lo cual sería un microprocesador específico :) :)
También hay puertos de ucLinux para ellos ;)
-
no soy ducho con eso de los adc , si un fabricante saca un convertidor de 16 bits, 24 o mas no lo hará por gusto, deben haber aplicaciones especificas donde se requiera tanta presición y seguro que se ha pensado y solucionado los inconvenientes con problemas externos.
-
Amigo como debo configurar el mcp3304 para leer voltajes negativos es lo que me falta
La verdad no tengo ni idea porque no lo he usado así que no se si es que me falta o no me falta pero sería de gran ayuda que digas qué has intentado y qué pruebas has hecho con qué resultados para que podamos entre todos (o entre los que lo hayan usado) darte una idea de cómo configurarlo bien.
PD: MGLsoft, analog devices hace DSPs... lo cual sería un microprocesador específico :) :)
También hay puertos de ucLinux para ellos ;)
Si realmente me falta eso; es que actualmente estoy trabajando en un proyecto de adquisición de señales análogas y graficando la conversión de uno o mas canales segun la eleccion, en un programa desarrollado en visual basic y como novedad agrego que la comunicación se lleva a cabo a través del puerto USB del pc, en su primera etapa de recoleccion de muestras y graficarlas funciono perfecto pero ahora el tutor quiere que tome señales negativas. y no he podido lograr eso, el celebro es un poderoso 18F4550 programado en C (CSS), por eso solicito ayuda al que me pueda colaborar 1, en que forma debo configurar el circuito sobre el MCP3304, cual debera ser el voltaje de referencia si 5V o 2.5V, y como llevaria la comunicacion por SPI integrado del micro ya que actualmente llevo a cabo esta comunicacion por software mediante una libreria modificada por mi para trabajar este integrado pero tal vez no sea la adecuada pa valores negativos. gracias de antemano.
-
Podrias publicar tu libreria del conversor y ademas el circuito que tenes implementado??
Es para tener toda la info al momento de ayudarte.
Maunix: De cuantos bits son los A/D de los DSP de Analog Devices??
-
Podrias publicar tu libreria del conversor y ademas el circuito que tenes implementado??
Es para tener toda la info al momento de ayudarte.
Maunix: De cuantos bits son los A/D de los DSP de Analog Devices??
Por fin lo tengo trabajando desde -5 hasta 5 v me costo harto trabajo pero lo logre luego les posteo algo mejor, me voy a dormir con mas tiempo les enseño lo que estoy haciendo
-
Maunix: De cuantos bits son los A/D de los DSP de Analog Devices??
No lo sé , pero lo puse solamente como información, no para pelearte :) :) :) . Son demasiado caros para los tipos de soluciones que estoy acostumbrado a implementar.
No por hacer ADs, significa que no se puedan hacer otra cosas ;)
PD. muy buena la frase de tu abuelo
-
No lo interpreto como pelea Maunix, es curiosidad.. :) :)
Ademas Texas tiene algunos micros con conversores A/D internos de 22 o 24 bits, pero hechos con un micro 8051 que no es el modelo de ellos :shock: :shock: :shock:
esto porque el mercado americano esta acostumbrado a programar ese micro, entonces se adaptan a su mercado.
Pero son las excepciones... :mrgreen: :mrgreen: :mrgreen:
-
Bueno, en realidad la arquitectura 8051 no es tan desconocida...ahora hace poco que la gente se está mudando a otras plataformas, pero Atmel, Dallas, Phillips, Infineon y muchas más adoptaron ese 'core' para hacer montones de microcontroladores basados en ellos.
En cuanto a los DSP de analog, acabo de leerme los datasheets y no tienen A/D internos, son puro cálculo, memoria y comunicación con el mundo exterior, lo cual si uno analiza un poco más en el ambiente en el que dichos "bichos" deben funcionar , creo que es totalmente lógico.
Lástima el precio que tienen... :?