39
เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 469 หน่วยที11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกิด สนธิพันธ์ หน่วยที11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ สาระสาคัญ เนื่องจากขาพอร์ตของไมโครคอนโทรลเลอร์ สามารถที่จะจ่ายกระแสเพื่อควบคุมอุปกรณ์เอาต์พุตได้ ประมาณ 20 mA ที่แรงดัน 5 VDC ดังนั้น หากต้องการนาไมโครคอนโทรลเลอร์ไปควบคุมอุปกรณ์ที่ต้องใช้ กระแสและแรงดันสูง เช่น หลอดไฟฟ้าแสงสว่าง มอเตอร์ ฯลฯ จะต้องมีอุปกรณ์หรือวงจรขับกระแสเพื่อให้ เพียงพอต่อการทางานของอุปกรณ์ ซึ่งอุปกรณ์ขับกระแสที่นิยมนามาใช้งาน ได้แก่ รีเลย์ โซลิดสเตตรีเลย์ วงจรขับมอเตอร์ไฟฟ้ากระแสตรง เป็นต้น อุปกรณ์หรือวงจรขับมีคุณสมบัติ คือ ด้านอินพุตจะใช้กระแสและ แรงดันต่าสาหรับทาให้อุปกรณ์หรือวงจรขับทางาน แต่ด้านเอาต์พุตจะทนกระแสและแรงดันสูง จึงสามารถ ใช้ไมโครคอนโทรลเลอร์ควบคุมด้านอินพุต เพื่อทาให้วงจรขับทางานและต่ออุปกรณ์ที่ต้องใช้กระแสและ แรงดันสูงทางด้านเอาต์พุตได้ หน่วยเรียนนี้นักเรียนจะได้ศึกษา และปฏิบัติการทดลองใช้งานไมโครคอนโทรลเลอร์ Arduino กับอุปกรณ์ขับโหลดกระแสสูงแบบรีเลย์ แบบโซลิดสเตตรีเลย์ และมอเตอร์ไฟฟ้ากระแสตรง สาระการเรียนรู11.1 อุปกรณ์ขับโหลดกระแสสูงแบบรีเลย์ 11.2 อุปกรณ์ขับโหลดกระแสสูงแบบโซลิดสเตตรีเลย์ 11.3 มอเตอร์ไฟฟ้ากระแสตรง

หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 469

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

หน่วยที่ 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร ์

สาระส าคัญ

เนื่องจากขาพอร์ตของไมโครคอนโทรลเลอร์ สามารถที่จะจ่ายกระแสเพ่ือควบคุมอุปกรณ์เอาต์พุตได้ประมาณ 20 mA ที่แรงดัน 5 VDC ดังนั้น หากต้องการน าไมโครคอนโทรลเลอร์ไปควบคุมอุปกรณ์ที่ต้องใช้กระแสและแรงดันสูง เช่น หลอดไฟฟ้าแสงสว่าง มอเตอร์ ฯลฯ จะต้องมีอุปกรณ์หรือวงจรขับกระแสเพื่อให้เพียงพอต่อการท างานของอุปกรณ์ ซึ่งอุปกรณ์ขับกระแสที่นิยมน ามาใช้งาน ได้แก่ รีเลย์ โซลิดสเตตรีเลย ์ วงจรขับมอเตอร์ไฟฟ้ากระแสตรง เป็นต้น อุปกรณ์หรือวงจรขับมีคุณสมบัติ คือ ด้านอินพุตจะใช้กระแสและแรงดันต่ าส าหรับท าให้อุปกรณ์หรือวงจรขับท างาน แต่ด้านเอาต์พุตจะทนกระแสและแรงดันสูง จึงสามารถใช้ไมโครคอนโทรลเลอร์ควบคุมด้านอินพุต เพ่ือท าให้วงจรขับท างานและต่ออุปกรณ์ท่ีต้องใช้กระแสและแรงดันสูงทางด้านเอาต์พุตได้

หน่วยเรียนนี้นักเรียนจะได้ศึกษา และปฏิบัติการทดลองใช้งานไมโครคอนโทรลเลอร์ Arduino กับอุปกรณ์ขับโหลดกระแสสูงแบบรีเลย์ แบบโซลิดสเตตรีเลย์ และมอเตอร์ไฟฟ้ากระแสตรง

สาระการเรียนรู้

11.1 อุปกรณ์ขับโหลดกระแสสูงแบบรีเลย์ 11.2 อุปกรณ์ขับโหลดกระแสสูงแบบโซลิดสเตตรีเลย์ 11.3 มอเตอร์ไฟฟ้ากระแสตรง

Page 2: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 470

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

จุดประสงค์การเรียนรู้

จุดประสงค์ทั่วไป

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

2. เพ่ือให้นักเรียนมีความรู้และเขา้ใจการใช้งานไมโครคอนโทรลเลอร์ Arduino กับมอเตอร์ไฟฟ้ากระแสตรง

จุดประสงค์เชิงพฤติกรรม นักเรียนสามารถ

1. อธิบายคุณสมบัติการท างานของรีเลย์ได้ 2. อธิบายการท างานของวงจรขับโหลดกระแสสูงแบบรีเลย์ได้ 3. อธิบายคุณสมบัติการท างานของโซลิดสเตตรีเลย์ได้ 4. อธิบายการท างานของวงจรขับโหลดกระแสสูงแบบโซลิดสเตตรีเลย์ได้ 5. อธิบายคุณสมบัติการท างานของมอเตอร์ไฟฟ้ากระแสตรงได้ 6. อธิบายการท างานของวงจรขับมอเตอร์ไฟฟ้ากระแสตรงแบบรีเลย์ได้ 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้ 8. อธิบายการท างานของวงจรขับมอเตอร์ไฟฟ้ากระแสตรงแบบใช้ไอซีได้ 9. ต่อวงจรขับโหลดกระแสสูงกับบอร์ด Arduino UNO ได ้10. เขียนโปรแกรมควบคุมอุปกรณข์ับโหลดกระแสสูงได้ 11. เขียนโปรแกรมควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรงได้ 12. เขียนโปรแกรมควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

Page 3: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 471

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ผังความคิดเนื้อหาหน่วยที่ 11

Page 4: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 472

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

หน่วยที่ 11

การใช้งาน Arduino กับอุปกรณ์

ขับโหลดกระแสสูงและมอเตอร ์

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

11.1 รีเลย์ รีเลย์ (Relay) คือ อุปกรณ์อิเล็กทรอนิกส์ชนิดหนึ่งที่ท างานด้วยแรงแม่เหล็กไฟฟ้า ท าหน้าที่

เป็นสวิตช์ตัด/ต่อวงจรไฟฟ้า

11.1.1 คุณสมบัติและการท างานของรีเลย์ รีเลย์ประกอบด้วยส่วนส าคัญ 2 ส่วน คือ ขดลวด (Coil) และหน้าสัมผัส (Contact) ทีแ่บ่งออกเป็นหน้าสัมผัสแบบปกติปิดวงจร (Normally Close : NC) และหน้าสัมผัสแบบปกติเปิดวงจร (Normally Open : NO) โดยในสภาวะปกติท่ีขดลวดไม่ได้รับการจ่ายแรงดัน หน้าสัมผัส NC จะต่อวงจรอยู่กับหน้าสัมผัสของขาคอมมอน (Common : COM) เมื่อขดลวดได้รับการจ่ายแรงดัน จะท าให้มีกระแสไฟฟ้าไหลผ่านขดลวด เกิดอ านาจสนามแม่เหล็กไฟฟ้าดูดให้หน้าสัมผัสเคลื่อนที่ หน้าสัมผัสของขา COM จะเปลี่ยนไปต่อวงจรกับหน้าสัมผัส NO และเม่ือหยุดจ่ายแรงดันให้กับขดลวด หน้าสัมผัสของขา COM จะกลับไปต่อวงจรกับหน้าสัมผัส NC เหมือนเดิม ท าให้รีเลย์สามารถท างานเป็นสวิตช์ตัด/ต่อวงจรไฟฟ้าได้ ด้วยการควบคุมแรงดันที่จ่ายให้กับขดลวด รูปร่างของรีเลย์และสัญลักษณ์แสดงดังรูปที่ 11.1

Page 5: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 473

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

(ก) รูปร่างของรีเลย์ (ข) สัญลักษณ์ของรีเลย์ รูปที่ 11.1 รูปร่างและสัญลักษณ์ของรีเลย์

(ท่ีมา : http://www.inventor.in.th)

จากรูปที่ 11.1 แสดงรูปร่างและสัญลักษณ์ของรีเลย์แบบมาตรฐานที่ใช้งานทั่วไป รายละเอียดของขาใช้งานแสดงดังตารางที่ 11.1

ตาราง 11.1 รายละเอียดขาใช้งานของรีเลย์

ขาใช้งานของรีเลย์ หน้าที่ของขาใช้งาน ขาของชุดขดลวด (Coil) เป็นขาส าหรับการจ่ายแรงดันไฟฟ้าให้กับขดลวด ตามขนาดแรงดันของ

รีเลย์ตัวนั้น ๆ เช่น รีเลย์ 12V ก็ต้องจ่ายแรงดันให้กับขาขดลวดที่แรงดัน 12V จึงจะท างานได้ ถ้าจ่ายแรงดันให้กับขดลวดต่ ากว่าแรงดันที่ก าหนด รีเลย์จะไม่ท างาน หรือถ้าจ่ายแรงดันเกิดกว่าที่ก าหนดอาจจะท าให้ขดลวด ขาดได้ โดยทั่วไปบริษัทผู้ผลิตรีเลย์จะแสงดค่าแรงดันของขดลวดไว้ที่กรอบโครงสร้างของรีเลย์ หรือที่ขดลวด

ขาคอมมอน (Common : COM)

เป็นขาต่อร่วมกลางของสวิตช์ที่จะต่อกับหน้าสัมผัส NC หรือ NO ซึ่งเป็นขาท่ีจะมีการเคลื่อนที่เมื่อขดลวดได้รับการจ่ายแรงดัน เกิดสนามแม่เหล็ก ไฟฟ้าที่ดูดให้เคลื่อนที่เปลี่ยนจุดต่อของหน้าสัมผัส โดยปกติจะต่อวงจรกับหน้าสัมผัส NC และเม่ือมีการจ่ายแรงดันไฟฟ้าให้กับขดลวดขา COM นี้จะเคลื่อนที่ไปต่อวงจรกับหน้าสัมผัส NO เมื่อหยุดจ่ายแรงดัน ไฟฟ้าให้กับขดลวดจะกลับไปต่อวงจรกับหน้าสัมผัสNC เหมือนเดิม

ขาหน้าสัมผัสแบบปกติปิด (Normally Close : NC)

เป็นขาสวิตช์ที่ต่อวงจรอยู่กับขา COM ในขณะที่รีเลย์ยังไม่ท างาน (ยังไม่จ่ายแรงดันไฟฟ้าให้กับขดลวด)

ขาหน้าสัมผัสแบบปกติปิด (Normally Close : NO)

เป็นขาสวิตช์ที่จะต่อวงจรกับขา COM เมื่อรีเลย์ท างาน (เมื่อจ่าย แรงดันไฟฟ้าให้กับขดลวด)

Page 6: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 474

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

หมายเหตุ : ในรีเลย์ 1 ตัว อาจมีหน้าสัมผัสมากกว่า 1 ชุด เพ่ือให้สามารถเป็นสวิตช์ได้หลายตัวที่ท างานพร้อมกัน ซึ่งขาใช้งานก็จะเพ่ิมข้ึน

11.1.2 การใช้งานไมโครคอนโทรลเลอร์กับรีเลย์ 11.1.2.1 การต่อวงจรไมโครคอนโทรลเลอร์กับรีเลย์ เนื่องจากรีเลย์ คือ สวิตช์ที่ท างานด้วยสนามแม่เหล็กไฟฟ้า การใช้งานรีเลย์ในงานทั่วไปจะใช้เป็นสวิตช์เพ่ือควบคุมโหลด ดังรูปที่ 11.2

(ก) รีเลย์ยังไม่ท างาน : ขาหน้าสัมผัสของขา COM และหน้าสัมผัสของขา NO ไม่ต่อถึงกัน

หลอดไฟจะไม่ติด

(ข) รีเลย์ท างาน : ขาหน้าสัมผัสของขา COM และหน้าสัมผัสของขา NO ต่อถึงกัน

หลอดไฟจะติดสว่าง รูปที่ 11.2 การใช้งานรีเลย์เป็นสวิตช์เพ่ือควบคุมโหลด

การใช้งานรีเลย์ต้องค านึงถึงคุณสมบัติของรีเลย์ ดังนี้ ค่าแรงดันที่จ่ายให้กับขดลวดของรีเลย์ต้องตรงตามคุณสมบัติของรีเลย์

ค่าทนกระแสของหน้าสัมผัส ซึ่งที่ตัวรีเลย์จะระบุไว้ เช่น 10A 220ac คือ หน้าสัมผัสของรีเลย์นั้นสามารถทนกระแสได้ 10 แอมแปร์ ที่ 220Vac แต่การใช้ก็ควรจะใช้งานที่ระดับกระแสต่ ากว่าเพราะถ้ากระแสมากหน้าสัมผัส ของรีเลย์เสียหายได้

ความเร็วในการท างาน (Speed) คือ ความเร็วในการสวิตช์ ส าหรับการใช้งานกับไมโครคอนโทรลเลอร์กับรีเลย์ จะใช้ขาพอร์ตของไมโครคอนโทรลเลอร์ควบคุมการจ่ายแรงดันให้กับขดลวดของรีเลย์ ดังรูปที่ 11.3

Coil

NO

COM

NC

Power

SW

Supply

220VAC

Coil

NO

COM

NC

Power

SW

Supply

220VAC

Page 7: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 475

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

รูปที่ 11.3 การต่อวงจรบอร์ด Arduino Uno กับวงจรรีเลย์

จากรูปที่ 11.3 เป็นการควบคุมการท างานของรีเลย์ด้วยไมโครคอนโทรลเลอร์ Arduino เพ่ือใช้รีเลย์เป็นสวิตช์ตัด/ต่อวงจรให้กับหลอดไฟฟ้าแสงสว่าง โดยรีเลย์จะท างานที่แรงดันไฟฟ้า 12V เมื่อที่ขาพอร์ต Digital Pin10 มีค่าลอจิกเป็น “1” หรือ “HIGH” จะท าให้ทรานซิสเตอร์ Q1 น ากระแส เป็นสวิตช์ต่อวงจรให้กับขดลวดของรีเลย์ ขดลวดของรีเลย์จะได้รับการจ่ายแรงดันไฟฟ้า 12V จะท าให้เกิดสนามแม่เหล็กไฟฟ้าดูดหน้าสัมผัสของขา COM เคลื่อนที่ไปต่อวงจรกับหน้าสัมผัสของขา NO หน้าสัมผัสของรีเลย์เป็นสวิตช์ต่อวงจรให้หลอดไฟ จึงติดสว่างได้ และเมื่อส่งค่าลอจิกเป็น “0” หรือ “LOW” รีเลย์จะหยุดท างานหน้าสัมผัส COM จะกลับมาต่อวงจรกับหน้าสัมผัส NC การท างานแสดงดังรูปที่ 11.4

รูปที่ 11.4 การท างานของวงจรรีเลย์เมื่อส่งค่าลอจิก HIGH ที่ Digital Pin10

Page 8: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 476

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ส าหรับการใช้งานไมโครคอนโทรลเลอร์กับวงจรรีเลย์ โดยทั่วไปจะมีวงจรป้องกันทางด้านอินพุตด้วยอุปกรณ์ประเภท ออปโต้อิเล็กทรอนิกส์ (Opto-electronic) ซึ่งจะเป็นอุปกรณ์ที่ส่งสัญญาณควบคุมทางแสงเพ่ือแยกการแหล่งจ่ายไฟฟ้าของวงจรทางด้านอินพุตและเอาต์พุต หรือเรียกว่า ระบบแยกกราวด์ เพ่ือป้องกันความเสียหายของอุปกรณ์ทางอินพุต เมื่อเกิดการลัดวงจรทางด้านเอาต์พุต แสดงดังรูปที่ 11.5

รูปที่ 11.5 การใช้ Optoelectronic เพ่ือแยกระบบกราวด์ของวงจร

ในกรณีที่เลือกใช้รีเลย์ขนาดใหญ่เพื่อให้หน้าสัมผัสสามารถทนกระแสโหลดได้มากข้ึน ขดลวดของรีเลย์ต้องใช้กระแสมากข้ึนเพื่อสร้างสนามแม่เหล็กไฟฟ้าให้เพียงพอต่อการดูดหน้าสัมผัสได้ อาจต้องใช้ทรานซิสเตอร์ช่วยขับกระแสของขดลวด ดังรูปที่ 11.6

รูปที่ 11.6 การใช้ Optoelectronic และทรานซิสเตอร์ขับขดลวดของรีเลย์

Page 9: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 477

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

11.1.2.2 การเขียนโปรแกรมควบคุมวงจรรีเลย์การเขียนโปรแกรมควบคุมการท างานของวงจรรีเลย์ จะใช้การส่งค่าลอจิกท่ีขาพอร์ตที่เชื่อมต่อ

กับวงจรรีเลย์ จากรูปที่ 11.6 จะเขียนโปรแกรมควบคุมดังตัวอย่างโปรแกรม ตัวอย่างโปรแกรม 11.1

1 2 3 4 5 6 7 8 9

10 11 12

#define Relay 2 void setup() { pinMode(Relay,OUTPUT); digitalWrite(Relay, LOW); } void loop() { digitalWrite(Relay, HIGH); delay(5000); digitalWrite(Relay, LOW); }

บรรทัดที่ 1 ก าหนดชื่ออุปกรณ ์Relay ที่ขาพอร์ต Digital Pin2 บรรทัดที่ 3 ก าหนดขาพอร์ต Digital Pin2 บรรทัดที่ 4 ส่งค่าลอจิก LOW ที่ขาพอร์ต Digital Pin2 เพ่ือให้เป็นค่าเริ่มต้นให้รีเลย์ ยังไม่ท างาน บรรทัดที่ 7-9 ส่งค่าลอจิก HIGH ที่ขาพอร์ต Digital Pin2 ให้รีเลยท างาน หลอดไฟจะติดสว่าง เป็นเวลา 5 วินาที และเมื่อส่งค่าลอจิก LOW ที่ขาพอร์ต Digital Pin2 รีเลย์ จะหยุดท างาน หลอดไฟจะดับ

11.2 โซลดิสเตตรีเลย์ 11.2.1 คุณสมบัติและการท างานของโซลิดสเตตรีเลย์

โซลิดสเตตรีเลย์ (Solid State Relay : SSR) คือ อุปกรณ์อิเล็กทรอนิกส์ที่ท าหน้าที่เป็นสวิตช์เหมือนรีเลย์ แต่จะใช้การน ากระแสของสารกึ่งตัวน าท าหน้าที่เป็นสวิตช์แทนหน้าสัมผัสของรีเลย์ ซึ่งจะมีข้อดี คือ ไม่เกิดการอาร์คของหน้าสัมผัสท าให้อายุการใช้งานนานกว่ารีเลย์ ใช้กระแสและแรงดันควบคุมการท างานด้านอินพุตต่ า โดยสามารถควบคุมด้วยสัญญาณลอจิก “0” และ “1” ได้

ส่วนมากโซลิดสเตตรีเลย์ จะน ามาใช้ในงานควบคุมโหลดกระแสสูงในอุตสาหกรรม ที่ควบคุมด้วยโปรแกรมเมเบิ้ลลอจิกคอนโทรล (Programmable Logic Control : PLC) ทางด้านอินพุตของอุปกรณ์โซลิดสเตตรีเลย์สามารถสั่งงานด้วยสัญญาณควบคุมที่แรงดันไฟฟ้ากระแสตรง 5-24V ซึ่งจะสามารถใช้ทั้งไมโครคอนโทรลเลอร์ที่มีลอจิก 5V และ PLC ที่มีสัญญาณควบคุม 24V เป็นอุปกรณ์ส่งสัญญาณควบคุมให้โซลิดสเตตรีเลย์ท างานได้ ส่วนทางด้านเอาต์พุตเป็นสวิตช์สารกึ่งตัวน าที่สามารถรองรับกระแสโหลดได้สูง

Page 10: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 478

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตั้งแต่ 5A จนถึง 30A ซึ่งมีให้เลือกใช้งานหลายพิกัด และเป็นระบบแยกกราวด์ (Ground) ของอินพุตกับเอาต์พุต ลักษณะของอุปกรณ์โซลิดสเตตรีเลย์แสดงดังรูปที่ 11.7

(ก) โซลิดสเตตรีเลย์ (ท่ีมา:http://www.eeeasyshop.com/ product/52/relay)

(ข) ตัวอุปกรณ์โซลิดสเตตรีเลย์ (ท่ีมา : https://inex.co.th/shop/solid-state- relay.html

รูปที่ 11.7 ลักษณะของโซลิดสเตตรีเลย์

วงจรภายในของโซลิดสเตตรีเลย์และการต่อวงจรโหลด แสดงดังรูปที่ 11.8

รูปที่ 11.8 วงจรของโซลิดสเตตรีเลย์

จากรูปที่ 11.8 วงจรภายในของอุปกรณ์โซลิดสเตตรีเลย์จะเป็นอุปกรณ์สารกึ่งตัวน าทั้งหมดประกอบด้วย LED อินฟราเรด (LED Infrared) และ ออปโต้ไตรแอก (Opto Triac) การท างานเริ่มจาก สัญญาณควบคุมแรงดันต่ าจากไมโครคอนโทรลเลอร์ป้อนให้กับ LED อินฟราเรด เมื่อ LED ท างานจะขับแสงไปยังออปโต้ไตรแอค เพ่ือให้น ากระแสไฟฟ้า เป็นสวิตช์ต่อวงจรแรงดันสูงให้กับโหลดท างาน ซึ่งการท างานแบบเชื่อมต่อทางแสง ท าให้สัญญาณควบคุมแรงดันต่ าจากวงจรควบคุมและแรงดันไฟสูงที่จ่ายให้กับโหลดท างาน จะถูกแยกกันอย่างเด็ดขาด และหากวงจรด้านโหลดลัดวงจร จะไม่มีผลต่ออุปกรณ์แรงดันต่ า ด้านแรงดันควบคุม

Page 11: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 479

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

11.2.2 การใช้งานไมโครคอนโทรลเลอร์กับโซลิดสเตตรีเลย์ การต่อวงจรไมโครคอนโทรลเลอร์เพื่อควบคุมโซลิตสเตตรีเลย์ แสดงดังรูปที่ 11.9

รูปที่ 11.9 การต่อบอร์ด i-Duino UNO กับวงจรโซลิดสเตตรีเลย์

จากรูปที่ 11.9 เมื่อส่งค่าลอจิก “HIGH” ที่ขาพอร์ต Digital Pin10 จะท าให้ LED อินฟราเรดท างานส่งแสงควบคุมให้ออปโต้ไตรแอคน ากระแสจ่ายแรงดัน 220Vac ให้กับหลอดไฟแสงสว่างท างาน และเมื่อส่งค่าลอจิก “LOW” ท าให้ LED อินฟราเรดหยุดท างาน ไม่ส่งแสงให้ออปโต้ไตรแอค จึงไม่น ากระแส วงจรด้านโหลดจึงไม่ครบวงจร หลอดไฟแสงสว่างจะดับ

11.3 มอเตอร์ไฟฟ้ากระแสตรง มอเตอร์ (Motor) เป็น อุปกรณ์ที่เปลี่ยนพลังงานไฟฟ้าเป็นพลังงานกล โดยเมื่อจ่ายไฟฟ้าหรือสัญญาณควบคุมให้กับขดลวดของมอเตอร์ จะท าให้เกิดแรงสนามแม่เหล็ก ที่จะท าให้แกนของมอเตอร์หมุน จึงสามารถน าการหมุนของแกนมอเตอร์ไปใช้ในการขับเคลื่อนกลไกให้เกิดการเคลื่อนที่ มอเตอร์จึงเป็นอุปกรณ์ส าคัญในระบบขับเคลื่อนกลไกของเครื่องจักรในงานอุตสาหกรรม 11.3.1 คุณลักษณะของมอเตอร์ไฟฟ้ากระแสตรง มอเตอร์ไฟฟ้ากระแสตรง (DC Motor) เป็นมอเตอร์ที่ท างานด้วยไฟฟ้ากระแสตรง ซึ่งมีขนาดและพิกัดให้เลือกใช้หลากหลาย แต่โดยปกติมอเตอร์ไฟฟ้ากระแสตรงจะถูกสร้างขึ้นให้มีความเร็วการหมุนของแกนหมุนสูงมาก ตั้งแต่ 1,000 รอบขึ้นไป แต่จะมีแรงบิดที่ความเร็วรอบสูงนั้นน้อย ไม่สามารถที่จะเป็นต้นก าลังในการขับเคลื่อนกลไกให้เคลื่อนที่ได้ จึงต้องมีการทดจ านวนรอบด้วยการใช้เฟือง ซึ่งจะท าให้มีแรงบิดมากขึ้น จึงเป็นคุณสมบัติที่ส าคัญของมอเตอร์ไฟฟ้ากระแสตรง คือ มอเตอร์

Page 12: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 480

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

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

(ก) มอเตอร์ไฟฟ้ากระแสตรง (ข) มอเตอร์แบบมีเฟืองทดรอบ รูปที่ 11.10 ลักษณะของมอเตอร์ไฟฟ้ากระแสตรง

(ที่มา : https://th.aliexpress.com/item/775-DC-Motor-DC-12V-36V-3500-9000-RPM)

11.3.2 การท างานของมอเตอร์ไฟฟ้ากระแสตรง มอเตอร์ไฟฟ้ากระแสตรงจะเกิดการหมุนของแกนหมุนเมื่อมีการจ่ายแรงดันไฟฟ้ากระแสตรงเข้าไปในขดลวด และเมื่อกลับขั้วแรงดันไฟฟ้า มอเตอร์จะหมุนกลับทิศทาง ซ่ึงหลักการท างานของมอเตอร์ไฟฟ้ากระแสตรง คือ เมื่อจ่ายแรงดันกระแสไฟฟ้ากระแสตรงเข้าไปในมอเตอร์ ส่วนหนึ่งจะไหลไปที่แปรงถ่านผ่านคอมมิวเตเตอร์เข้าไปในขดลวดอาร์เมเจอร์ และสร้างสนามแม่เหล็กขึ้น กระแสไฟฟ้าอีกส่วนหนึ่งจะไหลเข้าไปในขดลวดสนามแม่เหล็ก (Firld Coil) สร้างขั้วเหนือ-ขั้วใต้ขึ้น จะท าให้เกิดสนามแม่เหล็ก 2 สนาม ตามคุณสมบัติของเส้นแรงแม่เหล็ก ในทิศทางตรงข้ามกันจะหักล้างกันและทิศทางเดียวกันจะเสริมแรงกัน ท าให้เกิดแรงบิดในตัวอาร์เมเจอร์ ซึ่งวางอยู่ที่แกนเพลาและแกนเพลานี้สวมอยู่กับตลับลูกปืนของมอเตอร์ ท าให้อาร์เมเจอร์นี้หมุนได้ ขณะที่ตัวอาร์เมเจอร์ท าหน้าที่หมุนได้นี้ เรียกว่า โรเตอร์ (Rotor) ซึ่งหมายความว่าตัวหมุน ที่มีอ านาจเส้นแรงแม่เหล็กทั้งสองมีปฏิกริยาต่อกัน ท าให้ขดลวดอาร์เมเจอร์ หรือโรเตอร์หมุนไปนั้นเป็นไปตามกฎมือซ้ายของเฟลมมิ่ง (Fleming’s Left Hand Rule) ส าหรับการอธิบายการท างานของมอเตอร์โดยทั่วไปจะอธิบายด้วยการท างานของมอเตอร์แบบ 2 ขั้ว ซึ่งเมื่อจ่ายไฟฟ้ากระแสตรงให้กับมอเตอร์ผ่านทางแปรงถ่านซึ่งต่ออยู่กับคอมมิวเตเตอร์และขดลวด เมื่อกระแสไฟฟ้าไหลผ่านขดลวดท าให้เกิดสนามแม่เหล็กข้ึน และเกิดแรงดูดจากแม่เหล็กถาวรท าให้ขดลวด

Page 13: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 481

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

สามารถหมุนได ้ แต่ด้วยการใช้ขดลวดเพียง 2 ขั้ว การหมุนของมอเตอร์จะไม่ต่อเนื่อง เพราะเนื่องจากเมื่อคอมมิวเตเตอร์หมุนไป 90 องศา จะท าให้เกิดการลัดวงจรคอมมิวเตเตอร์ทั้ง 2 ชุด ท าให้กระแสไฟฟ้าหยุดไหล แต่แกนของมอเตอร์ยังหมุนไปด้วยแรงเฉื่อย ท าให้จังหวะการท างานนั้นไม่ต่อเนื่อง และท าให้อัตราเร็วในการหมุนไม่คงที่ จึงต้องใช้ขดลวดแบบ 3 ขั้ว ที่มีการพันขดลวดในทิศทางตรงข้ามกัน ดังนั้นมอเตอร์ที่ใช้งานจริงจะเป็นมอเตอร์แบบขดลวด 3 ขั้ว และคอมมิวเตเตอร์ที่ใช้ในการก าหนดจังหวะการจ่ายกระแสไฟฟ้าให้แก่ขดลวดจะมี 3 ชุด

รูปที่ 11.11 โครงสร้างการท างานของมอเตอร์ไฟฟ้ากระแสตรง (ที่มา: https://www.renesas.com/en-sg/support/technical-resources/engineer-school/

dc-motor-01-overview.html) 11.3.3 วงจรขับมอเตอร์ไฟฟ้ากระแสตรง การขับมอเตอร์ไฟฟ้ากระแสตรง ท าได้ 2 ลักษณะคือ การควบคุมทิศทางการหมุน และการควบคุมความเร็วในการหมุน ทั้งนี้ขึ้นอยู่กับลักษณะของวงจรขับมอเตอร์ด้วย 11.3.2.1 วงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยสวิตช์

เป็นวงจรขับมอเตอร์ไฟฟ้ากระแสตรงแบบพ้ืนฐาน ส าหรับควบคุมทิศทางการ หมุนของมอเตอร์ โดยใช้สวิตช์ควบคุม 4 ตัว เรียกว่าวงจรขับมอเตอร์ไฟฟ้ากระแสตรงแบบ H-Bridgeเนื่องจากลักษณะของวงจรคล้ายกับตัวอักษร H ในภาษาอังกฤษ และมีการใช้อุปกรณ์ควบคุม 4 ตัว ลักษณะวงจรและการท างานแสดงดังรูปที่ 11.12

Rotor Commutator Coil

Stator

Brush

Page 14: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 482

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

(ก) มอเตอร์ไม่หมุน (ข) มอเตอร์หมุนตามเข็มนาฬิกา (ค) มอเตอร์หมุนทวนเข็มนาฬิกา รูปที่ 11.12 การท างานของวงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยสวิตช์

จากรูปที่ 11.12 (ก) มอเตอร์ไม่ท างานเนื่องจากไม่มีการต่อวงจรไฟฟ้าให้กับมอเตอร์ ส่วนรูป (ข) มอเตอร์หมุนตามเข็มนาฬิกา เนื่องจากเมื่อต่อวงจรสวิตช์ S1 กับ S4 กระแสจะไหลผ่านมอเตอร์จากทางด้านซ้ายมือไปด้านขวามือครบวงจร และรูป (ค) มอเตอร์หมุนทวนเข็มนาฬิกา เนื่องจากเมื่อต่อวงจรสวิตช์ S2 กับ S3 กระแสจะไหลผ่านมอเตอร์จากทางด้านขวามือไปด้านซ้ายมือครบวงจร ดังนั้นสามารถควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรงด้วยการกลับขั้วของแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์ 11.3.2.2 วงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยรีเลย์ ด้วยคุณสมบัติของรีเลย์ที่ท างานเป็นสวิตช์ตัด/ต่อวงจร จึงสามารถใช้รีเลย์ในวงจรขับมอเตอร์ไฟฟ้ากระแสตรงเพื่อควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรงได้ วงจรและการท างานแสดงดังรูปที่ 11.13

(ก) มอเตอร์ไม่หมุน

Page 15: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 483

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

(ข) มอเตอร์หมุนตามเข็มนาฬิกา

(ค) มอเตอร์หมุนทวนเข็มนาฬิกา

รูปที่ 11.13 การท างานของวงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยรีเลย์

จากรูปที่ 11.13 (ก) มอเตอร์ไม่หมุนเนื่องจากการต่อวงจรไฟฟ้าไม่ครบวงจร ส่วนรูป (ข) เมื่อต่อวงจรสวิตช์ S1 เพื่อจ่ายแรงดันไฟฟ้า (Vcc) ให้กับขดลวดของรีเลย์ RY1 รีเลย์จะท างานหน้าสัมผัสของ COM จะไปต่อวงจรกับหน้าสัมผัส NO ท าให้ครบวงจรจ่ายแรงดัน (VS) ให้กับมอเตอร์จึงหมุนตามเข็มนาฬิกาโดยมีด้านซ้ายมือเป็นขั้วบวก และด้านขวามือเป็นขั้วลบ และเมื่อตัดวงจรสวิตช์ S1 แล้วต่อวงจรสวิตช์ S2 จะจ่ายแรงดันไฟฟ้า (Vcc) ให้กับขดลวดของรีเลย์ RY2 รีเลย์จะท างานหน้าสัมผัสของ COM จะไปต่อวงจรกับหน้าสัมผัส NO ท าให้ครบวงจรจ่ายแรงดัน (VS) ให้กับมอเตอร์จึงหมุนกลับทางทวนเข็มนาฬิกาโดยมีด้านขวามือเป็นขั้วบวก และด้านซ้ายมือเป็นขั้วลบ 11.3.2.3 วงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยทรานซิสเตอร์ ทรานซิสเตอร์มีคุณสมบัติทางด้านเอาต์พุตที่ท างานเป็นสวิตช์แบบสารกึ่งตัวน า ไม่มีหน้าสัมผัสสามารถน ามาใช้เป็นวงจรขับมอเตอร์ได้ หลักการท างานและวงจรแสดงดังรูปที่ 11.14 จากรูปที่ 11.14 การควบคุมทิศทางการหมุนของมอเตอร์จะใช้วิธีการส่งค่าลอจิก ให้กับอินพุตที่จุด A และ B โดยเมื่อส่งค่าลอจิก “1” หรือ “HIGH” ให้กับจุด A จะต้องส่งค่าลอจิก “0” หรือ “LOW” ให้กับจุด B ซึ่งจะท าให้ทรานซิสเตอร์ Q1 และ Q4 น ากระแส จึงมีแรงดันจ่ายให้กับมอเตอร์ (+VS) จึงหมุนในทิศทางตามเข็มนาฬิกา และเม่ือส่งค่าลอจิก “1” หรือ “HIGH” ให้กับจุด B จะต้องส่งค่า

Page 16: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 484

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ลอจิก “0” หรือ “LOW” ให้กับจุด A ซึ่งจะท าให้ทรานซิสเตอร์ Q2 และ Q3 น ากระแส จึงมีแรงดันจ่ายให้กับมอเตอร์ (+VS) จึงหมุนในทิศทางทวนเข็มนาฬิกา

รูปที่ 11.14 วงจรขับมอเตอร์ไฟฟ้ากระแสตรงแบบ H-Bridge ด้วยทรานซิสเตอร์ จากรูปที่ 11.14 การควบคุมทิศทางการหมุนของมอเตอร์จะใช้วิธีการส่งค่าลอจิก ให้กับอินพุตที่จุด A และ B โดยเมื่อส่งค่าลอจิก “1” หรือ “HIGH” ให้กับจุด A จะต้องส่งค่าลอจิก “0” หรือ “LOW” ให้กับจุด B ซึ่งจะท าให้ทรานซิสเตอร์ Q1 และ Q4 น ากระแส จึงมีแรงดันจ่ายให้กับมอเตอร์ (+VS) จึงหมุนในทิศทางตามเข็มนาฬิกา และเม่ือส่งค่าลอจิก “1” หรือ “HIGH” ให้กับจุด B จะต้องส่งค่าลอจิก “0” หรือ “LOW” ให้กับจุด A ซึ่งจะท าให้ทรานซิสเตอร์ Q2 และ Q3 น ากระแส จึงมีแรงดันจ่ายให้กับมอเตอร์ (+VS) จึงหมุนในทิศทางทวนเข็มนาฬิกา 11.3.2.4 วงจรขับมอเตอร์ไฟฟ้ากระแสตรงด้วยไอซี L293D นอกจากวงจรขับมอเตอร์ในลักษณะ H-Bridge คือ ใช้อุปกรณ์สวิตช์จ านวน 4 ตัว ดังที่อธิบายมานี้ ซึ่งในการใช้งานจะมีความยุ่งยากในการต่อวงจรและการควบคุมทิศทาง รวมทั้งวงจรดังกล่าวไม่ยังไม่สามารถควบคุมความเร็วการหมุนของมอเตอร์ได้ จึงได้มีการผลิตไอซีส าหรับขับมอเตอร์ไฟฟ้ากระแสตรง ซึ่งโครงสร้างภายในของไอซีเป็นวงจรขับมอเตอร์ในลักษณะ H-Bridge เหมือนกัน แต่จะมีความสามารถในการควบคุมความเร็วของมอเตอร์ได้ ได้แก่ ไอซีเบอร์ L293D, เบอร์ L298N เป็นต้น ลักษณะของไอซีขับมอเตอร์แสดงดังรูปที่ 11.15

Page 17: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 485

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

(ก) L293D (ข) L298N รูปที่ 11.15 ไอซีส าหรับขับมอเตอร์ไฟฟ้ากระแสตรง แบบ H-Bridge

(ท่ีมา : http://www.nooraziz.com/product/h-bridge-motor-driver-ic)

ไอซี L293D เป็นอุปกรณ์ส าหรับขับมอเตอร์แบบ H-Bridge สามารถขับมอเตอร์ได้ 2 ช่อง ให้กระแสเอาต์พุตสูงสุด 600 mA ต่อช่อง จากรูปที่ 11.16 การขับมอเตอร์แต่ละตัวใช้ขาสัญญาณควบคุม 3 เส้น การควบคุมการหมุน ท าได้โดยการส่งลอจิกให้ขา IN1, IN2 หรือ IN3, IN4 เพ่ือเป็นค าสั่งก าหนดทิศทางการหมุนของมอเตอร์ทั้งสองตัว ส่วนขา ENABLE1 (EN1) และ ENABLE2 (EN2) จะท าหน้าที่ควบคุมชุดขับมอเตอร์แต่ละตัว โดยสามารถควบคุมได้ 2 แบบ คือ การส่งค่าลอจิก “1”หรือ “HIGH” เพ่ือควบคุมให้ชุดขับมอเตอร์ท างานเสมือนการต่อไฟฟ้ากระแสตรงโดยตรงซึ่งจะท าให้มอเตอร์ท างานเต็มก าลัง (Duty cycle 100%) หรือโดยการส่งพัลส์วิดธ์มอดูเลชั่น (PWM: Pulse width Modulation) ไปยังขาดังกล่าว (Duty cycle 0 - 100%) เพ่ือควบคุมความเร็วมอเตอร์ โดยขา EN1 และ EN2 จะต้องต่อกับขาของ Arduino ที่มีคุณสมบัติส่งสัญญาณเป็นค่าระดับ (PWM) ได ้

L293D

สัญญาณ การท างาน EN1/PWM IN1 IN2

L x x หยุดหมุน

H L L หยุดหมุน H L H หมุนตามเข็ม

H H L หมุนทวนเข็ม H H H หยุดหมุน

สามารถควบคุมมอเตอร์ได้ 2 ช่อง

รูปที่ 11.16 แสดงโครงสร้างภายในไอซีเบอร์ L293D และการควบคุมการท างาน

Page 18: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 486

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

การควบคุมความเร็วมอเตอร์ไฟฟ้ากระแสตรงนั้นจะขึ้นอยู่กับแรงดันไฟตรงที่จ่ายให้กับมอเตอร์ ถ้าแรงดันที่จ่ายให้น้อยมอเตอร์ก็จะหมุนช้าลงและถ้าแรงดันที่จ่ายให้มีมากข้ึนมอเตอร์ก็จะหมุนเร็ว การควบคุมมอเตอร์ด้วยไมโครคอนโทรลเลอร์นั้น จะไม่สามารถลดหรือว่าเพ่ิมระดับของแรงดันแบบธรรมดาได้ เพราะไมโครคอนโทรลเลอร์จะจ่ายแรงดันตามมาตรฐานได้ 2 ระดับคือ 0V หรือ +5V เท่านั้น วิธีที่นิยมใช้กันอยู่คือการป้อนพัลส์ไปขับมอเตอร์แทน แล้วปรับความกว้างของพัลส์ช่วงบวก เพ่ือให้ได้แรงดันเฉลี่ยตามต้องการ วิธีการนี้เรียกว่า พัลส์วิตช์มอดูเลชั่น (PWM: Pulse Width Modulation) หรือเรียกย่อๆ ว่า PWM โดยความกว้างของพัลส์ช่วงบวกเมื่อเทียบกับความกว้างของพัลส์ทั้งหมดเรียกว่า ดิวตี้ไซเกิล (Duty Cycle) โดยจะคิดเป็นเปอร์เซ็นต์ของความกว้างพัลส์ทั้งหมด

รูปที่ 11.17 สัญญาณ PWM ที่ควบคุมระดับแรงดันด้วยค่าความกว้างของสัญญาณพัลส์

สรุปเนื้อหาสาระส าคัญ

การใช้งานไมโครคอนโทรลเลอร์ Arduino กับอุปกรณข์ับโหลดกระแสสูงทั้งแบบรีเลย์และแบบโซลิดสเตตรีเลย์นั้น จะใช้วิธีการส่งค่าลอจิกแรงดันไฟต่ าควบคุมการท างานด้านอินพุตของอุปกรณ์ เพ่ือสั่งงานด้านเอาต์พุตของอุปกรณ์ท างานเป็นสวิตช์ต่อวงจรแรงดันไฟสูงให้กับโหลด ซึ่งท าให้สามารถใช้งานไมโครคอนโทรลเลอร์ควบคุมอุปกรณ์ที่ใช้กระแสและแรงดันสูงท างานได้ การขับมอเตอร์ไฟฟ้ากระแสตรงสามารถท าได้ 2 ลักษณะ คือ ควบคุมทิศทางการหมุนและควบคุมความเร็วการหมุนของมอเตอร์ โดยวงจรขับมอเตอร์เรียกว่า วงจร H-Bridge ประกอบด้วยอุปกรณ์สวิตช์ 4 ตัว ต่อวงจรในลักษณะคล้ายกับตัวอักษร H ในภาษาอังกฤษ อุปกรณ์สวิตช์ ได้แก่ สวิตช์, รีเลย์, ทรานซิสเตอร์หรือไอซี ซึ่งไอซีที่นิยมใช้ขับมอเตอร์และเป็นพ้ืนฐานในการศึกษา คือ เบอร์ L293D โดยสามารถควบคุมมอเตอร์ได้ 2 ตัว กระแสสูงสุด 600 mA ต่อช่อง และสามารถควบคุมได้ทั้งทิศทางการหมุนและควบคุมความเร็วของมอเตอร์

Page 19: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 487

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

บรรณานุกรม อินโนเวตีฟ เอ็กเพอริเมนต์. Electronic 123 : คู่มือความรู้อิเล็กทรอนิกส์เบื้องต้น. อินโนเวตีฟ เอ็กเพอริเมนต์. กรุงเทพฯ. อินโนเวตีฟ เอ็กเพอริเมนต์. MAKERS EXTRA1 รวมบทความและโครงงานสร้างสรรค์จากวารสาร Maker และ Electronics. อินโนเวตีฟเอ็กเพอริเมนต์, กรุงเทพฯ. อินโนเวตีฟ เอ็กเพอริเมนต์. POP-BOT XT คู่มือการสร้างและพัฒนาโปรแกรมควบคุมหุ่นยนต์อัตโนมัติ ด้วยภาษา C/C++ กับ Arduino. อินโนเวตีฟเอ็กเพอริเมนต์, กรุงเทพฯ. เอกชัย มะการ. เรียนรู้ เข้าใจ ใช้งานไมโครคอนโทรลเลอร์ตระกูล AVR ด้วย Arduino. อีทีที, กรุงเทพฯ, 2552. โครงสร้างการท างานของมอเตอร์ไฟฟ้ากระแสตรง. [ออนไลน์]. เข้าถึงได้จาก : https://www.renesas.com/en-sg/support/technical-resources/engineer- school/dc-motor-01-overview.html). (22 มกราคม 2560). โซลิดสเตตรีเลย์. [ออนไลน์]. เข้าถึงได้จาก : https://inex.co.th/shop/solid-state-relay.html. (21 มกราคม 2560). H-Bridge Motor Drive IC. [ออนไลน์]. เข้าถึงได้จาก : http://www.nooraziz.com/product/ h-bridge-motor-driver-ic. (22 มกราคม 2560). Motor. [ออนไลน์]. เข้าถึงได้จาก : https://th.aliexpress.com/item/775-DC-Motor-DC-12V-36V- 3500-9000-RPM. (22 มกราคม 2560). Relay. [ออนไลน์]. เข้าถึงได้จาก : http://www.inventor.in.th. (21 มกราคม 2560). Solid State Relay. [ออนไลน์]. เข้าถึงได้จาก : http://www.eeeasyshop.com/product/52/relay). (21 มกราคม 2560).

Page 20: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 488

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

แบบฝึกหัดหนว่ยที ่ 11

ค าชี้แจง 1. แบบฝึกหัดมีทั้งหมด 2 ตอน ประกอบด้วยตอนท่ี 1 และตอนที่ 2 (20 คะแนน) 2. แบบฝึกหัดตอนที่ 1 เป็นค าถามแบบถูก-ผิด มีทั้งหมด 10 ข้อ (10 คะแนน) 3. แบบฝึกหัดตอนที่ 2 เป็นค าถามแบบเลือกตอบ มีทั้งหมด 10 ข้อ (10 คะแนน) ตอนที่ 1 ค าชี้แจง ให้นักเรียนท าเครื่องหมาย หน้าข้อที่ถูก และกาเครื่องหมาย หน้าข้อที่ผิด

1. ส่วนประกอบที่ส าคัญของรีเลย์ คือขดลวด (Coil) และหน้าสัมผัส (Contact) 2. ขาใช้งานของรีเลย์มีทั้งหมด 3 ขาคือ คอมมอน (COM) ,NC และ NO

3. รีเลย์ที่มีหน้าสัมผัส 2 ชุด จะต้องมีขดลวด 2 ชุด

4. ในสภาวะปกติท่ีขดลวดไม่ได้รับการจ่ายแรงดัน หน้าสัมผัส NC จะต่อวงจรอยู่กับหน้าสัมผัส ของขา NO

5. ขาของหน้าสัมผัสที่ใช้เคลื่อนที่เพ่ือตัด/ต่อวงจรของรีเลย์คือขา คอมมอน (Common) 6. โซลิดสเตตรีเลย์ใช้การเชื่อมต่อทางแสง (Opto Isolate) ส าหรับควบคุมการสวิตช์

7. โซลิดสเตตรีเลย์ใช้อุปกรณ์สวิตช์เป็น ออปโต้ทรานซิสเตอร์ (Opto Transistor)

8. วงจรขับมอเตอร์เรียกว่าวงจร H-Bridge เนื่องจากต่อวงจรคล้ายตัว H 9. วงจรขับมอเตอร์แบบใช้รีเลย์ ใช้รีเลย์ 4 ตัวส าหรับขับมอเตอร์ 1 ตัว

10. ไอซี H-Bridge สามารถควบคุมทิศทางและความเร็วการหมุนของมอเตอร์ได้

Page 21: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 489

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตอนที่ 2 ค าชี้แจง ให้นักเรียนท าเครื่องหมายกากบาท (X) ลงบนค าตอบที่ถูกต้องที่สุด 1. ข้อใดไม่ใช่ขาใช้งานของรีเลย์ ก. ขดลวด (Coil) ข. ขาคอมมอนคอลเลคเตอร์ (Common Collector) ค. ขาของหน้าสัมผัส NO ง. ขาของหน้าสัมผัส NC 2. ในสภาวะปกติท่ีรีเลย์ยังไม่ท างาน ขาของหน้าสัมผัส NC จะต่อวงจรอยู่กับขาใด ก. ขาของหน้าสัมผัส NO ข. ขาคอมมอน (COM) ค. ขาของขดลวด (Coil) ง. ขาแหล่งจ่ายไฟขดลวด 3. ข้อใดไม่ใช่เป็นคุณสมบัติของโซลิดสเตตรีเลย์ ก. เป็นสวิตช์ที่ควบคุมได้ ข. วงจรอินพุตและเอาต์พุตแยกกันโดยอิสระ ค. ใช้การควบคุมผ่านทางแสง ง. หน้าสัมผัสทนกระแสและแรงดันสูงกว่ารีเลย์ 4. อุปกรณ์ทางด้านอินพุตของโซลิดสเตตรีเลย์ คืออุปกรณ์ใด ก. LDR Infrared ข. LED Infrared ค. Photo Diode ง. Photo Transistor 5. อุปกรณ์ทางด้านเอาต์พุตของโซลิดสเตตรีเลย์ คืออุปกรณ์ใด ก. Opto Triac ข. OPto SCR ค. Photo Diode ง. Photo Transistor

Page 22: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 490

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

6. ข้อใดกล่าวถูกต้องเกี่ยวกับคุณสมบัติของมอเตอร์ไฟฟ้ากระแสตรง ก. มอเตอร์ที่มีความเร็วรอบสูง จะมีแรงบิดสูง ข. มอเตอร์ที่มีความเร็วรอบต่ า จะมีแรงบิดต่ า ค. มอเตอร์ที่มีเฟืองทดรอบจะมีความเร็วรอบสูง ง. มอเตอร์ที่มีเฟืองทดรอบ จะมีแรงบิดสูง 7. การควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรง ใช้วิธีใด ก. เปลี่ยนค่าแรงดันไฟฟ้าขับมอเตอร์ ข. เปลี่ยนค่ากระแสไฟฟ้าขับมอเตอร์ ค. กลับขั้วแรงดันไฟฟ้าขับมอเตอร์ ง. ใช้แรงดันไฟฟ้ากระแสสลับขับมอเตอร์ 8. การควบคุมความเร็วรอบการหมุนของมอเตอร์ไฟฟ้ากระแสตรง ใช้วิธีการใด ก. เปลี่ยนค่าแรงดันไฟฟ้าขับมอเตอร์ ข. เปลี่ยนค่ากระแสไฟฟ้าขับมอเตอร์ ค. กลับขั้วแรงดันไฟฟ้าขับมอเตอร์ ง. ใช้แรงดันไฟฟ้ากระแสสลับขับมอเตอร์ 9. วงจรขับมอเตอร์แบบใช้รีเลย์ ที่ควบคุมทิศทางการหมุนส าหรับขับมอเตอร์ 1 ตัว จะใช้รีเลย์กี่ตัว ก. 1 ตัว ข. 2 ตัว ค. 3 ตัว ง. 4 ตัว 10. ค าสั่งควบคุมไอซี L293D ข้อใดที่ท าให้มอเตอร์หมุน ก. EN1=LOW, IN1=LOW, IN2=LOW ข. EN1=HIGH, IN1=LOW, IN2=LOW ค. EN1=HIGH, IN1=LOW, IN2=HIGH ง. EN1=HIGH, IN1=HIGH, IN2=HIGH

Page 23: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 491

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ใบปฏิบัติงานที่ 11 หน่วยที่ 11

ชื่อวิชา ไมโครคอนโทรลเลอร์ รหัสวิชา 2105-2105 จ านวน 3 ชั่วโมง เรื่อง การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์

ค าชี้แจง ให้นักเรียนแบ่งกลุ่มตามความสมัครใจ กลุ่มละ 2 คน และท าการฝึกตามใบปฏิบัติงานที่ 11 เรื่อง การใช้งาน Arduino กับอุปกรณข์ับโหลดกระแสสูงและมอเตอร์

จุดประสงค์เชิงพฤติกรรม 1. ต่อวงจรขับโหลดกระแสสูงกับบอร์ด i-Duino Robot ได ้2. เขียนโปรแกรมควบคุมอุปกรณ์ขับโหลดกระแสสูงได้ 3. เขียนโปรแกรมควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรงได้ 4. เขียนโปรแกรมควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

อุปกรณ์ประกอบการปฏิบัติงาน 1. เครื่องคอมพิวเตอร์พร้อมซอฟต์แวร์ Arduino IDE จ านวน 1 เครื่อง 2. แผงวงจร i-Duino Robot จ านวน 1 แผง 3. บอร์ดวงจรรีเลย์ จ านวน 2 บอร์ด 4. บอร์ดวงจรโซลิดสเตตรีเลย์ จ านวน 1 บอร์ด 5. มอเตอร์ไฟฟ้ากระแสตรง จ านวน 2 ตัว 6. แหล่งจ่ายไฟ DC (DC Adapter 12 Vdc) จ านวน 1 เครื่อง 7. สาย mini-USB แบบขั้วต่อ Type-A, Type-B mini จ านวน 1 เส้น 8. สายต่อวงจรแบบ JST (ตัวเมียหัว-ท้าย) จ านวน 5 เส้น

ข้อควรระวัง 1. การต่อแหล่งจ่ายไฟตรง (DC 12 Vdc) กับแผงวงจร i-Duino Robot ต้องตรวจสอบขั้วให้ถูกต้อง หากผิดขั้วจะท าให้ไมโครคอนโทรลเลอร์เสียหายได้ 2. การต่อวงจรบนแผงวงจร i-Duino Robot ต้องให้ Power Switch อยู่ในต าแหน่ง OFF 3. การต่อสาย mini-USB กับบอร์ด Arduino UNO และการต่อวงจรต้องต่อให้แน่น หากไม่แน่นจะท าให้การทดลองผิดพลาดได้ 5. ที่ข้ัวต่อแรงดัน 220Vac จะมีแรงดันสูง ต้องระมัดระวังอย่าสัมผัสขณะท าการทดลอง 4. หากมีข้อสงสัยให้สอบถามครูผู้สอน

Page 24: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 492

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ขั้นตอนการปฏิบัติงาน ปฏิบัติงานที่ 11.1 การเขียนโปรแกรมควบคุมรีเลย์

1. เตรียมอุปกรณ์ประกอบการปฏิบัติงานตามรายการที่ก าหนดให้ 2. เชื่อมต่อแผงวงจร i-Duino Robot กับเครื่องคอมพิวเตอร์ด้วยสาย mini-USB

3. ต่อวงจรแผงวงจร i-Duino Robot กับบอร์ดรีเลย์ และวงจรขับโหลด ดังรูปที่ 11.18

รูปที่ 11.18 การต่อวงจรแผงวงจร i-Duino Robot กับบอร์ดรีเลย์และวงจรขับโหลด

4. เปิดใช้งานซอฟแวร์ Arduino IDE ตรวจสอบการเชื่อมต่อบอร์ดและตั้งค่าการใช้งานบอร์ดให้ ถูกต้อง

5. สร้างไฟสเก็ตช์ชื่อ Lab11_1 และเขียนค าสั่งภาษาซีตามค าสั่งโปรแกรม Lab11_1 โปรแกรม Lab11_1

1 2 3 4 5 6 7 8 9

10

#define Relay 5 #define SW1 2 #define SW2 4 void setup() { pinMode(Relay,OUTPUT); pinMode(SW1,INPUT); pinMode(SW2,INPUT); digitalWrite(Relay, LOW); }

Page 25: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 493

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

โปรแกรม Lab11_2 (ต่อ) 11 12 13 14 15 16 17

void loop() { if(digitalRead(SW1)==LOW) digitalWrite(Relay, HIGH); if(digitalRead(SW2)==LOW) digitalWrite(Relay, LOW); }

ค าอธิบายโปรแกรม : โปรแกรมควบคุมการท างานของรีเลย์ โดยเมื่อกดสวิตช์ SW1 รีเลย์จะท างานหลอดไฟแสงสว่างจะติด เมื่อกด SW2 รีเลย์จะหยุดท างาน หลอดไฟจะดับ

6. ท าการคอมไพล์ และอัปโหลดไฟล์สเก็ตช์ลงแผงวงจร i-Duino Robot 7. เลื่อน Power Switch ON เพ่ือจ่ายแรงดันไฟเลี้ยงวงจร ทดลองกดสวิตช์ SW1 และ SW2 สังเกตการท างานของรีเลย์และหลอดไฟแสงสว่าง ผลการทดลอง :

งานที่มอบหมายหลังปฏิบัติงานที่ 11.1 1. ศึกษาชุดค าสั่งโปรแกรมและเขียนโปรแกรมควบคุมการท างานของรีเลย์ 2 ตัว ตามเงื่อนไขใน

ตาราง 11.2 และบันทึกค าสั่งทั้งหมดลงในตาราง (2 คะแนน)

ตาราง 11.2 โปรแกรมควบคุมการท างานของรีเลย์ 2 ตัว เงื่อนไขของสวิตช์ควบคุม การท างานของหลอดไฟแสงสว่าง

SW1 SW2 Lamp1 Lamp2

ไม่กด ไม่กด ดับ ดับ กด ไม่กด ติด ดับ

ไม่กด กด ดับ ติด กด กด ติด ติด

ค าสั่ง :

Page 26: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 494

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตาราง 11.2 (ต่อ)

ค าสั่ง :

Page 27: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 495

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ปฏิบัติงานที่ 11.2 การเขียนโปรแกรมควบคุมการท างานของโซลิดสเตตรีเลย์ 1. เชื่อมต่อแผงวงจร i-Duino Robot กับบอร์ดวงจรโซลิดสเตตรีเลย์และวงจรขับโหลด ดังรูปที่

11.19

รูปที่ 11.19 การต่อแผงวงจร i-Duino Robot กับบอร์ดโซลิดสเตตรีเลย์และวงจรขับโหลด

2. สร้างไฟล์สเก็ตช์ชื่อ Lab11_2 และเขียนค าสั่งภาษาซีตามค าสั่งโปรแกรม Lab11_2 โปรแกรม Lab11_2

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17

#define Solid 5 #define SW1 2 #define SW2 4 void setup() { pinMode(Solid,OUTPUT); pinMode(SW1,INPUT); pinMode(SW2,INPUT); digitalWrite(Solid, LOW); } void loop() { if(digitalRead(SW1)==LOW) digitalWrite(Solid, HIGH); if(digitalRead(SW2)==LOW) digitalWrite(Solid, LOW); }

Page 28: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 496

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ค าอธิบายโปรแกรม : โปรแกรมควบคุมการท างานของโซลิดสเตตรีเลย์ โดยเมื่อกดสวิตช์ SW โซลิดสเตต รีเลย์จะท างาน หลอดไฟแสงสว่างจะติด เมื่อกด SW2 โซลิดสเตตรีเลย์จะหยุดท างาน หลอดไฟจะดับ

4. ท าการคอมไพล์ และอัปโหลดไฟล์สเก็ตช์ลงแผงวงจร i-Duino Robot 5. เลื่อน Power Switch ON เพ่ือจ่ายแรงดันไฟเลี้ยงวงจร ทดลองกดสวิตช์ SW1 และ SW2 สังเกตการท างานของโซลิดสเตตรีเลย์และหลอดไฟแสงสว่าง ผลการทดลอง :

ปฏิบัติงานที่ 11.3 การเขียนโปรแกรมควบคุมทิศทางการหมุนของมอเตอร์ไฟฟ้ากระแสตรง

1. ต่อมอเตอร์ไฟฟ้ากระแสตรงกับขั้วต่อของแผงวงจร i-Duino Robot ดังรูปที่ 11.20

รูปที่ 11.20 การต่อบอร์ดแผงวงจร i-Duino Robot กับมอเตอร์

Page 29: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 497

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

2. สร้างไฟล์สเก็ตช์ชื่อ Lab11_3 และเขียนค าสั่งภาษาซีตามค าสั่งโปรแกรม Lab11_3 โปรแกรม Lab11_3

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

#define SW1 2 #define IN1 7 //Motor_A #define IN2 8 #define EN1 9 #define EN2 10 //Motor_B #define IN3 11 #define IN4 12 void setup() { pinMode(SW1,INPUT); pinMode(EN1,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(EN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); } void loop() { if(digitalRead(SW1)==LOW) { digitalWrite(EN1,HIGH); digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); //Motor_A/FW digitalWrite(EN2,HIGH); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); //Motor_B/FW delay(5000), digitalWrite(EN1,HIGH); digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); //Motor_A/BW digitalWrite(EN2,HIGH); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); //Motor_B/BW delay(5000), digitalWrite(EN1,LOW); digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); //Motor_A/STOP digitalWrite(EN2,HIGH); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); //Motor_B/FW delay(5000), digitalWrite(EN1,HIGH); digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); //Motor_A/FW digitalWrite(EN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); //Motor_B/STOP delay(5000), digitalWrite(EN1,LOW); digitalWrite(IN1,LOW); digitalWrite(IN2, LOW); //Motor_A/STOP digitalWrite(EN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4, LOW); //Motor_B/STOP } }

ค าอธิบายโปรแกรม : โปรแกรมควบคุมทิศทางการหมุนของมอเตอร์ โดยการก าหนดค่าลอจิกตามเงื่อนไขการท างานของไอซีขับมอเตอร์เบอร์ L293D สามารถควบคุมให้มอเตอร์หมุนในทิศทางเดินหน้า ถอยหลัง เลี้ยวซ้าย เลี้ยวขวา

Page 30: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 498

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

4. ท าการคอมไพล์ และอัปโหลดไฟล์สเก็ตช์ลงแผงวงจร i-Duino Robot 5. เลื่อน Power Switch ON เพ่ือจ่ายแรงดันไฟเลี้ยงวงจร ทดลองกดสวิตช์ SW1 แลว้สังเกตการท างานของมอเตอร์และการแสดงผลของ LED แสดงทิศทางการหมุนของมอเตอร์บนแผงวงจร i-Duino Robot ผลการทดลอง :

งานที่มอบหมายหลังปฏิบัติงานที่ 11.3 1. ศึกษาชุดค าสั่งโปรแกรมและเขียนโปรแกรมควบคุมการหมุนของมอเตอร์ โดยใช้รูปแบบการ

เขียนด้วยการท างานแบบฟังก์ชันของภาษาซี เพ่ือควบคุมทิศทางการหมุนของมอเตอร์ตามเงื่อนไขที่ก าหนดในตาราง 11.3 บันทึกค าสั่งโปรแกรมท้ังหมดลงในตาราง (3 คะแนน)

ตาราง 11.3 โปรแกรมควบคุมทิศทางการหมุนของมอเตอร์ การท างาน/ค่าหน่วงเวลา Motor_A LED_A แสดงผล Motor_B LED_B แสดงผล

เดินหน้า (Forward)/1 วินาที หมุนเดินหนา้ สีเขียว หมุนเดินหนา้ สีเขียว

ถอยหลัง (Reverse) /1 วินาที หมุนถอยหลัง สีแดง หมุนถอยหลัง สีแดง เลี้ยวซ้าย (Turn Left) /1 วินาที หยุดหมุน ไม่ตดิ หมุนเดินหนา้ สีเขียว

เลี้ยวขวา (Turn Right) /1 วินาที หมุนเดินหนา้ สีเขียว หยุดหมุน ไม่ตดิ หมุนซ้าย (Spin Left) /1 วินาที หมุนถอยหลัง สีแดง หมุนเดินหนา้ สีเขียว

หมุนขวา (Spin Right) /1 วินาที หมุนเดินหนา้ สีเขียว หมุนถอยหลัง สีแดง หยุด (Stop) หยุดหมุน ไม่ตดิ หยุดหมุน

ค าสั่ง :

Page 31: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 499

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตาราง 11.3 (ต่อ)

ค าสั่ง :

Page 32: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 500

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตาราง 11.3 (ต่อ)

ค าสั่ง :

Page 33: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 501

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ปฏิบัติงานที่ 11.4 การเขียนโปรแกรมควบคุมทิศทางและความเร็วการหมุนของมอเตอร์ไฟฟ้ากระแสตรง แบบฟังก์ชันภาษาซ ี

1. สร้างไฟล์สเก็ตช์ชื่อ Lab11_4 และเขียนค าสั่งภาษาซีตามค าสั่งโปรแกรม Lab11_4 โปรแกรม Lab11_4

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

#define SW1 2 #define IN1 7 //Motor_A #define IN2 8 #define EN1 9 #define EN2 10 //Motor_B #define IN3 11 #define IN4 12 void FW(unsigned int speed1,unsigned int speed2) //Forward { analogWrite(EN1,speed1); //speed(0-255) :Motor_A/FW digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(EN2,speed2); //speed(0-255) :Motor_B/FW digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } void BW(unsigned int speed1,unsigned int speed2) //Backward { analogWrite(EN1,speed1); //Motor_A/BW digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(EN2,speed2); //Motor_B/BW digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); } void TL(unsigned int speed1,unsigned int speed2) //Turn_Left { analogWrite(EN1,speed1); //Motor_A/STOP digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); analogWrite(EN2,speed2); //Motor_B/FW digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } void TR(unsigned int speed1,unsigned int speed2) //Turn_Right { analogWrite(EN1,speed1); //Motor_A/FW digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(EN2,speed2); //Motor_B/STOP digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } void SL(unsigned int speed1,unsigned int speed2) //Spin_Left { analogWrite(EN1,speed1); //Motor_A/BW digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(EN2,speed2); //Motor_B/FW digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW);} void SR(unsigned int speed1,unsigned int speed2) //Spin_Right { analogWrite(EN1,speed1); //Motor_A/FW digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(EN2,speed2); //Motor_B/BW digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); }

Page 34: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 502

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

โปรแกรม Lab11_4 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 73 73

void STOP() //Stop { digitalWrite(EN1,LOW); //Motor_A/STOP digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(EN2,LOW); //Motor_B/STOP digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } void setup() { pinMode(SW1,INPUT); pinMode(EN1,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(EN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); } void loop() { if(digitalRead(SW1)==LOW) { FW(255,255); delay(5000); //Speed1=100% Speed2=100% BW(127,127); delay(5000); //Speed1=50% Speed2=50% TL(0,178); delay(5000); //Speed=0% Speed2=70% TR(178,0); delay(5000); //Speed 70% Speed2=0% SL(76,76); delay(5000); //Speed 30% Speed2=30% SR(76,76); delay(5000); //Speed 30% Speed2=30% STOP(); delay(5000); } }

ค าอธิบายโปรแกรม : โปรแกรมควบคุมทิศทางและความเร็วการหมุนของมอเตอร์ โดยการก าหนดค่าลอจิกตามเงื่อนไขการท างานของไอซีขับมอเตอร์เบอร์ L293D ส าหรับควบคุมทิศทางการหมุน และก าหนดค่าสัญญาณ PWM ค่า 0-255 ให้กับขาควบคุม (Enable1 : EN1, Enable2 : EN2) ด้วยตัวแปร Speed1 ส าหรับ Motro_A และ Speed2 ส าหรับ Motor_B ส าหรับควบคุมความเร็วการหมุน

4. ท าการคอมไพล์ และอัปโหลดไฟล์สเก็ตช์ลงแผงวงจร i-Duino Robot 5. เลื่อน Power Switch ON เพ่ือจ่ายแรงดันไฟเลี้ยงวงจร ทดลองกดสวิตช์ SW1 แลว้สังเกตทิศทางการหมุนและความเร็วการหมุนของมอเตอร์และการแสดงผลของ LED แสดงทิศทางการหมุนของมอเตอร์ บนแผงวงจร i-Duino Robot ผลการทดลอง :

Page 35: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 503

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ปฏิบัติงานที่ 11.5 การเขียนโปรแกรมควบคุมทิศทางและความเร็วการหมุนของมอเตอร์ไฟฟ้ากระแสตรง แบบสร้างไฟล์ไลบรารี

1. จากโปรแกรมไฟล์สเก็ตช์ Lab11_4 ให้คัดลอกค าสั่งบรรทัดที่ 2 ถึงบรรทัดที่ 56 มาวางในหน้าต่างซอฟต์แวร์ Notepad และพิมพ์ค าสั่ง #include <arduino.h> เพ่ิมในบรรทัดแรกของโปรแกรม ดังรูปที่ 11.21 2. บันทึก (Save As…) โปรแกรม ก าหนดชื่อและนามสกุลไฟล์เป็น motor.h ในโฟลเดอร์ Motor และจัดเก็บในโฟลเดอร์ libraries ในไฟล์ติดตั้งของซอฟต์แวร์ Arduino_IDE_1.8.5 จะได้ผลลัพธ์เป็น Local Disk (D:) >arduino-1.8.5-windows > arduino-1.8.5 > libraries > Motor >motor.h

รูปที่ 11.21 ไฟล์ไลบรารี motor.h ที่สร้างในซอฟแวร์ Notepad

ชื่อไฟล์

พิมพ์ค าสั่งเพิ่ม

Page 36: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 504

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

3. ตรวจสอบการเพ่ิมไฟล์ไลบรารีที่แถบเมนู Sketch --> Include Library --> Motor หากไม่พบไฟล์ไลบรารี Motor ให้ปิดซอฟต์แวร์ Arduino IDE และเปิดใช้งานใหม่ แล้วตรวจสอบอีกครั้ง 4. สร้างไฟล์สเก็ตช์ชื่อ Lab11_5 และเขียนค าสั่งภาษาซีตามค าสั่งโปรแกรม Lab11_5 โปรแกรม Lab11_5

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21

#include <motor.h> //Include Library motor.h #define SW1 2 void setup() { pinMode(SW1,INPUT); pinMode(EN1,OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(EN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); } void loop() { if(digitalRead(SW1)==LOW) { FW(255,255); delay(5000); //Speed1=100% Speed2=100% BW(127,127); delay(5000); //Speed1=50% Speed2=50% TL(0,178); delay(5000); //Speed=0% Speed2=70% TR(178,0); delay(5000); //Speed 70% Speed2=0% SL(76,76); delay(5000); //Speed 30% Speed2=30% SR(76,76); delay(5000); //Speed 30% Speed2=30% STOP(); delay(5000); } }

อธิบายโปรแกรม : โปรแกรมควบคุมทิศทางการหมุนและความเร็วของมอเตอร์ไฟฟ้ากระแสตรง ผลการท างานจะเหมือนกันโปรแกรม Lab11_4 แต่ใช้วิธีการสร้างชุดค าสั่งที่ใช้งานประจ าไปสร้างเป็นไฟล์ไลบรารีและใช้การเชื่อมโยงไฟล์ไลบรารีมาใช้งานในโปรแกรม ท าให้โปรแกรมสั้นลง

4. ท าการคอมไพล์ และอัปโหลดไฟล์สเก็ตช์ลงแผงวงจร i-Duino Robot 5. เลื่อน Power Switch ON เพ่ือจ่ายแรงดันไฟเลี้ยงวงจร ทดลองกดสวิตช์ SW1 แลว้สังเกตทิศทางการหมุนและความเร็วการหมุนของมอเตอร์และการแสดงผลของ LED แสดงทิศทางการหมุนของมอเตอร์ บนแผงวงจร i-Duino Robot ผลการทดลอง :

Page 37: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 505

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

งานที่มอบหมายหลังปฏิบัติงานที่ 11.5 1. ศึกษาชุดค าสั่งโปรแกรมและเขียนโปรแกรมควบคุมการหมุนและความเร็วของมอเตอร์ โดย

ใช้รูปแบบการเขียนด้วยการท างานแบบไฟล์ไลบรารี เพ่ือควบคุมการหมุนของมอเตอร์ตามเงื่อนไขท่ีก าหนดในตาราง 11.4 บันทึกค าสั่งโปรแกรมท้ังหมดลงในตาราง (5 คะแนน)

ตาราง 11.4 โปรแกรมควบคุมการหมุนของมอเตอร์ การท างาน/ค่าหน่วงเวลา Motor_A LED_A แสดงผล Motor_B LED_B แสดงผล

เดินหน้า (Forward)/1 วินาที ความเร็ว 100%

หมุนเดินหนา้ สีเขียว หมุนเดินหนา้ สีเขียว

ถอยหลัง (Reverse) /1 วินาที ความเร็ว 50 %

หมุนถอยหลัง สีแดง หมุนถอยหลัง สีแดง

เลี้ยวซ้าย (Turn Left) /0.5 วินาที ความเร็ว 30 %

หยุดหมุน ไม่ตดิ หมุนเดินหนา้ สีเขียว

เลี้ยวขวา (Turn Right) /0.5 วินาที ความเร็ว 30%

หมุนเดินหนา้ สีเขียว หยุดหมุน ไม่ตดิ

หมุนซ้าย (Spin Left) /0.2 วินาที ความเร็ว 25 %

หมุนถอยหลัง สีแดง หมุนเดินหนา้ สีเขียว

หมุนขวา (Spin Right) /0.2 วินาที ความเร็ว 25 %

หมุนเดินหนา้ สีเขียว หมุนถอยหลัง สีแดง

หยุด (Stop) หยุดหมุน ไม่ตดิ หยุดหมุน

ค าสั่ง :

Page 38: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 506

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

ตาราง 11.4 (ต่อ)

ค าสั่ง :

Page 39: หน่วยที่ 11 การใช้งาน Arduino กับ ... · 2018-06-28 · 7. อธิบายหลักการควบคุมความเร็วของมอเตอร์ไฟฟ้ากระแสตรงได้

เอกสารประกอบการเรียน วิชาไมโครคอนโทรลเลอร์ (2105-2105) 507

หน่วยท่ี 11 การใช้งาน Arduino กับอุปกรณ์ขับโหลดกระแสสูงและมอเตอร์ เรียบเรียงโดยครูบุญเกดิ สนธิพันธ์

สรุปผลการปฏิบัติงาน