Arduino가 더 높은 전류 장치 (모터, 솔레노이드, 조명 등)를 어떻게 제어 할 수 있습니까?


18

다양한 프로젝트에 적용 할 수있는 광범위하게 적용 가능한 솔루션을 찾고 있습니다.

현재 Arduino Uno에서 800mA ~ 2A 범위의 장치를 제어 해야하는 여러 프로젝트를 진행하고 있습니다. 하나는 스테퍼 모터, 하나는 12vdc 솔레노이드 액츄에이터, 하나는 12vdc 공압 밸브를 제어합니다.

예를 들면 다음과 같습니다.

Arduino는 버튼을 모니터링하고 버튼을 누를 때마다 솔레노이드 액추에이터를 트리거합니다. Arduino가 솔레노이드에 필요한 전류를 공급할 수 없기 때문에 Arduino는 더 높은 전류를 통과시킬 수있는 스위치 (릴레이, 트랜지스터 등)를 제어하는 ​​별도의 전원 공급 장치가 필요합니다. 스테퍼 모터의 경우, 회로의 상호 운용성을 유지하기 위해 4 개의 개별 스위치를 제어하는 ​​4 개의 핀이 필요하므로 레이아웃이 더 복잡합니다. 릴레이는 공기 밸브를 제어하며 12vdc도 필요합니다.

Arduino 핀이 처리 할 수있는 것보다 더 높은 전류 장치를 제어 해야하는 각 응용 프로그램 (및 향후 프로젝트)에서 사용할 수있는 단일 회로를 사용하는 방법을 알아 내려고 노력 중입니다.

시제품 제작 속도, 표준화 된 구성 요소 및 저렴한 비용이 주요 요인입니다. 스위칭 속도, 수명 및 소음도 중요합니다.

Arduino 핀에 연결하여 고전류 장치를 제어하는 ​​데 사용할 수있는 브레이크 아웃 보드, 회로 또는 구성 요소가 있습니까? 소프트웨어 제어 전위차계를 사용하면 스케치 자체에서 다른 프로젝트에 대한 저항을 설정할 수 있습니다.


1
그렇다면이 게시판은 무엇을 통제하고 있습니까? 저항 또는 전압? 아니면 장치 자체?
hichris123

보드는 장치 자체를 제어합니다. 질문에 세부 정보를 추가했습니다.
jlbnjmn 2013

"대전류"를 정의하십시오.
jippie

답변:


13

이러한 높은 전류를 구동하려면 여러 트랜지스터를 캐스케이드해야 할 수도 있습니다 ( 달링턴 트랜지스터를 사용할 수도 있음 ). 칩에 장착 된 달링턴 어레이가 있습니다 (예 : ULN2803A에는 8 개의 달링턴 트랜지스터가 있지만 500mA로 제한됨).

아마도 더 높은 전력 트랜지스터를 다루어야 할 것입니다. 예를 들어 2A 전류 (4A 피크) 스위칭을 지원할 수있는 STMicroelectronics TIP110 을 찾았 지만 열을 발산하려면 방열판이 필요할 것입니다.

스테퍼가 실제로 2A 전류가 필요한지 궁금합니다. 스테퍼의 경우 일반적으로 L293D와 같이 쉽게 구동 할 수있는 IC를 찾을 수 있지만 600mA 만 구동 할 수 있습니다.

결론적으로, 모든 장치가 다르고 적절한 회로에 의해 구동되어야하므로 "하나의 크기에 모두 맞는"솔루션을 찾지 못할 것입니다.

편집하다:

대형화는 프로토 타이핑 케이스에서 문제가되지 않기 때문에 일반적인 바이폴라 트랜지스터 대신 MOSFET 을 사용할 수 있습니다. MOSFET은 표준 트랜지스터보다 더 높은 전류와 전압을 구동 할 수 있습니다.

단점은 당신이 정말로 할 수없는 따라서 (릴레이를 예처럼) 만 스위치로 사용할 수 있습니다 드라이브 당신의 장치에 대한 정확한 전력을. 스테퍼 모터 나 솔레노이드에는 문제가되지 않지만, 예를 들어 조명을 운전하는 데 중요 할 수 있습니다.

그러나 좋은 점은 MOSFET 스위칭 속도가 이러한 목적에 충분하기 때문에 여전히 PWM을 사용할 수 있다는 것입니다.

가격과 관련하여 많은 종류의 MOSFET이 있지만, 1 달러 미만의 가격으로 자신의 요구 (12V, 2A)에 맞는 것을 찾을 수있을 것입니다.

이 주제에 관한이 위대한 기사를 살펴 보는 것이 좋습니다 .


2A는 솔레노이드를위한 것입니다. 하나의 크기가 모두에게 맞는 것은 도전이며 생산에 이상적이지 않다는 것을 알고 있습니다. 이 경우 목적은보다 빠른 프로토 타이핑이며, 오버 빌딩이 허용됩니다.
jlbnjmn 2019

1
TIP110은베이스에 50mA를 끌어 올릴 수 있으므로 TIP110을 사용하더라도 Arduino 출력 핀 사이에 더 작은 트랜지스터를 추가해야 할 것입니다. 이는 Arduino 핀에 비해 너무 높습니다.
jfpoilpret

- I 팁 (120)은 시트에 의하면,도 5a 및 6V에 전류를 운반 할 수있는이 적합하다고 생각 fairchildsemi.com/datasheets/TI/TIP120.pdf
Yasitha Chinthaka

7

더 높은 부하를 전환하는 방법에는 여러 가지가 있으며 jfpoilpret는 좋은 옵션을 설명했습니다. 비교적 느린 스위칭 속도에 주로 적합한 (즉, 일반적으로 PWM에는 적합하지 않은) 두 가지 릴레이 기반 솔루션을 요약합니다.

솔리드 스테이트 릴레이
솔리드 스테이트 릴레이 (SSR)는 사실상 반도체 기반 스위치입니다. 요구 사항에 따라 다양한 구성으로 제공되지만 핵심 요소는 움직이는 부품이 없다는 것입니다. 즉, 올바르게 사용하면 장기적으로 신뢰할 수 있습니다.

내부적으로는 일반적으로 MOSFET 및 사이리스터 또는 이와 유사한 것으로 구성됩니다. 이를 통해 이론적으로 상당히 빠른 스위칭 속도를 달성 할 수 있습니다. 그러나 실제로 설계된 전력이 많을수록 빠르게 전환하기가 더 어렵습니다. 즉, 고속 + 고출력은 상당히 비쌀 수 있습니다.

명심해야 할 중요한 요소는 DC 대신 AC를 전환하려는 경우 일반적으로 다른 유형의 SSR이 필요하다는 것입니다. 또한 전원 공급 장치를 별도로 유지하기 위해 내장 광 분리기 또는 이와 유사한 장치가 제공됩니다.

전기 기계식 계전기
이것은보다 '전통적인'접근 방식입니다. 전자 기계 릴레이 (EMR)는 전자기 코일에 의해 제어되는 기계식 스위치를 포함하는 상당히 간단한 구성 요소입니다. 스위치가 정상적으로 열리면 제어 전류가 공급 될 때 코일이 닫힙니다. 대조적으로, 제어 전류가 가해지면 정상적으로 닫히는 스위치가 열린 상태가된다.

SSR과 같은 것보다 EMR의 많은 장점이 있습니다. 가장 분명한 것은 비용입니다. 단순성으로 인해 비용이 저렴하며 고출력 버전의 경우 비용이 크게 상승하지 않습니다. 또한 제어 및 부하는 본질적으로 격리되어 있으며 AC 또는 DC를 전환하든 상관 없습니다.

그러나 몇 가지 단점이 있습니다. 기계적 측면은 EMR이 일반적으로 비 기계식 스위칭 솔루션보다 훨씬 느리고 접촉 바운스로 인해 어려움을 겪을 수 있음을 의미합니다. 또한 물리적으로 마모 될 수 있으며 충격, 진동 및 (잠재적으로) 다른 자기장의 영향을받을 수 있습니다.

EMR을 사용하도록 회로를 설계 할 때는 역기전력 (back-EMF)을 알고 있어야합니다. 제어 전류가 가해지면 코일은 인덕터 역할을하며 전자 기적으로 전하를 저장합니다. 제어 전류가 중단되면 저장된 전하가 제어 회로를 통해 다시 서지되어 큰 음의 전압 스파이크를 생성 할 수 있습니다 (잠재적으로 적용된 것보다 훨씬 클 수 있음).

이 스파이크는 불행히도 연결된 구성 요소 또는 마이크로 컨트롤러 핀을 손상 / 파손시킬 수 있습니다. 일반적으로 릴레이의 제어 접점을 가로 질러 다이오드 를 역 으로 배치하여 방지 / 완화됩니다 . 이러한 맥락에서 플라이 백 다이오드라고도하며 EMF가 안전하게 소산되도록합니다.


jfpoilpret로 링크 된 기사에 설명 된대로 사용 된 MOSFET이 이러한 응용 분야의 전자 기계 릴레이에 적합한 대안이라고 생각하십니까?
jlbnjmn 2019

그렇습니다. 설명한 애플리케이션의 경우 MOSFET이 충분할 것으로 예상됩니다. 정전기 방전에 민감하므로 취급시 적절한 예방 조치를 취하십시오.
Peter Bloomfield

3

jfpoilpret가 이미 언급했듯이, 파워 MOSFET은 최대 44A를 끌어 당기는 디바이스의 12VDC 전원을 켜고 끄는 데 좋습니다. 훨씬 더 높은 전류 및 전압을 처리 할 수있는 더 비싼 MOSFET을 사용할 수 있습니다.

원칙적으로 마이크로 컨트롤러와 소수의 트랜지스터 및 기타 작은 부품으로 스테퍼 모터를 구동 할 수 있습니다. 그러나 많은 사람들이 "스테퍼 드라이버 칩"을 선호하므로 소프트웨어 버그로 인해 전원 공급 장치를 접지로 단락시키는 방식으로 트랜지스터를 실수로 켜는 것은 불가능합니다 (일반적으로 2 개 이상의 트랜지스터 파괴). 최근의 많은 스테퍼 드라이버 칩은 마이크로 스테핑, 전류 제한, 열 과부하 보호 및 기타 유용한 기능도 처리합니다.

내가 들어 본 모든 스테퍼 드라이버 칩과 그 칩을 사용하는 기성품 브레이크 아웃 보드는 http://reprap.org/wiki/stepper_motor_driver에 나와 있습니다 .

특히, 내가 본 많은 RepRap 3D 프린터는 Arduino를 4 개의 Pololu 스테퍼 드라이버 (각각 15 달러 미만)에 연결하여 5 개의 스테퍼 모터를 구동합니다.


0

MTP3055V MOSFET 60V 12A 트랜지스터를 사용하여 12V Peltier (고전력 소스이기도 함)에 전원을 공급하기 위해 Arduino (Arduino Nano) 회로를 만들었습니다. 그리고 회로는 아주 잘 작동합니다.

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