Autor Tema: salida analógica que responda a una variable word  (Leído 1563 veces)

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

Desconectado LETAL

  • PIC16
  • ***
  • Mensajes: 101
salida analógica que responda a una variable word
« en: 15 de Septiembre de 2006, 19:17:34 »
 Si tengo una variable byte puedo enviarla en paralelo a un dac y obtengo mi salida analógica.
Mi problema es que es el valor de salida está almacenado en un variable word, como hago para obtener la señal analógica de salida ??????????? :(

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: salida analógica que responda a una variable word
« Respuesta #1 en: 16 de Septiembre de 2006, 12:08:52 »
Si tu variable es de 16 bits y tu DAC es de 8 bits, tendrás que enviar sólo los 8 bits más significativos de tu variable.
Si lo estás haciendo en C podría ser así:
salida = variable >> 8;

Desconectado LETAL

  • PIC16
  • ***
  • Mensajes: 101
Re: salida analógica que responda a una variable word
« Respuesta #2 en: 16 de Septiembre de 2006, 16:58:30 »
Me puedes explicar como sé que no tendré mucho error desechando los 8 menos significativos, no comprendo bien¿el bit 8 pasa a ser el 0 y bit 16 pasa a ser el 7????

 A mí se me ocurrió hacer una transformación de var word a byte por soft, no sé si se puede :

salidaW var word
salidaB var byte
.....
......
salidaB= salidaw*255/65535


Se pueden usar las dos formas , una sola ???????? porqué???


PD:alguien puede decirme como guardo en una variable byte los 8 bits más altos de una variable word en picbasic.
« Última modificación: 16 de Septiembre de 2006, 17:12:54 por LETAL »

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: salida analógica que responda a una variable word
« Respuesta #3 en: 16 de Septiembre de 2006, 18:12:55 »
Usa Highbyte y Lowbyte como en el ejemplo:
http://www.microengineeringlabs.com/resources/samples/pbp/eeword.bas

Lo que comenta nocturno es cierto.

Sobre lo del error, depende de tu conversión.

A menos que tengas un DAC de 16 bits puedes mandarlo todo, pero no lo tienes entonces... es mejor desechar los bits de menor peso.

Con lo anterior me remito al comentario de la conversión: ¿el máximo valor de tu palabra son los 16 bits?.   Es decir, ¿el máximo valor que tienes en esa variable llega a 10 bits, 12, 14, 16?

Lo anterior es porque si es de 10 bits, para un DAC de 8 con 5 volts de referencia perderías como 15 milivolts por incremento en el DAC.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: salida analógica que responda a una variable word
« Respuesta #4 en: 17 de Septiembre de 2006, 02:49:39 »
Si el DAC tiene menos bits de resolución que tu variable Word, el error que se generará no es otro que esa diferencia de bits, aunque si descartas los menos significativos, el error será menos significativo.

De todas formas, pienso que si el diseño de tu circuito tiene un DAC de menos bits, será porque no necesita más, en cuyo caso no hay problema. Donde sí habría problema sería en el caso contrario; si tuvieras una variable con menos bits que el DAC. En este caso estaríamos desperdiciando bits de resolución que no podrían recuperarse de ninguna manera.

Con respecto a tu fórmula, es casi correcta y equivalente a la que yo puse.

    salidaB= salidaw*255/65535

es casi lo mismo que
   
    salidaB = salidaw / 256

y esto es idéntico a

    salidaB = salidaw >> 8