CT CLAMP 50A /50mA 전력량 50W측정 용 ESP32 BASIC 으로 ESPHOME 구성
작성자 정보
- 최고관리자 작성
- 192.♡.0.1 아이피
- 작성일
컨텐츠 정보
- 56 조회
- 목록
링크
첨부
본문
CT CLAMP 50A /50mA 전력량 50W측정 용 ESP32 BASIC 으로 ESPHOME 구성
선풍기 // 에어컨 power on 상태 반영에 ct clamp 을 2turn 이 제일 안정적입니다.
sensor:
#################################################
# ADC 입력 센서 QNCTK1-16 100A 50mA 50A
# CT Clamp + Burden + Bias 회로의 중간 전압을 ESP32 ADC로 읽음
#################################################
- platform: adc
pin: ${zmct103c_out} # CT 회로 출력이 연결된 ADC 핀, GPIO34/GPIO35 추천
id: adc_sensor # ct_clamp 센서가 참조할 ADC 센서 ID
attenuation: 12db # 0~3.3V 근처까지 읽기 위한 ESP32 ADC 감쇠 설정
update_interval: 100ms # ADC를 0.1초마다 빠르게 읽음
internal: true # HA 화면에는 직접 표시하지 않음
#################################################
# ADC RAW 디버그 센서
# Bias 기준전압 확인용
# 정상일 때 보통 1.5V~1.7V 근처 유지
#################################################
- platform: template
name: "ADC RAW 50A50mA"
lambda: |-
return id(adc_sensor).state; // ADC 현재 전압값 반환
update_interval: 500ms # 0.5초마다 표시 갱신
accuracy_decimals: 6 # 소수점 6자리 표시, 디버그용
#################################################
# CT Clamp 전류 센서
# ADC 파형을 전류 RMS 값으로 변환
#################################################
- platform: ct_clamp
sensor: adc_sensor # 위 ADC 센서를 CT 입력으로 사용
sample_duration: 300ms # 0.3초 동안 샘플링하여 빠른 반응 확보
update_interval: 300ms # 0.3초마다 전류값 갱신
id: current_sensor # 전력 계산에서 사용할 전류 센서 ID
name: "ct_current_a" # HA에 표시될 전류 센서 이름
accuracy_decimals: 4 # 전류값 소수점 4자리 표시
filters:
#################################################
# 전류 보정
# 0.010 이하는 0A 기준으로 보정
# 1.000 입력값을 30A로 환산
# 현재 68Ω Burden + 2턴 감기 감도 확보용 설정
#################################################
- calibrate_linear:
method: least_squares
datapoints:
- 0.010 -> 0.000
- 1.000 -> 30.000
#################################################
# 빠른 평균 필터
# 최근 2개 값 평균
# 노이즈는 줄이고 반응속도는 빠르게 유지
#################################################
- sliding_window_moving_average:
window_size: 2
send_every: 1
#################################################
# 하드웨어 원시 전력 계산
# Burden / 감기횟수 / 보정값 검증용
#################################################
- platform: template
name: "ct_power_raw_hw"
id: ct_power_raw_hw
unit_of_measurement: "W"
icon: mdi:flash-outline
accuracy_decimals: 2
update_interval: 300ms
lambda: |-
// 전류값만으로 계산
// 오프셋 제거 없음
// 턴수 보정 없음
// 실제 회로 상태 확인용
return id(current_sensor).state * 220.0;
#################################################
# 하드웨어 보정 후 전력
# 현재 68Ω + 2턴 구성용
#################################################
- platform: template
name: "ct_power_hw_2turn"
id: ct_power_hw_2turn
unit_of_measurement: "W"
icon: mdi:lightning-bolt
accuracy_decimals: 2
update_interval: 300ms
lambda: |-
float w = id(current_sensor).state * 220.0;
// 2턴 보정
w = w / 2.0;
return w;
#################################################
# 전력 계산 센서
# 전류값을 W로 환산
#################################################
#################################################
- platform: template
name: "ct_power1_w-15"
id: ct_power1_w
unit_of_measurement: "W"
icon: mdi:flash-outline
accuracy_decimals: 2
update_interval: 300ms
lambda: |-
// 전류 A × 전압 220V × 보정계수 0.90
float w = id(current_sensor).state * 220.0 * 1;
// CT에 전선을 2턴 감았으므로 실제 전력으로 환산
// w = w / 2.0;
// 무부하/잔류 노이즈 보정값 20W 제거
w = w - 15.0;
// 음수값 방지
if (w < 0.0) return 0.0;
// 최종 전력값 반환
return w;
- platform: template
name: "ct_power2_w-20"
id: ct_power2_w
unit_of_measurement: "W" # 단위 W
device_class: power # Home Assistant 전력 센서로 분류
state_class: measurement # 순간 측정값 센서
accuracy_decimals: 1 # 소수점 1자리 표시
update_interval: 300ms # 0.3초마다 전력값 갱신
lambda: |-
// 전류 A × 전압 220V × 보정계수 0.90
float w = id(current_sensor).state * 220.0 * 0.90;
// CT에 전선을 2턴 감았으므로 실제 전력으로 환산
w = w / 2.0;
// 무부하/잔류 노이즈 보정값 20W 제거
w = w - 20.0;
// 음수값 방지
if (w < 0.0) return 0.0;
// 최종 전력값 반환
return w;
binary_sensor:
#################################################
# 전원 연결 상태 감지 센서
# 전력값 기준으로 ON/OFF 판단
#################################################
- platform: template
name: "power1_detected"
id: power1_detected
lambda: |-
// ON 기준
// 25W 초과이면 전원이 켜진 것으로 판단
if (id(ct_power1_w).state > 25.0) {
return true;
}
// OFF 기준
// 10W 미만이면 전원이 꺼진 것으로 판단
if (id(ct_power1_w).state < 10.0) {
return false;
}
// 10W~25W 사이에서는 이전 상태 유지
// 노이즈로 ON/OFF가 반복되는 것을 방지
return id(power1_detected).state;
filters:
#################################################
# ON 지연
# 300ms 이상 ON 조건이 유지될 때만 ON 처리
#################################################
- delayed_on: 300ms
#################################################
# OFF 지연
# 1초 이상 OFF 조건이 유지될 때만 OFF 처리
# 순간적인 전류 흔들림으로 꺼짐 오판 방지
#################################################
- delayed_off: 1s
#################################################
- platform: template
name: "power2_detected"
id: power2_detected
lambda: |-
// ON 기준
// 25W 초과이면 전원이 켜진 것으로 판단
if (id(ct_power2_w).state > 25.0) {
return true;
}
// OFF 기준
// 10W 미만이면 전원이 꺼진 것으로 판단
if (id(ct_power2_w).state < 10.0) {
return false;
}
// 10W~25W 사이에서는 이전 상태 유지
// 노이즈로 ON/OFF가 반복되는 것을 방지
return id(power2_detected).state;
filters:
#################################################
# ON 지연
# 300ms 이상 ON 조건이 유지될 때만 ON 처리
#################################################
- delayed_on: 300ms
#################################################
# OFF 지연
# 1초 이상 OFF 조건이 유지될 때만 OFF 처리
# 순간적인 전류 흔들림으로 꺼짐 오판 방지
#################################################
- delayed_off: 1s
# 동작 요약:
# ADC를 100ms마다 읽음
# ct_clamp가 300ms 단위로 전류 계산
# ct_power2_w가 300ms 단위로 W 계산
# 25W 초과 → power_detected ON
# 10W 미만 → power_detected OFF
# 10~25W → 이전 상태 유지
# 현재 조건:
# 50A/50mA CT
# 68Ω Burden
# 2턴 감기
# 40W급 부하 감지
# 에는 이 구성이 가장 적당합니다.
50A/50mA CT에서 버든저항(Burden Resistor) 크기에 따라 동작 특성이 많이 달라집니다.
공식:
VsV_sVs
V
RRR
Ω
Vs = 12.0 V+-R = 6.0 ΩI = 2.00 A
CT 출력:
50A → 50mA
25A → 25mA
1A → 1mA
0.1A → 0.1mA10Ω
50mA × 10Ω = 0.5Vrms
Peak ≈ 0.71V특징:
고전류 측정 유리
저전류 측정 불리
40W 측정 거의 어려움
노이즈 적음추천:
5A ~ 50A22Ω
50mA × 22Ω = 1.1Vrms
Peak ≈ 1.55V특징:
ESP32에 가장 많이 사용
범용추천:
100W ~ 5000W33Ω
50mA × 33Ω = 1.65Vrms
Peak ≈ 2.33V특징:
저전류 감도 향상
ESP32 ADC에 적합추천:
50W ~ 3000W46Ω (현재 사용)
50mA × 46Ω = 2.3Vrms
Peak ≈ 3.25V특징:
40W~100W 측정 유리
저전류 감도 좋음
ADC 범위 거의 최대 사용추천:
40W ~ 2000W현재 shimss님 용도에 가장 적당한 편입니다.
68Ω
50mA × 68Ω = 3.4Vrms
Peak ≈ 4.8V특징:
저전류 감도 매우 좋음
고전류에서 ADC 포화 가능추천:
20W ~ 1000W비교표
| 버든 | 40W 감도 | 500W | 2kW | 5kW |
|---|---|---|---|---|
| 10Ω | 매우 나쁨 | 좋음 | 좋음 | 좋음 |
| 22Ω | 보통 | 좋음 | 좋음 | 좋음 |
| 33Ω | 좋음 | 좋음 | 좋음 | 보통 |
| 46Ω | 매우 좋음 | 좋음 | 보통 | 위험 |
| 68Ω | 최고 | 보통 | 위험 | 포화 |
현재 상태 분석:
50A/50mA
ESP32
선풍기 40W이면
첨부 파일을 스킨보드에 구성 PDF보기( W:\g5\skin\board\BS4-Basic-Webzine_11q_pdf_php82\view.skin.php + view_pdf.php구성)
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.