Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore บท9การควบคุมดีซีมอเตอร์ สเต็ปปิงมอเตอร์ และอาร์ซีเซอร์โวมอเตอร์

บท9การควบคุมดีซีมอเตอร์ สเต็ปปิงมอเตอร์ และอาร์ซีเซอร์โวมอเตอร์

Published by Yotsapol Jearanai, 2023-06-30 07:00:59

Description: บท9

Search

Read the Text Version

CHUMPHON TECHNICAL COLLEGE 30105-2007 MICROCONTROLLER ep.9 การควบคุมดีซีมอเตอร์ สเต็ปปิงมอเตอร์ และอาร์ซีเซอร์โวมอเตอร์ นายยศพล เจียรนัย แผนกวิชาช่างอิเล็กทรอนิกส์

86 แผนการจดั การเรียนรูหนว ยที่ 9 สอนครั้งท่ี 14-15 เร่ือง การควบคุมดีซีมอเตอร เซอรโวมอเตอรแ ละสเตป็ เปอรม อเตอร

87 ชื่อวิชา. ไมโครคอนโทรลเลอร แผนการจดั การเรยี นรทู ่ี 9 เวลาเรยี นรวม 10 ช่วั โมง ชื่อหนว ย การควบคมุ ดีซมี อเตอร เซอรโวมอเตอรแ ละสเตป็ เปอรมอเตอร อนคร้งั ที่ 14-15 ช่อื เร่อื ง การควบคุมดซี มี อเตอร เซอรโ วมอเตอรแ ละสเตป็ เปอรม อเตอร จำนวน 10 ชั่วโมง หวั ขอ เรือ่ ง 9.1 การควบคุมดซี ีมอเตอรด วย Arduino 9.2 การควบคุมสเต็ปปง มอเตอรด ว ย Arduino 9.3 การควบคุมอารซ ีเซอรโ วมอเตอรด วย Arduino สาระสำคญั การใชไอซีไมโครคอนโทรเลอรเปนตัวควบคุมการหมุนและทิศทางของมอเตอรไฟฟากระแสตรงนั้น จะตองมีสวนของ วงจร ที่เรียกวาวงจรขับมอเตอร (Driver) ในสวนของวงจรกลับทิศทางของมอเตอรสามารถที่จะใชรีเลยตอวงจรสวิตซ เพื่อกลับ ทิศทางของขั้วไฟฟากระแสตรง หรืออาจใชอุปกรณสารกึ่งตัวนำที่เปนวงจรขับกำลังเชน ทรานซิสเตอร มอสเฟต ในปจจุบันมี ผผู ลติ บอรดขบั มอเตอรก ระแสตรงโดยใชไอซเี บอร L298N จำหนว ยในทองตลาด สามารถตอ มอเตอรไ ฟฟา กระแสตรงได 2 ตัว ซ่ึง IN1, IN2 และ ENA ใชสำหรับควบคุมมอเตอรไฟฟากระแสตรงตัวที่ 1 สวน IN3, IN4 และ ENB ใชสำหรับควบคุมมอเตอรไฟฟา กระแสตรงตัวที่ 2 คาตัวเลข 255 ในฟงกชัน analogWrite(speedM1, 255) จะทำให PWM มีคา Duty cycle เทากับ 100 % เปนผล ใหมอเตอรห มุนดวยความเร็วสูงสุด ถาตองการใหหมุนชาลงสามารถทำไดโดยลดคาตัวเลขใหนอยลง แตตองไมนอยกวา 0 สวน คำสั่ง digitalWrite(IN1, LOW) และ digitalWrite(IN2, HIGH) เปนคำสั่งเพื่อใหมอเตอรไฟฟากระแสตรงหมุนหมนุ ตามเขม็ นาิกา ถา หากตอ งการใหม อเตอรห มนุ ในทิศทางตรงกันขามสามารถทำไดโ ดยกำหนดให IN1, IN2 มคี า ตรงกันขาม สมรรถนะหลัก (สมรรถนะประจำหนวย) แสดงความรูเ กี่ยวกับการควบคมุ ดซี ีมอเตอร เซอรโ วมอเตอรและสเตป็ เปอรมอเตอร สมรรถนะยอ ย (สมรรถนะการเรียนร)ู สมรรถนะทวั่ ไป (ทฤษฏี) 9.1 แสดงความรูเกย่ี วกบั การควบคุมดซี ีมอเตอรด ว ย Arduino สมรรถนะทีพ่ งึ ประสงค (ทฤษฏ)ี 9.1 เขยี นโปรแกรมภาษา C++ สำหรับควบคมุ การทำงานของดซี ีมอเตอรไ ดถ กู ตอง

88 ชอื่ วิชา. ไมโครคอนโทรลเลอร แผนการจดั การเรียนรูท่ี 9 เวลาเรยี นรวม 10 ชวั่ โมง ชอื่ หนว ย การควบคุมดีซีมอเตอร เซอรโวมอเตอรแ ละสเตป็ เปอรมอเตอร อนครง้ั ท่ี 14-15 ช่ือเรอ่ื ง การควบคุมดีซมี อเตอร เซอรโ วมอเตอรและสเต็ปเปอรม อเตอร จำนวน 10 ชั่วโมง สมรรถนะท่ัวไป (ปฏบิ ตั ิ) 9.2 แสดงความรูเกี่ยวกับการควบคุมสเตป็ ปง มอเตอรดวย Arduino 9.3 แสดงความรเู ก่ยี วกับการควบคมุ อารซีเซอรโวมอเตอรด ว ย Arduino สมรรถนะทีพ่ ึงประสงค (ปฏบิ ตั )ิ 9.2 เขยี นโปรแกรมภาษา C++ สำหรับควบคุมการทำงานของสเต็ปปงมอเตอรไดถกู ตอง 9.3 เขยี นโปรแกรมภาษา C++ สำหรับควบคมุ การทำงานของอารซ เี ซอรโ วมอเตอรไ ดถกู ตอ ง กิจกรรมการเรียนการสอน ในการจัดการเรียนการสอนรายวิชาไมโครคอนโทรลเลอร ไดก ำหนดกจิ กรรมการเรียนการสอนใหผ เู รยี นเกดิ การเรยี นรูโดยใชก ารจัดการเรยี นรแู บบบทบาทสมมติ ( Role p laying ) ดา นเทคนิคการจดั การเรียนการสอนแบบ MAIP โดย มีขัน้ ตอนในการดำเนินกจิ กรรมการเรยี นการสอน ดงั น้ี กิจกรรมการเรยี นการสอน (สอนครง้ั ที่ 14 ) เวลา 5 ชั่วโมง/สปั ดาห ๑.ผสู อนแจง จุดประสงคก ารเรยี นประจำสปั ดาห และนำเขา สูบทเรยี น ๒.ผสู อนถายทอดความรใู นหนว ยที่ 9 เรอ่ื ง การควบคุมเซอรโ ว สเตป็ ปงมอเตอรดวย Arduino ๓.ผสู อนแสดงใบงานเรื่องการควบคมุ เซอรโ ว สเต็ปปงมอเตอรด ว ย Arduino ๔.ผสู อนใหผ เู รียนปฏบิ ตั งิ านเขยี นแบบตามใบงานเร่อื งการควบคุมเซอรโ ว สเต็ปปงมอเตอรดว ย Arduino ๕.ผสู อนประเมนิ ผลการปฏบิ ตั ิงานของผูเรียนและใหผ เู รยี นสรปุ สาระสำคัญของเร่อื งที่เรยี นประจำสปั ดาห กจิ กรรมการเรียนการสอน (สอนครงั้ ที่ 15 ) เวลา 5 ช่วั โมง/สปั ดาห ๑.ผสู อนแจง จุดประสงคการเรยี นประจำสัปดาห และนำเขาสบู ทเรยี น ๒.ผสู อนถายทอดความรใู นหนว ยที่ 9 เรอ่ื ง การทำงานของอารซ เี ซอรโ วมอเตอรไ ดถกู ตอง ๓.ผสู อนแสดงใบงานเรอื่ งการทำงานของอารซ ีเซอรโ วมอเตอรไ ดถ ูกตอง ๔.ผสู อนใหผ ูเรยี นปฏบิ ัติงานเขยี นแบบตามใบงานเรื่องการทำงานของอารซีเซอรโ วมอเตอรไ ดถกู ตอ ง ๕.ผสู อนประเมินผลการปฏิบตั งิ านของผเู รียนและใหผ เู รียนสรปุ สาระสำคญั ของเรอ่ื งท่เี รยี นประจำสปั ดาห ส่อื การสอน ๑.เอกสารประกอบการสอน ๒.เอกสารประกอบการเรยี น ๓.สื่อนำเสนอ PowerPoint งานทีม่ อบหมาย/กจิ กรรม ใหนกั เรียนทำแบบฝกเสรมิ ทกั ษะตามใบงานทายหนวยการเรยี นท่ี 4 การวดั และประเมนิ ผล วธิ กี าร เครื่องมอื เกณฑ วดั ผล/ประเมินผล - ทำแบบฝก เสรมิ ทักษะทา ย - แบบฝก เสริมทักษะทา ย - ผา นเกณฑร อยละ ๖๐ หนว ย หนวย ๑.สมรรถนะท่พี ึงประสงค

89 ชือ่ วชิ า. ไมโครคอนโทรลเลอร แผนการจัดการเรยี นรูที่ 9 เวลาเรยี นรวม 10 ชั่วโมง ชื่อหนวย การควบคุมดีซีมอเตอร เซอรโวมอเตอรและสเตป็ เปอรม อเตอร สอนครง้ั ที่ 14-15 ชื่อเรื่อง การควบคมุ ดีซีมอเตอร เซอรโ วมอเตอรและสเต็ปเปอรม อเตอร จำนวน 10 ชั่วโมง 1. การควบคมุ ดีซีมอเตอรดวย Arduino 1.1 มอเตอรไ ฟฟา กระแสตรง (DC Motor) +V NC NC +V +M - NC NC NO NO +M - RelOaNy 1 Relay 2 NO NO OFF Relay Relay 2 O1FF ON 1.2 การควบคมุ ความเรว็ และทศิ ทางของมอเตอรไฟฟากระแสตรง +5V + VM IN1 +5V + VM IN2 IN1 OUT1 ควบคุมทศิ ทางการหมนุ + H-Bright M DC Motor IN2 Motor - Drive ควบคมุ ใคหวห บมคนุ มุ -คไมวหามมเุนร็ว ENA ENA OUT2 Motor 1 Motor 2 +V motor GND + 5 Vdc E IIEIINNNNNNA214B3

90 +5V + VM 16 MHz RESET DIGITA L (WPM ∼) IN1 EIINNN+12A5VHM-DBorritivgoeh+rOOtVUUMTT21 + -IOREF L AG∼∼RN∼1111E20319DF IN2 ENA M DC Motor R3 E.3SVE T 5V TX GN D RX GN D P OW E R ATmega328p ARDUINO 8 Vin ANALOG IN ON ∼∼567 ∼43 AAAAAA243150 UNO ICSP 2 TX 1 RX 0 2. การควบคุมสเตป็ ปง มอเตอรดว ย Arduino สเต็ปปงมอเตอรยูนิโพลารแ บบ Common ภายใน + V Common A Φ1 ROTOR A Φ2 B Φ3 B Φ4 + 12 V Stepper Motor ชนดิ Unipolar ไมโครคอนโทรลเลอ ร 1.5 kΩ ULN2003 D3 Φ1 ROTOR 1.5 kΩ D2 1.5 kΩD3 D1 Φ2 1.5 kΩ Φ3 D2 D0 Φ4 CommonD1 D0

91 3. การควบคุมเซอรโวมอเตอรดวย Arduino Drive Gear Output Spine P(oอtยeภู nาtยioในm)eter (อDยCภู Mายoใtนo)r Control Circuit Servo Case 0 องศา แกนหมนุ อารซีเซอรโ วมอเตอร 20 ms อยทู ตี่ ําแหนง 0 องศา 19.00 ms 1.00 ms 20 ms 45 องศา แกนหมนุ อารซีเซอรโวมอเตอร 18.75 ms อยูที่ตําแหนง 45 องศา 20 ms 1.25 ms 18.50 ms 20 ms 90 องศา แกนหมอนุ ยอทู าต่ี รําซ แเี ซหอนรง โว9ม0ออเตงศอาร 18.25 ms 1.50 ms 20 ms 135 องศา แกนหอมยนุูทอ่ตี าาํ รแซหีเนซงอร1โ 3ว5มออเงตศอาร 18.00 ms 1.75 ms 180 องศา แกนหมุนอารซ ีเซอรโวมอเตอร อยูท่ตี าํ แหนง 180 องศา 2.00 ms

92 ชื่อวชิ า. ไมโครคอนโทรลเลอร แผนการจดั การเรยี นรูที่ 9 เวลาเรียนรวม 10 ชั่วโมง ชื่อหนว ย การควบคุมดซี มี อเตอร เซอรโวมอเตอรแ ละสเตป็ เปอรมอเตอร อนครั้งที่ 14-15 ชอ่ื เร่อื ง การควบคุมดซี มี อเตอร เซอรโ วมอเตอรและสเตป็ เปอรมอเตอร จำนวน 10 ชั่วโมง ตอนท่ี 1 ใหก าเครอ่ื งหมายถูก √ ในขอ ท่ีคดิ วา ถูก และกาเคร่ืองหมายผดิ x ในขอท่ีคดิ วาผดิ ……… 1. โครงสรา งของ H-Bridge คลา ยกบั วงจรสวติ ช 4 ตวั ……… 2. ไอซเี บอร L298N สามารถควบคุมดีซมี อเตอรไ ด 2 ตัว ทำงานอิสระตอ กัน ……… 3. โมดลู H-Bridge Motor Drive หาก IN1 = 1, IN2 = 0, ENA = 1 มอเตอรจ ะไมห มนุ ……… 4. ฟงกช ัน analogWrite(speedM1, 255); ทำให PWM มคี า Duty cycle สูงสดุ ……… 5. สเต็ปปง มอเตอรช นดิ ยูนโิ พลารแ บบ Common ภายใน จะมีสายไฟจำนวน 6 เสน ……… 6. การกระตนุ สเต็ปปง มอเตอรแ บบ Full step single phase หมายถึงใหพ ัลสบ วกทลี ะเฟส เรียงกันไปอยา งตอ เนื่อง ……… 7. ฟงกช ัน myStepper.step(200); ในภาษา C++ หมายถงึ ใหส เต็ปปง มอเตอรห มุนดว ยความเรว็ 200 รอบตอ นาที ……… 8. ฟงกช ัน myservo.attach(3); ในภาษา C++ หมายถึงตอสายสัญญาณของอารซเี ซอรโ วทขี่ า A3 ……… 9. สัญญาณควบคมุ อารซ เี ซอรโ วมอเตอรชนิดหมนุ ได 180 องศา หากตองการใหห มนุ ไปที่ 90 องศา ใหป อนสญั ญาณพัลสบ วกดว ยเวลา 1.5 ms พลั สล บดวยเวลา 18.5 ms ……… 10. ฟง กชัน myservo.write(60);ในภาษา C++ หมายถึงใหอ ารซ ีเซอรโวมอเตอรห มุนไป 60 % ตอนท่ี 2 จงอธบิ ายสัน้ ๆ ใหไ ดใจความ 1. แหลงจายไฟฟา กระแสตรง +VM ในโมดลู H-Bridge Motor Drive ตองใชคา ใดขึน้ อยกู บั ............................ 2. PWM ยอ มาจาก .............................................................................................................................................. 3. คา duty cycle ของ PWM มหี นว ยวัดเปน .................................................................................................... 4. ในภาษา C++ ฟงกชัน analogWrite(11, 50); หมายถึง ................................................................................ 5. การขับสเต็ปปง มอเตอรแ บบใดใหกำลังไฟฟา สงู สดุ ......................................................................................... 6. ในภาษา C++ ฟงกช ัน myStepper.setSpeed(60); หมายถึง ...................................................................... 7. ในภาษา C++ ฟง กช ัน const int stepsPerRevolution = 200; หมายถงึ .................................................. 8. อารซีเซอรโวมอเตอรเ ปน มอเตอรไฟฟาขนาดเลก็ ที่สามารถควบคมุ ตำแหนง ความเร็ว และทิศทางการหมุน แบง เปน ...........ประเภท 9. ในภาษา C++ ฟง กชัน Servo myservo; หมายถงึ ........................................................................................ 10. ในภาษา C++ ฟงกชัน val = map(val, 0, 1023, 0, 180); หมายถึง .........................................................

93 ชื่อวชิ า. ไมโครคอนโทรลเลอร แผนการจัดการเรยี นรทู ี่ 9 เวลาเรียนรวม 10 ชวั่ โมง ชอ่ื หนวย การควบคุมดีซมี อเตอร เซอรโ วมอเตอรแ ละสเตป็ เปอรมอเตอร สอนครงั้ ท่ี 14-15 ชอื่ เรอื่ ง การควบคุมดซี มี อเตอร เซอรโ วมอเตอรและสเต็ปเปอรม อเตอร จำนวน 10 ชว่ั โมง การประเมิน 4321 ที่ รายการประเมิน 1 การมสี ว นรวมในการทํางานของกลุม 2 ความถกู ตองของเนอ้ื หา 3 ส่งิ ท่ีใชประกอบการนาํ เสนอ 4 รปู แบบการนาํ เสนอหนาชน้ั เรียน ชดั เจน เขาใจ งา ย 5 ตรงตอ เวลา กระตอื รือรน รอบคอบ ขอเสนอแนะ …………………………………………………………………………………………………………………………. …………..……………………………………………………………………………………………………………... ………………………………..………………………………………………………………………………………...