고수님들, 제가 UCC21520으로 정류 입력 SPWM 하이사이드 파형을 만들면 파형이 움푹 들어가는 문제가 발생합니다. 입력 PWM 파형일 때는 움푹 들어가지 않습니다. 부트스트랩 충전 시간이 부족한 걸까요? 어떻게 해결해야 할까요? 그림 1은 입력 SP 파형으로 변조율이 1일 때이고, 변조율을 0.6으로 낮춰도 작은 딥이 여전히 있습니다. 그림 2는 하이사이드 출력 파형입니다. 그림 3은 회로도입니다. 조언 부탁드립니다.
먼저 메커니즘부터 확실히 설명하고, 왜 “부트스트랩 커패시터를 키우는” 길로 가면 안 되는지 알려드릴게요.
당신의 판단 방향은 맞습니다. 이건 부트스트랩 고갈(bootstrap starvation)입니다. SPWM 변조비를 1로 올리면 정현파 피크 구간의 듀티비가 100%에 가까워지고, 로우사이드 스위치는 캐리어 주기마다 거의 켜지지 않아 부트스트랩 커패시터를 보충할 윈도가 없습니다. 그러면 VDDA−VSSA가 계속 떨어져 8.2V(UCC21520DWR은 8V UVLO 버전) 아래로 내려가면 드라이버가 셧다운되고 파형이 한 부분 무너집니다. 고정 듀티비 PWM은 매 주기마다 로우사이드 윈도가 있어서 깨끗했던 것입니다. 논리는 완전히 맞아떨어집니다.
하지만, 계산을 끝까지 해 보면 커패시터는 애초에 병목이 아니라는 걸 알게 됩니다:
부트스트랩 커패시터 10.1µF(100nF+10µF)
드라이버 정적 전류는 최대 1.8mA, m=1일 때 duty>97%인 피크 구간은 약 1.5ms
0.45V 대 2.6V면 여유가 거의 한 오더(order)에 가깝습니다. 커패시턴스는 충분하고, 더 키워도 소용없습니다.
그럼 전하는 어디로 갔을까요? 그림 3을 보면 제가 눈여겨본 부품이 하나 있습니다: 부트스트랩 다이오드 D7은 RS1M이고 trr은 약 500ns입니다. 버스는 정류된 고전압이고, SW 노드는 상승 에지마다 순간적으로 수백 V까지 올라갑니다. 이 느린 다이오드는 역회복 기간에 VDDA에서 12V 쪽으로 전하를 역으로 빨아들입니다. 스위칭 에지마다 한 번씩 훔쳐 가고, 전 구간에서 계속 훔쳐 갑니다. 이것이 두 현상을 동시에 정확히 설명합니다:
평균 부트스트랩 전압이 계속 낮아져서 m=0.6에서 최대 듀티비가 겨우 60~80%라 원래 고갈될 리 없는데도 작은 딥이 생깁니다;
m=1 피크 구간에는 보충이 없어 저장된 전하가 고갈되고 UVLO 아래로 떨어져 전체 구간이 무너집니다.
작업 순서는 이렇게 권합니다:
차동 프로브로 VDDA−VSSA를 재고 OUTA와 동시에 캡처하세요 — 딥이 생길 때 VDDA도 같이 떨어지면 전원 문제가 확실하고, VDDA는 평평한데 OUTA만 딥이면 드라이버 출력 경로나 측정 방식 자체에 문제가 있습니다(고전압 측에서는 긴 접지 클립을 쓰지 마세요);
부트스트랩 다이오드를 교체하세요: UF4007(trr 75ns), ES1J 또는 SiC 쇼트키 — 부품 하나 바꾸는 일이니 이것부터 시도해 보세요;
소프트웨어에서 최대 듀티비를 95~97%로 클램프해 캐리어 주기마다 최소 한 번의 로우사이드 보충 윈도를 확보하세요. 출력 진폭을 몇 % 손해 보는 대신 안정성을 얻는 방식이고, 인버터는 보통 이렇게 합니다;
100% 듀티비까지 꽉 채워야 한다면 부트스트랩은 쓰지 마세요. UCC21520은 절연 드라이버이므로 하이사이드에는 제대로 된 절연 DC-DC를 쓰는 게 맞고, B0512S 하나면 끝납니다.
이 함정은 나도 겪었어. 파형이 거의 똑같았고, 고정 PWM에서는 문제가 없는데 SPWM만 걸면 파형 정점에서 한 조각이 빠졌어.
처음엔 충전 시간이 부족한가 의심해서 부트스트랩 저항을 10 Ω에서 2.2 Ω로 낮추고, 커패시터를 0.47 µF에서 2.2 µF로 늘렸는데, 노치는 조금 얕아졌지만 변조비를 1까지 올리면 여전히 나타났어. 나중에 차동 프로브로 VDDB 대 VS를 재 보니, 정점 구간에서 전압이 계속 떨어지다가 UVLO 임계값 아래로 내려가면서 드라이버가 꺼졌고, 그 노치가 바로 UVLO 때문에 생긴 거였어. 그때서야 알았지. 로우사이드가 정점 근처에서는 도통 시간이 거의 없어서 커패시터가 충전될 기회가 전혀 없다는 걸.
수정할 때는 내압 관련 함정도 하나 밟았어. 부트스트랩 커패시터의 내압은 VDD 기준으로 고르는 거지, 버스 전압 기준이 아니야. 하이사이드가 도통할 때 커패시터 양단 전압은 여전히 VDD이고, 커패시터 전체의 전위만 버스 전압 위로 올라가는 거야. 버스 전압 기준으로 내압을 골라야 하는 건 부트스트랩 다이오드야. 역방향으로 버스 전압 전체를 견뎌야 하거든. 처음에 이 둘을 반대로 생각해서 다이오드 내압이 부족했고, 버스 전압이 높아지자 누설이 생겼어. 나중에 100 V 패스트 리커버리 다이오드로 바꾸고 나서야 안정됐어. 버스가 수십 볼트 수준이면 충분하고, 버스가 더 높으면 버스 전압의 두 배 정도 여유를 두면 돼. 커패시터 쪽은 VDD가 12 V라면 25 V 내압으로도 사실 충분하지만, 소형 X7R은 DC 바이어스에서 용량이 줄어드니까 50 V 저 ESR 모델을 고르는 게 더 안심돼. 커패시터를 키운 뒤에는 다이오드가 전원 투입 순간의 충전 돌입 전류를 견딜 수 있는지도 봐야 하고, 너무 작은 패키지는 쓰지 마.
마지막으로 각 하이사이드마다 절연 전원 모듈을 하나씩 추가했더니 노치가 바로 사라졌어. 보드를 바꾸고 싶지 않다면 우선 최대 변조비를 0.9로 제한해서 노치가 사라지는지 확인해 봐. 빠르게 검증할 수 있을 거야. 최대 변조비까지 돌리려면 부트스트랩 방식으로는 버티지 못해.
부트스트랩(bootstrap)과 높은 변조 지수(modulation index)는 궁합이 나쁘다. 커패시터(cap)는 로우사이드가 켜져 있을 때만 충전되는 작은 배터리다. 사인 피크에서는 하이사이드가 스위칭 주기의 거의 전체 동안 켜져 있어서 로우사이드는 거의 켜지지 않는다. 커패시터는 드라이버의 대기 전류와 게이트 전하로 방전되고, 레일 전압이 처지며, UVLO가 트립되어 노치가 생긴다. SPWM 신호 자체에는 문제가 없다. 문제는 바이어스 방식이다.
더 큰 커패시터, 더 빠른 다이오드, 더 작은 직렬 저항으로 전압 처짐을 늦출 수 있다. 듀티를 클램프해서 노치를 줄일 수 있다. 하지만 부트스트랩으로 m = 1에서 노치를 없앨 수는 없다. 같은 커패시터가 피크를 버틸 만큼 커야 하고, 남은 로우사이드 시간의 아주 작은 틈에서 재충전될 만큼 작아야 하기 때문이다. 이 두 조건은 결국 0으로 수렴한다.
일회성 제작이라면 하이사이드 드라이버마다 작은 절연 모듈을 두는 것이 가장 덜 고통스러운 해결책이다. 절연 커패시턴스가 낮은 것을 고르라. 그렇지 않으면 공통 모드 전류가 발목을 잡을 것이다. 제품이라면 차지 펌프가 통합된 드라이버를 사용하거나 제대로 된 플로팅 바이어스 전원을 설계하라. 부트스트랩은 100% 듀티 근처에서 동작하지 않는 벅이나 하프 브리지에는 괜찮다. 사인 변조 브리지는 그런 경우가 아니다.