- การสร้าง MATLAB Graphical User Interface สำหรับควบคุม DC Motor
- MATLAB Code สำหรับควบคุม DC Motor ด้วย Arduino
- วัสดุที่จำเป็น
- แผนภูมิวงจรรวม
- การควบคุม DC Motor ด้วย MATLAB
ในการกวดวิชานี้เราจะแสดงวิธีการควบคุมมอเตอร์ DC ใช้ MATLB และ Arduino หากคุณยังใหม่กับ MATLAB ขอแนะนำให้เริ่มต้นด้วยโปรแกรม LED กะพริบอย่างง่ายด้วย MATLAB
การสร้าง MATLAB Graphical User Interface สำหรับควบคุม DC Motor
หลังจากเสร็จสิ้นการติดตั้ง Arduino สำหรับ MATLAB เราต้องสร้าง GUI (Graphical User Interface) เพื่อควบคุมมอเตอร์กระแสตรง ในการเปิดใช้งาน GUI ให้พิมพ์คำสั่งด้านล่างใน หน้าต่างคำสั่ง
คู่มือ
หน้าต่างป๊อปอัปจะเปิดขึ้นจากนั้นเลือก GUI เปล่า ใหม่ดังที่แสดงในภาพด้านล่าง
ตอนนี้เลือกสามปุ่มสำหรับการหมุนตามเข็มนาฬิกาการหมุนทวนเข็มนาฬิกาและหยุดตามที่แสดงด้านล่าง
หากต้องการปรับขนาดหรือเปลี่ยนรูปร่างของปุ่มเพียงคลิกที่ปุ่มแล้วคุณจะสามารถลากมุมของปุ่มได้ การดับเบิลคลิกที่ปุ่มกดคุณสามารถเปลี่ยนสีสตริงและแท็กของปุ่มนั้น ๆ ได้ เราได้ปรับแต่งปุ่มสามปุ่มตามที่แสดงในภาพด้านล่าง
คุณสามารถปรับแต่งปุ่มตามที่คุณเลือก ตอนนี้เมื่อคุณบันทึกรหัสจะถูกสร้างขึ้นใน หน้าต่างแก้ไข ของ MATLAB ในการเขียนโค้ด Arduino ของคุณสำหรับการทำงานใด ๆ ที่เกี่ยวข้องกับโปรเจ็กต์ของคุณคุณจะต้องแก้ไขโค้ดที่สร้างขึ้นนี้เสมอ ด้านล่างเราได้แก้ไขโค้ด MATLAB
MATLAB Code สำหรับควบคุม DC Motor ด้วย Arduino
กรอกรหัส MATLAB หลังจากแก้ไขสำหรับการควบคุมมอเตอร์กระแสตรงจะได้รับในตอนท้ายของโครงการนี้ นอกจากนี้เรายังรวมไฟล์ GUI (.fig) และไฟล์โค้ด (.m) ไว้ที่นี่เพื่อดาวน์โหลดซึ่งคุณสามารถปรับแต่งปุ่มได้ตามความต้องการของคุณ ด้านล่างนี้คือการปรับแต่งบางอย่างที่เราทำเพื่อหมุน DC Motor ตามเข็มนาฬิกาทวนเข็มนาฬิกาและหยุดใช้ปุ่มกดสามปุ่ม
คัดลอกและวางโค้ดด้านล่างในบรรทัดที่ 74 เพื่อให้แน่ใจว่า Arduino กำลังพูดคุยกับ MATLAB ทุกครั้งที่คุณเรียกใช้ m-file
ลบทั้งหมด; ทั่วโลกก; a = arduino ();
เมื่อคุณเลื่อนลงคุณจะเห็นว่ามีสามฟังก์ชันสำหรับทุกปุ่มใน GUI ตอนนี้เขียนโค้ดในทุกฟังก์ชั่นตามงานที่คุณต้องการดำเนินการเมื่อคลิก
ในฟังก์ชันของปุ่ม ตามเข็มนาฬิกา ให้คัดลอกและวางรหัสด้านล่างก่อนวงเล็บปีกกาสิ้นสุดของฟังก์ชันเพื่อหมุนมอเตอร์ในทิศทางตามเข็มนาฬิกา ที่นี่เราให้ HIGH ที่พิน 6 และ LOW ที่พิน 5 เพื่อหมุนมอเตอร์ในทิศทางตามเข็มนาฬิกา
ทั่วโลกก; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); หยุดชั่วคราว (0.5);
ตอนนี้ในฟังก์ชันของปุ่ม ทวนเข็มนาฬิกา ให้วางรหัสด้านล่างที่ส่วนท้ายของฟังก์ชันเพื่อหมุนมอเตอร์ในทิศทางทวนเข็มนาฬิกา ในที่นี้เราให้ HIGH ที่ขา 5 และ LOW ที่ขา 6 เพื่อหมุนมอเตอร์ในทิศทางทวนเข็มนาฬิกา
ทั่วโลกก; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); หยุดชั่วคราว (0.5);
สุดท้ายในฟังก์ชันของปุ่ม STOP ให้วางรหัสด้านล่างที่ส่วนท้ายเพื่อหยุดการหมุนของมอเตอร์ ที่นี่เราให้ LOW ทั้งขา 5 และ 6 เพื่อหยุดมอเตอร์
ทั่วโลกก; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); หยุดชั่วคราว (0.5);
วัสดุที่จำเป็น
- MATLAB ติดตั้งแล็ปท็อป (ค่ากำหนด: R2016a ขึ้นไป)
- Arduino UNO
- มอเตอร์กระแสตรง
- L293D- ตัวขับมอเตอร์
แผนภูมิวงจรรวม
การควบคุม DC Motor ด้วย MATLAB
หลังจากตั้งค่าฮาร์ดแวร์ตามแผนภาพวงจรแล้วเพียงคลิกที่ปุ่มเรียกใช้เพื่อเรียกใช้โค้ดที่แก้ไขในไฟล์. m
MATLAB อาจใช้เวลาไม่กี่วินาทีในการตอบสนองอย่าคลิกที่ปุ่ม GUI ใด ๆ จนกว่า MATLAB จะแสดงการบ่งชี้ไม่ว่างซึ่งคุณสามารถเห็นได้ที่มุมล่างซ้ายของหน้าจอดังที่แสดงด้านล่าง
เมื่อทุกอย่างพร้อมคลิกที่ปุ่มตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาเพื่อหมุนมอเตอร์ เมื่อคุณกดปุ่มตามเข็มนาฬิกากระแสไหลผ่านพิน 6 ถึงพิน 5 และมอเตอร์จะหมุนในทิศทางตามเข็มนาฬิกาในขณะที่กระแสทวนเข็มนาฬิกาไหลผ่านพิน 5 ถึงพิน 6 และมอเตอร์จะหมุนในทิศทางตามเข็มนาฬิกาจะหมุนในทิศทางตามเข็มนาฬิกา หากต้องการหยุดการหมุนของมอเตอร์กระแสตรงให้กดปุ่ม STOP สามารถใช้วิธีการเดียวกันในการควบคุมเซอร์โวมอเตอร์โดยใช้ MATLAB เราเพียงแค่ต้องแก้ไขโค้ดตามนั้น คุณสามารถดูวิดีโอด้านล่างเพื่อทำความเข้าใจกระบวนการทั้งหมดของการควบคุมมอเตอร์ MATLAB DCโดยใช้ Arduino