MOSFET 작동 솔레노이드 회로가 Arduino 입력을 파괴 함


14

외부 전원 공급 장치를 사용하는 일부 솔레노이드 밸브에 전원을 공급하기 위해 일련의 PCB를 만들었습니다. Arduino를 게이트 신호로 사용하여 BS170 MOSFET으로 스위칭합니다 . Jason S의 솔루션을 기반으로했습니다 .

이것은 내 회로의 모습을 보여줍니다. MOSFET 작동 밸브 회로

PCB 테스트에서 대부분의 PCB가 제대로 작동하지만 일부는 그렇지 않은 것으로 나타났습니다. 문제 없습니다. 아마도 납땜 일 것입니다.

그러나 그 결함이있는 사람들은 두 개의 Arduino 디지털 핀을 파괴했습니다! 하나에서는 5V의 일정한 전압을 얻었고 다른 하나는 HIGH 신호를 보낼 때 0.2V를 출력하고 LOW 신호를 보낼 때 0.5V를 출력합니다. 이상한 물건.

그래서 나는 잘못된 회로로 인해 16V가 Arduino를 통해 흐르게하여 그들을 파괴했다고 생각합니다.

이 시나리오에서 Arduino를 너무 높은 전류로부터 보호하려면 어떻게해야합니까?

나는 제너 다이오드 에 대해 알고 있지만 입력을 보호하기 위해 배치하는 방법을 모릅니다.

기술적 인 정보:


해당 도면을 작성하기 위해 어떤 소프트웨어를 사용 했습니까? 정말 좋아 보인다!
mjh2007

3
프리츠. 이러한 종류의 물건, pcb 디자인을위한 무료 및 매우 편리합니다 :)
Dyte

12V (> Vgate_drive)의 게이트 소스 제너 다이오드는 유도 부하가있는 모든 회로에서 실제로 매우 좋은 아이디어입니다. MOSFET에 가까운 제너를 장착하십시오. 제너는 일반적으로 전도하지 않기 때문에 소스에 양극 및 게이트에 음극. || 26c / 10 Digikey에서 훨씬 더 나은 MOSFET은 예를 들어 IRLML6346 SOT23입니다. 또는 NDT3055 48c / 10 TO251 연결 또는 RFD14N05 71c / 10 TO220 연결.
Russell McMahon

...When MOSFETs fail they often go short-circuit drain to gate...여기 에서 인용했습니다 .
abdullah kahraman

16V를 적용하면 Arduino 포트가 종료 될 수 있습니다.
abdullah kahraman

답변:


7

이론적으로 회로는 괜찮습니다.
실제로 개선이 필요합니다.

12V (> Vgate_drive)의 게이트 소스 제너 다이오드를 추가하는 것은 실제로 유도 성 부하가있는 모든 회로에서 매우 좋은 아이디어입니다. 이것은 예상치 못한 또는 극심한 드레인 전압 변동 동안 드레인에 "밀러 커패시턴스"커플 링에 의해 게이트가 파괴적으로 높게 구동되는 것을 막는다.

제너를 MOSFET에 가깝게 장착하십시오.
제너가 일반적으로 작동하지 않도록 양극을 소스에 연결하고 음극을 게이트에 연결하십시오.

10k 게이트 구동 저항 (그림 참조)은 크기가 커서 MOSFET에서 느린 전원을 껐다 켜고 더 많은 전력을 소비하게됩니다. 이것은 아마도 여기서 문제가되지 않습니다.

선택한 MOSFET은이 애플리케이션에서 매우 한계가 있습니다.
Digikey의 기존 재고에서 훨씬 더 나은 MOSFET은 다음과 같습니다.

26c / 10 Digikey IRLML6346 SOT23 pkg, 30V, 3.4A, 0.06 Ohm, Vgsth = 1.1V = 게이트 임계 값 전압 ..

NDT3055 48c / 10 TO251 리드 60V, 12A, 0.1 옴, Vgsth = 2V

RFD14N05 71c / 10 TO220 50V, 14A, 0.1 옴, 2V Vgsth.


추가

3V 게이트 드라이브에 적합한 MOSFET :

시스템 내 더 이상 대답을 :-( 휴지통 그래서 -. MOSFET이 제대로 3V3 공급 컨트롤러와 더 이상 2V 이상의 작업의 VTH (임계 값 전압)을 가져야한다.
제안 된 전계 효과 트랜지스터 중에이 요구 사항을 충족하지 않습니다.
그들은에 패션 후 작동 할 수 본 부하하지만 underdriven 지나치게 손실 용액 큰 하중에 잘 확장되지 않는다된다.
IRF 전계 효과 트랜지스터가 크기 범위 (Vgsth의) VTH가 <= 2 개 볼트가 4 자리의 숫자 코드 IRF3708 제외한 7 시작이 염려 보인다 .

OK FET에는 xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470 인 IRFxxxx가 포함됩니다.

다른 것들도 있지만 제안 된 모든 것들은 Vth = 4V 또는 5V 인 것으로 보이며이 애플리케이션에서는 한계가 있거나 더 나쁩니다.

Vgsth 또는 Vth는 실제 게이트 구동 전압보다 최소 1V 이상, 이상적으로는 수 볼트 미만이어야합니다.


그래, 나는 안전한 길을 가고 또 다른 mosfet를 사용할 것이다. 그와 제너 다이오드는 아마도 트릭을해야합니다. 내가 사는 곳에 가까운 전자 제품 매장에는 제안한 모 제트가 없지만 IRF520, IRF530, IRL530, IRF540, IIRF730, IRF740, IRF830, IRF840, IRF9140, IRF9530, IRF9540, IRF9610, IRFBC620, IRFDD110, IRFD9120, IRFP50, IRFP054, IRFP140, IRFP150, IRFP450, IRFP520, IRFP9140, IRFZ44, IRFZ46. 예를 들어 IRF520에 갈 수 있다고 가정합니까? 연속 드레인 전류는 6.5 ~ 9.2A입니다. 최소 Vgs는 2V이고 최대는 4V입니다. arduino의 경우에도 괜찮습니까?
Dyte

IRF520은 Arduino가 운전하기에 좋습니다. Min Vgs와 "max Vgs"는 여러분이 생각하는 것이 아닙니다. MOSFET이 전도를 시작하는 "임계 값"전압입니다. 최대 Vgs는 상당히 높습니다 (Arduino가 출력하는 5V 이상). 높은 정격 (20V?)을 초과하면 FET가 터질 것입니다.
Bryan Boettcher 2016 년

IRF520 MOSFET 및 5.1 V 제너 다이오드를 사용하여 작동하며 이번에는 계속 작동 할 것입니다. :) 도와 주셔서 감사합니다. 모든 답변이 저에게 도움이되었지만, 제너 다이오드와 특정 유형의 mosfets에 대해 자세히 설명 했으므로 귀하의 답변을 받아들입니다.
Dyte

@Russell McMahon : arduino가 출력하는 전압은 3V3이 아닌 5V입니다. 상황이 바뀌지 않습니까?
Dyte

10

밸브의 정격 전압은 12V에서 500mA입니다. 16V를 공급하면 500mA보다 약간 더 많이 소비됩니다. 저항이라고 가정하면 667mA가 소비됩니다.

사용하는 MOSFET의 절대 최대 전류는 500mA 연속입니다. 절대 최대 정격을 초과하면 장치가 파손될 수 있습니다. 이것이 아마도 신뢰성 문제가 나타나는 이유 일 것입니다.

MOSFET에 대해 보장 된 실패 모드는 없으므로 Arduino 출력을 손상시키는 방식으로 실패 할 것입니다.

Jason이 링크 된 답변에서 언급했듯이 BS170은 MOSFET을 잘 선택하지 못했습니다. 더 좋은 것이 필요합니다. 여러 암페어 정격의 TO-220 케이스 중 하나를 선택하십시오. 또한 Vgs가 5V 로직 레벨 드라이브의 정격인지 확인해야합니다.

어떤 다이오드를 사용하고 있습니까?


: 안녕하세요 마크, 다이오드 I의 사용은 1N4001입니다 fairchildsemi.com/ds/BS/BS170.pdf
Dyte

5

밸브의 정격은 ~ 500mA입니다. BS170의 정격도 500mA이지만 판매량 수치입니다. TO92를 통해 500mA의 높은 정격 FET를 사용하면 긴장하게됩니다. 그리고 1k 게이트 저항이 있는데, 이는 대부분의 경우 좋은 생각이지만, 불량한 FET가 너무 느리게 전환되어 0.5A를 견뎌 낼 수 있습니다.

어떤 다이오드를 사용하고 있습니까? 0.5A 등급이어야하므로 1n4148은 그렇지 않습니다. 확실하지 않지만 값의 이동 부분이 일반 코일보다 훨씬 더 큰 스파이크를 일으킬 수 있기 때문에 실제로 0.5 이상을 얻을 수 있습니다.

사진에는 ​​Arduino 접지 연결을 통과하는 값 반환 전류가 있습니다. 아두 이노 접지를 전원 공급 장치에 직접 연결하십시오. 또는 훨씬 더 나은 방법 : 광 커플러를 사용하여 Arduino에서 고전류 회로를 분리하고 두 개의 별도 전원 공급 장치를 사용하십시오.


내가 사용하는 다이오드는 1N4001입니다. diodes.com/datasheets/ds28002.pdf 옵토 커플러는 생각하지 못했습니다. 그것은 조사하기 좋은 시나리오입니다 :)
Dyte

5

Arduino 출력이 높은 임피던스 인 경우 게이트가 플로팅되지 않도록 MOSFET에 게이트 소스 저항이 있어야합니다. 솔레노이드 전원 공급 장치와 Arduino 전원 공급 장치가 분리되어 있기 때문에이 시나리오가 발생할 수 있습니다 (Arduino가 항상 먼저 켜져 있음을 보장하지 않는 한).

MOSFET이 실제로 솔레노이드와 멀리 떨어져 있습니까? 그렇다면 훨씬 더 가까이 이동해야합니다. 배수구가 프로토 보드 스트립에 직접 연결되도록 빨간색 와이어가 솔레노이드와 다이오드로 연결되도록 이동하십시오. 그런 다음 GND 스트립에 짧은 소스 연결을하십시오. 전력을 전달하는 긴 루프와 비교하여 긴 게이트 신호 루프 (낮은 전력에서)를 사용하는 것이 좋습니다. 모든 루프를 짧게 유지하면서 Arduino를 솔레노이드에 더 가깝게 이동할 수 있습니다.


게이트 소스 저항이란 MOSFET과 게이트 소스 사이의 저항을 의미합니까? 이것이 바보 같은 질문이라면 죄송합니다 :). 당신은 어떤 가치를 제안합니까? 거리에 관해서는, 아니, 모든 구성 요소가 서로 가깝습니다.이 회로는 자체 에칭 PCB에 납땜되어 있습니다. arduino의 전선 만 더 깁니다. 그래도 나는 이것이 어떤 차이가 있는지 전혀 몰랐다. 나는 전류가 몇 cm 더 나아가는 시간의 차이는 무시할 만하다고 생각했다.
Dyte

@Dyte 예, 게이트와 소스 사이의 저항.
Adam Lawrence

@Dyte, 10k 게이트 소스 저항이 좋을 것 같습니다. 목표는 MOSFET의 게이트가 플로팅되지 않도록하는 것입니다. 기생 회로 소자에 대해 "승리"할 수있을 정도로 낮지 만 MOSFET을 켜야 할 때 Arduino 출력이 "승리"할 수있을만큼 높은 것을 원합니다.
ajs410

3

Arduino 보드와 +16 전원의 음극 단자 사이의 유일한 접지 연결이 짧은 파란색 선이라면 그림과 같이 회로가 잘 보입니다. 반면에 실수로 인한 단락으로 인해 나쁜 일이 발생할 수 있습니다. 실제 문제가있는 보드를 어떻게 배치했는지 보지 않고 무슨 일이 있었는지 정확히 추측하기는 어렵습니다.

MOSFET의 스펙을 푸시하는 경우 게이트를 +16으로 보내는 것과 같은 방식으로 쉽게 실패 할 수 있지만 저항이 그림과 같으면 Arduino가 꽤 잘 보호되어야합니다.


1

우선, 모터 또는 코일을 사용할 때 이러한 저렴한 2n4001-4 다이오드가 아닌 초고속 스위칭 다이오드가 필요합니다. 스위칭이 빠를수록 BEMF가 더 커집니다. 또한 arduino에서 MOSFET 게이트에 914 스위칭 다이오드를 사용하고 게이트에서 접지까지 10k 풀 / 다운 저항을 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.