-
아두이노 | DC모터 PWM 제어Technology/Arduino 2023. 12. 29. 18:00
1. DC모터
정격 전압이 DC 9V인 DC모터 DC모터는 직류(Direct Current, DC) 전원을 공급하면 구동축이 회전하는 구동기이다. 부가 기능이 없는 DC모터에는 두 개의 전극이 노출되어 있는데, 여기에 DC 전원을 연결하면 구동축이 한 방향으로 회전한다. 모든 DC모터에는 정격 전압이 있으며, 정격 전압보다 낮은 전압 범위 내에서 DC모터에 공급되는 전압이 커질수록 구동축의 회전 속력이 빨라진다. 이때 IRF520과 같은 트랜지스터를 사용하면 PWM 제어로 DC모터의 회전 속력을 제어할 수 있다. 이번 예제에서 사용할 DC모터는 아래 링크로 접속하면 구매할 수 있으며, 정격 전압은 DC 9V이다.
DC Toy / Hobby Motor - 130 Size [ada-711]
DC 취미 모터 / 4.5~9VDC / 아두이노 / 시작 토크 : 20g*cm / 샤프트 크기 : 직경 8mm x 2mm
www.devicemart.co.kr
2. 역기전력
역기전력 앞서 살펴본 DC모터 그림에서 DC모터 전극 사이에 다이오드가 병렬로 연결되어 있는 것을 확인할 수 있다. 이는 DC모터에서 발생할 수 있는 역기전력(Counter-electromotive Force, Back EMF)으로부터 전자 회로를 보호하기 위한 것이다. DC모터에 전원을 공급하다가 멈추면, DC모터 내부에 있는 코일에서 유도 전류가 발생해 트랜지스터를 포함한 전자 회로에 부담을 줄 수 있다. 이를 방지하기 위해 위 그림과 같이 전류 방향과 반대 방향으로 다이오드를 배치하면 전원 공급이 멈췄을 때 발생하는 유도 전류를 소산시킬 수 있다. 다이오드는 극성이 있는 전자 소자이므로 극성의 방향을 확인하여 연결해야 한다. 하얀 선으로 표시된 부분이 음극이며, 양극에서 음극으로만 전류가 흐를 수 있다. 다이오드는 아래 링크로 접속하면 구매할 수 있다.
SR540
쇼트키 다이오드, 5A/40V/ *품명이 SR540으로 바뀌어 나갑니다*
www.devicemart.co.kr
3. 예제
3.1. 회로 구성
회로 구성 IRF520 MOSFET 드라이버 모듈 [SZH-MDBL-004]
IRF520 파워 MOS 사용 / PWM 출력 조정 / Voltage: 3.3V - 5V / Output voltage: 0V - 24V / Size: 33mm x 24mm
www.devicemart.co.kr
3.2. 프로그램 작성
void setup() { pinMode(11, OUTPUT); // 디지털 11번 핀을 출력(OUTPUT) 모드로 설정 } void loop() { analogWrite(11, 255); // 디지털 11번 핀에 PWM 아날로그 신호 5V 출력 delay(1000); // 1000 ms 대기 analogWrite(11, 0); // 디지털 11번 핀에 PWM 아날로그 신호 0V 출력 delay(1000); // 1000 ms 대기 for (int i = 1; i <= 255; i++) // 10ms 간격으로 점점 빠르게 회전 { analogWrite(11, i); // 디지털 11번 핀에 PWM 아날로그 신호 i 출력 delay(10); // 10 ms 대기 } delay(1000); // 1000 ms 대기 for (int i = 254; i >= 0; i--) // 10ms 간격으로 점점 느리게 회전 { analogWrite(11, i); // 디지털 11번 핀에 PWM 아날로그 신호 i 출력 delay(10); // 10 ms 대기 } delay(1000); // 1000 ms 대기 }
[함께 읽으면 좋은 페이지]
아두이노 아날로그 신호 출력: PWM
1. 아날로그 신호 출력 아두이노 하드웨어는 기본적으로 디지털 신호만 처리할 수 있기 때문에, 출력되는 신호 또한 디지털 신호 형태로 출력된다. 아두이노 하드웨어에서 아날로그 신호 또한
vedacube.tistory.com
아두이노 | MOSFET IRF520 모듈
1. MOSFET IRF520 모듈 MOSFET(Metal Oxide Semiconductor Field Effect Transistor)은 트랜지스터의 일종으로, 전기 신호로 제어할 수 있는 전기적 스위치 소자이다. 게이트(Gate), 드레인(Drain), 소스(Source) 단자를 가지
vedacube.tistory.com
아두이노 | DC모터 드라이버 L293D 모듈
1. DC모터 드라이버 L293D 모듈 DC모터 2개를 양방향으로 제어하기 위해 L293D와 전자 소자를 탑재한 DC모터 드라이버 모듈이다. 모터 방향 단자에 디지털 신호를 입력하거나 입력하지 않는 것으로 DC
vedacube.tistory.com
아두이노 | DC모터 드라이버 L298N 모듈
1. DC모터 드라이버 L298N 모듈 L298N은 H-브리지 회로가 내장된 전자 소자로, 앞서 살펴본 L293D보다 더 큰 부하의 DC모터를 제어할 수 있다. L298N을 이용한 DC모터 드라이버 모듈은 DC모터 2개를 양방향
vedacube.tistory.com
참고문헌
- Danial Koch. (2021). Pulse Width Modulation More Than You Might Think. DIYODE. https://diyodemag.com/education/pwm_pulse_width_modulation_555_timer_motor. 2023.10.25.
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 | DC모터 드라이버 L293D 모듈 (1) 2024.01.05 아두이노 | DC모터 드라이버 L293D (0) 2024.01.05 아두이노 | MOSFET IRF520 모듈 (0) 2023.12.22 아두이노 | 릴레이 DC 5V 모듈 (0) 2023.12.15 아두이노 시리얼 통신: 데이터 입력 (1) 2023.12.08