Autor Tema: salida analogica  (Leído 8612 veces)

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

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
salida analogica
« en: 26 de Septiembre de 2004, 12:12:00 »
¿co mo se puede hacer una salida anaogica con un pic?He estado mirando los convertidores digital/analogico,pero para tener una rsolucion aceptable necesitaria uno de 16bits,y eso son muxos pines a usar del pic.


Saludos!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18271
    • MicroPIC
RE: salida analogica
« Respuesta #1 en: 26 de Septiembre de 2004, 16:45:00 »
Con una sóla salida pwm, a la que se conectan un condensador y una resistencia, puedes construir un conversor D/A.

Recuerdo un post de Elena en el que lo explicaba, pero ahora no lo encuentro...

Desconectado gauchosuizo

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 457
RE: salida analogica
« Respuesta #2 en: 27 de Septiembre de 2004, 04:26:00 »
hola wofer

como dijo Nocturno lo puedes hacer con una salida de PWM y un circuito integrador, pasivo o activo. El mas simple es el pasivo: una resistencia con un condensador a masa, pero yo haria uno activo (adaptacion de impedancias). Yo no se que PIC usas y con que frequencia trabajas, pero si quieres una resolucion de 16 Bits, va a ser dificil hacerlo con el Modulo CCP del PIC. Yo he hecho el calculo para una Frequencia de 4Mhz y 16 Bits y me dio como resultado una frequencia de PWM de 61Hz. Por eso, pienso yo, tendrias que hacer la señal de PWM por medio del soft y no del hardware. Para calcular la frequencia del PWM se hace asi

FPWM = Fosc / 10^(PWMresolucion*log(2))

FPWM es la frequencia de la señal de PWM
Fosc es la freq. del Oscilador del PIC
PWMresolucion es la resolucion deseada
Yo necesito hacer una salida de corriente de 0...20mA y lo pensaba hacer de la manera que explico arriba. Cuanda haya hecho la simulacion con el Proteus, la posteo aqui. Cualquier cosa estoy a disposicion de ustedes.

Aloha
Saludos desde Suiza, Pablo.

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: salida analogica
« Respuesta #3 en: 27 de Septiembre de 2004, 04:36:00 »
16 bits son muchos, como bien te ha dicho nocturno con el HPWM puedes crear una salida analogica de hasta 10 bits simplemente filtrando la salida con una resistencia y un condensador, ademas te hara falta a continuacion un operacional configurado como aplificador de ganancia uno para no cargar demasiado la red de filtrado.

Podrías hacer un conversor con un par de regstros de desplazamiento de ocho bits para asi conseguir tener todos los bits y hacer una red de resistencias R 2R si bien con tantos bits aun usando resistencias del 1% y alimentando los circuitos logicos con una alimentacion de alta precision la estabilidad de los bits mas bajos pede ser horrible.

Si realmente necesitas 16bits o bien estas haciando algo con sonido de alta calidad o bien estas haciendo algo de tipo industrial o ciantifico de muy alto nivel.

Yo recuerdo que cuando trabajaba en electromedicina se usaban convertidores de ocho o diez bits. muchas veces es mas importante el preacondicionar bien la señal a convertir de analogico a digital y el reacondicionarla de nuevo en su reconversión al mundo analógico.

Ofrecenos alguna pista mas a ver si somos capaces de que te puedas ahorar el desmadrado coste de un conversor de 16 bits.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
RE: salida analogica
« Respuesta #4 en: 28 de Septiembre de 2004, 17:34:00 »
Mi idea es la de poder controlar la frecuencia de un variador de velocidad el cual tiene una entrada analogica 0-10V y el pic ke utilizo es el F876 a 10Mhz(pero bueno,el oscilador tampoco es problema)De electronica tengo muy poca idea,pero¿lo de la resistencia y el condensador,en ke se basa.....en controlar el tiempo de carga del condensador para ke se cargue entre 0 y 5V???No se,supongo ke se tratara de algo parecido,pero si es asi,luego me bastaria con un amplificador de ganancia 1:2 para alcanzar los 10V,no?La resolucion de 16 bits era solo por tener mas precision.

gauchosuizo,lo de adaptacion de impedancias no tengo ni idea de ke se trata(me suena lago de cuando estudiaba pero nada mas),alguna pista de por donden van los tiros?


Saludos!!!


Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: salida analogica
« Respuesta #5 en: 29 de Septiembre de 2004, 04:35:00 »
En realidad la resistencia en serie y el condensador despues a masa entas integrando la señal y transformando esa cadena de pulsos en una tension continua estable que es un promedio de lo que le estás enviando como señal de onda cuadrada.

Si le envias una señal cuadrada de 5 Volts y con un ratio de 50% el valor efectivo es de 2.5V, si el ratio fuera de 75% el valor efectivo seríá de 3.75V. esto es siempre teorico y ademas tiene una alta impedancia de salida, asi que es necesario poner tras la resistencia y el condensador un operacional como seguidor de tension.

Si te diriges aquí

http://miarroba.com/foros/ver.php?foroid=173417

podras encontrar varios libros que deberian ser le lectura obligada de todo aficionado a los PICs, especialmente el Quintesential y el experimenting with... y si tenemos poco tiempo el experimenting with que es cortito y eminentemente practico. Este tema del PWM por ejemplo está muy bien explicado.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
RE: salida analogica
« Respuesta #6 en: 01 de Octubre de 2004, 16:27:00 »
UUffff.....cuantos archivos para bajar!Habra ke tomarselo con calma....Lo malo eske esta en ingles,pero bueno,ya va siendo hora de aprender,je,je.Lo ke si me me interesa bastante es encontrar un libro con el cual poder aprender electronica.He estado mirando en la casa del libro y hay uno llamado "ELECTRONICA BASICA de ZETINA "...lo ke no se es como de basica.Estoy buscando un libro con el cual aprender a hacer filtros,uso del AO,electronica analogica,etc...a un nivel medio-bajo...¿Conoces el nombre de alguno ke me pueda servir?

PD: Ke es el "ratio".

Saludos y gracias por tu ayuda!!

Desconectado LETAL

  • PIC16
  • ***
  • Mensajes: 101
Re: salida analogica
« Respuesta #7 en: 16 de Agosto de 2006, 11:05:28 »
marques el enlace de los libros no funciona. Puedes darme una mano al respecto

Desconectado FJPPitta

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
    • Mi pagina personal
Re: salida analogica
« Respuesta #8 en: 01 de Noviembre de 2006, 16:41:12 »
Saludos lo que mencionan del PWM podria funcionar para obtener tres salidas analogicas diferentes y mantenerlas, bueno si el pic no puede se podria colocar un retenedor o es mejor usar un D/A como el TLC5628 el cual tiene varia salidadas para seleccionar.

Bueno necesito sacar tres señales diferentes analogicas de un PIC para usarlas como referencia en tres circuitos diferentes y pues desearia un par de consejos para hacer una buena eleccion.
Que la fuerza te acompañe

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: salida analogica
« Respuesta #9 en: 01 de Noviembre de 2006, 19:15:59 »
Aprovecho para hacer una pregunta sobre el tema...

No entiendo como se hace para obtener un nivel DC análogo a partir de una señal PWM por medio de un integrador, hice la prueba con una onda cuadrada con un ciclo de trabajo del 50% y lo que obtengo a la salida es una señal más parecida a una diente de sierra, (tiene lógica si se tiene en cuenta que al integrar una constante se obtiene una línea recta). Entonces como se hace para que la salida sea un nivel DC constante a partir de PWM? o estoy haciendo algo mal?

Para el caso de tener un conversor DA de 16 bits yo usaría dos registros de 8 bits o uno solo de 16 bits, si ya tengo el conversor DA creo que sería lo más fácil y así solo usaría 3 líenas del PIC.

saludos.
Pereira - Colombia

Desconectado andros

  • PIC16
  • ***
  • Mensajes: 111
Re: salida analogica
« Respuesta #10 en: 02 de Noviembre de 2006, 01:42:09 »
No sé, personalmente creo muy complicado usar el pwm para salidas analogas..., no se que tanto dependa la presición de esto con respecto a la tolerancia y a la sensibilidad de los componentes pasivos que se usan, sin contar con lo que podría introducir un amplificador a la salida; aunque imagino que para resoluciones no muy altas debe ser suficiente. Con respecto a lo primero, lo del conversor de 1 bit hay que tener en cuenta que para un voltaje de referencia de 5 voltios eso daría una resolución como de 75 microvoltios (MUY idealmente hablando), así que si no se tienen una buena etapa de acondicionamiento no se haría nada. Sin embargo si se necesita esta resolución definitivamente optaría por usar el conversor; que sea de 16 bits no le veo problema en cuanto a los pines, la mayoría que conozco tienen interaz SPI, por lo cual se usarían solo 3 o 4 pines cuando máximo.

Con respecto a lo del PWM comparto la misma duda, imagino los siguiente: lo de la obtención de la señal diente de sierra debe ser por la selección de factor resultante de R y C; creo que lo primordial con respecto a la red RC debe ser la frecuencia de la señal que se genera a la salida, es decir el PWM, (cada cuanto genero una salida digital desde el conversor), de esa manera se puede seleccionar la frecuencia de corte de la red RC (imagino que un pasa bajas) y de esa manera tener el valor de R y de C. Ahora bien, el valor DC sería proporsional como ya lo dijeron los colegas al ciclo útil.

Sé que mucha gente en el foro es experta en esto, así que espero respuestas para aprender!

Ciao!

Andros!
Andros!

Desconectado damago

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 320
Re: salida analogica
« Respuesta #11 en: 02 de Noviembre de 2006, 22:28:05 »
Buenas noches, a ver si consigo explicar de manera breve y entendible como conseguimos una señal analogica a partir del pwm filtrado con la red RC.

Explicado en el dominio de la frecuencia
----------------------------------------------

Partimos de una señal cuadrada de frecuencia  F, entre 0 y 5V. Si descomponemos esa señal por fourier, veremos que tendremos una componente de continua, una señal senoidal de la misma frecuencia F y amplitud 5V pico a pico, y otras muchas senoidales de frecuencias multiplo y de amplitud menor (armonicos).

Si le aplicamos a este señal un filtro paso bajo, que tenga una frecuencia de corte bastante inferior a la senoidal fundamental (osea la frecuencia de nuestra señal cuadrada de origen) lo que hacemos es eliminar todas estas señales senoidales, quedandose 'viva' sola la componente de continua. Una red RC, es un filtro paso bajo de primer orden.

El valor de la componente de continua dependera del duty cycle de la señal de pwm. Es decir cuanto mas tiempo en ON, mayor sera el valor de la señal de continua resultante. Al 50%, sera 2.5V. Si solo esta un 10% por ej, pues la salida seria 0.5V.

Como punto importante, para quedarnos con la señal de continua, que es lo que nos interesa, hemos visto, que la frecuencia de corte de nuestro filtro (red RC) ha de ser bastante inferior a la frecuencia de la cuadrada de origen.
Si subieramos esta frecuencia de corte del filtro, observariamos como el efecto de la senoidal fundamental empieza  a notarse, viendose como señal de salida una señal de continua con una especie de rizado montado (empieza a verse como  la senoidal fundamental, y sus armonicos no se estan filtrando bien).

En el dominio del tiempo
----------------------------

Como sabemos, en una red RC, un condensador no se carga ni se descarga instantaneamente. El tiempo de carga/descarga viene marcado por una constante de tiempo que llamamos RC. RC no es ni mas ni menos que el valor de la resistencia (en ohmios) por el valor de la capacidad del condensador (en Faradios).

El resultado de esta operacion, es el valor de la constante RC, que es el tiempo (en seg.) que tarda en cargarse/descargarse el condensador no totalmente, si no a un 63% de su valor final.

Por ej: resistencia 10k y condensador 10uF -> RC = 0.1seg
Al aplicar 5V a esta red RC, tardaria 0.1 seg en llegar al 63% de su valor final, es decir 0.63*5V = 3.15V

Con esto creo que ya claro, pasamos a ver que pasa al aplicar nuestra cuadrada de frecuencia F y entr 0 y 5V a la red RC.
Al aplicar una cuadrada estamos continuamente cargando y descargando nuestro condensador.
Mientras aplicamos 5V, lo cargamos. Cuando aplicamos 0V, se descarga a traves de la resistencia. Como se puede ver, se carga y descarga a traves de la misma resistencia, luego la constante de carga y descarga es la misma.

Como llegamos a un valor de continua final estacionario si aplicamos una cuadrada con un duty cycle fijo? Suponemos un duty cycle del 50% (50% ON, 50% OFF)
Al principio, el condensador esta totalmente descargado. Al aplicarle 5V durante cierto tiempo, el condesandor se carga a un cierto valor (depende del tiempo que le dejamos cargarse, es decir del tiempo en ON).  Imaginemos que se ha cargado con 0.25V por decir algo. Al aplicarle 0V a la red RC, el condensador se empieza a descargar, pero en menos cantidad que se ha cargado. A pesar de tener la misma constante RC, tenemos que darnos cuenta que en el estado de carga le habiamos aplicado 5V y como ejemplo deciamos que habia codigo un 5% de su tension final (0.25V). Al descargarse, comienza con una tension de 0.25V, luego si en ese tiempo descarga un 5% de su tension, descargaria 0.05*0.25V = 0.00125, quedando al final del tiempo de descarga todavia 0.25-0.00125 = 0.24875V.

Aqui la intencion era explicar simplemente, que hasta alcanzar la tension continua fija final en un estado estable, la señal crece desde 0 a al valor final y he tratado de explicar el porque carga mas que descarga, hasta llegar al valor final de continua fijo.

Pues asi continuaria subiendo la tension de salida, hasta alcanzar su valor final, donde permanecera fija mientras no se cambie el duty cycle de la cuadrada. Esto simplemente seria un transitorio muy rapido, cuyo tiempo depende tambien de la constante RC.

Porque deja de crecer la tension y se queda estable en un punto?
- Imaginemos que hemos elegido el duty cycle del 50%. Entonces, cuando llegara la tension de salida a 2.5V, ocurriria que la tension que le aplicariamos en los momentos de carga y descarga seria la misma, con lo cual se cargaria lo mismo que se descarga, quedandose en un valor fijo.
Seria la misma, porque si ya tenemos 2.5V en el condensador y le aplicamos 5V a la red RC, el condensador solo podria cargar 2.5V, que es lo mismo con lo que parte al descargarse.
- Imaginemos que hemos elegido un duty cycle del 75%. Entonces, el punto estable seria 0.75*5 = 3.75V. Una vez llegados a este valor, al aplicar 5V, solo podriamos cargar al condensador 5 - 3.75 = 1.25V, pero durante 3/4 del tiempo total. Para descargarse comenzaria con 3.75V, pero solo lo haria durante un 25% del tiempo total. Luego como 1.25*0.75 = 3.75*0.25, podemos ver como en ese punto se carga y descarga en la misma cantidad.

No he comentado anteriormente, que la carga de una red RC no es lineal en el tiempo, sino que tiene forma exponencial (al principio se carga mas rapido, y conforme se va cargando, va ralentizando la carga).

Solo me queda comentar, que pasa con esos dientes de sierra que se han nombrado. Cada vez que aplicamos 5V o 0V, estamos cargando/descargando el condensador, luego si miramos con una buena lupa (el osciloscopio) deberiamos ver sobre la señal de continua esa subidita y bajadita.
Dependiendo de la frecuencia de la cuadrada y de la carga de tiempo RC de nuestro filtro, este diente de sierra puede ser inapreciable.
La razon es, que si nuestra frecuencia es muy grande respecto a la constante de tiempo RC, lo que ocurre es que el tiempo que tiene para cargarse/descargarse es muy pequeño y apenas varia la tension del condensador. Si bajaramos la frecuencia de la cuadrada o aumentasemos la constante RC (mismo efecto), estariamos permitiendo mas tiempo de carga/descarga al condensador hasta el punto que si la constante RC fuera de valor similar al tiempo de uno de los semiciclos de la cuadrada, estariamos viendo cargandose/descargandose casi totalmente al condensador de 0  a 5 como al cuadrada.

Asi que el limite teorico por abajo seria (si la frecuencia fuera infinita por ej), que no le diese tiempo a cargar/descargar nada y la tension fuese una continua perfecta. Y por arriba seria, que cargara/descargara totalmente el condensador en un tiempo despreciable, obteniendo una señal igual a la cuadrada.
En un punto medio esta el diente de sierra, mas o menos visible.

No se si esta un poco liado, pero mas o menos queria comentarlo comparando lo mismo en los 2 dominios: temporal (real) y frecuencia (concepto matematico)

Un saludo.

Desconectado damago

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 320
Re: salida analogica
« Respuesta #12 en: 03 de Noviembre de 2006, 06:07:39 »
Buenas, se me paso comentar una situacion: utilizar este sistema como conversor A/D.

Si en lugar de un duty cycle fijo, lo que hacemos es que sea variable, obtenemos a la salida una señal de valor de tension variable. Mas tiempo en ON, mayor valor de tension, y viceversa.

Lo importante es que la frecuencia de la señal cuadrada sea muy superior a la frecuencia máxima de la señal que queremos a la salida. Y tambien es importante que la frecuencia de corte sea mayor que la frecuencia mayor de la señal de salida deseada para que no la filtre y a su vez mucho menor que la frecuencia de la cuadrada para si la filltre.

En el dominio de la frecuencia, esta podria ser una explicacion sin detalles (el filtro solo deja pasar la señal que queremos generar, en cambio filtra las altas frecuencias de la cuadrada)

En el dominio del tiempo, se podria explicar como que la constante de carga ha de ser tal, que permite cargarse/descargarse al condensador al ritmo de la señal deseada en la salida. En cambio, como la frecuencia de la cuadrada es mucho mayor, y los cambios son tan rapidos en relacion a la capacidad de carga/descarga le resulta imposible seguir la evolución de esta señal.

Como se puede observar para los filtros, se utiliza el domino de la frecuencia (aun siendo un concepto matematico).  Es mucho mas util para calcular los valores de la red RC en funcion de las frecuencias que queremos dejar pasar.

Un saludo. Dani.


Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: salida analogica
« Respuesta #13 en: 03 de Noviembre de 2006, 09:02:56 »
Buenisimo Dani!  :-/

Solo falta que alguien postee un circuito con el operacional y todo como para experimentar!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: salida analogica
« Respuesta #14 en: 03 de Noviembre de 2006, 11:28:17 »
Ahora ya estoy entendiendo, simule en Proteus un circuito de ejemplo, el filtro RC tiene una frecuencia de corte de 100Hz, la entrada es una señal cuadrada de 2KHz y 5 voltios de amplitud , en la simulación se observa que al variar el duty de la entrada variael nivel dc de la señal de salida.

La gráfica de Bode muestra que este filtro tiene una ganancia casi nula para frecuencias mayores a 1KHz y la gráfica del análisis de fourier muestra que la fundamental (señal cuadrada) esta en 2KHz y los demás tonos están despues de 5KHz, por esa razón el ejemplo se trabajo con 2KHz.

La salida tiene un pequeño rizado pero es mas o menos lo que se requiere.

Si estoy equivocado me corrigen.

La simulación es en Proteus 6.9 SP4.

Saludos.

Pereira - Colombia


 

anything