고전압 PWM 모터 컨트롤러-Mosfets Explode


12

이 문제에 대한 답을 찾기 위해 모든 게시물을 검색했습니다. 이 다이어그램과 같이 모터 컨트롤러 회로를 만들었습니다. 다이어그램을 최대한 정확하게 만들었습니다. mosfet의 다이오드는 mosfet 기호가 데이터 시트의 기호와 유사하게 추가되었습니다. 보시다시피, Arduino UNO 보드를 사용하는 매우 간단한 PWM 회로입니다. 전위차계 풋 페달은 아날로그 입력 중 하나에 연결되며 디지털 출력 핀 6에서 PWM 출력의 듀티 사이클을 결정하는 데 사용됩니다.회로 링크

모터는 motenergy가 만드는이 유형의 가장 작은 48V 모터이지만, 내가 본 다른 회로와 비교할 때 매우 큰 모터입니다. 시동시 약 200A를 쉽게 끌어낼 수 있습니다.

회로는 일종의 작동-차량이 들어 올려 질 때 바퀴가지면에 닿지 않도록합니다. 이 상태에서는 모터가 회전하기 쉽고 전류를 많이 소비하지 않습니다. 바퀴가지면에 있으면 페달을 밟기 시작하는 순간 모스크가 폭발합니다. 나는 지금이 회로를 약 4 번 만들었습니다. 하나의 버전에서 18 개의 mosfets를 병렬로 사용했으며 18 개 모두 즉시 폭발했습니다. (200/18 = 약 7 Amps / mosfet) 각 mosfet는 32 Amps를 처리해야합니다.

우리는 마침내 alltrax에서 모터 컨트롤러를 구입했는데 차량이 잘 작동하지만 왜 내 자신의 모터 컨트롤러가 작동하지 않는지 알기로 결심했습니다. 나는 전자 제품을 좋아하고 수년에 걸쳐 많은 어려운 회로를 만들었습니다. 내가 뭘 잘못하고 있는지 알기 전까지는 잘 수 없습니다.

나는 Alltrax의 기술자와 이야기를 나 their 다. 그리고 컨트롤러는 단지 여러 개의 mosfets와 커패시터 일 뿐이라고 말했다. 그는 커패시터가이 mosfets의 폭발을 막았지만 회로에 어떻게 연결되어 있는지 전혀 몰랐다. 내 정보가 누락 된 것 같아

그래서 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 이 문제를 해결하려면 커패시터를 어떻게 추가해야합니까? 주파수일까요? 우리는 Arduino의 타이머를 수정하여 PWM 주파수가 약 8000 Hertz 였지만 Alltrax 컨트롤러는 18,000 Hertz에서 작동합니다. 모터 컨트롤러가 갈수록 18k가 작다는 것을 알고 있지만 거대한 모터는 더 작은 주파수를 원한다고 생각했습니다.

또한 mosfets를 약간의 차이로 인해 병렬로 연결할 수 없다고 말하기 전에, 정확히 7 인치의 18 게이지 와이어를 사용하여 각각을 병렬로 연결했습니다. 작은 와이어는 작은 저항의 역할을하며 각 저항이 전류 부하를 공유하도록합니다.

답장을 보내 주셔서 감사합니다.


2
Alltrax 컨트롤러에 대해 계속 이야기하지만 회로도에는 표시되지 않습니다.
Harry Svensson '

1
회로도에서 MOSFET의 부품 번호가 정확 / 정확합니까?
ThreePhaseEel

2
나는 정말 전문가가 아니지만 일부 경험을 바탕으로 기분이 좋지 않습니다. 이 모터는 13 마력입니다. Arduino, 3 개의 FET 및 2 개의 저항으로 속도 제어를 진지하게 시도하고 있습니까? ... 안전 - 산업용 컨트롤러가 동일한를 달성하기 위해 어떤 비용을 고려
폴 Uszak에게

3
모터에서 어떤 다이오드를 사용하고 있습니까?
Andy 일명

1
13 hp / 48 V = 210 A. 와우, 그것은 많은 전류입니다. 모터가 정지 할 때 500-ish 암페어를 추측합니다? 이러한 고전류를위한 플라이 백 다이오드 및 스 너버에 관한 책을 쓸 수 있습니다.
Oskar Skog

답변:


29

귀하의 질문과 연결되어야 하는 데이터 시트 는 다음과 같습니다 . 나는 그것을 찾을 필요가 없습니다.

각 MOSFET은 32A를 처리해야합니다.

VGS=10


VGS5V×R2R1+R2=4.54VR1R2

VGS=10VRDS(on)

P=I2×R=(32A)2×0.035Ω=35.84W , 때 ~ 36W가 예상되는 전력 손실임을 의미VGS=10V

와 의 데이터 시트에 따른 최대 45mΩ이다.VGS=5VRDS(on)

35.84W=I2×0.045Ω 이고 주변으로 I를 움직이면 이므로 MOSFET IF를 통해 28A를 안전하게 수 있습니다. 저항기 값을 고정하십시오. MOSFET에 대한 방열판을 반드시 확보해야합니다. 아마도 팬으로 능동 냉각 할 수도 있습니다.I=35.840.045=28.2A

우리는 Arduino의 타이머를 수정하여 PWM 주파수가 약 8000 Hertz였습니다.

높은 800Hz를 수용 할 필요가 없으며, 이것이 일반적인 BLDC 드라이버 (ESC)가 전환하는 것입니다. (내가 틀리지 않는 경우).


당신이하려고하는 것은 직렬로 저항으로 게이트를 충전하는 것입니다. 아래 이미지와 같으며 그 모델을 사용하여 추가 방정식을 사용할 수 있습니다.

게이트의 커패시턴스 ( )는 최대 값이Ciss1040pF

저항과 MOSFET이이 회로를 형성하고 있습니다.

RC 회로

C=Ciss×3=3120pF3을 병렬로 얻었으므로 .

R=R1||R2=909Ω

Vs=4.54V

커패시터 위의 전압은 다음 방정식을 따릅니다. 여기서 는 커패시터 양단의 전압이고 는 공급하는 것입니다. 우리의 경우는 입니다.

Vc=Ve×(1etRC)
VcVeVs=4.54V

당신은 PWM을 보내고 있으며 당신을 위해 절대 최악의 시나리오를 만들 것입니다. 아날로그 Write (1)을 시도 할 때, 그것은 의 듀티 사이클입니다 . 따라서 듀티 사이클이 끝나고 8kHz가 488.3 나노초 가 될 때까지 신호가 높아지기 시작하는 시간 입니다.12561256×18000=

게이트에 전압이 무엇인지 확인하기 위해 위의 방정식에 숫자를 연결합시다.

Vc=4.54V×(1e488.3×109(909)×(3120×1012))=0.71V

MOSFET은 최소 1V 및 최대 2.5V에서 개방을 시작합니다. 따라서이 최악의 시나리오에서는 게이트를 열 수도 없습니다. 그래서 그것은 종일 닫혔습니다.


MOSFETS가 깨지는 가장 큰 이유는 내가 지적해야 할 또 다른 사항은 스위치를 할 때 거대한 저항 때문에 게이트 커패시턴스가 너무 커서 스위치를 느리게 하기 때문입니다. 즉, MOSFET이 스위치를 전환하려고 할 때 많은 전류가 흐르고 많은 전압이 흐릅니다. 그리고 => 정말 정말 많은 열입니다.P=I×V

이 이미지를보십시오 :

스위칭 손실

아시다시피 , 파란색 선과 빨간색 선이 교차하는 곳에 있고 싶지 않습니다 . 그리고 전환 빈도는 스위칭 주파수에 관계없이 동일하므로 전환 빈도가 높을수록 고통스러운 전환에 더 많은 시간이 소요됩니다. 이것을 스위칭 손실이라고합니다. 또한 스위칭 주파수에 따라 선형으로 확장됩니다. 그리고 당신의 높은 저항, 높은 커패시턴스, 고주파 스위칭은, 가장 가능성이 당신이 그 전이 단계에 머물 수 있는 모든 시간. 이는 폭발 또는 MOSFETS 파괴와 같습니다.


나는 더 많은 계산을 할 시간이 없지만, 당신이 그 요점을 얻는다고 생각합니다. 당신이 놀고 싶다면 회로도에 대한 링크 가 있습니다. 당신 어느 것이 야! .


마지막 조언은 MOSFET 드라이버를 사용하여 몇 개의 AMPS를 게이트로 펌핑하는 것입니다. 지금 당장은 밀리 암페어를 펌핑하고 있습니다.


Btw Doctor Circuit은 마지막 단락과 관련하여 BJT 트랜지스터에만 문제가 있으며 더 따뜻한 전류를 더 많이 전달하지만 MOSFET은 더 따뜻한 전류를 더 따뜻하게 전달하므로 특별한 종류의 밸런싱이 필요하지 않습니다. 자동 균형.


계속, 상승 시간 및 하강 시간.

위의 예에서 8kHz 스위칭 및 1/256 듀티 사이클을 의미했습니다. 좀 더 친절하고 50 % 듀티 사이클 = 128/256을 살펴 보겠습니다. 나는 당신이 당신의 고통스런 변화에 얼마나 많은 시간을 알고 있는지 알고 싶습니다.

따라서 고통스러운 전환 과 관련된 다음과 같은 매개 변수가 있습니다 .

td(on) = 턴온 지연 시간 = 턴온 상승 시간 = 턴 오프 지연 시간 = 턴 오프 하강 시간
tr
td(off)
tf

나는 약간의 근사한 근사를 할 것이고, 나는 miller-plateau가 존재하지 않는다고 가정 할 것이고, 스위치를 켤 때 MOSFET의 전압이 선형으로 감소하고 스위치를 끌 때 선형으로 증가한다고 가정합니다. MOSFET을 통해 흐르는 전류는 스위치를 켤 때 선형으로 증가하고 스위치를 끌 때 선형으로 감소한다고 가정하겠습니다. 나는 당신의 모터가 약간의 부하로 50 %의 듀티 사이클의 정상 상태 동안 200A를 소비한다고 가정합니다. 당신이 그것에 있고 가속하는 동안 그래서 200A. (모터가내는 토크가 많을수록 비례 적으로 더 많은 전류가 흐릅니다).

이제 숫자로. 데이터 시트에서 다음과 같은 최대 값을 알 수 있습니다.

td(on) = 40ns = 430ns = 130ns = 230ns
tr
td(off)
tf

먼저, 위의 전환이 얼마나 많은 8kHz주기인지 알고 싶습니다. 전환은 기간마다 한 번씩 발생합니다. 지연은 실제로 전환에 영향을 미치지 않습니다 (1MHz와 같이 실제로 고주파수로 전환하지 않는 한).

8kHz의 = 50 % 듀티 사이클 및 FS와 전이 시간 I는 I 훨씬 큰 값을 볼 것 생각, 이것은을 무시 밀러 고원 및 기생 물질, 느린 게이트 충전 무시. 또한 이것은 상승 시간과 하강 시간이 실제로 계산에서 가정하고있는 0 %에서 100 %가 아니라 신호의 10 %에서 90 %라는 사실을 무시하고 있습니다. 따라서 0.528에 2를 곱하여 근사값을 현실에 더 가깝게 만듭니다. 따라서 1 %.tr+tf18000=0.00528=0.528%

이제 우리는 그 고통스러운 전환에서 얼마나 자주 시간을 보내고 있는지 알고 있습니다. 그것이 얼마나 고통 스러운지 봅시다.

P=1T0TP(t)dt

Vr(t)=48V(1t430ns)
Ir(t)=200A430nst

Vf(t)=48V230nst
If(t)=200A(1t230ns)

P=Pr+Pf
Pr=1tr0trVr(t)×Ir(t)dt
Pf=1tf0tfVf(t)×If(t)dt

P의 F = 1,600 W P = P , R + P F = 3200 WPr=1600W LOL! 같은 답변, 이상한
Pf=1600W
P=Pr+Pf=3200W

이제이 3200W 전환에서 얼마나 자주 소비했는지 다시 살펴 보겠습니다. 현실이 시작될 때 약 1 %였습니다. (그리고 훨씬 더 자주 될 것이라고 생각했습니다).

Pavg=3200W×1%=32W 흠, 다시 한 번 더 큰 것을 보게 될 것 같아


그리고 ... 시간의 다른 99 %를 계산해 봅시다! 나는 완전히 잊었다. 주요 폭발은 다음과 같습니다! 내가 잊어 버린 것이 있다는 것을 알았습니다.

P=I2×R=(200A)2×(0.045Ω)=1800W 그리고이 전도 모드에서 시간의 49.5 %를 소비합니다. 따라서 총P50%@8kHz=32W+1800W×49.5%=923W

3 개의 MOSFET을 병렬로 연결하면 MOSFET 당 입니다. 그래도 여전히 ... EX-PU-LOSIVE!32W+1800W×49.5%3=329W

우리는 거기에 갈. 찾고있는 폭탄이 있습니다. EX-PU-LOSION

이것이 나의 마지막 편집입니다.


4
13 마리의 말을 안전하고 안정적으로 운전하는 것이 얼마나 어려운지를 명확하게 보여주고 있다고 생각합니다. 그리고 dodgy 스케치는 어떻습니까? OP가 새 스케치를로드하고 핀이 플로팅 / 정의되지 않을 때 모터는 무엇을합니까? 그리고 아마도 48V 소스를 단락시키는 것도 흥미로울 것입니다. 실망 / 화재를 피하기 위해 할 일이 많이 있습니다 ...
Paul Uszak

7
그가 480V가 아니라 48V를 망쳐 놓았다는 것을 기뻐하자. 화상을 견뎌내고 인생을 배울 수는 있지만, 심부전으로 죽음을 배우기 란 어렵습니다.
Harry Svensson '

3
@DoctorCircuit 1 nF는 게이트 커패시턴스 입니다. 제거 할 수 없습니다. 그것들은 MOSFET의 일부입니다 . Arduino는 트랜지스터를 통해 약 20mA를 푸시 할 수 있습니다. 그것은 여전히 밀리 암페어 입니다. 이것이 작동하는 것에 가깝게하려면 몇 가지 AMPS 를 밀어야 합니다. Arduino와 부하를 구동하는 MOSFET 사이에 다른 단계 가 필요합니다 . 로직 인버터는 수 어쩌면 일을 할. 그러나 이것은 당신이 무엇을 정말 여러 AMPS를 밀어해야합니다. Ciss
Harry Svensson '

2
@DoctorCircuit 이것은 나의 마지막 의견이 될 것입니다. 이 비디오를보십시오 . 재미를 위해 전체를보십시오. 5시 12 분경에 사용 된 MOSFET이 표시됩니다. 그 은 여러분의 약 1/3입니다. 그리고 훨씬 덜 까다로운 모터를 위해 만들어졌습니다. 상승 시간 (어려운 전환의 일부)은 MOSFET의 경우 430ns이고 ATP206의 경우 110ns입니다. 고통스러운 전환의 일부인 낙하 시간은 당신의 경우 230ns, ATP206의 경우 73ns입니다. 따라서 고통스러운 전환에 약 3-4 배 더 적게 소비합니다. 따라서 훨씬 약한 모터는 훨씬 더 나은 MOSFET을 갖습니다. RDS(ON)
Harry Svensson

3
@DoctorCircuit 나는 거짓말을했다. 이것이 나의 마지막 의견이다. MOSFET 드라이버를 구입하는 대신 직접 로직 인버터를 만들 경우. 그런 다음 전환 중에 MOSFET을 단락시키지 않도록해야합니다. 방법은 다음과 같습니다 .
Harry Svensson

8

최신 MOSFET은 포지티브 피드백 (실리콘 내부)이 파괴를 일으키는 위험한 영역에서 머 무르지 않도록 빠른 스위칭이 필요합니다. NASA 논문 설명은이 답변의 마지막 단락을 읽으십시오.

요약 : 게이트 저항 ----- 1Kohm ------이 너무 큽니다. 12/15/18 볼트 VDD에 0.1UF 바이 패스 캡이있는 전원 드라이버 IC를 사용하면 MOSFET 게이트를 빠르게 충전 할 수 있도록 빠르게 충전 할 수 있습니다.

MOSFET은 안전 작동 영역 SOA 등급으로 인해 스스로 파괴 될 것입니다. 여기서 전압 * 전류 * 펄스 폭은 전력 손실을 정의합니다.

FET 접합이 10U 깊이 (SWAG)라고 가정하면 FET 활성 영역의 시간 상수에 대해 1.14 마이크로 초의 TAU가 있습니다. Miller Multiplication을 사용하면 턴온 시간이 FET를 가로 지르는 48 볼트와 전류 제한이없는 상태를 훨씬 능가합니다.

====================================

2018 년 3 월 18 일 편집

NASA는 MODERN MOSFET의 사용으로 인해 여러 가지 지속적인 설계에서 MOSFET 고장을 진단했습니다 (NASA 기록은 2010 년에 나타 났으며 자동차 산업은 1997 년에이 고장 메커니즘을 발견했습니다). 이전 기술 MOSFETS의 이전에 음의 온도 계수 동작이 더 높은 전류 영역으로 밀려 났으며 새로운 안전하지 않은 영역이 이제 온-온 영역에 존재합니다. NASA는 이러한 프로젝트를 OLD TECHNOLOGY로 되돌려 서 신뢰할 수있는 시스템을 구축 할 수있었습니다.

이것이 오늘날 무엇을 의미합니까? 아주 간단한

--- 스위칭 영역에서 1 마이크로 초 이상 머 무르지 마십시오. ---

--- 게이트 드레인 커패시턴스를 포함한 게이트 커패시턴스를 빠르게 충전하십시오. ---

NASA 논문 [2010 년 출판]은

"파워 MOSFET 열 불안정성 동작 특성화 지원"과 핵심 문장은 여기에 인용되어 있습니다. "현재 제작되고있는 설계는 차지 캐리어가 차지하는 영역 (소규모 영역 외부 및 외부 영역)이 중요하고 안전한 작동 영역 내부가 될 수 있도록합니다 ( SOA) ".

구식 (강력한 MOSFET) 설계와 관련하여 다음 문장을 추출합니다.

"이전 MOSFET은 주로 이동성 충전 지배 영역에서 실행되었다. 동일한 게이트 전압을 유지하면서 이동성 충전 지배 영역은 온도가 증가함에 따라 전류를 감소시키고 결과적으로 전류를 감소시켜 시스템이 부정적인 피드백을 가질 수있게한다 실제로 새로운 전력 MOSFET에 높은 게이트 전압이있을 경우 부품이 이동성 충전에 지배적이며 제조업체가 MOSFET을 이동성 충전에 지배적 인 영역에 유지하려는 의도는 무언의 의도였다. 고속 스위치. 구형 부품은 전하 캐리어가 차지하는 영역이 있지만이 영역은 일반적인 SOA 외부에 있으며 다른 이유로 고장이 발생합니다. "


7

먼저 잘못된 FET를 선택했습니다.

FQP30N06은 Vgs = 10V에서 40mOhm RdsON을 갖습니다. Vgs = 5V에서는 지정되지 않아 작동하지 않습니다.

MOSFET 선택은 타협입니다. 큰 실리콘 다이와 낮은 RdsON을 가진 큰 MOSFET은 커패시턴스가 많고 느리게 전환됩니다. 작은 MOSFET은 더 빠르게 전환되지만 RdsON은 더 높습니다.

그러나 500-1000Hz로 전환하면 전류가 엄청나므로 RdsON은 속도보다 훨씬 중요합니다.

따라서 Vgs of ... read on에 지정된 매우 낮은 RdsON (예 : 몇 mOhm)의 To-220 MOSFET (냉각 용)을 선택해야합니다.

둘째, 10V 게이트 드라이브 용으로 지정된 FET에서 5V 게이트 드라이브를 사용하므로 완전히 켜지지 않습니다. 따라서 가열되어 폭발합니다. 데이터 시트를 보면 누구나 볼 수 있습니다.

전류를 고려하면 12V 게이트 드라이브를 사용하여 RdsON을 가능한 한 낮게 만듭니다. 따라서 5V 또는 10V Vgs 지정 FET를 선택할 수 있습니다.

확인. 이제 많은 FET가 있으며 12V로 구동해야합니다. 분명히 몇 개의 앰프를 게이트로 출력하여 빠르게 켜고 끄는 드라이버가 필요합니다. mouser / digikey의 "MOSFET driver"카테고리를 확인하십시오. arduino에서 5V를 수용하고 FET를 올바르게 구동하는 적합한 제품이 많이 있습니다.

12V 전원이 필요하지만 48V 정도이므로 DC-DC 변환기를 사용하므로 문제가되지 않습니다.

셋째, arduino를 버려야합니다.

이러한 종류의 컨트롤러에는 전류 제한이 필요 하며 MOSFET이 폭발 하기 전에 작동 해야 합니다 (후가 아니라).

이 작업은 매우 간단합니다. 전류 센서 (여기서는 홀 효과)와 비교기를 배치합니다. 전류가 임계 값을 초과하면 PWM이 재설정되고 약간 기다렸다가 다시 시작됩니다. 전류가 훨씬 더 큰 임계 값을 초과하면 누군가가 드라이버를 출력 단자에 꽂았으므로 PWM이 잘 멈추고 다시 시작되지 않습니다.

이것은 소프트웨어와 호환되지 않는 속도로 발생해야합니다.

모터 제어용으로 판매되는 대부분의 마이크로 컨트롤러에는 이러한 특정 목적을 위해 PWM 장치에 연결된 아날로그 비교기가 포함되어 있습니다. arduino의 마이크로는 그중 하나가 아닙니다.


4

전류 감지가 없으므로 모터 드라이브에 전류 제한이 없습니다. 대형 DC 모터의 권선 저항은 밀리 옴일 수 있으므로 0rpm에서 예상되는 모터 전류는 수천 암페어가 될 수 있습니다. 대량의 mosfets를 사용하고 여전히 폭발 할 위험이 없다면 어떤 형태의 전류 제한을 적용해야합니다. 게이트 드라이브는 스코프에서 점검해야합니다. 아마도 과열이 발생하기에는 너무 느릴 수 있습니다. 드라이버 칩 또는 일종의 개별 드라이버 회로를 고려하십시오. 모터 드라이브는 대부분 하드 스위칭이므로 주파수에 비례하는 스위칭 손실이 있습니다. 객관적인 오디오 노이즈에 대한 PWM 주파수 테스트를 줄이십시오. 너무 많은 소리를 내지 않고 F를 크게 줄일 수 있습니다.


2

모든 구성 요소 LTSpice의 정확한 모델이있는 경우 실패한 이유를 분석 할 수 있습니다.

전류 스위칭 동안 Q 방전의 정확한 모델은 신중하게 선택된 각 단계의 gm 또는 그 역 RdsOn 비율이 필요하다는 설계 이해로 이어집니다.

리드 릴레이, 전력 릴레이, 솔레노이드 및 대형 전력 컨택 터로 전자 기계 스위치의 비율을 알고 있으면 COntact 전류 대 코일 전류의 비율이> 3k에서 100 : 1로 점차 감소합니다. 주요 차이점은 스위칭 후 FET 게이트 전류입니다.

데이터 시트를 검사하고 사용하려는 RdsOn gate3 전압을 확인하십시오. 효율적인 스위칭을 위해서는 임계 전압 Vgs (th)의 3 배 이상이어야합니다.

요약 제안

  • 1) hFe 비율이 100 인 계단식 BJT와 같이 계단식 RdsOn 단계를 사용하십시오.

    • 예를 들어 RdsOn이 1mΩ 인 경우 100mΩ 드라이버를 사용하고 10Ω 드라이버를 사용합니다 (또는 슬 루율이 저하되거나 전력 손실이 증가한 후 자체 가열되어 FET가 융합되거나 폭발 함)
  • 2) Vgs> = 3x Vgs (th) NO MATTER WHAT Vgs (th)의 정격을 사용하십시오. (및 <Vgs max)

  • 추신

    • 나는 1)과 함께 언급하는 것을 잊었다. 모터 손실 비율의 FETS / DCR의 Rdson은 전도 손실을 최소화하기 위해 약 1 : 100 또는 1 % (주거나 가져 가야) 여야한다. 비록 강제 공기 냉각이 필요하고 더 높은 수치는 재난으로 이어질 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.