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 transceptorMCP2200 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.
No hay comentarios.:
Publicar un comentario