로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Sensor Applications
아듀이노 응용소스
작성자 avrtools™        
작성일 2016/01/29
첨부#1 EmonLib.zip (6KB) (Down:95)
ㆍ추천: 0  ㆍ조회: 453   
  Arduino 교류 역율계(power factor)의 제작
아듀이노 Uno를 교류(AC) 역율계(power factor)의 제작
참조 1: http://www.help2educate.com/arduino-based-power-factor-meter/
참조 2 : http://duino4projects.com/build-arduino-energy-monitor-measuring-mains-voltage-current/
알려진 라이브러리를 사용하여 아듀이노 기반의 교류전력 역율 메터는 어떻게 설계하는가?
 
역율이란 무었인가?
전력 장치에서 유효전력(Active power), 무효전력(reactive power)
무효전력은 잘 알려진 자기회로에서와 같이 에너지 용량에서 중요하다.
전력 시스템에서 무효전력의 흐름은 실용적이지 않다.
전력 회사들은 확정된 값으로 무효전력의 흐름을 제한한다.
 
무효전력의 정의를 말하려면, 전력에서 사용되는 역율이라는 이름이 사용된다.
전력의 역율은 2가지로 정의된다.
 
하나는 장치의 소비전력안에서 흐르는 유효전력의 상대적인 % 값이다.
장치의 소비전력과 유효전력의 비율이다.
 
역율(p.f) = 유효 전력(Active power) / 피상 전력(Total Power) = KW / KVA
여기서 피상 전력 = (유효전력)^2 +(무효전력)^2 의 평방근(root) 이다
Total power = sqrt(active power)^2 + (reactive power)^2 )

역시 전력 역율은 전압과 전류 사이의 각도 cosine으로 정의된다.
역율(p.f) = Cos(Φ)
여기서  Φ는  전압과 전류의 각도이다.

어째서 전력 역율을 측정하는가?
어떤 값으로 역율이 내려갔을 때, 전력 비용의 규정대로 누군가 패널티를 구분하려면,
아듀이노 기반의 역율 메터가 필요하다. (우리나라 가정용 전력요금은 제외된다)
 
그러나 전산전력계도 역율이 낮으면 소비전류가 커지므로 요금이 올라간다는 말도 있다.
산업용 전기의 대량 수용자들은 역율이 범위안에 있는지 대부분 역율계를 부착하고 감시를 한다.
-- 이하 생략~~

 
전력 측정에서 전원과 부하의 사이에 전력측정기가 들어간다.
V는 전압계 A는 전류계이다. 역율메터는 전압과 전류를 모두 측정하고 위상차를 계산해야 한다.
 
CT는 출력이 5A인 산업용과 그림과 같이 전류가 작은 측정기용이 있다.
 
 
PT는 9V 혹은 6V AC-AC 트랜스포머가 추가되야 한다.
PT는 9V AC-DC 전원을 개조하여, 정류회로를 제거하고 트랜스포머만 사용할 수 있다.

직접 만들어야 하는 소스를 줄여주는 전력 및 역율 측정 라이브러리가 여기에 있다.
EmonLib : https://github.com/openenergymonitor/EmonLib

회로도
다음 그림은 아듀이노를 사용한 교류 전력의 역율 측정기 회로이다.
   
 
먼저 교류 전원 전압을 저전압으로 변환하는 부품이 필요하다.
트랜스포머의 2차는 9~12V가 적당하다. 전압이 상이하면 Vadc =Vtrans * R1/(R1+R2)로 계산한다.
오실로 스코프에서 진폭이 0~5V 이내로 아래 그림과 같이 정현파로 보이면 된다.
 
 
 
그리고 다음 부품들도 필요하다.
- Arduino UNO R3
- LCD 16핀 모듈
- RS 232 연결 케이블 혹은 RS232C to USB 변환 장치 (Optional)
- 아듀이노 작동 전원 : 5V 직류전원 (DC Supply)

오실로스코프로에서 출력을 보면 위상지연(phase shift)이 30도 정도로 보인다.
이것은 오실로스코프의 작은 눈금 한칸이 약  2ms 이므로, 위상차는 1.7ms 이다.
각도는  (1.7ms x 360) /20ms = 30.6도
전력 역율( PF) = cos(30.6도) = 역율 0.86 혹은 86 %로 된다. 
그림의 아듀이노는 상당히 정밀한 값 0.85 혹은 85 %로 보여준다.

아듀이노 UNO는 AVR 기반의 마이크로 콘트롤러다.
고전압 전원으로는 사용할 수 없다.
고전압을 내리고 전류를 절연하여 공급하는 회로가 추가되어야 한다.

주어진 조건으로 PT(potential transformer)와 CT(current transformer)가 추가된다.  
다음 그림은 새롭게 추가된 전류 측정회로를 보여준다.

 
 
트랜스포머는 TR1으로 표시되고, CT는 TR2로 표시했다. 33Ω 저항을 CT에 병렬로 접속해야 한다.
(CT는 전류 출력 방식이므로 전압으로 변환할 때는 CT 2차에 부하전류를 흘려야 직선성이 나온다)

1개의 캐패시터와 2개의 저항은 아날로그 입력의 Bias로 DC를 공급한다.
10uF의 캐패시터는 교류 신호에 대해 낮은 임피던스의 bias를 공급한다.
두개의 470kΩ 저항은 5V 직류를 2.5V 직류로 낮추어 제공한다.
 
만일 CT의 한쪽을 직접 GND에 연결하면, 오실로스코프에서 교류신호는 정극성과 부극성으로 중심에표시된다.
어쨋든 아듀이노는 정극성 전압에서 작동한다.  2.5V 편차(offset) 전압을 CT의 한쪽 선에 연결해야 한다.
 

심뮬레이션 결과 (Simulation results)
아듀이노 기반의 전력 역율계를 수정하고 나서, 아래 그림과 같이 시험한 결과를 보여준다.
 
 
 

소스 Code
아두이노의 소스는 python language 편집기로 만든 전력 역율 메터이다.
그리고 아듀이노 IDE 컴파일러에서 번역했다.
(어디서 편집하든지 컴파일러 문법에만 맞으면 된다)

//------------------------------------------------------------------------
// Modifying Arduino based Power factor meter for High Voltage applications
//------------------------------------------------------------------------

// include the library code:
#include <EmonLib.h> //  Emon Library를 본문에 안보이게 첨부한다. 
EnergyMonitor emon1; // 라이브러리를 첨부하고, 보조 함수(sub routine)의 실행(object) 코드가 생성된다.

// LCD 장치에 사용할 핀을 정의 한다. (순서가 중요하다)
// D12,11,5,4,3,2를 LCD의 RS, E, B4,B5,B6,B7에 연결한다.
// LCD의 RW는 GND로 고정하여 연결해야한다. (쓰기전용 장치)
#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {      // 초기화 함수 (리셋하면 한번만 실행 된다)
  Serial.begin(9600); // 직렬통신(RS232C) 포트를 9600 BPS로 초기화 한다. 
  lcd.begin(16,2); // LCD는 16자, 2줄로 표시한다.

 
  // emon 라이브러리를 사용하는 방법을 보라, 이것은 emon에서 만들어진 규칙일 뿐이다.  
  emon1.voltage(2, 234.26, 1.7); // 전압입력 A2핀, 전압 교정값 234.26, 위상 오차 1.7도 
  emon1.current(1, 111.1); // 전류입력 A1핀, 전류 교정값 111,10
}

void loop() {     // 주 함수 (리셋하면 초기화 함수를 실행한 다음, 여기서 반복적으로 실행된다)
  emon1.calcVI(20,2000); // 모든 전력을 계산, 교류 파형의 반파를 측정, 안전 타이머 값(time-out)
  emon1.serialprint(); // 전력 역율이 측정된 변수 값을 가상 직렬포트(USB)로 전송한다

  float powerFactor = emon1.powerFactor; // 전력 역율 값을 변수로 추출한다.

  lcd.setCursor(0,0);     // LCD의 표시 위치을 첫째 줄로 번경
  lcd.print(“PowerFactor=”);     // LCD에 제목을 표시
  lcd.setCursor(7,1);     // LCD의 표시 위치를 두째 줄로 변경
  lcd.print(powerFactor*100);     // LCD에는 변수값에서 100을 곱해 %로 표시한다
  lcd.print(“%”);     // LCD에 단위 %를 표시
}

 
첨부 파일
#1은 EmonLib.zip으로 소스에서 사용하는 Emon의 라이브러리 이다.
첨부파일을 받은 다음, 압축을 풀고,
EmonLib 폴더를 Arduino의 Libraries 폴더 안에 Emon을 폴더 째로 옮겨준다.

EmonLib 폴더 안에는 EmonLib.cpp와 EmonLib.h가 들어 있어야 한다. 
Arduino Sketch를 열고 Library 찾기를 하면 EmonLib가 보여야 한다.
EmonLib.cpp를 확인하면 다음과 같다.
즉 역율(Power Factor)를 추출하는 후처리(post processing)를 보면 5 항목을 측정한다.
유효전압(Vrms),
유효전류(Irms),
유효전력(realPower),
피상전력(apparentPower)
역율(powerFactor)
 
  // 3) Post loop calculations
  // Calculation of the root of the mean of the voltage and current squared (rms)
  // Calibration coefficients applied.
 
  double V_RATIO = VCAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)) ;
  Vrms = V_RATIO * sqrt(sumV / numberOfSamples) ;
 
  double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)) ;
  Irms = I_RATIO * sqrt(sumI / numberOfSamples) ;

 
//Calculation power values
  realPower = V_RATIO * I_RATIO * sumP / numberOfSamples ;
  apparentPower = Vrms * Irms ;
  powerFactor = realPower / apparentPower ;

 
 //Reset accumulators
  sumV = 0 ;
  sumI = 0 ;
  sumP = 0 ;

그러므로 출력 부분만 개조하면, 위의 항목들을 모두 표시할 수 있다.

이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
AVRTOOLS™
   
윗글 Arduino AC/DC Power Meter의 제작
아래글 Arduino DUE based DDS Synthesizer
    N         제목    글쓴이 작성일 조회 추천
아듀이노 응용소스 게시판 avrtools™ 2016/02/05 (금) 230 0
25 ESP8266 MQTT Relay Control avrtools™ 2016/03/03 (목) 388 0
24 2 채널 ESP8266 WiFi Switch의 제작 avrtools™ 2016/02/25 (목) 435 0
23 ESP-12E SDK 0.9.5 사용방법 avrtools™ 2016/02/18 (목) 467 0
22 ESP8266 ESP-12E WiFi 센서 서버의 제작 avrtools™ 2016/02/17 (수) 440 0
21 Arduino DS3231 RTC to 5110 LCD avrtools™ 2016/02/16 (화) 475 0
20 ESP8266 Weather Server의 제작 avrtools™ 2016/02/15 (월) 473 0
19 Arduino 온습도 센서 DHT-22 avrtools™ 2016/02/12 (금) 405 0
18 ESP8266 WiFi 펌웨어 업그레이드 avrtools™ 2016/02/11 (목) 611 0
17 Arduion ESP8266 WiFi 설정 방법 avrtools™ 2016/02/10 (수) 566 0
16 Arduino 정전용량식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 334 0
15 Arduino 전극식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 433 0
14 Arduino 정밀 전력계의 ADC avrtools™ 2016/02/02 (화) 651 0
13 Arduino 정밀 전력계의 LPF avrtools™ 2016/02/02 (화) 466 0
12 Ardunio 16비트 ADC Data Logger avrtools™ 2016/01/31 (일) 350 0
11 Arduino AC/DC Power Meter의 제작 avrtools™ 2016/01/29 (금) 601 0
10 Arduino 교류 역율계(power factor)의 제작 avrtools™ 2016/01/29 (금) 453 0
9 Arduino DUE based DDS Synthesizer avrtools™ 2016/01/24 (일) 273 0
8 QTouch ADC 근접검출 스위치 avrtools™ 2016/01/21 (목) 479 0
7 Arduino 음성인식 Speech/Voice Recognition avrtools™ 2013/09/14 (토) 1730 0
6 Arduino Uno로 만드는 3축 CNC avrtools™ 2013/09/10 (화) 2624 0
5 Arduino로 만드는 mySpectral 분광기 avrtools™ 2013/09/04 (수) 2161 0
4 8채널 12비트 ADC MCP3208 오실로스코프 avrtools™ 2012/03/29 (목) 540 0
3 교류저항 (impedance) 측정 AD5933 avrtools™ 2012/03/17 (토) 483 0
2 Arduino DMX512 수신기 제작 avrtools™ 2012/03/15 (목) 3707 0
1 TSL2561 조도 측정기의 제작 avrtools™ 2011/09/11 (일) 2701 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0