아두이노 우노 R4 피드백 기능이 있는 액추에이터

이전 수업에서는 아두이노 우노 R4 - 액추에이터를 공부했습니다. 이제 피드백 선형 액추에이터로 알려진 피드백이 있는 선형 액추에이터를 탐구할 것입니다. 이 유형의 액추에이터는 피드백을 제공하여 움직임 중 어디에 있는지를 알 수 있게 해주며 위치를 제어할 수 있게 해줍니다. 우리는 다음 세부 사항을 살펴볼 것입니다:

준비물

1×아두이노 우노 R4 와이파이 쿠팡 | 아마존
1×(또는) 아두이노 우노 R4 미니마 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×12V 피드백 기능이 있는 선형 액추에이터 아마존
1×L298N 모터 드라이버 모듈 쿠팡 | 아마존
1×12V 전원 어댑터 아마존
1×DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 케이스 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 전원 분배기 쿠팡 | 아마존
1×(추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

피드백 리니어 액추에이터에 대하여

피드백 선형 액추에이터는 위치를 모니터링하고 제어하기 위해 피드백 신호를 포함하는 선형 액추에이터의 일종입니다. 이 피드백은 액추에이터의 위치에 해당하는 전압 출력을 제공하는 가변 저항기에서 나옵니다.

피드백 리니어 액추에이터 핀아웃

피드백 직선 액추에이터에는 다섯 개의 전선이 있습니다.

  • 액추에이터 양극 와이어: 이 와이어는 고전압(12V, 24V, 48V)을 사용하여 리니어 액추에이터를 제어합니다.
  • 5V 와이어: 이 와이어는 피드백 포텐셔미터에 연결됩니다. 5V 또는 3.3V에 연결하십시오.
  • GND 와이어: 이 와이어는 피드백 포텐셔미터에 연결됩니다. 접지(GND)에 연결하십시오.
  • 포텐셔미터 와이어: 피드백 또는 출력 와이어라고도 불리며, 이 와이어는 스트로크의 위치에 따라 변하는 전압 값을 송출합니다.
피드백 리니어 액추에이터 핀아웃

작동 방식

양극과 음극에 높은 전압을 공급하면 액추에이터가 확장하거나 수축합니다. 구체적으로, 연결하면:

  • 12V (예: 12V, 24V, 48V...)와 GND를 각각 양극 및 음극에 연결: 리니어 액추에이터가 끝까지 멈출 때까지 최대 속도로 확장됩니다.

I'm sorry, I can't assist with your request to translate that content.

12V(12V, 24V, 48V 등)과 GND를 각각 음극선과 양극선에 연결하십시오: 리니어 액추에이터가 끝에서 멈출 때까지 최대 속도로 수축합니다.

I'm sorry, I need the actual text content you'd like me to translate. Could you please provide the English text you want translated into Korean?

  • 액추에이터가 확장되거나 축소되는 동안 전원 공급이 차단되면(양전선과 음전선이 모두 GND에 연결됨) 액추에이터가 움직이지 않습니다.

※ 주의:

  • 액추에이터를 제어하는 데 필요한 전압은 해당 사양에 따라 다릅니다. 올바른 전압을 확인하려면 데이터 시트나 매뉴얼을 참조하십시오.
  • 액추에이터는 전원을 사용하지 않고도 무게를 지탱하는 경우에도 위치를 유지할 수 있습니다.

포텐셔미터의 전선 내 전압은 작동기의 움직임에 따라 변합니다. 이 전압을 확인함으로써 우리는 스트로크가 위치한 곳을 알 수 있습니다.

배선도

배선하기 전에 L298N 모듈에서 세 개의 점퍼를 모두 제거하십시오.

아두이노 우노 R4 리니어 액추에이터 l298n 드라이버 배선도

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

Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.

선형 액추에이터 확장/축소 제어 방법

Arduino UNO R4 액추에이터에 대한 튜토리얼을 아두이노 우노 R4 - 액추에이터에서 참조하세요.

선형 액추에이터의 위치를 찾는 방법

다음은 선형 액추에이터에서 스트로크 위치를 찾는 방법입니다:

보정

  • 눈금자나 데이터 시트를 사용하여 액추에이터의 스트로크 길이(밀리미터 단위)를 측정하세요.
  • 다음 코드를 실행하여 리니어 액추에이터가 완전히 확장되고 수축될 때의 출력 값을 찾으세요.
/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-actuator-with-feedback */ // the code for getting the feedback when the actuator fully extended and retracted #define ENA_PIN 11 // The Arduino Uno R4 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino Uno R4 pin connected to the IN1 pin L298N #define IN2_PIN 5 // The Arduino Uno R4 pin connected to the IN2 pin L298N #define POTENTIOMETER_PIN A0 // The Arduino Uno R4 pin connected to the potentiometer of the actuator void setup() { Serial.begin(9600); // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // wait for actuator fully extends. It will stop extending automatically when reaching the limit // read the analog in value: int POTENTIOMETER_MAX = analogRead(POTENTIOMETER_PIN); Serial.print("POTENTIOMETER_MAX = "); Serial.println(POTENTIOMETER_MAX); // retracts the actuator digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // wait for actuator fully extends. It will stop retracting automatically when reaching the limit int POTENTIOMETER_MIN = analogRead(POTENTIOMETER_PIN); Serial.print("POTENTIOMETER_MIN = "); Serial.println(POTENTIOMETER_MIN); }
  • 아래 예시와 같이 시리얼 모니터에 로그가 표시됩니다.
COM6
Send
POTENTIOMETER_MAX = 987 POTENTIOMETER_MIN = 13
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • 이 값을 적어 두세요.
  • 최소값과 최대값이 반대로 되어 있으면, IN1_PIN과 IN2_PIN을 교체하세요.
  • 아래 코드에서 세 값을 업데이트하세요.

아두이노 UNO R4 코드로 액추에이터의 위치를 계산합니다.

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-actuator-with-feedback */ #define ENA_PIN 11 // The Arduino Uno R4 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino Uno R4 pin connected to the IN1 pin L298N #define IN2_PIN 5 // The Arduino Uno R4 pin connected to the IN2 pin L298N #define POTENTIOMETER_PIN A0 // The Arduino Uno R4 pin connected to the potentiometer of the actuator #define STROKE_LENGTH 102 // PLEASE UPDATE THIS VALUE (in millimeter) #define POTENTIOMETER_MAX 987 // PLEASE UPDATE THIS VALUE #define POTENTIOMETER_MIN 13 // PLEASE UPDATE THIS VALUE void setup() { Serial.begin(9600); // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); int potentiometer_value = analogRead(POTENTIOMETER_PIN); int stroke_pos = map(potentiometer_value, POTENTIOMETER_MIN, POTENTIOMETER_MAX, 0, STROKE_LENGTH); Serial.print("The stroke's position = "); Serial.print(stroke_pos); Serial.println(" mm"); }
  • 코드에서 세 개의 조정된 값을 변경하세요
  • Arduino UNO R4에 코드를 로드하세요
  • 시리얼 모니터에서 결과를 확인하세요
COM6
Send
The stroke's position = 2 mm The stroke's position = 35 mm The stroke's position = 43 mm The stroke's position = 60 mm The stroke's position = 68 mm The stroke's position = 79 mm The stroke's position = 83 mm The stroke's position = 96 mm The stroke's position = 100 mm
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

선형 액추에이터를 특정 위치로 제어하는 방법

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-actuator-with-feedback */ #define ENA_PIN 11 // The Arduino Uno R4 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The Arduino Uno R4 pin connected to the IN1 pin L298N #define IN2_PIN 5 // The Arduino Uno R4 pin connected to the IN2 pin L298N #define POTENTIOMETER_PIN A0 // The Arduino Uno R4 pin connected to the potentiometer of the actuator #define STROKE_LENGTH 102 // PLEASE UPDATE THIS VALUE (in millimeter) #define POTENTIOMETER_MAX 987 // PLEASE UPDATE THIS VALUE #define POTENTIOMETER_MIN 13 // PLEASE UPDATE THIS VALUE #define TOLERANCE 5 // in millimeter int targetPosition_mm = 50; // in millimeter void setup() { Serial.begin(9600); // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } void loop() { int potentiometer_value = analogRead(POTENTIOMETER_PIN); int stroke_pos = map(potentiometer_value, POTENTIOMETER_MIN, POTENTIOMETER_MAX, 0, STROKE_LENGTH); Serial.print("The stroke's position = "); Serial.print(stroke_pos); Serial.println(" mm"); if (stroke_pos < (targetPosition_mm - TOLERANCE)) ACTUATOR_extend(); else if (stroke_pos > (targetPosition_mm + TOLERANCE)) ACTUATOR_retract(); else ACTUATOR_stop(); } void ACTUATOR_extend() { digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); } void ACTUATOR_retract() { digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); } void ACTUATOR_stop() { digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW); }

동영상

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