Buscar este blog

lunes, 10 de noviembre de 2014

PRACTICA # 19 POWER LINE COMMUNICATIONS (PLC)


INTRODUCCION

PLC son las siglas de Power Line Comunication, la tecnología que permite la transmisión de voz y datos a través de la red eléctrica existente. Este sistema posibilita actualmente la transmisión de información a velocidades de hasta 200 Mbps.

En 1997, las compañías United Utilities de Canadá y Northern Telecom de Inglaterra, presentaron al mercado una tecnología que podía conseguir que Internet fuera accesible desde la red eléctrica: el PLC (Power Line Communications). Desde entonces, las compañías eléctricas empezaron a pensar que podían sacar un mayor rendimiento a sus redes y han sido numerosas las iniciativas en el sector para llevar a cabo un despliegue masivo de este servicio de comunicaciones.

Estos dispositivos funcionan mediante la modulación de una onda portadora cuya frecuencia oscila entre los 20 y 200 kHz inyectada en el cableado doméstico de energía eléctrica desde el transmisor. Esta onda portadora es modulada por señales digitales. Cada receptor del sistema de control tiene una dirección única y es gobernado individualmente por las señales enviadas por el transmisor.
 
En la actualidad, esta tecnología nos ofrece una alternativa a la banda ancha ya que las PLC utilizan una infraestructura ya desplegada, basta un simple enchufe para estar conectado. Además, ofrece una alta velocidad, suministra servicios múltiples con la misma plataforma y permite disponer de conexión permanente.

Las tecnologías HomePlug y HomePlug AV, son los dos estándares más populares empleados en el hogar, sin necesidad de instalar cableado adicional.

La tecnología PLC aún ha de enfrentarse a una serie de problemas que es necesario resolver. El primero que debe superar es el propio estado de las líneas eléctricas. Si las redes están deterioradas, los cables se encuentran en mal estado o tienen empalmes mal hechos no es posible utilizar esta tecnología. La distancia también puede ser una limitación, la medida óptima de transmisión es de 100 metros por lo que, a mayores distancias, se hace necesario instalar repetidores. Otro problema es la estandarización de la tecnología PLC, ya que en el mundo existen alrededor de 40 empresas desarrollando dicha tecnología. Para solventar este problema, la organización internacional PLCForum intenta conseguir un sistema estándar para lo cual está negociando una especificación para la coexistencia de distintos sistemas PLC. Otro protocolo para líneas PLC fue creado por empresa israelí Nisko que desarrollo el NISCOM.

Además, el cable eléctrico es una línea metálica recubierta de un aislante. Esto genera a su alrededor unas ondas electromagnéticas que pueden interferir en las frecuencias de otra ondas de radio. No obstante, la radiación que produce es mínima, la potencia de emisión es de 1mW, muy por debajo de los 2W de telefonía móvil.

  • Modelo de Red PLC propuesta en casas:


Campos de aplicación de PLC

Con la tecnología PLC se podrá disfrutar de innovadores servicios de comunicaciones. La implementación de la tecnología PLC, por su gran ancho de banda y bajo costo, hará realidad el desarrollo de nuevos servicios a distancia para el hogar y la oficina.

·                     Internet avanzado.
·                     Mensajería unificada.
·                      Televisión, música y radio “a la carta”.
·                     TV digital interactiva.
·                      Juegos en la red.
·                     Domótica.
·                     Seguridad a distancia
·                     Telefonía.



OBJETIVO

  • Establecer la comunicación PLC entre un uC y la tarjeta ZedBoard por medio del modem TDA5051A de la empresa NXP:




  • Primero proponemos comunicar 2 microcontroladores vía uart a 600 bsp por la línea eléctrica. Su conexión se muestra en la siguiente figura:


El esquemático está compuesto por dos microcontroladores PIC18F2550 configurados con oscilador interno a 8 Mhz, velocidad de 600 bps en UART conectados directamente con el modem TDA5051A y un led de estatus en el PIN_C2. Al hacer clic en el botón se incrementa el valor en el display contrario y viceversa.

  • En el siguiente vídeo se muestran armados en un protoboard y funcionando:


El código hexadecimal de ambos microcontroladores se puede descargar aquí:





  • Ahora desarrollaremos la etapa de comunicación UART con la Zedboard.

Todo el diseño será implementado en la Parte PL (Program Logic). Para ello necesitaremos utilizar el display OLED, un push-button y un Led.

Nos basaremos en el código y metodología desarrolada con Handel-C de la práctica # 5:




  • En la siguiente figura se muestra el flujo de diseño:


  • El código en Handel-C es el siguiente:


#include "PmodOLED.hch"
#include "OledChar.hch"
#include "OledGrph.hch"
#include "delay.hch"
#include "ram_oled.hch"
#include "rs232.hch"

set reset = external "R16";
set clock = external "CLK";                               // 100 Mhz

unsigned 8 LEDS;
interface bus_out() salida(LEDS) with {data = {"LD7","LD6","LD5","LD4","LD3","LD2","LD1","LD0"}};
interface bus_clock_in(unsigned 1) P_PushButton()    with {data = {"N15"}};

void main(void)
{  
    char *conv;
    unsigned 8 data, i;
    unsigned value;
   
    Uart_Init();
    OledInit();
   
    OledClear();
    OledSetCursor(0, 0);
    OledPutString("  Carlos Silva  ");
    OledSetCursor(0, 1);
    OledPutString("      2015      ");

    i=0;
    par
    {
        while(1)               
        {
            LEDS=0;
            delay_ms(C_MHZ,1000);                       // esperas 1000 ms
            LEDS=1;
            delay_ms(C_MHZ,1000);                       // esperas 1000 ms
        }
        while(1)
        {
            if(P_PushButton.in)
            {
               putc(i);
               i++;
               delay_ms(C_MHZ,300);                        // esperas 300 ms y este retardo hace que se elimine el eco del TDA
            }
            else
            {
                value = kbhit();
                if(value)
                {
                    data = getc();
                    OledSetCursor(0, 3);
                    OledPutString("Valor = ");
                    conv = b_itoab((signed 32)(0@data));
                    OledPutString(conv);
                }
            }
            if(i>9) //¿ya se ha mostrado el digito 9?
            {
               i=0; //SI -> vuelve a empezar(digito 0)
            }
        }
    }
}

  • Entorno de desarrollo DK:


  • Entorno de desarrollo VIVADO:


  • Sustituimos un microcontrolador pic18f2550 por la zedboard y conectamos como se muestra en la siguiente figura:


  • PLC corriendo en la ZedBoard:
















No hay comentarios.:

Publicar un comentario