miércoles, 14 de mayo de 2014

Actualización del Firmware de “Mega-Herramienta”


A pesar de haber incorporado 15 funciones al instrumento en cuestión, la programación involucrada ocupo alrededor del 88 % de la memoria  Flash del PIC18F2550 y para no desaprovechar la valiosa memoria disponible he incorporado las últimas dos funciones que considero que valen la pena estar en el instrumento, además se realizaron algunas mejoras a las ya programadas funciones. Las mejoras que se realizaron están dirigidas principalmente al Firmware, sin embargo debido a estas fue necesario hacer una pequeña modificación en el circuito. A continuación describo los cambios realizados y las nuevas funciones agregadas.


Frecuencímetro

Esta función, además de desplegar el valor de la frecuencia ahora también indica en la misma pantalla el valor del ciclo de trabajo en por ciento para el rango de frecuencia de  0.7 Hz a 110 kHz, suficiente para muchas aplicaciones relacionadas a circuitos conmutables.
La mayor precisión del valor del ciclo de trabajo se encuentra en el rango de 0.7 Hz hasta alrededor de 40 kHz, pues rebasando este valor la precisión comienza a disminuir alcanzando un error máximo del 2% para frecuencias superiores a 95 kHz pero además el valor del rango del ciclo de trabajo que puede registrar el instrumento comienza a disminuir gradualmente a partir de 25 kHz, es decir una señal con frecuencia en torno a 95 kHz y con ciclo de trabajo cercano a 99 % o al 1% será registrada por el instrumento como una señal con ciclo de trabajo de  9 % o 91% según sea el caso. Sin embargo, esta desventaja no es un gran problema pues en el peor de los casos con frecuencias cercanas al límite del rango medible tendremos un error del 2% con un rango de medición del ciclo de trabajo de 10 % a 90 %.
Con el valor del capacitor (22 pF) que funciona como filtro de cd para la entrada de frecuencia, de la versión anterior no se consigue leer correctamente el ciclo de trabajo de frecuencias menores de 70 Hz, por lo tanto es necesario cambiarlo por uno de mayor valor. Con un capacitor de 1 nF se logran medir correctamente ciclos de trabajo de hasta 1 Hz.

Frecuencia y ciclo de trabajo mostrados simultáneamente en el LCD.



VOLT-AMP- PWM-°C

Tanto la magnitud del voltímetro,  amperímetro y salida PWM se muestran simultáneamente en el LCD, la razón es porque al utilizar la salida PWM para manejar cargas como por ejemplo motores o focos incandescentes, es conveniente conocer el valor de la corriente suministrada.


Medición de tensión, corriente y salida de PWM con frecuencia de 32.29 kHz al 50 % del ciclo de trabajo. La flecha indica que variable se modifica con los botones C7 (-) y B1 (+). La misma se desplaza con los botones C6 y B2.

Esta disposición también se encuentra en la primera versión, la novedad es que se agregó la función de termómetro en la que se puede programar la máxima temperatura a la que operara el PWM, superando el valor programado, la salida del PWM permanece en nivel bajo. Esta característica es muy útil si se utiliza el instrumento como monitor de un cargador de baterías, ya que si se configura el módulo PWM con ciclo de trabajo del 100 % la salida permanecerá en nivel alto por lo que se puede emplear para controlar un interruptor (por ejemplo un relé o un triac), que cortara el suministro de energía cuando el sensor utilizado como sonda adherida a la batería alcance cierta temperatura que puede dañar a la misma.



Configuración de la máxima temperatura de operación del PWM.



En fin estos son solo dos ejemplos de aplicaciones en las que puede ser útil la disposición de las funciones en el instrumento.
Cabe mencionar que el valor del ciclo de trabajo y frecuencia del PWM configurada ahora se almacena en la EEPROM del micro tras salir de la función, así al volver a utilizarla, la configuración será la misma que la última ocupada.
Para lograr esta actualización se cambió la conexión del interruptor rotatorio de la siguiente manera.


Nueva conexión del interruptor rotativo
Básicamente, solo se invirtió el orden de conexión del polo que corresponde a la etiqueta TEMP


Control de servomotores

Tal función genera una señal PWM de 50 Hz con ciclo de trabajo ajustable de 2.5 % a 12.5% con paso de 1.666… %  lo que se traduce (para los servos que funcionas con estas señal, por ejemplo el HITEC HS-311)  en un avance del eje del servo de 0° a 180 ° con pasos de 30°.


Con los botones C6 (-) y C7 (+) se controla la posición del eje del servomotor.



Decodificador IR de protocolo Philips RC-5 y Sony SIRC 12 bits

Nos muestra en el LCD el valor de la dirección y los datos en formato decimal del protocolo seleccionado.En las revistas  UCONTROL número 8 y 10 se encuentra información relacionada a los protocolos mencionados.
  

Presionando C6 o C7 se elige el protocolo IR a decodificar.



Para utilizar esta función adecuadamente se necesita que los datos de entrada no se encuentren invertidos para ello recomiendo el siguiente circuito que utilice para realizar las pruebas.

Circuito receptor de señales IR



Placa receptora de señales IR junto al Pickit 2.



Parte trasera de la placa IR.

El receptor IR utilizado es desconocido ya que lo obtuve de un proyector de video y la única nomenclatura que le encontré fue V2138 pero haciendo pruebas registre que el rango de la frecuencia portadora  que detecta es de 35 kHz a 43 kHz lo que es ideal para trabajar con dos protocolos distintos pues la onda portadora del protocolo RC-5 y Sony SIRC es de 36 kHz  y 40 kHz respectivamente.


Conclusión

Entre otras actualizaciones que se realizaron al instrumento involucran una mejor lectura de los botones y una adecuada visualización de valores del inductometro.
Con las anteriores actualizaciones, la memoria Flash ocupada del PIC18F2550 llega al 98 %  lo que indica que ya no se podrán programar nuevas funciones, a no ser que se remplace alguna existente, pero esta solución no es muy conveniente pues se pierde una función acosta de una nueva.
Como di a entender en la entrada anterior correspondiente al probador de semiconductores pretendo hacer una fusión de ambos instrumentos, por supuesto empleando un microcontrolador con más memoria y más E/S, pero antes de elegir el nuevo micro es importante terminar el analizador de semiconductores, que por el momento no he avanzado como quisiera debido a que se e abordado un nuevo proyecto, el cual tratare en la próxima entrada, sin embargo completar el probador de semiconductores es una prioridad ya que lo he necesitado más de una vez y como lo tengo armado en protoboard aún no es cómodo su uso. En lo que respecta al código fuente de Mega-Herramienta escrito en C de CCS C Compiler lo liberare al terminar el analizador de semiconductores, a quienes lo requieran les pido paciencia J.

Para finalizar dejo el nuevo Firmware, que se carga al instrumento por medio del Bootloader siguiendo el procedimiento ya explicado anteriormente, y tanto el diagrama como el PCB actualizado en ISIS y ARES de Proteus  v7.9. Ya saben que cualquier duda o comentario es muy bien recibido, gracias por su atención y nos vemos en la próxima entrada con un nuevo proyecto interesante J J J.






5 comentarios:

  1. Que tal haye un detalle en el diagrama, que en el pcb tienes dos transistores Q4 Y Q1 juntos y en las fotos que presentas solo tienes un transistor y una resistencia, ahi ya no se como hacerle para seguir el proyecto.. saludos..

    ResponderEliminar
    Respuestas
    1. Lo que pasa es que este PCB es el mas actual, y las fotos corresponden a la versión anterior, es por eso que no aparecen los dos transistores juntos.

      Eliminar
  2. hola carlos donde busco la version actualizada de la megaherramienta y el proyecto de semiconductores tavbien

    ResponderEliminar
    Respuestas
    1. Hola Mauricio Posada, te recomiendo usar el "Archivo del blog" que se encuentra en la columna derecha al principio de la pagina para ver el historial de publicaciones. De esta forma podrás encontrar las publicaciones mas rápido.
      Saludos

      Eliminar
  3. hola carlos una pregunta,,desarrolle la mega_herramienta y funcionaba bien,luego le hice las modificaciones de tu actualicacion y ya no consigo que funcione bien,no me funciona ni medir inductancias ni el frecuentimetro...gracias...

    ResponderEliminar