이 프로젝트에서는 Arduino와 2 개의 릴레이를 사용하여 24v 고전류 모터의 방향과 속도를 제어합니다. 이 회로에는 전원 스위치가 필요하지 않습니다. 단 두 개의 푸시 버튼과 전위차계에서 DC 모터의 방향과 속도 를 제어 할 수 있습니다. 하나의 푸시 버튼은 모터를 시계 방향으로 회전하고 다른 하나는 시계 반대 방향으로 회전합니다. 모터의 속도를 제어하려면 하나의 n 채널 MOSFET이 필요합니다. 릴레이는 모터의 방향을 전환하는 데 사용됩니다. H-Bridge 회로와 유사합니다.
필수 구성 요소:
- Arduino Uno
- 2 개의 12v 릴레이 (5v 릴레이도 사용 가능)
- 두 개의 트랜지스터; BC547
- 푸시 버튼 2 개
- IRF540N
- 10k 저항
- 24V 소스
- 10K 전위차계
- 3 개의 다이오드 1N4007
- 전선 연결
회로도 및 설명:
이 양방향 모터 제어 프로젝트 의 회로도 는 아래 이미지와 같습니다. 이에 따라 연결하십시오.
- 두 릴레이의 상시 폐쇄 단자를 배터리의 양극 단자에 연결하십시오.
- 두 릴레이의 상시 개방 단자를 MOSFET의 드레인 단자에 연결합니다.
- MOSFET의 소스를 배터리의 음극 단자와 Arduino UNO의 Ground 핀에 연결합니다.
- Arduino의 PWM 핀 6에 대한 게이트 터미널.
- 게이트에서 소스로 10k 저항을 연결하고 소스에서 드레인으로 1N4007 다이오드를 연결합니다.
- 릴레이 중간 단자 사이에 모터를 연결합니다.
- 나머지 두 개의 단자 중 하나는 Arduino Uno의 Vin 핀으로, 다른 하나는 트랜지스터의 콜렉터 단자 (각 릴레이에 대해)로 이동합니다.
- 두 트랜지스터의 이미 터 단자를 Arduino의 GND 핀에 연결하십시오.
- Arduino의 디지털 핀 2와 3은 각각 푸시 버튼과 직렬로 연결되어 트랜지스터의베이스로 연결됩니다.
- 그림과 같이 릴레이에 다이오드를 연결하십시오.
- 전위차계의 끝단을 Arduino의 5v 핀과 Gnd 핀에 각각 연결합니다. 그리고 와이퍼 단자를 A0 핀에 연결합니다.
- ** 별도의 12V 배터리 두 개가있는 경우 한 배터리의 양극 단자를 다른 배터리의 음극 단자에 연결하고 나머지 두 단자를 양극과 음극으로 사용합니다.
트랜지스터의 목적:
Arduino의 디지털 핀은 일반 5v 릴레이를 켜는 데 필요한 전류량을 공급할 수 없습니다. 이 프로젝트에서는 12v 릴레이를 사용하고 있습니다. Arduino의 Vin 핀은 두 릴레이 모두에이 정도의 전류를 쉽게 공급할 수 없습니다. 따라서 트랜지스터는 Arduino의 Vin 핀에서 트랜지스터의 기본 단자에 연결된 푸시 버튼을 사용하여 제어되는 릴레이로 전류를 전도하는 데 사용됩니다.
Arduino의 목적:
- 릴레이를 켜는 데 필요한 전류량을 제공합니다.
- 트랜지스터를 켜려면.
- 프로그래밍을 사용하여 전위차계로 DC 모터의 속도를 제어합니다. 마지막에 전체 Arduino 코드 를 확인하십시오.
MOSFET의 목적:
MOSFET은 모터의 속도를 제어하는 데 필요합니다. MOSFET은 고주파 전압에서 ON / OFF되며 모터는 MOSFET의 드레인과 직렬로 연결되어 있기 때문에 전압의 PWM 값이 모터의 속도를 결정합니다.
현재 계산:
릴레이 코일의 저항은 = 400 ohms로 밝혀진 멀티 미터를 사용하여 측정됩니다.
Arduino의 Vin 핀은 = 12v를 제공합니다.
따라서 릴레이를 켜야하는 전류 = 12 / 400A = 30mA
두 릴레이 모두 전원이 공급되는 경우 전류 = 30 * 2 = 60 mA
** Arduino의 Vin 핀은 최대 전류 = 200mA를 공급할 수 있습니다.
따라서 Arduino에는 과전류 문제가 없습니다.
Arduino 제어 양방향 모터 작동:
이 양방향 모터 제어 회로의 작동 은 간단합니다. Arduino의 두 핀 (2, 3)은 항상 높게 유지됩니다.
누름 버튼을 누르지 않은 경우:
이 경우 트랜지스터의베이스에 전류가 흐르지 않으므로 Arduino의 Vin 핀에서 릴레이 코일로 전류가 흐르지 않기 때문에 트랜지스터가 꺼져 있습니다 (개방 스위치처럼 작동).
하나의 푸시 버튼을 누를 때:
이 경우 누름 버튼을 눌러 트랜지스터베이스에 전류가 흐르게됩니다. 이제이 릴레이 (RELAY A)를 켜는이 트랜지스터를 통해 Vin 핀에서 릴레이 코일로 전류가 쉽게 흐르고이 릴레이의 스위치가 NO 위치로 던져집니다. 다른 릴레이 (RELAY B)는 여전히 NC 위치에 있습니다. 따라서 배터리의 양극 단자에서 모터를 통해 음극 단자로 전류가 흐르게됩니다. 즉, 릴레이 A에서 릴레이 B로 전류가 흐르게되어 모터 가 시계 방향으로 회전하게 됩니다.
다른 푸시 버튼을 누를 때:
이번에는 다른 릴레이가 켜집니다. 이제 전류는이 릴레이 (RELAY B)를 켜는 트랜지스터를 통해 Vin 핀에서 릴레이 코일로 쉽게 흐르고이 릴레이의 스위치는 NO 위치로 던져집니다. 다른 릴레이 (RELAY A)는 NC 위치에 남아 있습니다. 따라서 전류는 모터를 통해 배터리의 양극 단자에서 배터리의 음극 단자로 흐릅니다. 그러나 이번에는 릴레이 B에서 릴레이 A로 전류가 흐릅니다. 이로 인해 모터 가 시계 반대 방향으로 회전합니다.
두 푸시 버튼을 모두 눌렀을 때:
이 경우 전류는 두 트랜지스터가 모두 켜지는 (닫힌 스위치처럼 작동) 두 트랜지스터의베이스로 흐릅니다. 따라서 두 릴레이는 이제 NO 위치에 있습니다. 따라서 모터를 통해 배터리의 양극 단자에서 음극 단자로 전류가 흐르지 않아 회전하지 않습니다.
DC 모터의 속도 제어:
MOSFET의 Gate는 Arduino UNO의 PWM 핀 6에 연결됩니다. MOSFET은 높은 PWM 주파수 전압에서 ON / OFF되며 모터는 MOSFET의 드레인과 직렬로 연결되어 있기 때문에 전압의 PWM 값이 모터의 속도를 결정합니다. 이제 전위차계의 와이퍼 단자와 Gnd 사이의 전압이 6 번 핀의 PWM 전압을 결정하고 와이퍼 단자가 회전함에 따라 아날로그 핀 A0의 전압이 변하여 모터 속도가 변경됩니다.
이것의 전체 작업 아두 이노 기반의 양방향 모터 속도 및 방향 제어 에 표시됩니다 아두 이노 코드와 아래 비디오.