Arduino를 사용한 모터 드라이버 속도 제어

이 예에서는 Arduino 및 모터 드라이버를 사용하여 선형 액추에이터의 속도를 제어합니다.

참고 :이 튜토리얼은 기본적인 전자 원리, Arduino 하드웨어 및 소프트웨어에 대한 사전 지식이 있다고 가정합니다. Arduino를 처음 사용하는 경우 Google 및 YouTube 검색을 통해 제공되는 많은 훌륭한 초보자 자습서 중 하나에서 기본 사항을 배우는 것이 좋습니다. 사용자 지정 응용 프로그램에 대한 기술 지원을 제공 할 리소스가 없으며 공개적으로 사용 가능한 자습서 외부에서 코드 또는 배선 다이어그램을 디버그, 편집, 제공하지 않습니다.

구성품

배선

Arduino를 사용한 모터 드라이버 속도 제어

하드웨어 및 소프트웨어 개요

선형 액추에이터의 DC 모터에는 고전류 (최대 5A)가 필요합니다. 선형 액추에이터를 Arduino에 직접 연결하는 경우이 높은 전류 소모는 Arduino 디지털 핀이 각각 40mA에 대해서만 정격이기 때문에 파괴됩니다. 따라서 Arduino 보드에서 저 전류 PWM (펄스 폭 변조) 신호를 받아 선형 액추에이터에 고전류 PWM 신호를 출력 할 수있는 모터 드라이버를 사용합니다.

모터 드라이버는 2 개의 PWM 디지털 핀 (Arduino Uno의 핀 10 및 11)에 연결됩니다. 이 핀 중 하나를 LOW로 설정하고 다른 핀을 HIGH로 설정하면 (아래 코드의 18 번과 19 번 라인 참조) 액추에이터를 최대 속도로 확장 할 수 있습니다. 액추에이터를 중지하기 위해 두 핀을 LOW로 설정하고 (아래 코드의 21 및 22 행 참조) 동작 방향을 반대로하기 위해 HIGH 및 LOW 핀의 순서를 반대로 할 수 있습니다 (아래 코드의 24 및 25 행 참조). 변수 "Speed"를 [0, 255] 범위의 값으로 변경하여 속도를 조정할 수도 있습니다. 아래 코드의 17 행을 참조하십시오.

암호

https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a

전위차계를 사용한 다양한 속도 제어

위의 예에서 우리는 코드의 17 행에 속도를 수동으로 설정했습니다. 그러나 시간에 따라 액추에이터의 속도를 변경하려는 상황이 발생할 수 있습니다. 이를 달성하는 가장 쉬운 방법은 전위차계를 사용하는 것입니다. ㅏ 전위차계는전압 분배기 역할을 할 수있는 3 단자 가변 저항기. 전위차계의 손잡이를 회전하면 출력 전압이 달라지며이를 Arduino의 아날로그 핀에 연결하여 가변 속도를 설정할 수 있습니다.

배선

Arduino를 사용한 모터 드라이버 속도 제어

하드웨어 및 소프트웨어 개요

위에서 언급했듯이 전위차계는 노브를 돌릴 때 저항을 변경하는 회전 장치입니다. 전위차계의 외부 핀 2 개를 5V 및 GND에 연결하고 중간 핀을 Arduino 아날로그 핀 A0에 연결하면 전압 분배기가 생성됩니다. 노브가 회전하면 Arduino는 [0, 1023] 범위의 아날로그 판독 값을 읽습니다.

[512, 1023] 범위의 값의 경우 액추에이터를 확장하고 [0, 511] 값의 경우 액추에이터를 후퇴 시키길 원합니다. 이는 22 행과 28 행의 간단한 if () / else 문으로 수행 할 수 있습니다. 아래 코드. 그런 다음 map () 함수 (아래 코드의 23 행과 29 행)를 사용하여이를 액추에이터의 속도와 방향을 모두 제어하는 ​​PWM 신호로 변환 할 수 있습니다.

암호

https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856

Share This Article
Tags: