앞서 논의했듯이 Arduino Due 는 전자 엔지니어와 애호가를 위해 설계된 ARM 컨트롤러 기반 보드입니다. 이 DUE 보드는 CNC 기계, 3D 프린터, 로봇 팔 등을 만드는 데 사용할 수 있습니다.이 모든 프로젝트에는 위치 제어라는 공통 기능이 있습니다. 이러한 프로젝트는 위치에 대한 정확성이 필요합니다. 이러한 기계의 정확한 위치는 서보 모터에 의해 달성 될 수 있습니다. 이 세션에서는 Arduino Due로 서보 모터의 위치 를 제어 할 것 입니다. 우리는 이미 Arduino Uno와 서보 모터 인터페이싱 및 8051 마이크로 컨트롤러와 서보 모터 인터페이싱을 다뤘습니다.
서보 모터:
서보 모터는 정확한 샤프트 움직임이나 위치로 유명합니다. 고속 애플리케이션에는 제안되지 않습니다. 이는 저속, 중간 토크 및 정확한 위치 적용을 위해 제안됩니다. 이 모터는 로봇 팔 기계, 비행 제어 및 제어 시스템에 사용됩니다. 서보 모터는 일부 프린터 및 팩스 기계에도 사용됩니다.
서보 모터는 다양한 모양과 크기로 제공됩니다. 우리가 사용됩니다 SG90 서보 모터를 이 튜토리얼에서. SG90은 180도 서보 모터입니다. 따라서이 서보를 사용하여 축을 0도에서 180도까지 배치 할 수 있습니다.
서보 모터는 주로 세 개의 전선이 있는데, 하나는 양극 전압 용이고 다른 하나는 접지 용이며 마지막 하나는 위치 설정 용입니다. 빨간색 선은 전원에 연결되고 갈색 선은 접지에 연결되고 노란색 선 (또는 WHITE)은 신호에 연결됩니다.
서보 모터는 DC 모터, 위치 제어 시스템 및 기어의 조합입니다. 서보에는 신호 핀에서 PWM 신호를 가져 오는 제어 시스템이 있습니다. 신호를 디코딩하여 듀티 비를 얻습니다. 그 후 비율을 미리 정의 된 위치 값과 비교합니다. 값에 차이가 있으면 그에 따라 서보의 위치를 조정합니다. 따라서 서보 모터의 축 위치는 PWM 신호와 SIGNAL 핀의 듀티 비를 기반으로합니다.
PWM (Pulse Width Modulated) 신호 의 주파수는 서보 모터 유형에 따라 다를 수 있습니다. 여기서 중요한 것은 PWM 신호의 DUTY RATIO입니다. Arduino Due로 PWM을 확인하십시오. 그러나이 경우 Duty Ratio 선택에 대해 걱정할 필요가 없습니다. Arduino에는 특별한 기능이 있습니다. 호출시 각도를 지정하는 것만으로 서보의 위치를 조정할 수 있습니다. 이에 대해서는 아래 작업 섹션에서 설명하겠습니다.
서보 모터를 Arduino Due에 연결 하기 전에이 서보 모터 테스터 회로의 도움으로 서보를 테스트 할 수 있습니다. 또한 Flex Sensor 또는 Force Sensor로 제어 서보를 위해 이러한 프로젝트를 확인하십시오.
구성품:
하드웨어: Arduino Due, 전원 공급 장치 (5v), 서보 모터.
소프트웨어: Arduino nightly, 아래 링크에서 다운로드하십시오 (https://www.arduino.cc/en/Main/Software).
이 소프트웨어를 다운로드하고 설치하는 방법에 대한 자세한 내용은 Arduino Due 시작하기 첫 번째 자습서를 참조하십시오.
회로도 및 작동 설명:
앞서 ARDUINO에서 언급했듯이 헤더 파일이 호출되거나 포함되면 그에 따라 주파수와 듀티 비율을 설정하는 사전 정의 된 라이브러리가 있습니다. ARDUINO에서 우리는 단순히 필요한 서보의 위치를 명시하기 만하면 DUE는 서보에 적합한 PWM 신호를 생성합니다. 서보의 정확한 위치를 얻기 위해해야 할 일은,
#포함
서보 myservo;
myservo.attach (servo_signal_pin_attached_to);
myservo.write (needed_position_ angle);
헤더 파일 “#include
두 번째로 서보 이름은 “Servo myservo” 를 사용하여 선택해야합니다. 여기서 myservo 는 선택한 이름이므로 위치를 작성하는 동안이 이름을 사용할 것입니다.이 기능은 제어 할 서보가 많을 때 유용합니다. 이것으로 12 개의 서보를 제어 할 수 있습니다.
으로 의 Arduino 인해 12 개 PWM 채널을 갖는 우리의 서보 신호 핀이 연결되거나는 PWM 신호를 생성하는 필요가있는 곳 DUE 말할 필요. 이를 위해 "myservo.attach (2);"가 있습니다. , 여기서 우리는 PIN2에서 서보의 신호 핀을 연결했음을 DUE에 알리고 있습니다.
왼쪽은 모두 위치를 설정하는 것입니다. “ myservo.write (45);”를 사용하여 서보의 위치를 설정 하겠습니다. ,이 명령에 의해 서보 핸드가 45도 움직입니다. '45'를 '175'로 변경하면 서보 축 각도는 175 도로 유지됩니다. 그 후에 서보의 위치를 변경해야 할 때마다 “ myservo.write (needed_position_angle);” 명령을 호출하면됩니다 . .
프로그램에서 루프를 사용하여 각도를 늘리거나 줄일 것입니다. 따라서 서보는 0에서 180으로, 그다음 180에서 0으로 스윕합니다. Arduino Due 의 서보 모터 제어 는 아래 의 C 코드 단계에서 가장 잘 설명 됩니다.