ESP8266 - 구동기 | ESP8266 - Actuator

이 튜토리얼은 ESP8266을 사용하여 리니어 액추에이터를 제어하는 방법을 안내합니다. 자세히, 우리는 다음을 배울 것입니다:

선형 구동기에는 두 가지 유형이 있습니다:

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

준비물

1×ESP8266 NodeMCU Amazon
1×Micro 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) 5V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter 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

ESP8266을 사용하여 선형 액추에이터를 제어하는 방법

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

  • 리니어 액추에이터를 최대 속도로 확장합니다.
  • 리니어 액추에이터를 최대 속도로 축소합니다.
  • (선택 사항) 확장 및 축소 속도를 조정합니다.

ESP8266은 선형 작동기를 제어하는 데 사용할 수 있는 신호를 생성할 수 있지만, 이 신호의 전압과 전류는 그대로 사용하기에는 너무 낮습니다. 따라서 하드웨어 드라이버를 사용하여 ESP8266과 선형 작동기 사이의 간극을 메워야 합니다. 드라이버에는 두 가지 기능이 있습니다:

  • ESP8266에서 오는 제어 신호의 전압과 전류를 증폭하십시오.
  • 전원 공급의 극성을 전환하여 방향 제어를 허용하는 ESP8266으로부터 다른 제어 신호를 수신하십시오.

※ NOTE THAT:

  • 이 튜토리얼은 모든 선형 액추에이터에 사용할 수 있으며, 12V 선형 액추에이터는 단지 예시입니다.
  • 5V 선형 액추에이터를 제어할 때 ESP8266 핀이 선형 액추에이터와 동일한 5V를 출력한다 하더라도, ESP8266 핀이 선형 액추에이터에 필요한 충분한 전류를 제공하지 못하기 때문에 ESP8266과 선형 액추에이터 사이에 드라이버가 필요합니다.

선형 액추에이터 드라이버에는 다양한 종류의 칩과 모듈이 있습니다. 이 튜토리얼에서는 L298N 드라이버를 사용할 예정입니다.

L298N 드라이버 소개

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

L298N 드라이버 핀배열

L298N Driver pinout

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

두 채널에 공통적인 핀들:

  • VCC 핀: 이 핀은 선형 액추에이터에 전력을 공급하며 5V에서 35V까지 가능합니다.
  • GND 핀: 이 핀은 0V(GND)에 연결해야 하는 접지 핀입니다.
  • 5V 핀: 이 핀은 L298N 모듈에 전력을 공급하며 ESP8266의 5V 출력에서 공급될 수 있습니다.

채널 A 핀:

  • ENA 핀: 이 핀들은 선형 구동기 A의 속도를 제어하는 데 사용됩니다. 점퍼를 제거하고 이 핀을 PWM 입력에 연결함으로써 선형 구동기가 확장되고 축소되는 속도를 제어할 수 있습니다.
  • IN1 및 IN2 핀: 이 핀들은 선형 구동기의 방향을 제어하는 데 사용됩니다. 하나가 HIGH로 설정되고 다른 하나가 LOW로 설정될 때, 선형 구동기는 확장되거나 축소됩니다. 두 입력 모두 HIGH이거나 LOW이면 선형 구동기는 멈춥니다.
  • OUT1 및 OUT2 핀: 이 핀들은 선형 구동기 A에 연결됩니다.

채널 B 핀:

  • ENB 핀: 선형 액추에이터 B의 속도를 조절하는 데 사용됩니다. 점퍼를 빼고 이 핀을 PWM 입력에 연결하면 선형 액추에이터 B의 확장/축소 속도를 제어할 수 있습니다.
  • IN3 & IN4 핀: 선형 액추에이터의 이동 방향을 제어하는 데 사용됩니다. 하나가 HIGH이고 다른 하나가 LOW일 때, 선형 액추에이터는 확장하거나 축소합니다. 두 입력이 모두 HIGH이거나 LOW인 경우 선형 액추에이터는 멈춥니다.
  • OUT3 & OUT4 핀: 선형 액추에이터에 연결됩니다.

L298N 드라이버는 두 개의 입력 전력을 가지고 있습니다:

  • 전압 범위가 5V에서 35V인 선형 구동기용으로, VCCGND 핀에 연결됩니다.
  • 전압 범위가 5V에서 7V인 L298N 모듈의 내부 작동용으로, 5V 및 GND 핀에 연결됩니다.

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

우리는 ESP8266과 L298N 드라이버의 도움으로 두 개의 선형 액추에이터를 독립적으로 동시에 제어할 수 있습니다. 각 선형 액추에이터를 제어하기 위해 ESP8266에서 단 세 개의 핀이 필요합니다.

※ NOTE THAT:

이 튜토리얼의 나머지 부분은 채널 A를 통해 선형 액추에이터를 제어하는 방법에 초점을 맞출 것입니다. 다른 선형 액추에이터를 제어하는 과정은 비슷합니다.

리니어 액추에이터 제어 방법

우리는 L298N 드라이버의 도움으로 리니어 액츄에이터를 관리하는 기술을 공부할 것입니다.

배선도

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

ESP8266 NodeMCU Linear Actuator L298N Driver wiring diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

리니어 액츄에이터를 확장/수축하는 방법

선형 액추에이터의 이동 방향은 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);

또는

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

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

선형 액추에이터의 속도를 조절하기 쉽습니다. ENA 핀을 HIGH로 설정하는 대신, ENA 핀에 PWM 신호를 발생시킬 수 있습니다. 이는 다음과 같이 수행할 수 있습니다:

  • ESP8266 핀을 L298N의 ENA에 연결하기
  • analogWrite() 함수를 사용하여 ENA 핀에 PWM 신호 생성하기. L298N 드라이버가 리니어 액추에이터로 PWM 신호를 증폭합니다.
analogWrite(ENA_PIN, speed); // 속도는 0에서 255 사이의 값입니다

속도는 0부터 255까지의 값입니다. 속도가 0일 때, 리니어 액추에이터는 정지할 것입니다. 속도가 255일 때, 리니어 액추에이터는 최대 속도로 확장/수축할 것입니다.

ESP8266 예제 코드

아래의 코드:

  • 선형 구동기의 속도를 최대로 증가시킵니다
  • 선형 구동기를 정지시킵니다
  • 선형 구동기의 속도를 최대로 줄입니다
  • 선형 구동기를 다시 정지시킵니다
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-actuator */ #define ENA_PIN 7 // ESP8266 핀이 L298N의 EN1 핀에 연결됨 #define IN1_PIN 6 // ESP8266 핀이 L298N의 IN1 핀에 연결됨 #define IN2_PIN 5 // ESP8266 핀이 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); // 작동기는 제한에 도달하면 자동으로 축소를 멈춥니다 }

사용 방법

Arduino IDE에서 ESP8266을 시작하려면 다음 단계를 따르세요:

ESP8266을 처음 사용하는 경우, Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.

구성 요소를 다이어그램에 표시된 대로 연결하세요.

USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.

컴퓨터에서 Arduino IDE를 엽니다.

올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module)) 및 해당 COM 포트를 선택하세요.

L298N 모듈에서 점퍼 3개를 모두 빼십시오.

위의 코드를 복사하고 아두이노 IDE에서 열어보세요.

아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드하세요.

당신은 관찰할 것입니다:

선형 액추에이터는 제한에 도달할 때까지 확장할 것이며, 그 후에 멈출 것입니다.

선형 액추에이터는 일정 시간 동안 그 위치에 머물 것입니다.

선형 액추에이터는 제한에 도달할 때까지 축소할 것이며, 그 후에 멈출 것입니다.

선형 액추에이터는 일정 시간 동안 그 위치에 머물 것입니다.

이 과정은 계속 반복될 것입니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!