아두이노 나노 - 액추에이터 | Arduino Nano - Actuator

이 튜토리얼은 아두이노 나노를 사용하여 리니어 액추에이터를 제어하는 방법을 안내합니다. 구체적으로, 우리는 배울 것입니다:

선형 액추에이터에는 두 가지 종류가 있습니다:

이 튜토리얼은 피드백 없는 선형 액추에이터를 위한 것입니다. 피드백이 있는 선형 액추에이터에 대해 알고 싶다면, 아두이노 나노 - 피드백이 있는 액추에이터 튜토리얼을 참조하십시오.

준비물

1×Arduino Nano Amazon
1×USB A to Mini-B USB cable 쿠팡 | Amazon
1×Linear Actuator Amazon
1×L298N Motor Driver Module Amazon
1×12V Power Adapter Amazon
1×DC Power Jack 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Nano Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

리니어 액추에이터에 관하여

Linear Actuator Extend Retract

선형 액추에이터 핀배열

선형 액추에이터는 일반적으로 두 개의 전선을 가지고 있습니다:

  • 양선은 보통 빨간색입니다.
  • 음선은 보통 검은색입니다.
Linear Actuator pinout

작동 원리

리니어 액추에이터를 구매할 때는 전압 요구 사항을 인지하는 것이 필수적입니다. 예를 들어, 12V 리니어 액추에이터를 고려해 봅시다.

12V 전원 공급 장치로 12V 선형 액추에이터를 구동할 때:

  • 양전선에 12V를 연결하고 음전선에 GND를 연결하면: 선형 액츄에이터가 제한에 도달할 때까지 전속으로 확장됩니다.
  • 음전선에 12V를 연결하고 양전선에 GND를 연결하면: 선형 액츄에이터가 제한에 도달할 때까지 전속으로 축소됩니다.

액추에이터가 확장하거나 축소하는 과정 중에 전력이 차단되면, 움직임이 멈출 것입니다.

※ NOTE THAT:

DC 모터, 서보 모터 및 기어 없는 스테퍼 모터의 경우 부하가 있을 때 전원이 차단되면 위치를 유지할 수 없습니다. 반면, 액추에이터는 부하를 지탱하면서도 전원이 공급되지 않아도 위치를 유지할 수 있습니다.

선형 액추에이터에 공급되는 전원의 전압이 12V 미만인 경우, 선형 액추에이터는 여전히 확장 및 축소되지만 최대 속도로는 작동하지 않습니다. 전원원의 전압을 변경하면 선형 액추에이터의 속도를 변경할 수 있지만, 전압을 제어하기 어렵기 때문에 이 방법은 일반적으로 사용되지 않습니다. 더 실용적인 접근 방식은 전원원의 전압을 고정시키고 PWM 신호를 사용하여 선형 액추에이터의 속도를 제어하는 것입니다. PWM의 듀티 사이클이 높을수록 선형 액추에이터는 더 빠르게 확장 및 축소됩니다.

How to control linear actuator

아두이노 나노를 사용하여 리니어 액추에이터를 제어하는 방법

선형 액추에이터를 제어하는 것은 다음을 포함합니다:

  • 선형 액추에이터를 최고 속도로 확장합니다.
  • 선형 액추에이터를 최고 속도로 축소합니다.
  • (선택사항) 확장/축소 속도를 조절합니다.

Arduino Nano는 리니어 액추에이터를 제어하기 위한 신호를 생성할 수 있지만, 낮은 전압과 전류를 가지고 있습니다. 따라서, 다음을 위해 Arduino Nano와 리니어 액추에이터 사이에 하드웨어 드라이버가 필요합니다:

  • Arduino Nano에서 제어 신호를 증폭합니다.
  • 방향 제어를 위해 전원 공급 장치의 극성을 전환하기 위해 Arduino Nano에서 다른 제어 신호를 받습니다.

※ NOTE THAT:

이 튜토리얼은 모든 종류의 선형 액추에이터에 사용할 수 있습니다. 12V 선형 액추에이터는 그저 하나의 예일 뿐입니다.

5V 선형 액추에이터를 제어할 때, 아두이노 나노 핀이 5V(선형 액추에이터의 전압과 동일)를 출력하더라도, 아두이노 나노 핀은 선형 액추에이터에 필요한 충분한 전류를 제공하지 않기 때문에 아두이노 나노와 선형 액추에이터 사이에 드라이버가 여전히 필요합니다.

L293D 및 L298N과 같은 다양한 유형의 칩과 모듈이 리니어 액추에이터 드라이버로 사용될 수 있습니다. 이 튜토리얼에서는 L298N 드라이버를 사용할 예정입니다.

※ NOTE THAT:

릴레이를 드라이버로도 사용할 수 있습니다. 그러나 단일 리니어 액추에이터(확장 및 축소 모두)를 제어하기 위해 네 개의 릴레이가 필요합니다.

L298N 드라이버 정보

L298N 드라이버는 리니어 액추에이터, DC 모터 및 스테퍼 모터를 제어하는 데 사용할 수 있습니다. 이 튜토리얼에서는 리니어 액추에이터를 제어하는 방법을 알려드립니다.

L298N 드라이버 핀배열

L298N Driver pinout

L298N 드라이버에는 A와 B로 표시된 두 개의 채널이 있습니다. 이를 통해 두 개의 선형 액추에이터를 동시에 독립적으로 제어할 수 있습니다. 선형 액추에이터 A가 채널 A에 연결되어 있고 선형 액추에이터 B가 채널 B에 연결되어 있다고 가정합니다. L298N 드라이버에는 총 13개의 핀이 있습니다.

두 채널 모두에 대한 공통 핀:

  • VCC 핀: 이 핀은 선형 액추에이터에 전원을 제공하며 5V에서 35V까지 다양하게 설정할 수 있습니다.
  • GND 핀: 이것은 공통 접지 핀이며 0V(GND)에 연결해야 합니다.
  • 5V 핀: 이 핀은 L298N 모듈에 전원을 공급하며 아두이노 나노에서 5V를 받아 사용할 수 있습니다.

Channel A 핀:

  • ENA 핀: 이 핀들은 선형 구동기 A의 속도를 조절하는 데 사용됩니다. 점퍼를 제거하고 이 핀을 PWM 입력에 연결함으로써, 우리는 선형 구동기 A의 확장/수축 속도를 제어할 수 있습니다.
  • IN1 & IN2 핀: 이 핀들은 선형 구동기의 이동 방향을 결정하는 데 사용됩니다. 하나는 HIGH이고 다른 하나는 LOW일 때, 선형 구동기는 확장하거나 수축합니다. 두 입력 모두 HIGH이거나 LOW일 경우, 선형 구동기는 움직임을 멈출 것입니다.
  • OUT1 & OUT2 핀: 이 핀들은 선형 구동기 A에 연결됩니다.

채널 B 핀:

  • ENB 핀: 이 핀들을 사용하여 리니어 액추에이터 B의 속도를 제어합니다. 점퍼를 제거하고 이 핀을 PWM 입력에 연결함으로써, 리니어 액추에이터 B의 확장/축소 속도를 조정할 수 있습니다.
  • IN3 및 IN4 핀: 이 핀들은 리니어 액추에이터의 방향을 제어하는데 사용됩니다. 하나는 HIGH로 다른 하나는 LOW로 설정되면, 리니어 액추에이터는 확장되거나 축소됩니다. 두 입력이 모두 HIGH이거나 LOW인 경우, 리니어 액추에이터는 움직임을 멈출 것입니다.
  • OUT3 및 OUT4 핀: 이 핀들은 리니어 액추에이터에 연결됩니다.

L298N 드라이버에는 두 개의 전원 입력이 있습니다:

  • 선형 액추에이터(VCCGND 핀)용으로, 전압 범위가 5V에서 35V입니다.
  • L298N 모듈의 내부 작동용(5V 및 GND 핀)으로, 전압 범위가 5V에서 7V입니다.

간단하게 하기 위해 L298N 드라이버에서 모든 점퍼를 제거하십시오.

우리는 Arduino Nano와 L298N 드라이버를 활용하여 두 개의 선형 액추에이터를 동시에 개별적으로 제어할 수 있습니다. 각 선형 액추에이터를 제어하기 위해, 우리는 Arduino Nano에서 단지 세 개의 핀만 필요로 합니다.

※ NOTE THAT:

이 튜토리얼의 나머지 부분은 채널 A를 사용하여 리니어 액츄에이터를 제어하는 데 집중할 것입니다. 다른 리니어 액츄에이터의 제어도 비슷합니다.

선형 액추에이터 제어 방법

이 튜토리얼은 L298N 드라이버와 아두이노 나노를 사용하여 리니어 액츄에이터를 관리하는 방법을 알려줍니다.

배선도

L298N 모듈에 연결하기 전에 세 개의 점퍼를 모두 제거하세요.

Arduino Nano Linear Actuator L298N Driver wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

선형 액추에이터를 확장/수축시키는 방법

리니어 액추에이터의 이동 방향은 IN1 및 IN2 핀에 로직 HIGH/LOW를 제공함으로써 관리할 수 있습니다. 아래 표는 두 채널 모두에서 방향을 제어하는 방법을 설명합니다.

IN1 pin IN2 pin Direction
LOW LOW Linear Actuator A stops
HIGH HIGH Linear Actuator A stops
HIGH LOW Linear Actuator A extends
LOW HIGH Linear Actuator A retracts

선형 액추에이터 A의 길이를 늘리세요.

digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);

선형 액추에이터 A의 방향을 반대로 하세요

digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ NOTE THAT:

선형 액추에이터의 방향은 OUT1 및 OUT2 핀을 액추에이터의 두 핀에 다른 순서로 연결함으로써 바꿀 수 있습니다. 이를 위해서는 OUT1 및 OUT2 핀을 전환하거나 코드에서 IN1 및 IN2 핀의 제어 신호를 변경해야 합니다.

리니어 액추에이터가 확장되거나 수축하는 것을 멈추는 방법

선형 액추에이터는 한계에 도달하면 더 이상 확장/축소되지 않습니다. 또한, 한계에 도달하기 전에 확장/축소를 멈추도록 프로그래밍할 수 있습니다.

전력을 차단하다

선형 구동기를 정지시키는 두 가지 방법이 있습니다:

  • 속도를 0으로 줄이세요.
  • 전원 공급을 끊으세요.
analogWrite(ENA_PIN, 0);

IN1 IN2 핀을 LOW 또는 HIGH 중 같은 값으로 설정합니다.

digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);

Or

digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

선형 액추에이터의 속도를 L298N 드라이버를 통해 제어하는 방법

리니어 액추에이터의 속도를 관리하기는 쉽습니다. ENA 핀을 HIGH로 설정하는 대신, 울 수 있습니다 ENA 핀에 PWM 신호를 생성합니다. 이 작업은 다음과 같이 수행할 수 있습니다:

  • 아두이노 나노의 핀을 L298N의 ENA에 연결하기
  • analogWrite() 함수를 활용하여 ENA 핀에 PWM 신호를 생성하기. L298N 드라이버는 선형 액추에이터로 PWM 신호를 증폭할 것입니다.
analogWrite(ENA_PIN, speed); // 속도는 0에서 255 사이의 값입니다

속도는 0부터 255까지의 범위입니다. 속도가 0이면, 리니어 액추에이터는 움직임을 멈춥니다. 속도가 255일 때, 리니어 액추에이터는 최고 속도로 확장/수축합니다.

아두이노 나노 예제 코드

코드:

  • 선형 액추에이터를 최대 속도로 증가시킵니다
  • 선형 액추에이터를 정지시킵니다
  • 선형 액추에이터를 최대 속도로 감소시킵니다
  • 선형 액추에이터를 정지시킵니다
/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-actuator */ const int ENA_PIN = 7; // 아두이노 나노 핀이 L298N의 EN1 핀에 연결됨 const int IN1_PIN = 6; // 아두이노 나노 핀이 L298N의 IN1 핀에 연결됨 const int IN2_PIN = 5; // 아두이노 나노 핀이 L298N의 IN2 핀에 연결됨 // setup 함수는 리셋이나 전원이 켜질 때 한 번 실행됩니다. void setup() { // 디지털 핀을 출력으로 초기화합니다. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } // loop 함수는 무한히 반복됩니다. void loop() { // 작동기를 연장합니다. digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // 작동기가 한계에 도달하면 자동으로 연장을 멈춥니다. // 작동기를 축소합니다. digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // 작동기가 한계에 도달하면 자동으로 축소를 멈춥니다. }

사용 방법

L298N 모듈에서 점퍼 세 개를 모두 빼세요.

코드를 복사해서 아두이노 IDE에서 열어보세요.

Arduino IDE에서 코드를 Arduino Nano에 업로드하려면 Upload 버튼을 클릭하세요.

당신은 관찰할 것입니다:

  • 선형 액추에이터는 한계에 도달할 때까지 확장되고, 그때 멈출 것입니다.
  • 선형 액추에이터는 정해진 시간 동안 이 위치에 머물 것입니다.
  • 선형 액추에이터는 한계에 도달할 때까지 다시 축소되고, 그때 멈출 것입니다.
  • 선형 액추에이터는 정해진 시간 동안 이 위치에 남아있을 것입니다.
  • 이 과정은 반복될 것입니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!