7
Links de pesquisa: Medição de tensão e corrente e algoritmos de dados: http://roysoala.wordpress.com/2012/04/20/energy-monitoring-using-pachube-and- arduino-1-0/ http://openenergymonitor.org Transmissão Via Rádio - nRF24L01 http://futebol-uff.blogspot.com.br/2012/12/nrf24l01-testes-iniciais.html Implantação supervisório Labview http://www.ni.com/gettingstarted/labviewbasics/pt PROJETO FINAL 2 >> CONSUMO INTELIGENTE MONTAGEM DO PROTÓTIPO: Passo 1 – Transformador de Corrente: O transformador de corrente SCT-013-000 (máximo 100A primário), recebe a corrente passante no campo primário, gerando em seu secundário uma corrente induzida de escala 100:0,05A, sua taxa de erro é de 3% para mais ou para menos. Segue montagem do circuito para inserção de dados analógicos no Arduino: Entendendo os cálculos de análise: Corrente de Pico primário= 100*square(2) = 141,42A Corrente de Pico secundário = 141,42 / (100:0,05) = 0.0707A Resistência Ideal para Porta de Entrada Arduino = 2,5V / 0,0707A = 35,4Ω - Usado: Resistor de 33Ω - 1% NOTA : Usado resistência de 100KΩ para realizar a divisão de tensão de alimentação adquirida pelo Arduino. O capacitor C1 tem uma baixa reatância 10UF - algumas centenas de ohms - e oferece um caminho alternativo para a corrente alternada para ignorar o resistor.

Explicação do Protótipo e sistema supervisório

Embed Size (px)

Citation preview

Links de pesquisa:Medição de tensão e corrente e algoritmos de dados:http://roysoala.wordpress.com/2012/04/20/energy-monitoring-using-pachube-and-arduino-1-0/http://openenergymonitor.org

Transmissão Via Rádio - nRF24L01http://futebol-uff.blogspot.com.br/2012/12/nrf24l01-testes-iniciais.html

Implantação supervisório Labviewhttp://www.ni.com/gettingstarted/labviewbasics/pt

PROJETO FINAL 2 >> CONSUMO INTELIGENTE

MONTAGEM DO PROTÓTIPO:Passo 1 – Transformador de Corrente:

O transformador de corrente SCT-013-000 (máximo 100A primário), recebe a corrente passante no campo primário, gerando em seu secundário uma corrente induzida de escala 100:0,05A, sua taxa de erro é de 3% para mais ou para menos.

Segue montagem do circuito para inserção de dados analógicos no Arduino:

Entendendo os cálculos de análise:Corrente de Pico primário= 100*square(2) = 141,42ACorrente de Pico secundário = 141,42 / (100:0,05) = 0.0707AResistência Ideal para Porta de Entrada Arduino = 2,5V / 0,0707A = 35,4Ω - Usado: Resistor de 33Ω - 1%

NOTA : Usado resistência de 100KΩ para realizar a divisão de tensão de alimentação adquirida pelo Arduino.O capacitor C1 tem uma baixa reatância 10UF - algumas centenas de ohms - e oferece um caminho alternativo para a corrente alternada para ignorar o resistor.

Passo 2 – Transformador de Potencial:

Utilizamos um transformador genérico de potencial para reduzir a tensão primária de entrada 127/220VCA, para a tensão secundária de 9VCA. A tensão primária deve ser trocada manualmente através da chave de seleção.

Entendendo os cálculos de análise:

Tensão de pico = 9V *square(2) = 12,726VDivisor de Tensão = [100k/(100k+100k)]*5V = 2,5V Divisor de Tensão entrada Arduino = [10k/(10k+100K)]*12,726 = 1,1569VTensão de entrada no Arduino = 2,5V + 1,54V = 3,6569V (Valor aceitável, visto que o Arduino suporta até 5V em sua porta)

MONTAGEM NA PROTOBOARD PARA TESTES INICIAIS:

PCB DO ESQUEMA ELETRÔNICO ACIMA:

MONTAGEM DO SISTEMA DE TRANSMISSÃO RF:

Signal

RF Module

COLOR

Arduino pin forRF24 Library

Arduino pin forMirf Library

MEGA2560 pin

GND 1 Brown

GND GND per library

VCC 2 Red 3.3V 3.3V per library

CE 3 Orange

9 8 per library

CSN 4 Yellow

10 7 per library

SCK 5 Green 13 13 52MOSI

6 Blue 11 11 51

MISO

7 Violet 12 12 50

IRQ 8 Gray 2 * per library

Nota: O pino 8 não foi utilizado em nosso projeto de conclusão.

Com dois ou mais Arduinos é capaz de se comunicarem sem fio a uma distância considerável e com muitas possibilidades:

Sensores remotos de temperatura, pressão, alarmes e muito mais; Controle do robô e monitoramento a partir de 50 pés até 2.000 pés de distância; Controle remoto e monitoramento de prédios próximos ou bairros; Veículos autônomos de todos os tipos; Capacidade de até 126 canais

Estes são um conjunto de módulos de 2.4 GHz rádio que são todos baseados no Semiconductor nRF24L01 + chip de Nordic. (Detalhes) O Nordic nRF24L01 + integra um transceiver completo 2.4GHz RF, sintetizador de RF, e da lógica baseband incluindo o acelerador de hardware protocolo que apoia uma interface SPI de alta velocidade para o controlador de aplicação ShockBurst avançado. No projeto, estamos usando uma placa com curto alcance, de até 100m sem barreiras.

PROGRAMAÇÃO DO TRANSMISSOR (Arduino de Campo)

/*Universidade Estácio de Sá

** Projeto de Conclusão no curso: Engenharia Elétrica **

%%%%%%%%%%%%%%%% TEMA: CONSUMO INTELIGENTE %%%%%%%%%%%%%%%%%%%%

Grupo composto por 3 alunos:

Anderson Antônio de Mendonça Rodrigues - Matrícula:200802204808Elói Lima da Silva - Matricula: 200901221191Leonardo Alexandre Vieira - Matricula:200401107399

#Essa programação tem como base, fornecer os valore:

*Tensão;*Corrente;*Potência Ativa e Aparente e Fator de Potência.

****** TRANSMISSOR DE DADOS *******

*/

#include "EmonLib.h" // Inclui a Livraria EmonLib.h#include <SPI.h> // Inclui a Livraria SPI.h#include "nRF24L01.h" // Inclui a Livraria do componente nRF24L01.h#include "RF24.h" // Inclui a Livraria de Rádio Frequência RF24.h EnergyMonitor emon1; // Cria uma instância

float dados[5];

RF24 radio(9,10); // Define as portas de comunicação via Rádio const uint64_t pipe = 0xE8E8F0F0E1LL; // Constante de Frequência void setup() Serial.begin(9600); // Inicia comunicação na porta Serial radio.begin(); // Inicia comunicação via rádio radio.openWritingPipe(pipe); emon1.voltage(1, 195.5, 1.7); // Voltage: input pin, calibration, phase_shift emon1.current(0, 60.6); // Current: input pin, calibration. void loop() float realPower = emon1.realPower; //extract Real Power into variable float apparentPower = emon1.apparentPower; //extract Apparent Power into variable float powerFActor = emon1.powerFactor; //extract Power Factor into Variable float supplyVoltage = emon1.Vrms; //extract Vrms into Variable float Irms = emon1.Irms; //extract Irms into Variable emon1.calcVI(20,2000); // Calculate all. No.of half wavelengths (crossings), time-out dados[0] = realPower; dados[1] = apparentPower; dados[2] = supplyVoltage; dados[3] = Irms; dados[4] = powerFActor; radio.write(dados, sizeof(dados)); emon1.serialprint(); // Print out all variables (realpower, apparent power, Vrms, Irms, power factor)

PROGRAMAÇÃO DO RECEPTOR (Arduino mestre – Conectado ao sistema Supervisório)

/*Universidade Estácio de Sá

** Projeto de Conclusão no curso: Engenharia Elétrica **

%%%%%%%%%%%%%%%%% TEMA: CONSUMO INTELIGENTE %%%%%%%%%%%%%%%%%%%%

Grupo composto por 3 alunos:

Anderson Antônio de Mendonça Rodrigues - Matrícula:200802204808Leonardo Alexandre Vieira - Matricula:200401107399Elói Lima da Silva - Matricula: 200901221191

###Essa programação tem como base, fornecer os valore:*Tensão;

*Corrente;Potência Ativa e Aparente;Fator de Potência e Consumo de Energia Elétrica em Reais.

****** RECEPTOR DE DADOS ******* */

#include <SPI.h>#include "nRF24L01.h"#include "RF24.h"

float dados[5];

RF24 radio(9,10);const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void) Serial.begin(9600); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening();

void loop(void) if ( radio.available() ) bool done = false; while (!done) done = radio.read( dados, sizeof(dados) ); Serial.print(dados[0]); Serial.print(" "); Serial.print(dados[1]); Serial.print(" "); Serial.print(dados[2]); Serial.print(" "); Serial.print(dados[3]); Serial.print(" "); Serial.println(dados[4]); else Serial.println("Aguardando dados"); delay(1100); // Delay para facilitar a visualização das informações no serial monitor