J
Jimi (오혁)Author

2026년 8월 4일

명령 한 줄로 전기차가 전기를 되돌려준다 — V2G 제어를 예외까지 몰아붙여 본 이야기

V2G는 ‘주차된 전기차를 발전소처럼 쓴다’고 약속합니다. 하지만 전력망이 실제로 요구하는 건 방전 한 번이 아니라, 시키는 만큼 제때 따라오는 제어입니다. 이 글은 충전 중인 차를 한순간에 최대 방전으로 뒤집는 것까지 포함해, 140번의 제어 명령을 실제 충전기에 태워 재본 이야기입니다.

전기차가 전력망에 참여하는 세 단계. 오른쪽으로 갈수록 제도 부담이 커지지만, 셋 모두 ‘명령이 내려간 만큼 실제 전력이 움직인다’는 하나의 전제 위에 서 있다.

전기차가 전력망에 참여하는 세 단계. 오른쪽으로 갈수록 제도 부담이 커지지만, 셋 모두 ‘명령이 내려간 만큼 실제 전력이 움직인다’는 하나의 전제 위에 서 있다.

주차장에 세워둔 100만 개의 배터리 — 왜 지금 V2G인가

국내 전기차는 100만 대를 넘어섰습니다. 대부분 70kWh 이상의 배터리를 싣고 다니고, 하루의 90%는 그냥 주차장에 서 있습니다. 한편 재생에너지가 늘어나면서 그 간헐성을 메울 유연자원 수요는 빠르게 커지고 있습니다. 11차 전력수급기본계획 기준으로 장주기 유연자원은 2035년 7.7GW, 2038년 8.5GW의 공백이 예상됩니다.

이 공백에 주차장의 차를 대보면 규모가 실감납니다. 100만 대가 이번에 저희가 시험한 7kW로 동시에 방전한다고 치면 이론상 7GW입니다. 원전 한 기를 통상 1GW로 잡으니, 산술적으로는 원전 일곱 기 분량의 출력이 주차장에 세워져 있는 셈입니다. 물론 전부가 같은 시각에 꽂혀 있고 전부가 참여할 리는 없습니다. 협의체가 쓴 참여율 가정 10~25%를 그대로 적용하면 0.7~1.75GW — 그래도 원전 한 기 안팎입니다. 차이가 있다면, 이 발전소는 새로 지어야 하는 것이 아니라 이미 지어진 채로 하루의 90%를 쉬고 있다는 점입니다.

이 공백을 무엇으로 메울 것인가. 1GW를 확보하는 데 양수발전은 1조~2.8조원, ESS는 8500억원이 듭니다. 반면 V2G는 2000억원 수준이라는 것이 정부 협의체의 추산입니다. 이미 깔려 있는 자산을 쓰기 때문입니다. 그래서 V2G는 12차 전력수급기본계획의 유연자원 공백을 메울 카드로 거론되고 있습니다.

여기까지는 이미 여러 번 이야기된 그림입니다. 그런데 인프라를 직접 운영하는 입장에서는 계속 남는 질문이 있었습니다.

계통이 “지금 3kW만 방전해”라고 시키면, 그 명령은 몇 밀리초 만에 차에 닿는가. 그리고 충전 중이던 차를 한 번에 최대 방전으로 뒤집으면 — 그 하드웨어는 버티는가.

답을 짐작하지 않고 재보기로 했습니다. 이 글은 그 기록입니다.

V2G가 실제로 하는 일 — 커넥터 하나로 전기를 되돌려주기

전기차가 전력망에 참여하는 방식은 한 가지가 아닙니다. 이름이 비슷해서 자주 섞이지만, 기술 난이도와 제도 부담이 완전히 다릅니다.

  • V1G (스마트 충전). 전력은 여전히 그리드에서 차로만 흐릅니다. 대신 언제, 얼마나 빠르게 충전할지를 조절합니다. 지금도 가능하고, 실제로 하고 있는 일입니다.
  • V2H / V2B (집·건물로 환원). 차에서 전기를 꺼내 쓰지만, 그 전기는 건물 안에서 소비됩니다. 한전 선로로 나가지 않습니다. 양방향 충전기와 차량 지원이 필요합니다.
  • V2G (계통으로 환원). 차에서 꺼낸 전기가 전력망으로 나갑니다. 여기서부터는 기술만으로 되지 않습니다. 계량·정산·전력 재판매 권한 같은 제도가 함께 갖춰져야 합니다.

국내 논의는 대체로 세 번째, V2G에 초점이 맞춰져 있습니다. 그런데 셋 모두가 똑같이 전제하는 것이 하나 있습니다. 명령이 내려간 만큼, 제때, 실제 전력이 움직여야 한다는 것입니다. 이 전제가 흔들리면 위의 세 단계는 전부 그림에 머뭅니다.

그래서 — 전기차 오너에게는 무슨 뜻인가

V2G가 상용화되면 차를 세워두는 것만으로 보상을 받습니다. 다만 보상 방식은 현금이 아닐 가능성이 높습니다. 배터리 전기를 팔아 생긴 차익에는 세금 문제가 따라붙기 때문에, 협의체가 유력하게 검토 중인 모델은 영국 옥토퍼스 에너지식의 ‘무료 충전’ — 정확히는 충전 요금 할인입니다.

공개된 협의체 자료 기준으로 대략적인 그림은 이렇습니다. 출퇴근 거리 20~30km, 1회 충전비용 2500~3000원을 가정하면 월 20일 기준 5만~6만원 수준의 충전 요금 할인. 대신 하루 7시간 이상 커넥터를 꽂아둬야 한다는 조건이 함께 적용될 가능성이 큽니다. 아직 확정된 안은 아니며, 협의체 안에서도 “공감대가 이뤄진 단계는 아니고 아이디어를 모으는 중”이라는 것이 공식 입장입니다.

기대치를 정확히 맞추자면 이렇습니다. 제도는 2027년 이후, 차량 호환은 아직 최신 모델 중심. 오늘 당장 여러분의 차가 전기를 되팔 수 있게 되는 것은 아닙니다. 다만 그 시점이 왔을 때 “충전기와 관제 시스템이 준비가 안 돼서 못 한다”는 말이 나오지 않게 하는 것 — 그게 지금 저희가 할 일이라고 봤습니다.

볼트업이 서 있는 자리 — 표준을 논의하는 방에서, 코드를 짜는 자리로

볼트업은 기후에너지환경부 산하 ‘V2G 상용화 전략 추진협의체’에 위원으로 참여하고 있습니다. CTO가 직접 들어갑니다. 협의체는 산·학·연·관 52명이 6개월간 작업해 기술 9개, 법·제도·시장 9개, 공통 1개 — 총 19개 과제의 마스터플랜을 정리했고, 2026~2028년 법적 기반 구축과 제주 시범사업, 2029~2030년 도매시장 개방, 2031년 이후 본격 상용화로 이어지는 3단계 로드맵을 담았습니다.

그 방에서 오가는 논의의 상당 부분은 제도입니다. 누가 전기를 재판매할 수 있는가, 계량과 정산의 기준은 무엇인가, 충전기에 내장된 양방향 계량기를 법정 계량으로 인정할 것인가. 전부 중요한 질문이고, 답이 나오려면 시간이 걸립니다.

다만 제도 논의는 대개 기술은 된다를 전제로 진행됩니다. 그리고 그 전제를 실제로 확인하는 일은 결국 인프라를 직접 굴리는 쪽의 몫입니다. 저희는 충전사업자(CPO)입니다. 관제 서버(CSMS)를 직접 만들고, 전국의 충전기와 매일 통신합니다. 그러니 확인은 저희가 하는 것이 맞았습니다.

진짜 어려운 건 방전이 아니라 제어입니다

“전기차에서 전기를 꺼낼 수 있는가”는 사실 이미 답이 나온 질문입니다. 양방향 충전기와 지원 차량을 붙이면 전기는 나옵니다. 문제는 그 다음입니다.

계통이나 건물이 요구하는 건 방전 한 번이 아닙니다. “지금은 3kW만, 5초 뒤엔 7kW로, 그 다음엔 반대 방향으로” — 실시간으로 따라오는 추종 제어입니다. 유연성 자원으로 값을 받으려면 지령에 얼마나 빨리, 얼마나 정확히 반응하는지가 곧 상품의 스펙이 됩니다.

그 명령이 지나가는 길은 이렇게 생겼습니다.

명령 하나가 전력이 되기까지. 두 개의 표준을 갈아타는 구조라 깨질 수 있는 자리도 여러 곳이고, 계측값이 올라오는 주기가 곧 관측 해상도의 한계가 된다.

명령 하나가 전력이 되기까지. 두 개의 표준을 갈아타는 구조라 깨질 수 있는 자리도 여러 곳이고, 계측값이 올라오는 주기가 곧 관측 해상도의 한계가 된다.

관제 서버가 OCPP 2.1로 충전기에 명령을 보내고, 충전기는 ISO 15118-20으로 차량과 협상하고, 그 결과가 실제 전력 변환으로 나타납니다. 표준 두 개를 갈아타는 구조라 깨질 수 있는 자리도 여러 곳입니다 — 명령이 거절되거나(Rejected), 응답 없이 유실되거나, 전력 방향이 급격히 바뀔 때 통신 세션이 끊기거나, 충전기가 Faulted 상태로 셧다운되거나.

그리고 — OCPP 2.1에서 방전은 ‘음수’입니다

이번 검증에서 쓴 것은 OCPP 2.1의 동적 충전 프로필(Dynamic Charging Profile)입니다. 기존의 정적 스케줄은 “몇 시부터 몇 시까지 몇 kW”를 미리 정해 두는 방식이라 실시간 지령에는 맞지 않습니다. 동적 프로필은 세션이 살아있는 동안 목표 전력값만 갈아끼울 수 있습니다.

차량이 연결되면 관제 서버가 먼저 이 세션의 경계를 정합니다 — 충전 상한 +11kW, 방전 하한 −11kW. 그 다음부터는 그 안에서 setpoint 하나만 바꿔 보냅니다.

{
  "chargingProfileId": 1,
  "scheduleUpdate": {
    "limit":           11000,
    "dischargeLimit": -11000,
    "setpoint":        -7000
  }
}
  • limit / dischargeLimit. 이 세션에서 넘어설 수 없는 충전·방전 경계입니다.
  • setpoint. “지금 이만큼”입니다. 양수면 충전, 음수면 방전. 위 예시는 7kW로 방전하라는 뜻입니다.

부호 하나가 전력의 방향을 뒤집습니다. 개념적으로는 이게 전부입니다. 남은 질문은 하나뿐이었습니다 — 이 부호가 바뀌었을 때, 실제로 몇 초 만에 얼마나 정확히 따라오는가.

현실의 벽 — 잘 되는 조건에서 한 번 되는 건 검증이 아닙니다

“충전에서 방전으로 바꿔봤더니 됐다”는 검증이 아닙니다. 잘 되는 조건에서 한 번 성공한 것과, 몰아붙였을 때도 성공하는 것은 다릅니다. 그래서 실제 계통·건물에서 벌어질 법한 상황을 네 개로 나눠 각각 10회차씩 반복했습니다.

예외를 일부러 만든 네 개의 시나리오. A·B가 정상 동작 확인이라면, C·D는 ‘깨질 수 있으면 여기서 깨져라’ 쪽에 가깝다.

이 중 진짜 물어보고 싶었던 것은 C와 D였습니다. C는 +7kW에서 −7kW로, 즉 14kW의 스윙을 한 스텝에 요구합니다. 전력 변환 장치 입장에서는 가장 가혹한 조건이고, 통신 세션이 이탈하거나 충전기가 보호 동작으로 셧다운될 여지가 가장 큰 구간입니다. D는 방향은 바뀌지 않지만 방전량이 계속 널뜁니다 — 0kW로 급제동했다가 다시 최대 방전으로 재투입하는 구간이 들어 있습니다.

그래서 — 판정 기준을 코드보다 먼저 못 박았다

이런 시험은 판정 기준을 나중에 정하면 결과를 마음대로 해석할 수 있게 됩니다. 그래서 계측을 시작하기 전에 정의부터 고정했습니다.

  • 성공. 충전기가 Accepted를 회신하고, 30초 내에 도달한 계측값 중 허용 오차 안에 들어온 샘플이 1건 이상 있을 것.
  • 실패. Rejected 회신, 무응답(메시지 유실), 또는 전력 방향 급변 시 통신 세션 이탈·Faulted 셧다운.
  • 허용 오차. 목표값의 ±5%. 다만 목표가 0W일 때는 5%가 0이 되어 판정 자체가 불가능하므로 절대 하한 ±100W를 함께 뒀습니다.

그리고 시계를 두 개 뒀습니다. “응답했다”와 “전력이 실제로 그만큼 됐다”는 다른 사건이고, 섞어서 재면 둘 다 못 믿게 되기 때문입니다.

여기서 정직하게 짚어야 할 한계가 있습니다. 전력 시계는 계측 보고 주기(약 6초)에 갇힌 값입니다. 충전기가 실제로는 훨씬 빨리 출력을 바꿨더라도, 저희가 그것을 관측하는 것은 다음 계측값이 올라온 순간입니다. 그래서 “전력 반영 지연 median 4.2초”는 물리 응답 속도가 아니라 관측 가능한 상한으로 읽는 것이 맞습니다.

이 한계를 인정하는 대신 보조 지표를 하나 더 뒀습니다. 엄격 성공률입니다 — “다음 명령이 나가기 전에 목표값 도달이 관측됐는가”. 명령 간격이 촘촘한 구간에서는 전력이 이미 바뀌었는데 계측값이 늦게 올라오는 것만으로도 실패로 잡히는, 일부러 불리하게 만든 지표입니다.

이번 계측의 구성은 관제 서버 → (OCPP 2.1) → 양방향 충전기(실물) → (ISO 15118-20) → EV 시뮬레이터 · 부하 장치였습니다. 시험에 사용한 양방향 충전기는 제니스코리아 제품이며, 저희 관제 서버와 OCPP 2.1 연동을 맞춘 뒤 계측했습니다. 차량 측은 시뮬레이터이고, 충전기와 전력 변환·계측은 실물입니다. 즉 프로토콜 체인과 전력 하드웨어는 실제로 검증했지만, 개별 차종의 BMS 특성까지 검증한 것은 아닙니다. 이 구분은 흐리게 쓰지 않는 편이 서로에게 낫다고 봤습니다.
이 글의 수치는 위 구성에서 관측된 값입니다. 특정 제품의 성능을 평가하거나 보증하기 위한 자료가 아니며, 장비 제조사와 공동으로 작성·발표한 자료도 아닙니다.

계측 중인 시험 환경. 화면 오른쪽의 SET-POINT 패널로 목표 전력을 바꾸면, 왼쪽 로그와 파형에 그 명령이 그대로 흘러간다.


결과 — 140건, 전건 성공

사전에 정한 KPI는 성공률 95% 이상, 모수 100회 이상. 둘 다 통과했다. 최악값과 불리한 보조 지표를 함께 적었다.

엄격 기준에서 걸린 2건은 숨길 이유가 없으니 그대로 적습니다. B 시나리오 9회차와 D 시나리오 8회차에서, 목표 전력에 도달한 계측 샘플이 다음 명령 시점보다 각각 0.5초씩 늦게 올라왔습니다. 명령 간격이 4.3초·7.6초로 촘촘했던 구간이라, 6초 주기의 계측 보고가 그 사이에 맞아떨어지지 않은 결과로 봅니다. 충전기 쪽에서는 이미 전력이 바뀌어 있었을 가능성이 높지만, 관측되지 않은 것을 성공으로 세지는 않았습니다.

그리고 — 실제로 이렇게 움직였습니다

아래는 각 시나리오의 실측 파형입니다. 파란색이 충전(+), 주황색이 방전(−)이고, 점선이 제어 명령이 내려간 시점입니다.

미리 밝혀둘 것이 하나 있습니다. 회차와 회차 사이에는 상태를 정리하는 휴식 구간이 있습니다. 그래서 파형의 시작과 끝에 직전 상태의 잔여분이 남아 있거나, 중간에 계측이 비어 있는 구간이 보입니다. 이 시간에는 제어 명령을 보내지 않았고, 140건의 성공률 집계에도 들어가지 않습니다. 보기 좋게 잘라내는 대신 그대로 두었습니다.

0.12초라는 숫자의 의미 — 남은 예산을 어디에 쓸 수 있는가

유연성 자원으로 시장에 참여하면 보상은 “얼마나 많이”만으로 정해지지 않습니다. “지령 후 몇 초 안에 응답하는가”가 상품의 등급을 가릅니다. 그리고 그 응답 시간 예산은 프로토콜 왕복, 차량 협상, 전력 변환, 안전 마진이 나눠 씁니다.

프로토콜 왕복이 median 0.12초, p95 0.17초라는 것은 이 예산의 대부분을 물리 응답과 안전 마진에 쓸 수 있다는 뜻입니다. 여기가 병목이었다면 뒤쪽에서 아무리 빨라도 소용이 없습니다. 최악값 415.7ms를 함께 보더라도, 40회차 중 가장 나빴던 순간조차 0.5초를 넘지 않았습니다.

그리고 C 시나리오의 결과가 가장 값어치 있었습니다. 이번 구성에서 14kW 스윙 20회를 도는 동안 통신 세션 이탈 0건, Faulted 셧다운 0건. “긴급 지령이 왔을 때 뒤집을 수 있는가”는 V2G가 유연자원으로 인정받기 위한 최소 조건인데, 그것이 종이 위 사양이 아니라 계측치로 확인됐습니다.

국책과제에 참여하는 충전사업자(CPO) 가운데, 제어 성공률과 응답 지연에 대한 판정 기준을 먼저 정의하고 예외 시나리오별로 실제 계측까지 수행한 것은 저희가 처음입니다. 설치와 시뮬레이션은 이미 여러 사례가 공개돼 있지만, ‘무엇을 성공으로 볼 것인가’를 못 박고 그 기준으로 재본 기록은 아직 드뭅니다. 같은 기준으로 잰 숫자가 늘어날수록 업계 전체에 이롭다고 생각합니다.

지금 기대해도 되는 것과 아직 아닌 것

정리하면 기술이 아니라 제도와 차량이 남았습니다. 그리고 제도가 열렸을 때 가장 먼저 움직일 수 있는 쪽은 이미 관제 시스템과 충전기 제어 체인을 검증해 둔 사업자입니다. 이번 검증을 서두른 이유가 그것입니다.

중간 단계도 있습니다. 전기를 전력망까지 내보내지 않고 건물 안에서 소비하는 방식(V2B)은 역송 관련 규제 부담이 훨씬 작습니다. 제도의 큰 그림이 정리되기 전에 실제 값어치를 만들어볼 수 있는 영역이라고 보고, 그쪽을 먼저 준비하고 있습니다.

마치며 — 일하는 방식

V2G 하나에 국제 표준 두 개, 충전기 프로토콜, 관제 서버, 전력 하드웨어, 그리고 계측·분석이 한 흐름으로 엮였습니다. 결과 수치 자체보다, 그 사이사이의 판단을 공유하고 싶었습니다.

  • 판정 기준은 코드보다 먼저 못 박는다. 성공의 정의, 허용 오차, 0W일 때의 절대 하한까지 계측 전에 고정해두지 않았다면, 결과가 나온 뒤에 기준을 맞추고 싶어졌을 것입니다.
  • 성공률 100%는 시나리오가 쉬웠다는 뜻일 수도 있다. 그래서 C(14kW 즉시 반전)와 D(방전량 널뛰기)를 넣었습니다. 100%라는 숫자의 값어치는 무엇을 통과했느냐로 정해집니다.
  • 불리한 지표를 하나 만들어 두면 유리한 지표가 믿을 만해진다. 계측 주기에 갇힌 한계를 먼저 적고 엄격 기준 98.6%를 함께 공개하는 편이, 100%만 내놓는 것보다 설득력이 있었습니다.

다음 질문은 계량과 정산입니다 — 방전된 전력량을 누가, 어떤 기준으로 세고, 그것을 어떻게 돌려줄 것인가. 그리고 시뮬레이터가 아닌 실제 차량으로 같은 시나리오를 돌렸을 때 어디가 달라지는가. V2G는 “되는가”의 단계를 지나 “얼마나 믿을 만한가”의 단계로 넘어가는 중이라고 봅니다. 그 단계에서는 각자 잰 숫자를 공개하는 것이 업계 전체에 이롭습니다. 그래서 저희 숫자를 최악값과 실패 케이스까지 붙여서 먼저 꺼냈습니다.

그리고 이 모든 건 한 사람의 일이 아니었습니다. 제어 체인을 설계하고 관제 서버에 OCPP 2.1 동적 프로필을 올린 일, 양방향 충전기와 계측 환경을 실제로 ‘되게’ 만든 일, 판정 기준을 정의하고 140건의 로그를 뜯어 분석한 일, 그리고 협의체에서 이 검증이 왜 필요한지를 계속 이야기해 온 일까지 — 여기 다 적지 못한 여러 동료의 기여가 더해져 이번 결과가 나왔습니다. 충전기 쪽에서 프로토콜을 한 줄씩 맞춰가며 함께 붙여본 장비 제조사 엔지니어들의 시간도 이 결과 안에 들어가 있습니다.

J

Jimi (오혁)

Tech Innovation Tribe
이 글 공유하기

지금 바로 볼트업에 지원해 보세요

볼트업 채용공고 바로가기