ในการกวดวิชานี้เราจะได้เรียนรู้เกี่ยวกับ Servo Motor และวิธีการติดต่อกับ Servo MSP430 MSP-EXP430G2 เป็นเครื่องมือในการพัฒนา aka LaunchPad ให้โดย Texas Instruments ที่จะเรียนรู้และการปฏิบัติเกี่ยวกับวิธีการใช้ไมโครคอนโทรลเลอร์ของพวกเขา บอร์ดนี้อยู่ภายใต้หมวดหมู่ MSP430 Value Line ซึ่งเราสามารถตั้งโปรแกรมไมโครคอนโทรลเลอร์ MSP430 ซีรีส์ทั้งหมดได้ หากคุณยังใหม่กับ MSP ให้ตรวจสอบการเริ่มต้นใช้งาน MSP430 บทช่วยสอนของเรา
เซอร์โวมอเตอร์และ PWM:
ก่อนที่จะลงรายละเอียดอันดับแรกเราควรรู้เกี่ยวกับเซอร์โวมอเตอร์
เซอร์โวมอเตอร์เป็นการผสมผสานระหว่างมอเตอร์กระแสตรงระบบควบคุมตำแหน่งและเกียร์ เซอร์โวมีแอพพลิเคชั่นมากมายในโลกสมัยใหม่และด้วยเหตุนี้จึงมีให้เลือกหลายรูปทรงและขนาด เราจะใช้ SG90 Servo Motor ในบทช่วยสอนนี้ซึ่งเป็นหนึ่งในผลิตภัณฑ์ยอดนิยมและราคาถูกที่สุด SG90 เป็นเซอร์โว 180 องศา ดังนั้นด้วยเซอร์โวนี้เราสามารถวางตำแหน่งแกนได้ตั้งแต่ 0-180 องศา
เซอร์โวมอเตอร์ส่วนใหญ่มีสายไฟสามเส้นสายหนึ่งใช้สำหรับแรงดันไฟฟ้าบวกอีกเส้นหนึ่งสำหรับกราวด์และสายสุดท้ายสำหรับการตั้งค่าตำแหน่ง สายสีแดง เชื่อมต่อกับอำนาจ ลวดสีน้ำตาล มีการเชื่อมต่อกับพื้นและ สีเหลือง ลวด (หรือสีขาว) มีการเชื่อมต่อสัญญาณ
เซอร์โวมอเตอร์แต่ละตัวทำงานบนความถี่ PWM ที่แตกต่างกัน (ความถี่ที่พบมากที่สุดคือ50HZซึ่งใช้ในบทช่วยสอนนี้) ดังนั้นให้รับแผ่นข้อมูลของมอเตอร์ของคุณเพื่อตรวจสอบว่าเซอร์โวมอเตอร์ของคุณทำงานในช่วงเวลาใด
ความถี่ของสัญญาณ PWM (Pulse Width Modulated) อาจแตกต่างกันไปตามประเภทของเซอร์โวมอเตอร์ สิ่งสำคัญที่นี่คือ DUTY RATIO ของสัญญาณ PWM ตาม DUTY RATION อุปกรณ์อิเล็กทรอนิกส์ควบคุมปรับเพลา
ดังแสดงในรูปด้านล่างสำหรับเพลาที่จะย้ายไปที่ 9o นาฬิกา TURN ON RATION จะต้องเป็น 1/18. เวลาเปิด 1ms และเวลาปิด 17ms ในสัญญาณ 18ms
สำหรับเพลาที่จะเลื่อนไปที่ 12o นาฬิกาเวลา ON ของสัญญาณต้องเป็น 1.5ms และเวลา OFF ควรเป็น 16.5ms อัตราส่วนนี้ถูกถอดรหัสโดยระบบควบคุมในเซอร์โวและจะปรับตำแหน่งตามนั้น PWM นี้สร้างขึ้นโดยใช้ MSP430 เรียนรู้เพิ่มเติมเกี่ยวกับการสร้าง PWM ด้วย MSP430 ที่นี่
ก่อน เชื่อมต่อ Servo กับ MSP430คุณสามารถทดสอบเซอร์โวของคุณด้วยความช่วยเหลือของวงจรทดสอบเซอร์โวมอเตอร์นี้ ตรวจสอบโครงการ Servo ด้านล่างของเราด้วย:
- การควบคุมเซอร์โวมอเตอร์โดยใช้ Arduino
- การควบคุมเซอร์โวมอเตอร์ด้วย Arduino Due
- เซอร์โวมอเตอร์เชื่อมต่อกับไมโครคอนโทรลเลอร์ 8051
- การควบคุมเซอร์โวมอเตอร์โดยใช้ MATLAB
- การควบคุมเซอร์โวมอเตอร์โดย Flex Sensor
- การควบคุมตำแหน่งเซอร์โวพร้อมน้ำหนัก (เซนเซอร์แรง)
วัสดุที่ต้องการ:
- MSP430
- เซอร์โว SG90
- สายชาย - หญิง
แผนภาพวงจรและ Explanatin:
ในMSP430เรามีไลบรารีที่กำหนดไว้ล่วงหน้าและฟังก์ชัน PWM ถูกเขียนไว้แล้วในไลบรารีเหล่านี้ดังนั้นเราจึงไม่ต้องกังวลกับค่า PWM คุณต้องใส่มุมที่คุณต้องการหมุนเพลาและส่วนที่เหลือจะดำเนินการโดยไลบรารีและไมโครคอนโทรลเลอร์เหล่านี้
นี่เรากำลังใช้ PIN 6 คือ P1.4 ซึ่งเป็นขา PWM ของ MSP430 แต่คุณสามารถใช้ PIN ใดก็ได้ ไม่จำเป็นต้องใช้พิน PWM สำหรับเซอร์โวเนื่องจากฟังก์ชัน PWM ทั้งหมดเขียนไว้ในไลบรารีเอง
ไฟล์ส่วนหัวที่ใช้ควบคุมเซอร์โวคือ“ servo.h ”
เราจะใช้Energia IDEเพื่อเขียนโค้ดของเรา รหัสง่ายและเข้าใจง่าย เหมือนกับ Arduino และสามารถพบได้ในเมนูตัวอย่าง รหัสที่สมบูรณ์และวิดีโอได้รับด้านล่างคุณสามารถแก้ไขรหัสตามความต้องการของคุณและอัปโหลดไปยัง MSP430
นั่นแหละ!! เราได้ เชื่อมต่อเซอร์โวมอเตอร์เข้ากับไมโครคอนโทรลเลอร์ PICแล้วตอนนี้คุณสามารถใช้ความคิดสร้างสรรค์ของคุณเองและค้นหาแอปพลิเคชันสำหรับสิ่งนี้ได้ มีโครงการมากมายที่ใช้เซอร์โวมอเตอร์