• Product
  • Suppliers
  • Manufacturers
  • Solutions
  • Free tools
  • Knowledges
  • Experts
  • Communities
Search


הנחיות שלמות לשליטה במנוע סרבו

Encyclopedia
שדה: encyclopedia
0
China

בקרה על מנוע סרבו: מדריך מלא

 

נקודות למידה עיקריות:

 

הגדרת בקרה על מנוע סרבו: הבקרה על מנוע הסרבו מאפשרת מניפולציה מדוייקת של מיקום המנוע, מהירותו ותאוצתו באמצעות אותות אלקטרוניים.

 

מנגנון משוב: מערכת המשוב, שברוב המקרים היא פוטנציאומטר או אncoder, מבטיחה שהפלט של המנוע תואם בדיוק לה擲下繼續翻译:

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

 

สัญญาณ PWM: การปรับความกว้างพัลส์ (PWM) เป็นสิ่งสำคัญในการกำหนดตำแหน่งของเซอร์โวโดยการเปลี่ยนระยะเวลาของพัลส์ไฟฟ้า.

 

Arduino และมอเตอร์เซอร์โว: การใช้บอร์ด Arduino เป็นวิธีที่ได้รับความนิยมและมีประสิทธิภาพในการเขียนโปรแกรมและควบคุมมอเตอร์เซอร์โวด้วยการตั้งค่าฮาร์ดแวร์ขั้นต่ำ.

 

แอปพลิเคชันของมอเตอร์เซอร์โว: มอเตอร์เซอร์โวเป็นสิ่งจำเป็นสำหรับโครงการที่ต้องการการควบคุมตำแหน่งที่แม่นยำ เช่น หุ่นยนต์และระบบอัตโนมัติ.

 

มอเตอร์เซอร์โวคือมอเตอร์ที่ออกแบบมาเพื่อความแม่นยำและความถูกต้องในการหมุน. มันแตกต่างจากมอเตอร์ DC ทั่วไปโดยความสามารถในการรักษาตำแหน่งเฉพาะแทนที่จะหมุนอย่างต่อเนื่อง. คุณสมบัตินี้ทำให้มอเตอร์เซอร์โวเหมาะสำหรับหุ่นยนต์, อัตโนมัติ, และโครงการงานอดิเรก.

 

บทความนี้อธิบายการทำงานของการควบคุมมอเตอร์เซอร์โว, ประเภทต่างๆ ของมอเตอร์เซอร์โว, และวิธีการควบคุมและการควบคุมอุปกรณ์ต่างๆ. นอกจากนี้ยังให้ตัวอย่างการใช้งานและโครงการของมอเตอร์เซอร์โว.

 

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

 

มอเตอร์เซอร์โวถูกกำหนดให้เป็นตัวกระทำที่อนุญาตให้ควบคุมตำแหน่ง (มุม), ความเร็ว, และการเร่งความเร็วอย่างแม่นยำ. มอเตอร์เซอร์โวแบบมาตรฐานประกอบด้วยสามส่วนหลัก: มอเตอร์ DC, วงจรควบคุม, และอุปกรณ์ป้อนกลับ.

 

มอเตอร์ DC จ่ายพลังงานให้กับเซอร์โวและเชื่อมต่อกับเกียร์ที่ลดความเร็วและเพิ่มแรงบิดบนแกนเอาต์พุต.

รูปภาพ2.gif

แกนเอาต์พุตเป็นส่วนของเซอร์โวที่หมุนและเคลื่อนย้ายโหลด.

 

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

 

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

รูปภาพ3.png

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

 

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

 

วิธีควบคุมมอเตอร์เซอร์โว?

 

มอเตอร์เซอร์โวถูกควบคุมโดยการส่งสัญญาณ PWM (Pulse-Width Modulation) ไปยังสายสัญญาณของเซอร์โว. PWM เป็นเทคนิคที่สลับสัญญาณเปิดและปิดอย่างรวดเร็วเพื่อสร้างพัลส์ที่มีความกว้างต่างๆ. ความกว้างของพัลส์กำหนดตำแหน่งของแกนเอาต์พุต.

 

ตัวอย่างเช่น เมื่อคุณส่งสัญญาณ PWM ที่มีความกว้างพัลส์ 1.5 มิลลิวินาที (ms) เซอร์โวจะเคลื่อนย้ายไปยังตำแหน่งกลาง (90 องศา).

รูปภาพ4.png


เมื่อคุณส่งสัญญาณ PWM ที่มีความกว้างพัลส์ 1 ms เซอร์โวจะเคลื่อนย้ายไปยังตำแหน่งต่ำสุด (0 องศา). เมื่อคุณส่งสัญญาณ PWM ที่มีความกว้างพัลส์ 2 ms เซอร์โวจะเคลื่อนย้ายไปยังตำแหน่งสูงสุด (180 องศา).

 

สัญญาณ PWM มีความถี่ 50 Hz ซึ่งหมายความว่ามันจะทำซ้ำทุก 20 ms. ความกว้างพัลส์สามารถเปลี่ยนแปลงจาก 1 ms ถึง 2 ms ภายในช่วงเวลานี้.

 

มีหลายวิธีในการสร้างและส่งสัญญาณ PWM ไปยังมอเตอร์เซอร์โว. วิธีที่พบบ่อยที่สุดคือ:

 

ใช้บอร์ด Arduino หรือไมโครคอนโทรลเลอร์อื่นๆ

 

ใช้โพเทนชิโอมิเตอร์หรือเซ็นเซอร์อนาล็อกอื่นๆ

 

ใช้จอยสติ๊กหรืออุปกรณ์ป้อนข้อมูลดิจิตอลอื่นๆ

 

ใช้คอนโทรลเลอร์หรือไดรเวอร์เซอร์โวเฉพาะ

 

ในส่วนต่อไป เราจะสำรวจแต่ละวิธีอย่างละเอียดและเห็นตัวอย่างว่าพวกมันทำงานอย่างไร.

 

ควบคุมมอเตอร์เซอร์โวด้วย Arduino

 

Arduino เป็นหนึ่งในแพลตฟอร์มที่ได้รับความนิยมมากที่สุดในการควบคุมมอเตอร์เซอร์โว. บอร์ด Arduino มีเอาต์พุต PWM ที่สร้างไว้แล้วที่สามารถใช้ส่งสัญญาณไปยังเซอร์โว. Arduino ยังมีไลบรารี Servo ที่ทำให้ง่ายต่อการเขียนโค้ดสำหรับการควบคุมเซอร์โว.

 

เพื่อควบคุมมอเตอร์เซอร์โวด้วย Arduino คุณจะต้องใช้:

 

บอร์ด Arduino (เช่น Arduino UNO)

 

มอเตอร์เซอร์โวมาตรฐาน (เช่น SG90)

 

สาย jumper

 

เบรดบอร์ด (ตามต้องการ)

 

สายสีแดงจากเซอร์โวเชื่อมต่อกับ 5V บนบอร์ด Arduino. สายสีดำจากเซอร์โวเชื่อมต่อกับ GND บนบอร์ด Arduino. สายสีขาวจากเซอร์โวเชื่อมต่อกับขา 9 บนบอร์ด Arduino.

 

เพื่อเขียนโปรแกรมบอร์ด Arduino คุณจะต้องใช้ Arduino IDE (ออนไลน์หรือออฟไลน์). คุณสามารถใช้ตัวอย่างจากไลบรารี Servo หรือเขียนโค้ดของคุณเอง.

 

โค้ดต่อไปนี้แสดงวิธีการสแกนมอเตอร์เซอร์โวไปและกลับตลอด 180 องศาโดยใช้ loop for:

 

 

#include <Servo.h> // รวมไลบรารี Servo

 

Servo myservo; // สร้างวัตถุ Servo

 

int pos = 0; // ตัวแปรสำหรับตำแหน่ง

 

void setup() {

  myservo.attach(9); // ต่อวัตถุ Servo กับขา 9

}

 

void loop() {

  for (pos = 0; pos <= 180; pos += 1) { // วนรอบจาก 0 ถึง 180 องศา

    myservo.write(pos); // เขียนตำแหน่งไปยังวัตถุ Servo

    delay(15); // รอ 15 ms

  }

 

  for (pos = 180; pos >= 0; pos -= 1) { // วนรอบจาก 180 ถึง 0 องศา

    myservo.write(pos); // เขียนตำแหน่งไปยังวัตถุ Servo

    delay(15); // รอ 15 ms

  }

}

 

 

โค้ดนี้ใช้สอง loop เพื่อเพิ่มและลดตัวแปรตำแหน่งจาก 0 ถึง 180 องศาและกลับกัน. จากนั้นเขียนค่านี้ไปยังวัตถุ Servo โดยใช้ myservo.write(pos). ยังเพิ่มการหยุด 15 ms ระหว่างแต่ละขั้นตอนเพื่อลดความเร็วในการเคลื่อนย้าย.

 

อัปโหลดโค้ดนี้ไปยังบอร์ด Arduino ของคุณโดยใช้ปุ่ม Upload ใน IDE และดูว่ามอเตอร์เซอร์โวของคุณสแกนไปและกลับอย่างราบรื่น.

 

ควบคุมมอเตอร์เซอร์โวด้วยโพเทนชิโอมิเตอร์

 

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

 

เพื่อควบคุมมอเตอร์เซอร์โวด้วยโพเทนชิโอมิเตอร์ คุณจะต้องใช้:

 

บอร์ด Arduino (เช่น Arduino UNO)

 

มอเตอร์เซอร์โวมาตรฐาน (เช่น SG90)

 

โพเทนชิโอมิเตอร์ (10k Ohms)

 

สาย jumper

 

เบรดบอร์ด

 

แผนภาพการเชื่อมต่อโพเทนชิโอมิเตอร์และมอเตอร์เซอร์โวไปยังบอร์ด Arduino แสดงด้านล่าง:

 

สายสีแดงจากโพเทนชิโอมิเตอร์เชื่อมต่อกับ 5V บนบอร์ด Arduino. สายสีดำจากโพเทนชิโอมิเตอร์เชื่อมต่อกับ GND บนบอร์ด Arduino. สายสีเขียวจากโพเทนชิโอมิเตอร์เชื่อมต่อกับขา A0 บนบอร์ด Arduino.

 

สายสีแดงจากเซอร์โวเชื่อมต่อกับ 5V บนแถวอื่นบนเบรดบอร์ด. สายสีดำจากเซอร์โวเชื่อมต่อกับ GND บนแถวอื่นบนเบรดบอร์ด. สายสีขาวจากเซอร์โวเชื่อมต่อกับขา D9 บนแถวอื่นบนเบรดบอร์ด.

 

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

 

 

#include <Servo.h> // รวมไลบรารี Servo

 

Servo myservo; // สร้างวัตถุ Servo

 

int potpin = A0; // ขาที่เชื่อมต่อกับโพเทนชิโอมิเตอร์

int val = 0; // ตัวแปรสำหรับอ่านค่าโพเทนชิโอมิเตอร์

 

void setup() {

myservo.attach(9); // ต่อวัตถุ Servo ขา D9

}

 

void loop() {

val = analogRead(potpin); // อ่านค่าจากโพเทนชิโอมิเตอร์ (0 -1023)

val = map(val,0,1023,0,180); // แมปช่วงค่า (0 -180)

myservo.write(val); // เขียนค่าที่แมปไปยังวัตถุ Servo

delay(15); // รอ 15 ms

}

 

 

โค้ดนี้ใช้ฟังก์ชัน analogRead(potpin) เพื่ออ่านค่าจากโพเทนชิโอมิเตอร์ที่เชื่อมต่อกับขา A0. จากนั้นใช้ฟังก์ชัน map(val,0,1023,0,180) เพื่อแมปช่วงค่าจาก 0 -1023 องศา. จากนั้นเขียนค่าที่แมปไปยังวัตถุ Servo โดยใช้ฟังก์ชัน myservo.write(val). ยังเพิ่มการหยุด 15 ms เช่นเดียวกับตัวอย่างก่อนหน้านี้.

 

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

 

ควบคุมมอเตอร์เซอร์โวด้วยจอยสติ๊ก

 

จอยสติ๊กคืออุปกรณ์ป้อนข้อมูลดิจิตอลที่สามารถตรวจจับทิศทางและขนาดของการเคลื่อนที่ตามสองแกน. คุณสามารถใช้จอยสติ๊กในการควบคุมมอเตอร์เซอร์โวด้วยการแมปแกน x ของจอยสติ๊กไปยังมุมของเซอร์โว.

 

เพื่อควบคุมมอเตอร์เซอร์โวด้วยจอยสติ๊ก คุณจะต้องใช้อุปกรณ์ต่อไปนี้:

 

บอร์ด Arduino (เช่น Arduino UNO)

 

มอเตอร์เซอร์โวมาตรฐาน (เช่น SG90)

 

โมดูลจอยสติ๊ก (เช่น KY-023)

 

תנו טיפ לעודדו את המחבר!
מומלץ
שלח הצעת מחיר
הורדה
קבל את IEE Business אפליקציה коммерческая
השתמש באפליקציה IEE-Business כדי למצוא ציוד, לקבל פתרונות, להתחבר למומחי ולתת חלק בתיאום תעשייתי בכל זמן ובכל מקום – לתמיכה מלאה בפיתוח פרויקטי החשמל העסקים שלך