PLC USB






Este es un circuito que se desarrolla en función a varios proyectos del site, primero el PLC - uPLCCS - PIC el cual detalla un PLC de programación ICSP (donde uno debe contar con su programador propio), pero este proyecto muestra que se puede programar tanto en ASM, como C, como LADDER, gracias a un IDE para LADDER llamado LDmicro que se encuentra disponible de forma gratuita en la Web de su autor (http://cq.cx/ladder.pl) también van a encontrar los tutoriales, también es posible programar en C con el compilador que deseen (para Microchip), o bien el viejo conocido ASM.
Otro proyecto que se amalgama con este nuevo PLC USB es el transceptor USB/UART, el cual podemos encontrar en el blog como Conversor USB UART TTL, este en base al transceptor MCP2200 cumple la función de crear un puerto serial virtual vía la conexión USB, el cual con sus drivers (proporcionados gratuitamente por Microchip), encontraremos en nuestro administrador de dispositivos del OS, un nuevo puerto Serial. 
Como la mayoría de los microcontroladores que utilizan programación en circuito requieren una señal serial de dos hilos por ejemplo el Clock y el Data, para la programación del mismo, también requieren de una tensión elevada para acceder al modo programación (actualmente existen microcontroladores que utilizan bajo voltaje para esta programación LVP), La mayoría de los microcontroladores utilizan de 10 a 13V para entrar en modo programación lo cual como sabrán excede nuestros 5V del USB, la solución de los programadores en circuito del tipo serial, es aprovechar la norma RS232 que establece unos +/-10V en su norma lo cual aprovechado y canalizado de forma tal provee de esa tensión de programación a los microcontroladores.
Hasta aquí seguimos igual, ya que no usaremos puerto Serial sino USB, aquí el problema de los transceptores comerciales, la mayoría (el 99%) poseen una salida serial a nivel TTL, es decir en 0 y 5V lo que no nos permite programar el microcontrolador ya que requerimos mas de 10V para ello, Claramente es posible realizar una pequeña fuente del tipo SMPS Step-Up para elevar esa tensión en el pin de grabación pero aquí tenemos otra solución tan antigua como la anterior.
Los llamados Bootloader, estos son Cargadores de Arranque cumplen la función de canalizar el programa que programamos en un sector preestablecido de la memoria interna sin necesidad de programar a nivel hardware (con el acceso a programación que mencionaba anteriormente con los 10 a 13V) sino que el programa se aloja mediante otros pines que no son los de programación Data y Clock, es decir.
El microcontrolador debe programarse a nivel hardware una sola vez, donde se grabara el Bootloader, una vez grabado este ya no se requiere grabar nuevamente el microcontrolador.
Esto posee pros y contras: 
Pros, es que es mas sencilla la programación, no se requiere de placas especiales de programación y facilita la transferencia del archivo. 
Contras, se requiere el microcontrolador con el Bootloader grabado previamente y este mismo consume una pequeña parte de la memoria del micro la cual se restara al programa que realicemos. 
En el caso del Bootloader también se puede descargar gratuitamente desde la Web de Microchip (debe ser el que soporta el microcontrolador que vamos a utilizar y también debe detallar el clock que utilizamos).
En el caso de este PLC se utiliza un PIC16F876A el cual cumple su función correctamente pero siempre se pueden utilizar otros diferentes, por razones de costos este viene bien, pero claramente hay otros con puerto USB embebido mediante HID lo cual nos ahorra el MCP2200.
El software debe ser cualquiera que envíe el archivo vía serie que el puerto serial será el virtual creado por el driver del MCP2200 mencionado anteriormente. 
En mi caso he desarrollado un programa cargador para este fin en lenguaje Delphi, pero pueden realizarlo ustedes en el lenguaje que quieran solamente tienen que tener en cuenta que la velocidad de transferencia serial es 9600bps, pero en realidad pueden usar cualquier cargador de Internet.
En la nota de aplicación 851 pueden encontrar una versión del Bootloader de Micrcochip. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en012031

Especificaciones:

8 Entradas Digitales de 12/24V asiladas con opto-acoplador.

5 Entradas analógicas hasta 5V auto-reguladas.

4 Salidas a contacto de 12V a 250Vac 5A.

Puerto de alimentación de 12V con protección de cambio de polaridad.

Puerto USB, para la carga del programa y para comunicaciones seriales.

Botón de Reset, para reiniciar el sistema y para cargar el programa.

Microcontrolador a utilizar PIC16F876A

            Tipo de memoria de programa: Flash
            Memoria de programa: 14KB
            Velocidad del CPU: 5 MIPS
            Memoria RAM: 368 bytes
            Memoria EEPROM: 256 bytes
            ADC: 5 canales de 10bit de resolución
            Temperatura de trabajo: -40 a 125°C

A continuación se detalla el hardware como también su PCB.

 

 




Ventilador USB

Observando que cada vez mas gente compra ventiladores para la PC, se me ocurrió hacer uno casero de bajo costo.
El circuito que utilice para alimentar este ventilador es una fuente elevadora de tensión en modo switch "SMPS", del tipo StepUp, esto quiere decir que la fuente eleva tensión. En nuestro caso la tensión a elevar sera la que proviene del puerto USB de la PC, que como sabrán es de 5V, la corriente máxima de salida del puerto es de 500mA lo que nos dará unos 2,5W de potencia. Que al pasar por nuestra fuente que posee un rendimiento del 80%, la potencia de salida sera de 2W, pero con una tensión elevada a 12V lo que nos dará una corriente de salida de 170mA máximo.
Lo que nos dice esta corriente máxima en 12V es que tenemos que usar un FAN de máximo 170mA, en mi caso utilice uno de 100mA el cual mantiene por debajo el consumo y el circuito no calienta.

De todas formas el resultado obtenido (el viento) es muy superior al que entregan los ventiladores para PC comprados que he probado. Lo cual me deja mas que satisfecho con este desarrollo.
La próxima mejora de este sera incorporarle una fuente ininterrumpida "UPS" para que el ventilador funcione tras un corte de luz y sea una pequeña solución en el verano.

Review y Modificación de AndroidTV MK808B



Review:

En la caja encontramos el AndroidTV, un cable miniHDMI a HDMI de 20cm, un cable USB OTG de 10cm, una fuente de 5V 2A con su cable.

Con estos accesorios es posible conectar el AndroidTV si necesidad de ninguna otra cosa.
Para controlarlo en mi caso utilice un Mouse Inalámbrico pero podría se cualquier otro dispositivo de entrada.

A primera vista el OS dice que es versión 4.2.2, pero habrá que instalarle alguna aplicación como para saber si es real o es una máscara de marketing…

Claramente como todo lo que no es oficial de Google, el OS tiene un Theme propietario que intenta tener ser similar a un escritorio multimedia de un SmartTV, cosa que le cambie rápidamente por el SmartLauncher que es mucho más sencillo y consume menos recursos.

Las conexiones físicas: USB, USB HOTS, HDMI, USB SUPPLY, miniSD.

Las conexiones Inalámbricas: WiFi, Bluetooth.


Si vemos en la foto tenemos un detalle de las características del dispositivo.

Déjenme hacer una mención de esto, como pueden ver dice que la temperatura en el entorno no debe ser mayor a 35°C, este dato es clave ya que el dispositivo calienta muchísimo, lo cual reduce el rendimiento del mismo y la vida útil. (Medición de temperatura antes de la modificación 55°C, Después de la modificación 25°C)

Otro tema es la conexión WiFi, con la antena microstrip que trae de fabrica obtuve un 15% de la señal lo cual me permite algunas cosas pero el streaming de video se ve comprometido (que es para lo que más me interesa este dispositivo). (Nivel de señal después de la modificación 80%)

Analizando estos dos puntos a mejorar, les mostrare mi modificación.

Modificación:

1) Desarmamos el dispositivo que se encuentra cerrado a presión:


2) Al abrir la carcasa encontramos la siguiente placa:


Aquí vemos el disipador de pequeñas dimensiones que posee, el cual ayuda al incremento de temperatura que les menciono.

3) Modificación del disipador de calor, para esto hay que retirar el mismo el cual debe hacerse con mucho cuidado ya que corremos riesgo de romper el microprocesador, el mismo al no poseer tornillos de sujeción se encuentra pegado, se utiliza un pegamento conductor térmico como en las lámparas leds. Este se debe despegar con un destornillador de pala fino que se introduzca entre el disipador y el microprocesador. (no es tan complicado ya que los chinos ahorraron bastante y solo tenía una gota en el centro pero de todas formas hay que hacerlo con precaución).
Otra forma es llenar de grasa siliconada el disipador que ya trae y montar encima de este el nuevo. En mi caso utilice un disipador ZD5x50mm el cual pegue con pegamento conductor térmico para leds.


4) Ahora la mejora Wifi, para esto en mi caso desoldé la antena microstrip que posee de fábrica y soldé un conector SMA al cual luego conecte una antena TP-Link de 5dBi.


Como se puede ver en la parte inferior derecha se suelda el cable coaxial que conecta la antena con la placa. Son solo dos conexiones las que deberemos desoldar para luego soldar el conector de antena SMA que se ve a la derecha.

5) Una vez realizado el cambio del disipador y la antena, se monta todo el sistema en un gabinete plástico con respiración.


Como podemos ver la única conexión al gabinete es el conector SMA, el resto de las conexiones se realizan con su cableado directo para facilitar el montaje.