ArduPLC v2.00
ArduPLC V2.00
MANUAL DE DESCRIPCION
Documento V1.00 – 31/07/2013 Pág. 1
ArduPLC v2.00
ÍNDICE DE CONTENIDO
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Descripción general. .............................................. ...................................................................... ............................................... ......................... 3 .................................................................. ........................................ ................. 3 Características principales. ........................................... Microcontrolador ............................................ ................................................................... .............................................. ................................ ......... 4 Alimentación. .............................................. ..................................................................... .............................................. .................................... ............. 5 Relés de salida. ............................................ ................................................................... .............................................. .................................... ............. 6 Entradas digitales. .............................................. ..................................................................... .............................................. ............................ ..... 7 Entradas analógicas. .............................................. ...................................................................... ............................................... ......................... 8 Puerto USB. .............................................. ..................................................................... .............................................. ...................................... ............... 12 Puerto RS485. ........................................... .................................................................. .............................................. ...................................... ............... 12 Buzzer. .............................................. ..................................................................... .............................................. .......................................... ................... 14 Zócalo tarjeta uSD. ............................................. ..................................................................... .............................................. ...................... 15 RTC. .............................................. ..................................................................... ............................................... .............................................. ...................... 16 Bus de expansión RJ12. ............................................. .................................................................... ...................................... ............... 17 Zócalo shield compatibles Arduino. .............................................. ............................................................. ............... 19 .................................................................... .............................................. .............................. ....... 20 Programación. ............................................. Especificaciones Especificaciones técnicas. ............................................. .................................................................... .................................. ........... 23
Pág. 2
ArduPLC v2.00
1. Descripción general. ArduPLC es un dispositivo microcontrolador que nos ofrece la posibilidad de conectar y controlar dispositivos eléctricos o electrónicos directamente sin necesidad de componentes adicionales. Básicamente es un Arduino con posibilidad real de control. Gracias a su puerto RS485, está recomendado para aplicaciones distribuidas como domótica, conexión con PLCs industriales, control, etc. Todas las entradas y salidas son accesibles a través de robustas bornas de tornillo. ArduPLC se entrega montado en una caja estándar para carril DIN. Esto nos facilita el montaje dentro de cuadros eléctricos para automatización, domótica, etc.
2. Características principales. •
Microcontrolador Atmel ATmega328.
•
4 relés de salida con leds indicadores.
•
4 entradas digitales optoacopladas con leds indicadores.
•
4 entradas analógicas 0/10v, 0/5v o 0/20mA.
•
Puerto de comunicaciones RS485 aislado.
•
Puerto de comunicaciones USB.
•
RTC con batería incluida.
•
Conectores de expansión I2C en RJ12.
•
Buzzer acústico.
•
Dos potenciómetros de propósito general.
•
Zócalo para tarjetas uSD.
•
Zócalo para shields compatibles Arduino.
Pág. 3
ArduPLC v2.00 •
Amplio rango de alimentación de 6.5 a 30 voltios (*) o USB (**).
•
Regulador conmutado.
•
Compatible con Arduino Duemilanove.
•
Caja para carril DIN.
(*) Voltaje nominal de entrada 24VDC para el funcionamiento correcto de algunas características. (**) Salida de 24V, para entradas digitales, no disponible en este modo de alimentación.
3. Microcontrolador ArduPLC está basado en Arduino y por consiguiente podremos utilizar cualquiera de los entornos de desarrollo Arduino para programar nuestro dispositivo. La equivalencia entre las E/S de ArduPLC y Arduino son las siguientes:
E/S ArduPLC
RELE 1 RELE 2 RELE 3 RELE 4 ENTRADA DIGITAL DIN1 ENTRADA DIGITAL DIN2 ENTRADA DIGITAL DIN3 ENTRADA DIGITAL DIN4 ENTRADA ANALÓGICA AIN1 ENTRADA ANALÓGICA AIN2 ENTRADA ANALÓGICA AIN3 ENTRADA ANALÓGICA AIN4 POTENCIOMETRO 1 POTENCIOMETRO 2 BUZZER/LED L INT0, DREADY, CS_SD
E/S Arduino 7 8 9 10 3 4 5 6 A0 A1 A2 A3 A6 A7 13 2 Pág. 4
ArduPLC v2.00
PUERTO USB Y HARD. 485 TX PUERTO USB Y HARD. 485 RX PUERTO SOFT. 485 TX PUERTO SOFT. 485 RX
0 1 11 12
4. Alimentación. ArduPLC incorpora un regulador conmutado de alta eficiencia para generar los 5V necesarios para el funcionamiento interno. Gracias a este regulador podemos alimentar la placa ArduPLC de forma externa desde 6.5VDC(*) hasta 30VDC sin riesgo de sobrecalentamiento. También podemos alimentar ArduPLC desde el propio puerto USB (**). Para seleccionar entre alimentación USB o EXTERNA coloque el Jumper en el modo deseado:
Para alimentación externa existe un fusible de protección. Para sustituirlo, retire la tapa con la ayuda de un destornillador y sustituya el fusible por uno equivalente 2A - 5x20mm.
Pág. 5
ArduPLC v2.00
(*) Voltaje nominal de entrada 24VDC para el funcionamiento correcto de algunas características. (**) Salida de 24V, para entradas digitales, no disponible en este modo de alimentación.
5. Relés de salida. Los relés de salida son del tipo normalmente abierto excepto el relé 4 que cuenta con salida normalmente abierto y normalmente cerrado. Todas las salidas cuentan con sus comunes totalmente independientes. 4 diodos leds nos indican el estado de cada relé. Ejemplo de conexión para controlar 3 lámparas:
Características técnicas de las salidas de relé: •
Máxima corriente: 5A
•
Máxima tensión: 250VAC o 30VDC
Pág. 6
ArduPLC v2.00 •
Máxima potencia: 2500VA, 300W
•
Resistencia del contacto: 100mOhm
•
Vida eléctrica: 100,000 operaciones a 10A y 250VAC
•
Vida mecánica: 10,000,000 operaciones
6. Entradas digitales. Las entradas digitales se activan con niveles lógicos de 24VDC referenciado al pin N/P. De esta forma podemos activar las entradas en la forma POSITIVO COMÚN o NEGATIVO COMÚN. 4 diodos leds nos indican el estado de cada entrada. Un ejemplo de conexión para 2 interruptores en modo POSITIVO COMÚN sería de la siguiente manera:
Para el caso de NEGATIVO COMÚN:
Pág. 7
ArduPLC v2.00
Conexión NEGATIVO COMÚN con fuente de 24V externa:
7. Entradas analógicas. ArduPLC dispone de 4 entradas analógicas que podemos configurar, independientemente, para uno de los siguientes rangos:
Pág. 8
ArduPLC v2.00 •
0-10V: puentee los jumpers según se muestra:
•
0-5V: puentee los jumpers según se muestra:
•
0-20mA: puentee los jumpers según se muestra:
Pág. 9
ArduPLC v2.00
Un ejemplo de uso es el siguiente, donde se muestra la conexión con un potenciómetro:
Ejemplo de conexión para un transductor de presión 4/20mA a dos hilos:
Pág. 10
ArduPLC v2.00
Para el rango 0/20mA, los valores digitales de conversión son los siguientes:
Corriente
0 mA 4 mA 20 mA
Valor digital de conversión 0 204 1023
Adicionalmente, ArduPLC dispone de dos potenciómetros para propósitos generales (ver asignación de pines en tabla de sección 3), como ajuste de tiempos, rangos, etc.:
Pág. 11
ArduPLC v2.00
8. Puerto USB. ArduPLC incorpora un puerto USB gestionado por el driver FT232RL de la firma FTDI. Ya que el interface UART hardware del microcontrolador está compartido con el puerto USB y RS485, tendremos que seleccionar previamente cual de los dos puertos estará conectado a la UART del microcontrolador. Para seleccionar el puerto USB deslice el interruptor S8 a la derecha:
Los diodos RX y TX nos muestran la actividad en el puerto seleccionado.
9. Puerto RS485. ArduPLC incorpora un puerto RS485 totalmente aislado galvanicamente y con control automático de dirección de datos. Con este puerto RS485 podemos implementar buses de comunicaciones basados en dos hilos como por ejemplo MODBUS.
Pág. 12
ArduPLC v2.00
Antes de utilizar el puerto debemos asegurarnos que está correctamente seleccionado en el modo RS485. Para ello deslice el interruptor S8 hacia la izquierda:
Si es necesario, puede activar o desactivar la resistencia terminal del bus con el jumper S7. Esta resistencia tiene un valor típico de 120 Ohm. Puede observar la actividad de las comunicaciones del puerto con los leds TX y RX. Otra característica del puerto RS485 es que podemos asociarlo a un puerto UART software del microcontrolador (vea tabla sección 3). Para ello coloque los jumpers S25 y S4 en modo SOFT. 485:
Pág. 13
ArduPLC v2.00
Características técnicas del puerto RS485: •
Velocidad máxima de 500 Kbps
•
Protección ESD +/- 15Kv
•
Control de dirección de flujo automática
•
Soporta ¼ de carga unitaria o 128 dispositivos en red
•
Aislamiento galvánico 3000v
10. Buzzer. Para activar el buzzer acústico active el Jumper S38:
Consulte la asignación de pines para el buzzer en la tabla del apartado 3 de este manual.
Pág. 14
ArduPLC v2.00
11. Zócalo tarjeta uSD. ArduPLC incorpora un zócalo para tarjetas compatibles uSD. Para usar tarjetas uSD utilice la librería estándar “SD” de Arduino. Introduzca la tarjeta de la siguiente forma hasta que haga tope:
El contacto que indica cuando la tarjeta está insertada está disponible en el conector J19. Si necesita usarlo tendrá que soldar una conexión y llevarla hacia un pin libre del microcontrolador. Consulte la asignación de pines para el uso de tarjetas uSD en la tabla del apartado 3 de este manual.
Pág. 15
ArduPLC v2.00
12. RTC. ArduPLC dispone de un reloj en tiempo real o RTC basado en el chip PCF8563T. Este chip es controlado mediante el bus I2C. Puede usar la librería estándar “Rtc_Pcf8563” de Arduino para controlar este reloj. La pila integrada en la placa mantiene la hora y fecha en el reloj en ausencia de alimentación. La vida de esta pila está estimada en 10 años. Puede desactivar el bus I2C conectado al RTC quitando los jumpers S36 (SCL_RTC) y S37 (SDA_RTC). Por ejemplo, si interconecta dos ArduPLC a través del bus de expansión RJ12 deberá desactivar el bus I2C en uno de los dos ArduPLC. El chip PCF8563 dispone de una señal de interrupción “INT” configurable para varios propósitos como por ejemplo señal de alarma. Puede asignar esta señal de interrupción a un pin del microcontrolador activando el Jumper S3 (INT0) (*). Deberá activar la resistencia PULL UP para esta señal.
(*) Si activa la señal “INT” del RTC no podrá usar la tarjeta uSD ya que comparten la misma señal.
Pág. 16
ArduPLC v2.00
13. Bus de expansión RJ12. ArduPLC facilita la interconexión de otros dispositivos mediante el BUS de expansión RJ12 basado en el bus I2C.
En este conector nos encontramos con las siguientes señales: •
Señales bus I2C.
•
Alimentación 5VDC y 24VDC (o tensión de alimentación externa).
•
Señal de interrupción DREADY.
Dependiendo del caso, puede que le interese desactivar alguna de estas líneas como por ejemplo las líneas de alimentación para que no tengan conflictos con otros dispositivos que también incorporen alimentación. Por ejemplo, si interconecta dos ArduPLCs, uno de ellos deberá tener la alimentación del bus desconectada.
Pág. 17
ArduPLC v2.00
A continuación se detallan los jumpers para tal tarea nombrándolos de izquierda a derecha:
•
SDA_PU: on/off resistencia pull-up línea SDA bus I2C
•
SCL_PU: on/off resistencia pull-up línea SCL bus I2C
•
+5ON: on/off alimentación 5VDC bus conector izquierdo o J16.
•
+24ON: on/off alimentación 24VDC bus conector izquierdo o J16.
•
•
•
DREA.: on/off señal microcontrolador.
de
interrupción
del
bus
hacia
el
INT0: on/off señal interrupción RTC hacía el microcontrolador. SD_uSD: on/off señal “chip select” de tarjeta uSD hacia el microcontrolador.
•
SCL_RTC: on/off bus I2C señal SCL del RTC.
•
SDA_RTC: on/off bus I2C señal SDA del RTC.
•
+5ON: on/off alimentación 5VDC bus conector derecho o J10.
•
+24ON: on/off alimentación 24VDC bus conector derecho o J10.
Pág. 18
ArduPLC v2.00
14. Zócalo shield compatibles Arduino. Podemos “pinchar” un Shield compatible con Arduino en la placa ArduPLC siempre y cuando las medidas del Shield nos lo permitan.
ArduPLC con Shield Ethernet Arduino.
Debido a que ArduPLC utiliza pines específicos del microcontrolador para uso de sus propios recursos como relés, entradas digitales, entradas analógicas, etc., estos pueden entrar en conflicto con los pines asignados al Shield. Para ello, la placa ArduPLC, nos permite fácilmente desactivar la señal en conflicto con el Shield a cambio de anular el recurso de ArduPLC en conflicto. Por ejemplo, adquirimos el Shield Ethernet Arduino. Debemos saber que la señal CS utilizada en este Shield está ubicada en el pin 10. ArduPLC utiliza el pin 10 para el relé 4, con lo cual debemos anular este relé 4 si queremos usar correctamente el Shield.
Pág. 19
ArduPLC v2.00
El pin 10 está asignado al puerto PB2 del microcontrolador por lo que únicamente tenemos que buscar la resistencia-puente PB2 y desoldarla:
15. Programación. Puede programar fácilmente ArduPLC de dos formas: •
Mediante un programador externo a través del conector ICSP. Esta es la forma nativa de programar los microcontroladores AVR de Atmel. El programador más utilizado para este fin es el AVR MKII:
Pág. 20
ArduPLC v2.00
Para programar el microcontrolador con este programador tenemos que acceder a la placa ya sea quitando la tapa superior o inferior de la caja DIN.
Conector ICSP para programación.
•
Mediante el puerto USB disponible y el bootloader cargado en el microcontrolador. ArduPLC viene de serie con el bootloader de Arduino Duemilanove cargado por lo que solo necesitamos un cable USB conectado a nuestro ordenador para descargar programas desde el IDE de Arduino. Antes de cargar un programa asegúrese que el interruptor S8 está en modo USB: Pág. 21
ArduPLC v2.00
Pág. 22
ArduPLC v2.00
16. Especificaciones técnicas. Rango de alimentación:
6.5 a 30 VDC
Protección de alimentación:
inversión de polaridad
Protecciones de sobretensión en:
entradas analógicas, digitales y puerto RS485
Consumo a 24VDC en reposo:
10mA (0.24W)
Consumo a 24VDC máximo:
80mA (1.92W)
Rango entradas analógicas:
0 /5VDC, 0/10VDC o 0/20mA
Rango entradas digitales:
24VDC
Máxima corriente salidas relé:
10A
Máxima tensión salidas relé:
250VAC o 30VDC
Máxima potencia salidas relé:
2500VA, 300W
Puerto RS485:
Aislado 3000V, ¼ unidad de carga, protección ESD +/- 15Kv, control automático de dirección de datos
Temperatura de funcionamiento:
-40 a 85 ºC
Ancho:
159 mm
Alto:
90 mm
Fondo:
58 mm
Peso:
250 g.
Pág. 23