INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS Placa de CPU con arquitectura Atmel AVR: características de la CL2bm1 y periferico M4/E Ing. Rafael Oliva - L&R Ingeniería 1. Introducción: La placa CL2bm1 es una evolución del un sistema registrador anterior (DLCy - basado en la familia PSoC 1 [PSoC 1, 2011]) según la concepción de tener un registrador mas avanzado con amplia capacidad de almacenamiento a través de tarjetas extraíbles tipo SD, como sustitución de las versiones importadas que se utilizaron en las primeras unidades de equipos para registro de curva de potencia de aerogeneradores PWRC (2005-6). Dichas funciones son sobre todo las relativas a la captura de datos analógicos, la comunicación a través del puerto serie RS232 o a través de USB, el funcionamiento del teclado, el funcionamiento del reloj de tiempo real (RTC), el display LCD, el almacenamiento confiable en tarjetas SD y el desarrollo de funciones lógicas de E/S propias o a través de placas de expansión. Las pruebas realizadas en el marco del proyecto ANR/SC03 han permitido determinar y evaluar estas capacidades y sentar las bases para un modelo comercial con unos pocos agregados, que se viene utilizando en aplicaciones aisladas desde octubre de 2010. En la Figura 1 puede verse un diagrama en bloques de esta versión. CL2_b Proto (AtMega32/644/1284) Rev5F-2010 (C) R.Oliva - L&R Ing. 2009/10 +B nr Fuente Lineal LM2937-5 / 7805 RS485 RS485 MAX232 RS232/COM1 +5Vcc (644P) PD.2:3 USB USB AVCC LPF MAX232 RS232/COM0 PD.0:1 ATMega1284P ATMega644P ATMega32 XTAL OSC 7.3728E6 +5Vcc LCD_BL PD5 PB4:7 SD CARD 4050 SD_STATUS 2 +5Vcc RTC +5Vcc 2X8 I2C I2C PCA9538 8b I/O LCD CONN. 6P/10P ISP +3V3 I2C PC.0:1 DATA PC.2:7 JTAG 5V/3.3V SD Socket PD select CTRL PD7 PMOS SD_PWR PB.0:3 ANLG IN KBDin ANin X8 +5Vcc PA.0:7 AVCC B 3V EXTER. 2 1 SD_STATUS 10x2 y 17x2 5XEXP 2 XTAL o TXCO SD_PWR Figura 1 - Diagrama en bloques de la placa CL2bm1 – Construida a partir de 2010 Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS La versión utilizada en las aplicaciones mas recientes cuenta con un procesador de 8 bits ATMega1284P, el cual cuenta con 128 KB de memoria Flash, 16 KB de RAM y dos puertos serie. Puede funcionar a 7.3 o 14.4 MHz. Es pin a pin compatible con las versiones reducidas del ATMega de menor costo, que cuentan con menos memoria interna y solo un puerto serie adicional. Los componentes de dicho circuito son las siguientes: a) Fuente de Alimentación con reguladores lineales LDO para +5 y 3.3V. b) Entradas Analógicas c) Interfase para teclado de membrana de 4 contactos d) Display LCD alfanumérico convencional. e) Interfase I2C y Reloj de tiempo real con TXCO. f) Interfase a tarjetas SD g) Interfase Serie RS232, RS485 y USB (en módulo con zócalo) h) Interfase PCA9538 de E/S programable. La utilización del bus I2C de Philips (o TWI para Atmel) es una parte fundamental del módulo CL2bm1 [Oliva y Cortez, 2011]. Se desarrolla tanto en lo relativo al acceso al RTC (PCF8563) como en la utilización de servicios de E/S (PCA9538), y además se utiliza una placa M4/E (descripta más adelante) basada en un controlador PSoC 1 como “periférico” para conectar dicho dispositivo al CL2bm1, implementando la función “I2C-Hardware-Slave” del PSoC, y el CL2b como actuando como Maestro en la comunicación I2C. La interfase I2C conectada al reloj (RTC) permite mantener una hora precisa con un TXCO DS32kHz, oscilador compensado por temperatura, que reduce significativamente la deriva. En la Figura 2 se muestran los primeros ensayos de dicha implementación a inicios de 2010. Figura 2 - Ensayo inicial de placa CL2bm1 – versión de producción Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS 2. Programación: El controlador ATMega1284P de la CL2bm1 se programa en general en lenguaje C a través de alguno de los cross-compiladores que soportan su arquitectura, para las aplicaciones más habituales se utiliza el CodevisionAVR de HPInfoTech [HPI,2012] , o la cadena AVR Studio 6 provista por Atmel, fabricante del controlador. Los programas se compilan en una PC estándar y se descargan a la memoria Flash interna del controlador, a través de dos conectores posibles de ISP: uno de 10 pines y el más convencional de 6 pines, compatible con la interfaz USB de bajo costo ATAVRISP2, producida por Atmel. Asimismo pueden guardarse a través de la misma interfaz los contenidos de la EEPROM (típicamente configuración y constantes de calibración), lo cual permite hacer "upgrades" o cambio de versiones en el campo sin tener que retirar el equipo de su lugar de operación. La interfase que aparece al programador es como se muestra en la Figura 3 (izq), y traduce en cierta medida los bloques de hardware indicados en la Figura 1. Los canales de A/D tienen una resolución de 10 bits, y para aplicaciones que requieren mayor resolución se utilizan los canales de la placa de expansión M4/E de 13 bits, a través de I2C. Se prevén 4 entradas para un teclado sencillo, la interfase SPI con la tarjeta SD, un LCD alfanumérico convencional con backlight conmutable, el bus I2C y una entrada de interrupción configurable. El puerto COM0 se puede rutear hacia el módulo FT232/USB o hacia una mitad de interfase DS14C232 convencional, el otro puerto COM1 hacia la otra mitad DS14C232 o hacia una interfase RS485 con Driver Enable opcional por hardware. MAPA LOGICO E/S – CL2bm1 / AtMega1284P L&R Ingeniería – R.Oliva Rev. 7-7-2010 Canales A/D SD-CARD PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0 CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0 PB.7 PB.6 PB.5 PB.4 PB.3 PB.2 PB.1 PB.0 -CS /SD KBDER KBABJ KBARR KBIZQ PC.4 PC.3 PC.2 PC.1 PC.0 DB4 R/-W RS SDA SCL PD.4 PD.3 PD.2 PD.1 PD.0 RxD1 TxD0 RxD0 SCK/ MISO/ MOSI/ SD SD SD PC.7 LCD PC.6 PD.7 PC.5 DB5 DB7 DB6 PD.6 PD.5 LCD_ BL_IN OLED E TP PD4_ TxD1 INT TECLADO I2C SERIAL USB/RS232#0 USB/RS232#0 RS485/RS232#1 RS485/RS232#1 OLED -INT1/CKOUT/IRQ_CKOUT Figura 3 Mapa de lógica E/S Placa CL2bm1, y salida compilador C CodevisionAVR de HPInfotech Las aplicaciones son basadas en interrupciones y no utilizan un sistema operativo subyacente, sinó una programación secuencial, básicamente por que las funciones de registro y control abordadas no han requerido una elevada velocidad. Se ha explorado y es técnicamente viable la utilización de FreeRTOS en implementaciones basadas en la línea ATMega1284P, aunque la orientación fundamental de este sistema operativo es hacia controladores de mayor capacidad. Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS 3. Aplicaciones: Varias de estas placas comenzaron a trabajar desde octubre de 2010 en puestos aislados de petroleras en condiciones sumamente rigurosas (Figura 4), para control de sistemas híbridos eólicos/fotovoltaicos para suministro de 220VCA a bombas de dosificación, y continúan prestando servicio. Figura 4 Placa CL2bm1 (izq) en control de sistema híbrido para bombas de dosificación – Paraje Boleadoras/Campo Indio (Santa Cruz) También se han utilizado en los sistemas actuales de registro de curva de potencia para aerogeneradores PWRC, conocidos como PWRC2. Los mismos utilizan placas CL2bm1, medición de potencia con convertidor TRIADC simultáneo de 13bits para canales de corriente y tensión, mejoras significativas en la calidad del sensado de corriente y tensión y evolución del software. Estos sistemas registran en forma simultánea mediciones ambientales de velocidad y dirección de viento, temperatura y presión atmosférica, a través de un módulo externo (METEO, basado en PSoC 1 ) que se comunica a través de RS485 con la placa CL2bm1. El objeto del sistema es el registro en un archivo .CSV de datos para la construcción de una nube de puntos con los promedios de 1 minuto de velocidad de viento y potencia eléctrica de salida del aerogenerador, bajo la norma IEC 61400-12-1 (2005) Annex H. En la Figura 5 puede verse una imagen de los sistemas mas recientes PWRC2, en este caso los utilizados para el Campo de Pruebas del INTI en Cutral-Có / Neuquén. El bus externo de alimentación de los PWRC es de 24V, reducido mediante módulos Switching (LM2576) a 10.5V para funcionamiento de las placas CL2bm1, M4E, sensores y al METEO exterior (compartido con otro PWRC2, Figura 6). La alimentación de los 24V y de 14.4V para una estación de referencia Secondwind Nomad2 exterior proviene de una UPS-CC, con backup de baterías y carga desde 220V y dos paneles fotovoltaicos exteriores de 20W c/u. Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS Figura 5: Vista parcial del sistema de medición basado en CPU CL2bm1 y expansión M4/E en el Campo de Pruebas Cutral-Có del INTI-Neuquén. Arriba (izq) SCADA elemental de acceso vía Modbus. Figura 6: Implementación de METEO v1.1 (octubre de 2012) e instalación en Campo Pruebas INTI Cutral-Có 4. Placa periférica M4/E de E/S con PSoC 1 como esclavo I2C: La interfase I2C favorece la modularidad, y se utiliza asimismo para el acceso a una expansión de entradas y salidas con OVP, en una placa adicional M4/E (compatible con gabinetes DIN840) realiza las funciones de acondicionamiento y adquisición de entradas de sensores de tensión ó corriente y RPM de un Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS aerogenerador. Esta placa de L&R Ingeniería se basa en el controlador Cypress PSoC I (línea 29466) trabajando con la interfase I2C-esclavo en hardware. La misma ha sido ensayada extensamente en los mismos entornos que la CL2bm1 (Figura 9), y su diagrama en bloques se muestra en la Figura 7. Para las entradas analógicas se puede reconfigurar internamente el ADC de 13bits multiplexado, de acceso secuencial, o utilizar el módulo TriADC de 13bits, que muestrea en forma simultanea hasta 3 canales. Esto último es utilizado para muestrear simultáneamente tensión y corriente, en el caso de los PWRC2 del INTI (Figura 5). Asimismo es posible configurar entradas y salidas de tipo discreto, y un port serie de monitoreo (Figura 8). M4-EXPANSION - BOARD (C) R.Oliva - L&R Ing. 2010 A CL2B -IO3 -IO3 OUT -IO4 -IO4 IN -IO7 -IO7 IN12 IN11 IN6 IN5 IN -IO6 -IO6 K2 -> DRY CONTACT IN -IO5 -IO5 RELAY IN A CL2B -INT SDA SCL ANLG ANi1 VIN1 ANi2 VIN2 ANi3 VIN3 VT(TC1047A) +B = +14.4V I2C TEMP IN17 IN IN16 IN IN15 IN IN14 IN IN4 IN IN3 IN IN2 IN IN1 IN IN0 IN P1.7 Power Supply +5Vcc +14.4V P1.5 P0.7 P0.5 P0.4,6 RS485 P0.3 RS485 P0.1 P2.6 P0.2 P2.4 P2.2 OUT RELAY KAUX -> DRY CONTACT PSoC P2.0 P0.0 P1.3 P2.1 P2.3 P1.2 OUT P2.7 OUT0=PWR_OK P1.2 P2.5 OUT OUT1=BUZZ OUT OUT2 P1.2 Figura 7: Diagrama de M4/E, placa auxiliar modular con conexión I2C a la CL2bm1. 5. Referencias: [HPI,2012] HP InfoTech S.R.L. http://www.hpinfotech.ro/ [Oliva y Cortez, 2011] Oliva, R. y Cortez, N. “Aspectos de implementación en una interfaz I2C para controladores PSoC y AVR” II Congreso de Microelectrónica Aplicada 2011, F.I. UNLP, 7 al 9 de setiembre de 2011, pp. 84, ISBN 978-950-34-0749-3. [PSoC 1, 2011] Cypress PSoC 1 architecture http://www.cypress.com/psoc/ Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected] INGENIERIA ELECTRONICA, MICROPROCESADORES, ENERGIA T. DE LOQUI 58 - 9400 RIO GALLEGOS Figura 8: Diagrama lógico de E/S de la placa M4/E Figura 9 - Foto en detalle del M4/E, en conexión con la CL2bm1 a través de I2C. Teófilo de Loqui 58 (fdo) 9400 Rio Gallegos Santa Cruz ARGENTINA L&R INGENIERIA www.lyr-ing.com TE: 54 (0) 2966 430923 FAX: 54 (0) 2966 430923 - 431081 e-mail: [email protected]