이 H- 브리지에서 P 채널 MOSFET이 계속 죽는 이유는 무엇입니까?


9

이것이 H 브리지입니다. 여기에 이미지 설명을 입력하십시오 한 방향으로 사용하기 시작할 때마다 사용 된 방향 다이에 속하는 P- 채널 MOSFET 및 NPN BJT가 몇 초 안에 사용됩니다. 죽인 MOSFET과 BJT는 단락을 개발하여 더 이상 다른 방향을 사용할 수 없습니다. 그들은 눈에 띄는 열이나 연기없이 죽습니다!
컨트롤러는 arduino uno이며 N 채널 MOSFET 만 PWM 신호로 구동되며 P 채널은 간단한 디지털 출력 핀에 연결됩니다. PWM 주파수는 디지털 핀 9 및 10 의 기본 490Hz입니다.(각 PWM 출력은 개별적입니다). 나는 이미 4-5 P 채널 MOSFET + BJT 쌍을 죽였으며, 양쪽에서 발생할 수 있습니다. (사용하는 방향에 따라 다릅니다.) 모터는 12V 자동차 앞 유리 와이퍼 DC 모터이며 전원 공급 장치는 12V 5A입니다. 12V 및 5V 전원 공급 장치 접지가 연결되었습니다.

두 가지 사실이있을 수 있지만 철저하게 테스트하지 않았으므로 100 % 확실하지 않습니다.

  • 이전 버전에서는 R7 및 R8에 1k 저항을 사용하고 있었으며 아무런 문제가 없었습니다. 다시 시도 하겠지만 지금은 P 채널 MOSFET이 부족합니다.
  • 튀긴 MOSFET + BJT 쌍을 잘라 내면 나머지 MOSFET + BJT 쌍을 죽이지 않고 다른 방향을 사용할 수 있습니다.

도와주세요, 여기에서 무슨 일이 일어나고 있는지 :)

  • NPN BJT와 P 채널 MOSFET 사이에 저항을 사용해야합니까?
  • 2N2222 BJT 대신 2n7000 MOSFET을 사용해야합니까?

업데이트 : 방금 와이퍼 모터 대신 12V 55W 전구로 H 브리지를 테스트했습니다. 테스트 중에 P-FET 및 NPN이 종료되었습니다. N- 채널 측은 40 % PWM 신호로 구동되었습니다. 하중이 없으면 아무런 문제가 없었습니다.

업데이트 2 : R7과 R8을 150R에서 1k로 다시 변경했습니다. 이제 구성 요소의 장애없이 브리지가 다시 작동합니다. (며칠 동안 실행하지는 않았지만 150R 저항을 사용하면 오류를 재현하는 데 몇 초 밖에 걸리지 않았습니다.) Brian이 제안한대로 GND와 + 12V 사이의 브리지에 디커플링 커패시터를 추가 할 것입니다. 모두에게 답변을 주셔서 감사합니다!


프로그래밍 실수를 배제 했습니까? H- 브릿지를 수동으로 제어해도 여전히 죽습니까?
rve

나는 그것을 배제하려고 노력했다. 수동으로 시도하지는 않았지만 H 브리지에 연결된 부하없이 더 작은 전원 공급 장치로 많은 테스트를 수행했습니다. 다음 번에는 수동으로 브리지를 제어하려고 시도합니다.
gOldie_E36

1
테스트를 위해 다른 mosfet를 죽일 가능성을 줄이려면 모터를 훨씬 작은 것으로 교체하십시오. 한 쌍의 LED, 작은 장난감 모터 또는 무언가처럼.
Passerby

답변:


11

12V 전원을 어떻게 분리합니까?

하나의 가능한 고장 모드는 모터 전류를 끄는 것 (즉, PWM 속도에서)으로 인한 유도 스파이크가 플라이 백 다이오드를 통해 12V 전원으로 덤프된다는 것입니다. 그렇습니다,하지만 ...

12V 전원이 분리되지 않고 충전식 배터리가 아닌 PSU에서 공급되거나 긴 (유도 성) 케이블을 통해 공급되는 경우 실제로 12V 공급이 아니라 유도 성 스파이크 전압까지 순간적으로 구동됩니다. MOSFET 등급보다 훨씬 높을 수 있습니다 ...

빠른 오실로스코프로 12V 전원을 모니터링하십시오. 과전압 스파이크 징후가 보이면 감 결합을 증가시키지 않을 때까지 늘리십시오. (저것은 전해 저장소 커패시터뿐만 아니라 낮은 HF 임피던스를위한 0.1uF 세라믹 커패시터를 포함해야한다. 아마도 16V 또는 25V 제너 다이오드도 가능하다.)

나는 이것이 당신의 실제 문제라는 것을 모르지만, 반드시 다루어야 할 하나의 기초입니다.


1
이것은 가장 그럴듯한 설명입니다. 이러한 스파이크는 IRF4905의 20V 절대 최대 Vgs 사양을 쉽게 초과 할 수 있습니다. 그 결과 게이트-소스 간 단락으로 인해 NPN 드라이버를 통해 큰 전류가 흐를 수 있으며,이를 파괴합니다.
Dave Tweed

좋은 점은 디커플링을 사용하지 않는 것입니다. 저렴한 20Mhz 오실로스코프를 사용하여 공급을 모니터링하려고합니다. 세라믹과 전해 커패시터가 있으므로 연결할 수 있습니다. 그래도 zeners가 없습니다. – 나는 얻을 것이다.
gOldie_E36

선원들을 붙잡 으십시오. 자동차 애플리케이션의 경우 공급을 증가시킬 수있는 다른 모든 요소 때문에 16V 선로는 충분하지 않습니다 (충전하는 동안 어쨌든 16V에 가깝습니다). 이러한 FET가 실제로 20V Vgs라면 차에서 오래 지속되지는 않지만 (분리 된) 12V 랩 PSU에서는 괜찮을 것입니다.
Brian Drummond

모터는 자동차에서 나오지만 12V "랩"전원으로 사용할 계획입니다 (실제로는 저렴한 중국 AC-DC 스위칭 PSU).
gOldie_E36

1
같은 회로에서 어떤 일이 일어날 지 궁금해 전구 대신 유도 성 부하가 발생하기 때문에 커패시터를 추가하지 않았습니다. 여전히 같은 방식으로 작동합니다.
gOldie_E36

6

R1 R2는 존재하지 않는 가장 작은 mosfets를 제외하고는 너무 크지 않기 때문에 켜는 것보다 훨씬 느리게 회전하고 있음을 의미합니다. 나는 여분의 트랜지스터를 사용하여 빠른 전원을 끄고 그만한 가치가 있습니다.


방향을 바꾸는 데 100ms의 데드 타임을 사용하고 있었지만 마지막 시도에서는 방향을 전혀 바꾸지 않았습니다. (방향이 바뀌면서 슛 가능성을 배제하기 위해.) 그리고 트랜지스터는 어쨌든 튀 겼다. R1 및 R2에 대해 어떤 크기의 저항을 권장합니까? 추가 트랜지스터를 연결하여 끄려면 어떻게해야합니까?
gOldie_E36

5

상위 P 채널 MOSFET 중 하나가 활성화되어 방향을 결정합니다. 회로에 내포 된 것처럼 두 N 채널 MOSFET에 PWM을 적용하면 H 브리지의 절반에서 슛 스루를 얻을 수 있습니다.

당신은해야합니다 두 N 채널 장치 모두에 PWM을 적용 해서는 왼쪽 상단 P 채널 장치가 활성화 된 경우 오른쪽 하단에만 적용하거나 오른쪽 상단 P 채널 장치가 활성화 된 경우 왼쪽 하단에만 적용하십시오.

편집-또한 P 채널 MOSFET이 거꾸로 있습니다.


1
그리고 다음에 전류 제한 전원 공급 장치로 테스트하여 어떤 이유로 오류가 발생하더라도 적어도 트랜지스터가 스스로 파괴되지 않도록하십시오.
Bimpelrekkie

동시에 두 N 채널에 PWM을 적용하지 않습니다. 한 번에 하나씩 만. 처음으로 두 방향을 모두 사용할 수 있지만 작동 중에는 사용 된 방향 다이에 속하는 P- 채널 MOSFET 및 BJT가 사용됩니다.
gOldie_E36

슛 스루가 발생하지 않았으며 마지막 몇 번 동안 12V 55W 전구를 전원 공급 장치와 직렬로 사용했습니다. 따라서 슛 스루 (전구가 밝아짐)를 감지 할 수 있으며 동시에 슛 스루 상황으로부터 MOSFET을 보호 할 수 있습니다. 문제는 정상 작동 중에 트랜지스터가 죽는다는 것입니다.
gOldie_E36

@ gOldie_E36 그렇다면 왜 "N 채널 MOSFET이 PWM 신호로 구동된다"고 말하고 왜 두 N 채널 MOSFET에서 다이어그램에 "PWM"이 이름으로 표시됩니까? 또한 P 채널 MOSFET이 거꾸로되어 있습니다.
Andy 일명

1
정확한 정보를 제공해야 사람들이 도움을 줄 수 있습니다. 나쁜 정보를 제공하면 사람들의 시간을 낭비하게됩니다. 무슨 일이 있었는지, 어떻게 사람들의 물리적 인 배치가 다이어그램보다 더 정확하다는 것을 어떻게 믿을 수 있습니까?
Andy 일명

3

나에게 눈에 띄는 것은 FET에 플라이 백 다이오드가 없다는 것입니다. 모터는 유도 성 부하이므로 전류가 변경 될 때 FET 전체에 고전압을 매우 쉽게 생성 할 수 있습니다 (인덕터에서 V = L dI / dT). 이 전압은 FET에서 소스-드레인 접점의 항복 등급을 쉽게 초과 할 수 있습니다.

이를 해결하기 위해 다이오드는 일반적으로 접점과 병렬로 배치되어 전압을 다음과 같이 확인합니다.

H 브리지 다이오드

(이미지 : http://www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/ )

이것은 FET 양단의 전압을 "클램프"합니다.


아 죄송합니다. 나는 그림에서 그것을 잊었다. 소스와 드레인 사이에 각 MOSFET에 대한 플라이 백 다이오드가 있습니다. 올바른 방향을 목표로하는 1N4007 다이오드. 사진을 업데이트하겠습니다. 이미 P 채널 MOSFET에서 다이오드를 테스트하고 교체했지만 상황은 동일합니다. :(
gOldie_E36 10

MOSFET에는 일반적으로 충분한 내장 다이오드가 있습니다. 1N4007은 빠른 스위칭에 적합하지 않은 저주파 정류기 다이오드입니다. 외부 다이오드를 사용하는 경우 쇼트 키 유형이어야합니다.
Bruce Abbott

따라서 MOSFET은 플라이 백 다이오드가 전혀 필요하지 않습니까? ~ 490Hz 만 사용하고 있는데 1N4007 다이오드에 비해 너무 빠릅니까?
gOldie_E36

1

R1과 R2에 대해 @Autistic이 옳습니다.이 배열은 P 피트에서 스위칭 시간이 매우 느려질 것입니다. BJT + Pullup 대신 전용 P Fet 드라이버 차지 펌프 사용을 고려할 수 있습니다.

일부 위생 검사

운전 신호를 확인할 수 있습니까? 어떤 FET를 켜거나 끄는 것이 매우 중요합니다.

forward: 
p1 on    p2 off 
n1 off   n2 on

backwards: 
p1 off    p2 on 
n1 on     n2 off

brake: 
p1 off    p2 off
n1 on     n2 on

다음을 시도하십시오 :

  • 모든 PWM 중지
  • 부하를 차단
  • 코드에서 p1 n1 꺼짐, 500ms 대기, p1 off n1 꺼짐 100ms (데드 타임), p1 off n1 꺼짐 500ms, p1 off n1 꺼짐 100 ms (데드 타임) 이것은 디버그하기 쉬운 테스트 신호를 생성합니다.
  • 이제 h- 브릿지의 p1 n1 출력은 GND에서 12V로 훌륭하게 전환됩니다. 스코프를 사용하여 테스트하거나 작은 전구도 사용할 수 있습니다 . 전구를 GND와 p1 n1 출력 사이에 연결하십시오-p1이 양호하도록 깜박 여야합니다. 12V 및 p1 n1 출력에 연결하십시오-깜박이면 n1이 양호합니다.
  • 범위가있는 경우 p1 및 n1이 상호 전도성이 아닌지 확인하십시오. 이 신호를 확인하면 100ms 데드 타임에서 깨끗한 GND, 깨끗한 12V 및 일부 부동 GND 이외의 다른 값을 볼 수 없습니다.
  • 스코프가 없으면 500ms와 같이 상당히 큰 데드 타임을 설정할 수 있습니다.
  • 이제 전구 대신 모터를 연결하면 전구처럼 작동하고 느려집니다. 이것은 fets가 정상인지 검증합니다.

문제

  • 위의 PWM 배열에 매우주의하십시오. 당신은 당신의 fets를 매우 쉽게 튀길 수 있습니다. N 쪽을 전환하는 동안 P 쪽을 켤 수 있으므로 단락을 줄입니다 (작거나 커짐-전원의 품질에 따라 20 % PWM으로 유지 될 수 있음).

일반적으로 마이크로 컨트롤러에는 데드 밴드 제어 기능이있는 전용 4 출력 PWM 드라이버가 있습니다. 4 개의 PWM 신호는 4 개의 피트를 구동 할 수 있으며,이 신호는 동기화되고 반전되며 데드 타임이 고려됩니다. 자세한 내용은 PIC 마이크로 컨트롤러의 PWM을 참조하십시오. http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

Arduino는 이러한 목적으로 제작되지 않았으므로 올바른 PWM 신호를 생성하기 위해 몇 가지 기본 로직을 사용하고자 할 수 있습니다. 목표는 n1과 p1뿐만 아니라 n2와 p2도 항상 상보 적으로 구동되도록하는 것입니다. 더 많은 BJT를 사용하여 얻을 수 있습니다 : http://letsmakerobots.com/files/YG_H-Bridge1.jpg 다음 당신은 당신이 드라이브를 PWM 할 수있는 두 개의 핀이 있습니다.

당신은 오히려 다음과 같이 몇 가지 논리 게이트를 사용할 수 있습니다 : https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2 그리고 정방향 / 역방향의 깨끗함과 속도를 구동하는 하나의 PWM 핀이 있습니다.

이 기사는 확인할 가치가 있습니다 : http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/


답변 해주셔서 감사합니다. 이 부분은 여전히 ​​명확하지 않습니다. "위의 PWM 배열을 시도하지 마십시오. 잘못되었습니다. N 측을 전환하는 동안 P 측을 제어 할 수 없으므로 단락합니다." PWM으로 P 측을 전환하지 않고 N 측만 전환하고 방향 변경 사이에 큰 데드 타임을 사용하는 경우에도 여전히 유효합니까? 그렇다면 어떻게?
gOldie_E36

1
나는 그것을 엄격하게 미안했다. PWM을 구동하는 방법에는 여러 가지가 있습니다. 표준 방법은 보완 기 PWM 출력에서 ​​P1 N2를 구동하고 다른 한 쌍의 보완 기 PWM 출력에서 ​​P2 N1을 구동하는 것입니다.이 방법으로 모든 것을 올바르게 구동하는 4 개의 pwm 출력이 필요합니다. 매우 신중하고 모터를 제동 할 필요가 없으면 솔루션이 작동 할 수 있습니다. 예를 들어 p1 on, n1 off, p2 off, n2 PWM은 모터를 제동 할 수는 없지만 유효한 배치입니다. 최종 모터 속도는 PWM과 기계적 부하에 따라 달라집니다. (PWM 동안 n2가 꺼져 있으면 모터에 구동 전압이 없습니다.)
Gee Bee

나는 나의 대답을 되풀이했다. 교육적인 과제가 아니라면 기성품 H-bridge 컨트롤러 또는 외부 FET가있는 H-bridge 컨트롤러를 사용하는 것이 좋습니다.
Gee Bee

0

오른쪽 아래 N-FET에 PWM을 적용 할 때 왼쪽 상단 P-FET를 켰습니까?

P-FET 방향을 다시 확인해야합니다. P-FET가 거꾸로되어 P-FET 바디 다이오드가 작동 할 때 과도한 전력 손실이 발생하는 것 같습니다. 고장 상태에서 P-FET의 전압을 측정하십시오. 2N2222가 켜졌을 때 FET에 약 0.6V가 표시되면 P-FET가 반전 된 것입니다. 또한 오류 상태에서 P-FET 게이트 전압을 점검하여 0.2V 미만으로 표시되는지 확인하십시오.

회로에서 모터를 제거해도 여전히 고장 전류가 보입니까?


안녕, 답변 주셔서 감사합니다. 방향을 다시 확인하겠습니다. 문제는 재생 중에 실제로 아무것도 할 수 없기 때문에 MOSFET을 죽이는 데 몇 초 밖에 걸리지 않습니다 (자동으로 과도한 열이 발생하지 않음). 물론 MOSFET 비용이 많이 듭니다.) 모터와 1A 전원 공급 장치없이 많은 측정을 수행했습니다. P-FET를 켜면 드레인 소스에 대한 전압이 최소입니다 (0.01V와 같은 것). 저녁에는 5A 전원 공급 장치와 유도 성 부하 (모터)없이 회로를 다시 테스트합니다. 대신 전구 만 사용할 계획입니다.
gOldie_E36

P-FET를 켜지 말고 (2N2222를 구동하지 마십시오) N-FET를 PWM 처리 할 때 전류 제한에 도달하는지 확인하십시오. 그렇다면 P-FET 바디 다이오드가 작동하고있는 것입니다. 또한 모터 부하를 100ohm 저항으로 교체하고 전원 공급 장치와 회로 사이에 10ohm 정도의 저항을 넣으십시오. N-FET가 P-FET 바디 다이오드를 접지로 단락시키는 경우 전류를 제한합니다. 또한 저항은 과열 전에 측정을 수행 할 시간을 제공합니다.
2661956

테스트를위한 좋은 아이디어, 감사합니다. 보호를 위해 PSU와 H 브리지 사이에 이미 저항을 사용하고있었습니다.
gOldie_E36
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.