PROYECTO DE AUTOMATA PROGRAMABLE
DE 8 E/S
BASADO
EN EL PROCESADOR PIC 16F84
Autor: Juan Manuel Rodríguez
| Esquemas | Circuitos impresos | Fotos del PLC montado | Software |
| Sistema Operativo | Instrucciones PLC | Ejemplos | Links |
Después de varios años trabajando con autómatas
comerciales de diferentes fabricantes
como OMRON, SIEMENS, EBERLY y BOSCH. Decidí en mi tiempo
libre diseñar un
autómata hecho a medida. La idea original tendría
que cumplir las siguientes premisas:
La solución fue usar "MACROS" para convertir las instrucciones en
ensamblador en
instrucciones estándar usadas por los autómatas comerciales.
De esta manera la lectura por ejemplo de una entrada del autómata
se haría con la
instrucción IN A,B donde " IN " seria el código de la instrucción,
el campo " A "
la dirección de la tarjeta de entradas y en campo " B " el numero de
la entrada física
de la tarjeta " A " que deseamos leer. Activar una salida tendrá la
siguiente sintaxis: OUT A,B
Un temporizador : TIM A,B
Un contador : CNT A,B
Y el resto de las instrucciones como: AND , AND_NOT, OR, OR_NOT, LD, LD_NOT,
MOV, SET, RESET etc., siguen la misma línea.
La ventaja del uso de las macros es que nos permite llamar a la instrucción
con el nombre
que mas nos guste. El uso de etiquetas nos permite hacer aun mas claros los
programas del
autómata al poder sustituir las direcciones hexadecimales de las entradas/salidas
por un texto
mas descriptivo :
LD Tarjeta_E0,Pulsador_Marcha
OUT Tarjeta_S0,Marcha_motor
Una vez depurado el sistema operativo, probé diferentes formulas para
almacenar
los programas en memoria. El uso de EPROM no era viable ya que habría
que borrarla
previamente cada vez que se hiciese una modificación.
El uso de RAM estática no volátil no resulto estable ya que
con los cortes de tensión se
corrompían los datos. La opción final fue buscar un microprocesador
que incluyese
memoria EEPROM para el sistema operativo y programa PLC y RAM para los datos
temporales. Los procesadores que mejor se ajustan a estos requerimientos son:
ATMEL 89C4024 y los PIC 16F84 de MICROCHIP .
Las diferencias entre los procesadores son las siguientes:
La familia ATMEL ofrece procesadores con 4K de memoria EEPROM y 128 bits
de RAM
con dos puertos E/S, los códigos maquina son compatibles con intel
y muy cómodos para
direccionar bits. Sin embargo requiere un hardware de programación
complicado.
El microprocesador PIC16F84 solo ofrece 1K de EEPROM y 64 bits de RAM, el
código
maquina es un poco menos cómodo, pero el hardware de programación
es muy sencillo y
existe mucha documentación y muchos programas gratuitos en Internet.
La opción final fue el PIC ya que permite integrar el programador
dentro del autómata
usando un hardware muy sencillo, descargar los programas usando el puerto
paralelo
del PC y realizar modificaciones en cuestión de segundos, aun a pesar
de su escasa
capacidad de memoria.
Una vez elegido el procesador, solo quedo buscar el hardware mas adecuados
para el resto
del sistema: Relés de 5V para las salidas, optoacopladores para aislar
las entradas, la fuente
de alimentación y los chips TTL auxiliares.
Los esquemas están realizados con el programa ORCAD
|
|
ENTRADAS. 140 Kb |
SALIDAS 131 Kb |
Comp_side 45 Kb |
Full_pcb_color 33 Kb |
sold_layer 15 Kb |
Top_layer 12 Kb |
Top_layer_holes 17Kb |
Dos de las placas de circuito impreso son de doble cara, la de entradas y la de salidas, la tarjeta que integra a la CPU el regulador conmutado y al programador es de doble cara y en el prototipo están cableadas con hilo de cobre asilado.
|
CPU.JPG 48.40 Kb |
Salidas.JPG 53.81 Kb |
Entradas.JPG 54.68 Kb |
Reles.JPG 71.45 Kb |
61.33 Kb |
General2.JPG 64.84 Kb |
Ir al principioComo se aprecia en las fotos, el autómata consta de tres placas de circuito impreso
El software elegido para la programación del autómata se ejecuta bajo Windows 95/98
![]()
Para la grabación
de la memoria EEPROM del PIC y después de mucho buscar
por la red
elegí el programa WPicProg16 diseñado por Nigel Goodwin
al que debemos
agradecer
su aportación así como a Don Mckenzie que ofrece mucha información
sobre
programadores
PIC en su pagina web Australiana y a través de la cual localice
el programa.
|
MPLAB.jpg 100 Kb |
WPic_cfg.jpg
|
WPic16.jpg 78 Kb |
Ir al principio
El software de programación del procesador PIC16F84 se puede descargar
de la pagina personal de Nigel Goodwin. El hardware del PLC esta optimizado
para la versión 1.21 de 16 bits ejecutable bajo Windows 95/98
Información bibliográfica.
Microcontroladores PIC La solución en un CHIP. Editorial PARANINFO.
Links de PLC´S y Procesadores PIC.
. http://www.microchip.com/ Pagina del fabricante de los procesadores PIC
http://www.dontronics.com/ Pagina Australiana sobre programadores PIC y ATMEL
http://www.bahnhof.se/~visionic/body.htm Pagina de Visionic, EDWinNC software de diseño de circuitos impresos
http://www.lpilsley.freeserve.co.uk/ Nigel Goodwin home page
http://www.ordenatas.es/automata/ Kit de automata PLC
http://www.ibercomp.es/plc/ Web de fabricante de micro Automata muy barato y potente NUEVO
http://www.ibercomp.es/ Web de fabricante de micro Automata pagina principal NUEVO
http://www.unicrom.com Electronica Unicrom, electronica al alcance de todos NUEVO
http://www.terra.es/personal/fremiro/home.htm Curso de microprocesadores PIC, tutoriales y muchas cosas mas NUEVO
REEA Web sobre automatas Programables y electronica Industrial MUY BUENA NUEVO
Si tiene problemas o preguntas relacionadas con este Web,
póngase en contacto con [Correo
Electrónico Proyecto PLC] .
Copyright © 1999. Reservados todos
los derechos.
La información contenida en este
documento está sujeta a modificaciones sin previo aviso.
El proyecto
no esta diseñado para usar en maquinas donde pueda correr peligro
la integridad
física de personas. Se declina cualquier responsabilidad sobre
el uso
incorrecto de este sistema
Este documento solo pretende aportar información
sobre microprocesadores,
no estando autorizado su uso para aplicaciones
comerciales sin la autorización
expresa del autor.
Otros productos u organizaciones mencionadas
aquí son marcas comerciales o marcas
registradas propiedad de sus respectivas
organizaciones o propietarios.
Ultima revisión 26 de Agosto del 2002
Santander - Cantabria - España