Servo: วิธีใช้เซอร์โวมอเตอร์กับ Arduino

เซอร์โวเซอร์โวมอเตอร์

หากคุณต้องการใช้ไฟล์ เซอร์โวมอเตอร์หรือเซอร์โวมี แพลตฟอร์มฮาร์ดแวร์ในบทความนี้คุณจะได้เรียนรู้สิ่งที่คุณต้องใช้ในการเริ่มต้น เราได้เห็นแล้วในบทความอื่น ๆ ว่าจำเป็นต้องใช้อะไรบ้าง มอเตอร์ไฟฟ้า, สเต็ปเปอร์มอเตอร์และแนวคิดอื่น ๆ ที่จำเป็นในการทำความเข้าใจการทำงานของอุปกรณ์ประเภทนี้เช่นบทความเกี่ยวกับ PWM.

ตอนนี้คุณสามารถเพิ่มส่วนประกอบอิเล็กทรอนิกส์ใหม่เข้าไปได้ รายการอุปกรณ์ วิเคราะห์แล้วคุณสามารถไปได้ บูรณาการโครงการ DIY ของคุณ เพื่อเพิ่มฟังก์ชันใหม่

เซอร์โวคืออะไร?

เซอร์โว

Un เซอร์โวมอเตอร์หรือเซอร์โวเป็นมอเตอร์อิเล็กทรอนิกส์ที่มีความคล้ายคลึงกับมอเตอร์กระแสตรงทั่วไป แต่มีองค์ประกอบบางอย่างที่ทำให้เป็นพิเศษ ในกรณีนี้มีความสามารถในการดำรงตำแหน่งที่ระบุไว้ซึ่งเป็นสิ่งที่มอเตอร์ไฟฟ้าไม่อนุญาต

ในทางกลับกันเซอร์โวยังสามารถ ควบคุมได้อย่างแม่นยำ ความเร็วในการหมุนต้องขอบคุณชุดเกียร์ภายในและระบบที่ช่วยให้สามารถควบคุมได้ดีกว่าที่ทำได้ในมอเตอร์ประเภทอื่น ๆ

คุณสมบัติเหล่านี้ทำให้น่าสนใจเป็นพิเศษสำหรับ การใช้งาน หุ่นยนต์หรืออุปกรณ์อื่น ๆ ที่จำเป็นต้องควบคุมการเคลื่อนไหวและตำแหน่งเช่นเครื่องพิมพ์หรือรถควบคุมระยะไกล ในรถบังคับวิทยุประเภทนี้มีมอเตอร์ธรรมดาสำหรับขับเคลื่อนรถและเซอร์โวสำหรับบังคับเลี้ยวซึ่งจะควบคุมการเลี้ยวได้อย่างแม่นยำ

ความแตกต่างระหว่าง Stepper Motor และ Servo Motor

เนมา 17

หากคุณสงสัย ความแตกต่างระหว่างเซอร์โวมอเตอร์และสเต็ปเปอร์มอเตอร์ความจริงก็คือพวกเขาอาจสับสนได้เนื่องจากในสเต็ปเปอร์มอเตอร์หรือสเต็ปเปอร์การหมุนยังสามารถควบคุมได้ค่อนข้างแม่นยำและแอปพลิเคชั่นก็คล้ายกับเซอร์โวมาก แต่มีความแตกต่างบางอย่าง

และเป็นที่โดยทั่วไปแล้วเซอร์โวมอเตอร์จะใช้ แม่เหล็กหายากในขณะที่สเต็ปเปอร์มอเตอร์ใช้แม่เหล็กราคาถูกกว่าและธรรมดากว่า ดังนั้นเซอร์โวจึงสามารถพัฒนาแรงบิดที่สูงขึ้นได้แม้ว่าจะยังคงมีขนาดกะทัดรัดก็ตาม ดังนั้นแรงเลี้ยวจะสูงมาก

ลักษณะทางเทคนิค

เมื่อใดก็ตามที่คุณซื้อเซอร์โวคุณควรศึกษาเอกสารทางเทคนิคหรือเอกสารข้อมูล ด้วยวิธีนี้คุณจะมั่นใจได้ว่าไฟล์ ลักษณะทางเทคนิค มันมี แต่ยังมีขีด จำกัด ที่คุณสามารถกำหนดได้เช่นแรงดันไฟฟ้าความเข้มโหลดสูงสุดแรงบิดเป็นต้น โปรดจำไว้ว่าแต่ละรุ่นอาจแตกต่างกันมาก

ตัวอย่างเช่นหากคุณดูหนึ่งในผลิตภัณฑ์ยอดนิยม Micro Servo 9G SG90 จาก บริษัท Tower Pro ที่มีชื่อเสียงจากนั้นคุณจะมีลักษณะพิเศษบางอย่างแม้ว่าการเขียนโปรแกรมและการเชื่อมต่อของโมเดลจะเหมือนกันมากหรือน้อยก็ตามและทุกสิ่งที่กล่าวมานี้มีประโยชน์สำหรับทุกคน

ในกรณีของรุ่นนี้เป็นมอเตอร์คุณภาพสูงพร้อมมุมเลี้ยวที่ช่วยให้ a กวาดระหว่าง -90 ถึง90ºกล่าวคือเทิร์นรวม180º ความละเอียดที่คุณทำได้นั้นสูงมากดังนั้นคุณจะสามารถก้าวไปข้างหน้าทีละเล็กทีละน้อย ตัวอย่างเช่นด้วยข้อ จำกัด สัญญาณ PWM ของ Arduino UNOคุณอาจได้รับความก้าวหน้าจากระดับชั้น

ในทำนองเดียวกันสัญญาณ PWM จะกำหนดขีด จำกัด อื่นด้วยและเป็นจำนวนครั้งที่แต่ละตำแหน่งสามารถเปลี่ยนแปลงได้ต่อหนึ่งหน่วยเวลา ตัวอย่างเช่นเนื่องจากพัลส์ทำงานระหว่าง 1 ถึง 2 มิลลิวินาทีและด้วย ระยะเวลา 20 ms (50Hz) จากนั้นเซอร์โวจะเคลื่อนที่ทุกๆ 20 มิลลิวินาที

นอกจากนี้จะมีน้ำหนัก 9 กรัมและแม้จะมีน้ำหนักและขนาดที่กะทัดรัด แต่ก็สามารถพัฒนาไฟล์ ทอร์กหรือทอร์ก 1.8 กก. / คม. กับ 4.8v. ต้องขอบคุณชุดเกียร์ POM

ในที่สุดคุณก็รู้แล้วว่าขึ้นอยู่กับสิ่งที่คุณต้องการบรรลุคุณต้องเลือกหนึ่งหรือรุ่นอื่นเพื่อให้มี คุณสมบัติที่จำเป็นสำหรับโครงการของคุณ. นั่นคือไม่เหมือนกับที่คุณต้องการให้มอเตอร์เคลื่อนโหลด X มากกว่าหนึ่งตัวสำหรับ XX ...

สถานที่ซื้อเซอร์โว

เซอร์โวมอเตอร์

หากคุณต้องการเริ่มใช้เซอร์โวมอเตอร์ประเภทนี้คุณสามารถหาซื้อได้ในร้านค้าเฉพาะทางจำนวนมากและคุณสามารถหาซื้อได้ทางออนไลน์ที่ Amazon ตัวอย่างเช่นต่อไปนี้เป็นตัวอย่างของ สินค้าแนะนำ ที่คุณอาจสนใจ:

พวกเขาทั้งหมดมีมุมเลี้ยวที่ค่อนข้างดี แต่โดยพื้นฐานแล้วมันจะแตกต่างกันที่แรงบิดที่แต่ละคนสามารถทนได้ ฉันได้รวม สามรุ่นที่แตกต่างกัน. อดีตและราคาถูกกว่าอาจเพียงพอสำหรับการใช้งานส่วนใหญ่ แต่ถ้าคุณต้องการแอพพลิเคชั่นอื่น ๆ ที่มีความแข็งแกร่งมากกว่าคุณมี 25 และ 35 ซึ่งถือว่าโดดเด่นมาก ...

บูรณาการกับ Arduino

เซอร์โว arduino

ดังที่คุณเห็นในภาพด้านบน เซอร์โวเชื่อมต่อได้ง่ายมาก ไปยัง Arduino มีเพียงสามสายซึ่งคุณสามารถเชื่อมต่อด้วยวิธีนี้:

  • สีแดงพร้อม 5V
  • สีดำพร้อม GND
  • สีเหลืองพร้อมขา Arduino PWM ในกรณีนี้คือ -9

ในการเขียนโปรแกรมร่างเพื่อเริ่มใช้เครื่องยนต์ประเภทนี้คุณมีหลายทางเลือก แต่ก่อนอื่นในการเริ่มต้นคุณต้อง เพิ่มไลบรารี Arduino IDE ในการขับเคลื่อนเซอร์โวมอเตอร์ประเภทนี้:

  1. เปิด Arduino IDE
  2. ไปที่โปรแกรม
  3. จากนั้นรวมไลบรารี
  4. เซอร์โว

ว่า รหัสร่างอาจเป็นเรื่องง่ายที่เซอร์โวจะผ่านตำแหน่งโดยหยุดที่0º, 90ºและ180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

ตอนนี้ถ้าคุณต้องการ ย้ายจากระดับหนึ่งไปอีกระดับหนึ่งจากนั้นมันจะเป็นดังนี้:

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา