คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 ·...

28
คูมือการใชงานและ ตัวอยางโปรแกรมควบคุม User manual and Sample Code ชุดทดลองควบคุมแกนใบพัด Vertical takeoff training kit

Transcript of คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 ·...

Page 1: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

คูมอืการใชงานและ 

ตัวอยางโปรแกรมควบคุม 

User manual and Sample Code 

 

 

 

 

 

 

 

 

 

ชุดทดลองควบคุมแกนใบพัด

Vertical takeoff training kit 

Page 2: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

 

รูปท่ี 1 วงจรสมบูรณของชุดทดลองควบคุมแกนใบพัด

Page 3: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

รูปที่ 2 ตัวอยางการตอวงจรเขากับ Arduino Uno

Page 4: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

บทนํา คูมือน้ีจะแสดงตัวอยางการเขียนโปรแกรมควบคุมชุดทดลองแกนใบพัดโดยจะแสดงวิธีการ

ควบคุมทั้งแบบ Open loop และ Colse loop ดวยชุดทดลองควบคุมแกนใบพัดดังรูปท่ี 3

 

  

รูปท่ี 3

ชุดทดลองน้ีจะชวยใหผูทดลองไดเขาใจการควบคุม PID สําหรับการควบคุมตําแหนงของแกน

ใบพัดหมุน โปรแกรมควบคุมจะทําผานโปรแกรม Arduino และสามารถแสดงผลเปนกราฟ เพื่อ

ใชดูผลตอบสนองของระบบซึ่งจะชวยใหผูทดลองสามารถปรับปรุงตัวควบคุม PID ใหเหมาะสม

และลูเขาสูคาที่ตองการโดยทดลองจะแบงเปนใบงานดังนี ้

1. การควบคุม Open loop

2. การควบคุมแบบ P

3. การควบคุมแบบ PI

4. การควบคุมแบบ PID

5. การควบคุมแบบ PID โดยใชไลเบอร่ี

 

Page 5: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

1.การควบคุม Open loop

 

รูปท่ี 4 โปรแกรมควบคุมแกนใบพัดแบบ Open loop

Page 6: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

1.2 สรุปผลการควบคุม Open loop รูปที่ 5 เปนไดอะแกรม การควบคุมแบบ Open loop ที่ผูใชงานสามารถปรับคา

แรงดันไฟฟาที่จะจายใหกับมอเตอรโดยตรง ซึ่งคาแรงดันไฟฟาน้ีคือ สัญญาณ PWM นั่นเอง

การควบคุมลักษณะน้ีตัวควบคุมจะไมรับรูตําแหนงของแกนใบพัดไมวาจะขึ้นลงมากหรือนอย

สัญญาณ PWM ก็จะยังคงเดิมไมเปล่ียนจนกวาผูใชงานจะปรับเปล่ียนคาเอง

การควบคุมลักษณะน้ีเรียบงาย ไมซับซอนแตขอเสียสําคัญคือ ระบบจะไมตอบสนองตอ

การเปล่ียนแปลงของระบ กลาวคือไมวาระบบจะเปนอยางไร สัญญาณเอาตพุตก็ยังคงเดิม

 

  

รูปที่ 5 ไดอะแกรมการควบคุมแบบ Open loop

Page 7: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

  

รูปที่ 6 การตอใชงานและลักษณะสัญญาณอินพุตและเอาตพุต

ทดลองใชมือขยับแกนข้ึนลง 

Page 8: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

2. การควบคุมแบบ P การควบคุมแบบ P ยอมาจากคําวา Proportional เปนหนึ่งในเทอมของการควบคุม

แบบ PID ในหัวขอนี้จะไดเรียนรูพฤติกรรม ขอดี ขอเสียของ P control

การควบคุมแบบ PID เปนการพิจารณาจากคา Error ที่เกิดขึ้นจากความแตกตาง

ระหวางสัญญาณ set point กับสัญญาณอินพุตปอนกลับ (feed back) โดยมีการคูณดวย

อัตราการขยายหรือเกน เขากับคา Error ที่ได เรียกวาคา K สําหรับการควบคุม P ก็จะเรียกคา

เกนวา Kp (อานวา เคพี)

รูปท่ี 7 สมการการควบคุมแบบ P

รูปที่ 8 ไดอะแกรมการควบคุมแบบ P

คาเอาตพุต คาเกน

คาError 

คาปอนกลับ คาท่ีตองการ

Page 9: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

2.1 โปรแกรมควบคุมแบบ P

รูปท่ี9 โปรแกรมควบคุมแกนใบพัดแบบ P

Page 10: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

2.2 สรุปผลการควบคุมแบบ P

รูปที่ 10 กราฟผลลัพธของการควบคุมแบบ P

ผลการควบคุมแบบ P แสดงดังรูปท่ี 10 จะเห็นวา เม่ือเปล่ียน set point จากคา 600

เปนคา 700 (หนวย ADC มีคาอยูในชวง 0 ถึง 1023) โดยมีคาเกนเทากับ 1.5 หลังจากนัน้ทันที

ท่ีมีการเปล่ียนคา set point สัญญาณ PWM จะเพิ่มข้ึนเปน 100% แทบจะในทันทีสงผลให

มอเตอรตอบสนองดวยการหมุนใบพัดเร็วข้ึน ทําใหเกิดแรงยก ใหตําแหนงของแกนใบพัดลูเขาสู

คา set point แตขณะเดียวกันเม่ือตําแหนงแกนใบพัดเขาใกล set point ก็ทําใหคา Error เขา

ใกลศูนย ทําใหเอาตพุต PWM ลดลงเปนศูนย มอเตอรหมุนชาลง สูญเสียแรงยกทําใหตําแหนง

แกนตกต่ํากวาคา set point แตในรอบน้ีตัวควบคุมท่ีเปนสมการจะคํานวณคาใหเอาตพุตให

สามารถเล้ียงแกนใบพัดใหอยูในตําแหนงท่ีสมดุลระหวางแรงยก และน้ําหนักแกน แตไม

สามารถทําใหเขาใกล set point ไดมากกวาน้ี เกิดเปนความแตกตางระหวางตําแหนง set

point กับตําแหนงของแกนเรียกวา คาออฟเซต ซึ่งเปนพฤติกรรมปกติของการควบคุมแบบ P

หากผูใชทดลองตองการออฟเซตนอยกวาน้ี ก็ตองเพิ่มคาเกน แตคาเกนทีม่ากเกินไปจะทําให

เกิดการแกวงของระบบได น่ันคือแกนใบพัดจะขยับข้ึนลงตลอดเวลาไมนิ่ง

Page 11: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

3. การควบคุมแบบ PI การควบคุมแบบ PI ยอมาจากคําวา Proportional Integral เปนสองในสามเทอมของ

การควบคุมแบบ PID ในหัวขอนี้จะไดเรียนรูพฤติกรรม ขอดี ขอเสีย ของ PI control

การควบคุมแบบ PI เปนการปรับปรุงการควบคุมแบบ P โดยเพ่ิมเทอม I เขาไปเพ่ือ

แกปญหาออฟเซต ระหวาง set point และสัญญาณ feed back ในชวงแรก กลไกของเทอม P

จะทํางานเพือ่ใหตําแหนง feed back เขาใกล set point ตอจากนั้น คาออฟเซตทีเ่กิดข้ึนจะถูก

แกดวยเทอม I ท่ีจะคอยๆ ขยับคาเพื่อลดคาออฟเซตใหนอยลงจนเขาใกลศูนย ในทางทฤษฏี

แลวการควบคุมแบบ PI จะมีคา Error เปนศูนย แตในโลกแหงความจริงแลวจะมีการแกวง

เล็กๆ เกิดข้ึนอยูโดยระบบจะแกวงอยูรอบๆ คา set point กลไกการทํางานของ PI control เปน

ตามสมการในรูปที่ 11

รูปท่ี 11 สมการการควบคุม PI

รูปที่ 12 ไดอะแกรมการควบคุมแบบ PI

คาเอาตพุต

คาเกนp คาError 

คาปอนกลับ คาท่ีตองการ

คาเกนI 

Page 12: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

3.1 โปรแกรมควบคุมแบบ PI

รูปที่ 13 โปรแกรม PI

Page 13: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

3.2 สรุปผลการควบคุมแบบ PI

รูปท่ี 14 ผลตอบสนองของตัวควบคุม PI ชวงขาขึ้น

ผลการควบคุมแบบ PI แสดงดังรูปท่ี 14 จะเห็นวา เม่ือเปล่ียน set point จากคา 500

เปนคา 600 (หนวย ADC มีคาอยูในชวง 0 ถึง 1023) โดยมีคาเกน Kp = 1.2 และ Ki = 0.0005

ทันทีที่มีการเปล่ียนคา set point สัญญาณ PWM จะเพิ่มขึ้นเปน 100% แทบจะในทันที สงผล

ใหมอเตอรตอบสนองดวยการหมุนใบพัดเร็วข้ึน ทําใหเกิดแรงยก สงใหตําแหนงของแกนใบพัด

ลูเขาสูคา set point แตเน่ืองจากหลังเกิดโอเวอรชูตแลว คาตําแหนงปอนกลับตกลงมาต่ํากวา

คาที่ตองการ ตรงจุดน้ีเองกลไกการสะสมคา Error ของเทอม I หรือ อินทิกรัล เร่ิมสงผลใหเห็น

โดยตัวแปร errSum จะมีคาเพิ่มข้ึนเรื่อยๆ เม่ือคูณกับคาเกน Ki ก็สงผลใหคาเอาตพุต PWM

คอยๆ เพิ่มข้ึนอยางชาๆ สรางแรงยกดันใหตําแหนงแกนใบพดัเคล่ือนเขาสูตําแหนงทีต่องการ

อยางไรก็ตามเน่ืองจากตัวอยางนี้ตองการใหเห็นกลไกการทํางานของเทอม I หรือ

อินทิกรัล ทําใหผูเขียนตั้งคาเกน Ki นอยๆ เปนผลใหคาเวลาท่ีใชเพ่ือลูเขาตําแหนงท่ีตองการน้ัน

นานกวาปกติ ซึ่งในทางปฏิบัติแลวตองใชเวลาเขา setting time ใหนอยกวาน้ี จึงจะดี

Page 14: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

รูปท่ี 15 ผลตอบสนองของตัวควบคุม PI ชวงขาลง

ผลการควบคุม PI แสดงดังรูปที่ 15 จะเห็นวาเมื่อเปล่ียน set point จากคา 600 เปน

500 คือเปนชวงขาลง จะสังเกตเห็นวา เม่ือคา set point เปล่ียนคา ทําใหคาเอาตพุต PWM

ลดลงเปน 0 ทันทีทําใหแกนใบพัดสูญเสียแรงยก ทําใหแกนใบพัด เคล่ือนตกลงมาดวยแรงโนม

ถวง ชวงเวลาตอมาเม่ือตําแหนงแกนใบพัดเคล่ือนลงเขาใกลคา set point สมการท่ีอยูใน

โปรแกรมจะเร่ิมสงคาเอาตพุตออกมาขับใหมอเตอรหมุน ไดเปนแรงยกดันใหแกนใบพัดยกตัว

ข้ึน กลับเขาสูคา set point อยางสวยงาม

ซึ่งจะสังเกตวาการควบคุมแบบ PI ในระยะยาวนั้น คาความแตกตางระหวาง set point

และสัญญาณ Feed back น้ันเขาใกลศูนย และอีกเชนเดียวกัน ที่พฤติกรรมของระบบตาม

กราฟที่เห็นน้ีอาจยังไมใชคาท่ีดีท่ีสุด แตผูเขียนเลือกที่จะใหผูทดลองไดเห็นกลไกการทํางาน

ของเทอม I เพ่ิมเขามา ซึ่งผูทดลองสามารถทดลองเปล่ียนคาเกนเพ่ือใหชวงการเขา setting

time นอยลงกวาน้ีได

Page 15: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

4. การควบคุมแบบ PID การควบคุม PID เปนการรวมเอา สามเทอมมาทํางานรวมกัน โดยแตละเทอมจะทํางาน

เพื่อแกปญหาในแบบของตัวเอง

สมการโดยรวมของ PID เปนดังรูปที่ 16 จะเห็นวาเปนผลรวมของ สามเทอม ท่ี

ประกอบดวย เทอม P เทอม I และ เทอม D อิทธิพลของแตละเทอมจะทํางานในแตละ

สถานการณของระบบ ตัวอยางเชน เทอม P จะมีอิทธิพลสูงเม่ือคาความตางระหวาง set point

กับสัญญาณ Feed back มีคามาก อยูหางกันมาก ขณะท่ีเทอม I จะมีอิทธิพลสูงเม่ือคา Feed

back อยูใกลๆ คา set point เทอม I น้ีจะเร่ิมทํางานเพื่อทําใหคา Error ลดลงจนเปนศูนย

และสุดทายอิทธิพลของเทอม D จะคอยตานทานการเปล่ียนแปลงข้ึนลงอยางรวดเร็ว

ของสัญญาณ feed back ที่จะสงผลตอสัญญาณเอาตพุต อิทธิพลของเทอม D จะลดลงเม่ือ

สัญญาณFeed back ของระบบ ในสถานะนิ่งๆ

รูปที่ 16 สมการควบคุม PID

รูปที่ 17 ไดอะแกรมการควบคุมแบบ PID

Page 16: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

4.1 โปรแกรมควบคุมแบบ PID

รูปที่ 18 โปรแกรม PID

Page 17: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

4.2 สรุปผลการควบคุมแบบ PID

รูปที่ 19 สัญญาณอินพุตเอาตพุตของการควบคุม PID

ผลการควบคุมแบบ PID แสดงดังรูปที่ 19 จะเห็นวาตําแหนงของแกนใบพัดถูกควบคุม

ใหเปล่ียนแปลงตามสัญญาณ set point ไดเปนอยางดี โดยไมมีการโอเวอรชูต และอันเดอรชูต

โดยชวงเวลาการไตข้ึนและไตลง ของสัญญาณ feed back น้ันเกิดจากคาเวลาคงตัวของระบบ

น้ีเอง ซึ่งทันทีท่ีผานชวงเวลาคงตัวของระบแลวตําแหนงแกนใบพัดก็ลูเขาสูตําแหนงทีก่ําหนด

ทันทีโดยไมมีการแกวงของระบบ ผลการควบคุมดังกลาวเกิดจากการทํางานรวมกันของสมการ

PID ท่ีประกอบดวย สามเทอมนั่นคือ P I และ D

Page 18: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

แนวคิดงายๆ ของทั้งสามเทอมนี้คือ เทอมP จะทําหนาที่สรางเอาตพุตเมื่อคา set point

ตางจาก feed back มากๆ สวนเทอม I จะชวยกําจัดคา Error เปนศูนยในตอน stated state

และสวนเทอม D จะคอยสงเอาตพุตเพื่อตานทานการเปล่ียนแปลงของระบบอยางฉับพลัน

เพื่อลดความผิดพลาดจากการพิมพตัวอยางโคด ตามคูมือนี้ ผูเขียนจึงไดรวบรวม

ตัวอยางโคดท่ีอยูในคูมือ สามารถคัดลอกนําไปทดลองตอใชงานไดเลย ตามรูปดานลาง

Page 19: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

5 การควบคุมแบบ PIDโดยใชไลเบอร่ี PID ท่ีผานมาเปนการใชตัวควบคุม PID ที่เขียนข้ึนมาเองซึ่งจริงๆ แลวตัวควบคุม PID ที่ใช

งานในอุตสาหกรรม หรือในผลิตภัณฑตัวควบคุม PID สําเร็จรูป ไดเพิ่มข้ึนฟงชั่น ตัวปองกัน

และอัลกอริทึ่มใหมๆ เขาไปเพื่อแกปญหาตัวควบคุม PID แบบพื้นฐาน

เพื่อเปนการรับประกันวาปญหาของตัวควบคุม PID แบบพื้นฐานที่อาจเกิดข้ึนกับโคดท่ี

เขียนข้ึนเองจะไดรับการแกไขและปองกันไวแลว การเลือกใชไลเบอร่ี PID ก็เปนทางเลือกหน่ึงที

นาสนใจ ซึ่งชวยใหผูใชงานสามารถมุงไปการจูนคาเกน PID และดูผลตอบสนองของระบบ ให

ไดอยางที่ตองการ โดยไมตองกังวลกับปญหาที่อาจเกิดกับโคดที่เขียนข้ึนเอง สําหรับไลเบอรี PID ผูใชงานสามารถไปโหลดมาใชงานไดตามรูปที่ 20

รูปท่ี 20 ดาวนโหลดไลเบอรี PID เวอรชัน V1.0.1

เวอรช่ันลาสุดโหลดที่นี่

Page 20: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

รูปที่ 21 ตรวจสอบตัวอยางโคด PID ท่ีมีมาให หากติดตั้งไลเบอรี่เรียบรอยแลว เมื่อโหลดไลเบอร่ีมาแลวติดตั้งใหเสร็จ จากนั้นตรวจสอบโดยทําตามรูปท่ี 21 ถาถูกตองจะตอง

เห็นตัวอยางใน Examples

ตัวอยาง PID 

Page 21: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

รูปที่ 22 ตัวอยางโคดการใชงานไลเบอรี่เพื่อควบคุมตําแหนงแกนใบพัด

Page 22: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

ข้ันตอนในการออกแบบการควบคุมPID มีหลักการงายๆ 4 ข้ันตอนดังน้ี 1.ตองมีคาพารามิเตอรเหลานี้ของระบบในใจวาตองการมากนอยขนาดไหน ซ่ึงแตละงานจะแตกตางกันออกไป

Rise Time ชวงเวลาขาข้ึน ตองการเร็วมากหรือไม หรือยอมรับคามากๆได รอได

Overshoot ยอมใหมีโอเวอรหรือไม หรือยอมไดมากนอยขนาดไหน

Settling Time ชวงเวลาตั้งแตมีการเปล่ียนคาตําแหนงเกาไปตําแหนงใหมตองเร็ว

ขนาดไหน หรือรอได ขอใหไดตรงตําแหนงเปนพอ

Steady-state Error ยอมใหมีคา Error ตอนระบบนิ่งแลวหรือไม ยอมไดหรือยอม

ไมได ตองไมเกินเทาไร 2. ถาตองการลด rise time ใหเพิ่มคา Kp 3. ถาตองการลด over shoot และ settling time ใหเพิ่มคา Kd 4. ถาตองการใหคา error เปน 0 ใหเพิ่มคา Ki มากกวา 0

รูปที่ 23

Page 23: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

การจูน PID โดยใชวิธีการ Ziegler-Nichols

แนวคิดงายๆ ของวิธีน้ีคือ เราจะหาคาเกน Kp, Ki, Kd ดวยการให step

response แกระบบ แลวคํานวณจากกราฟท่ีได ซึ่งกราฟท่ีไดน้ีเกิดจากใชออส

ซิโลสโคปจบัวัดสัญญาณFeed back ในกรณีท่ีระบบตอบสนองรวดเร็ว เชน ความเร็ว

ตําแหนงแขนกล กลไกตางๆ สวนระบบชาๆ เชนอุณหภูมิความชื้น อาจตองเก็บคา

ดวย Data logger แลวนํามาพล็อตกราฟ

รูปท่ี24

ลากเสนสัมผัสกราฟใหปลายไปตัดเสนแนวนอน

วัดเวลาแตละชวงเพ่ือนําไปคํานวณคาเกนตาม

ตารางดานลาง

Page 24: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

 

รูปที่1 

Page 25: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

 

รูปที่2 

 

Page 26: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

 

รูปที่3 

Page 27: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

  

Page 28: คู มือการใช งานและ ตัวอย าง ... · 2019-03-26 · แรงดันไฟฟ าที่จะจ ายให กับมอเตอร

 

 

 

ปรับใหรองของแกนโวลุม

อยูในแนวระดับดังรูป 

นําหัวโวลุมาสวมเขาโดย

ใหขีดสีขาวตรงกับหัว

ลูกศรดานบน 

หลังจากสวมเสร็จแลว

ลองปลอยแกนใหตกลง

ตามธรรมชาติ น้ําหนัก

ของดานมอเตอรใบพัดจะ

หนักกวาน้ําหนักถวง

เล็กนอย ทําใหแกนตกมา

ดานขวา 

ใชมือประคองแกนแลวกด

สวมเขาไปใหแนน 

นําหัวโวลุมาสวมเขาโดย

ใหขีดสีขาวตรงกับหัว

ลูกศรดานบน