ดิว.นินจา

ดิว.นินจา

Sunday, January 7, 2018

บอร์ด LAG3 สำหรับการศึกษาระบบควบคุมบน ESP32


หลังจากที่ผู้เขียนได้ออกแบบบอร์ด LAG3 สำหรับ ESP8266 เพื่อใช้ประกอบการฝึกอบรมในวิชาเรียนของนิสิตและบุคคลภายนอกมาระยะหนึ่ง พบว่าใช้งานได้ดีและมีความเหมาะสมกับวัตถุประสงค์ดังกล่าวอย่างมาก เนื่องจากไม่ต้องการอุปกรณ์เสริมอื่นใดที่ทำให้เทอะทะและน้ำหนักมากขนย้ายไม่สะดวก ผู้เรียนสามารถนำไปศึกษาด้วยตนเองได้ทุกสถานที่โดยต้องการเพียงแหล่งจ่ายจาก USB port ของโน้ตบุกเท่านั้น นอกจากนั้นผู้เรียนยังสามารถพัฒนาระบบได้ครบวงจร มิใช่เพียงแต่อ่านค่าจากเซนเซอร์อย่างเดียวแต่รวมถึงการส่งค่าคำสั่งอ้างอิงเพื่อควบคุมระบบ หรือการปรับค่าพารามิเตอร์ควบคุม

Monday, January 1, 2018

การใช้อินเตอร์รัพท์บน ESP32 อ่านและนับค่าจากเอนโคเดอร์

ในงานควบคุมการเคลื่อนที่โดยใช้มอเตอร์ เช่นเครื่องซีเอ็นซีและหุ่นยนต์ จะนิยมใช้เอนโคเดอร์แบบส่วนเพิ่ม (incremental encoder) ในการอ่านค่าตำแหน่งของเพลา มีข้อดีคือมีจำนวนสายสัญญาณน้อยและสามารถสะสมค่าได้ แต่จำเป็นต้องมีภาครับที่สามารถแปลงสัญญาณและนับจำนวนพัลซ์ที่สัมพันธ์กับค่าตำแหน่ง ในไมโครคอนโทรลเลอร์ที่ออกแบบมาสำหรับงานควบคุมมอเตอร์ เช่น PIC ตระกูล MC จาก บ.ไมโครชิพ จะมีโมดูล QEI (Quadrature Encoder Interface) ที่เป็นฮาร์ดแวร์เฉพาะสำหรับงานดังกล่าว และมีวงจรเสริมเช่นตัวกรองดิจิทัล ทำให้สามารถอ่านค่าได้อย่างแม่นยำและรวดเร็ว อย่างไรก็ตาม สำหรับงานที่ไม่ต้องการสมรรถนะสูงมาก เช่นการทดลองในชั้นเรียน เราสามารถใช้ขาอินพุตอินเตอร์รัพท์ภายนอกช่วยในการอ่านและนับค่าจากเอนโคเดอร์แบบส่วนเพิ่มได้ ในบทความนี้จะกล่าวถึงการพัฒนาส่วนเชื่อมต่อเอนโคเดอร์บน ESP32

Wednesday, November 29, 2017

การใช้ microgear.publish() อัพเดทสถานะและค่าของ Freeboard Widgets

NETPIE Series

ในบทความนี้เราจะปรับปรุงส่วนติดต่อผู้ใช้บน freeboard ที่สร้างไว้ใน บทที่ 6 ของหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266” ให้เหมาะสมกับการใช้ในงานควบคุมอุตสาหกรรมจริง ตัวควบคุม IoFC ได้ถูกออกแบบให้มีความยืดหยุ่น คือสามารถปรับพารามิเตอร์ได้ทั้งที่หน้างานผ่านพอร์ตอนุกรม และจากระยะไกลโดย NETPIE แต่หน้าควบคุม freeboard จากตัวอย่างที่ 6.4 ในหนังสือยังไม่ได้ออกแบบให้รองรับกรณีมีผู้ปฏิบัติงานทั้ง 2 สถานที่ เพราะหากมีการเปลี่ยนค่าพารามิเตอร์ที่หน้างาน ส่วนควบคุมใน NETPIE จะไม่อัพเดตตาม เราจะมาศึกษาวิธีแก้ปัญหานี้โดยใช้ฟังก์ชัน microgear.publish() และเพิ่มการตั้งค่าใน freeboard widgets

Sunday, November 26, 2017

การติดตั้งและแก้ปัญหาไลบรารีสำหรับ ESP32 เพื่อใช้งานกับ Arduino IDE และ NETPIE

Update : บทความนี้ได้เขียนขึ้นในขณะที่ ESP32 เพิ่งออกสู่ตลาดเป็นเวลาไม่นาน ทำให้ขั้นตอนการติดตั้งเครื่องมือพัฒนามีความยุ่งยากโดยเฉพาะสำหรับผู้เริ่มต้น ณ ปัจจุบันการติดตั้ง ESP32 Arduino Core สามารถทำผ่าน Board Manager เช่นเดียวกับ ESP32 Microgear ที่ใช้ Library Manager ช่วยให้มีความสะดวกในการติดตั้งมากกว่าวิธีที่นำเสนอในบทความนี้ ดังนั้นเนื้อหาในบทความนี้จึงถูกเก็บไว้เพื่ออ้างอิงเท่านั้น แนะนำผู้อ่านติดตั้งเครื่องมือผ่าน Arduino IDE ซึ่งจะง่ายเหมือนกับการติดตั้งเครื่องมือ ESP8266

21 ตค 2562 : อ่านวิธีการติดตั้งล่าสุดได้จากภาคผนวก A บนเพจของหนังสือ "คู่มือนักพัฒนาไอโอที"

เชื่อว่าผู้อ่านหลายท่านคงได้ยินชื่อ ESP32 หรืออาจจะเคยลองเล่นบ้างแล้ว ESP32 เป็นผลิตภัณฑ์ใหม่จากบริษัท Espressif ผู้ผลิต ESP8266 ที่ได้รับความนิยมอย่างมากในปัจจุบัน โดยชิพตัวใหม่นี้มีคุณสมบัติที่เหนือกว่าหลายประการเช่น สามารถพัฒนาการสื่อสารทั้ง WiFi และ Bluetooth มีจำนวน ADC มากกว่า มีเอาต์พุต DAC มี 2 cores ฯลฯ วัตถุประสงค์ของบทความนี้มิใช่เป็นการลงรายละเอียดด้านฮาร์ดแวร์ของ ESP32 แต่เพียงเพื่อแนะนำการติดตั้งและแก้ปัญหาสำหรับผู้เริ่มใช้งานใหม่ ณ เวลาปัจจุบันที่เขียนนี้ (พย. 2560) ทั้งนี้เนื่องจากไลบรารีที่เกี่ยวข้องกับ ESP32 ยังอยู่ระหว่างการพัฒนาทำให้อาจเกิดปัญหาความเข้ากันไม่ได้ของซอฟต์แวร์ ซึ่งคงจะถูกปรับปรุงแก้ไขให้ดีขึ้นในอนาคต

Monday, November 20, 2017

เสริม IoT เชิงปฏิบัติในรายวิชาสาขาวิศวกรรมระบบควบคุม

ปัจจุบันการพัฒนาอุปกรณ์ที่เรียกว่า IoT (Internet of Things) กำลังได้รับความนิยมอย่างสูงและสามารถประยุกต์ใช้ในงานหลากหลายประเภท ทำให้การเรียนการสอนในมหาวิทยาลัยต้องปรับตัวเพื่อรองรับความต้องการของตลาด โดยเฉพาะในสาขาต่างๆ ด้านวิทยาศาสตร์ วิทยาการคอมพิวเตอร์ และวิศวกรรมศาสตร์ ที่มีช่องทางและโอกาสที่ดีในการนำเอา IoT มาช่วยในการสื่อสารข้อมูล แสดงผลและควบคุม และโดยเหตุผลที่อุปกรณ์ด้านอิเล็กทรอนิกส์และคอมพิวเตอร์มีขนาดเล็กลงทำให้การเรียนรู้ไม่จำเป็นต้องอยู่แต่ในห้องปฏิบัติการเท่านั้น เพียงแต่ท่านมีฮาร์ดแวร์ที่ใช้ไฟเลี้ยงจากพอร์ต USB และโน้ตบุกก็สามารถทดลองเขียนโปรแกรมได้แม้ในที่สาธารณะเพียงแค่ต้องการ wifi hotspot เท่านั้น

Thursday, November 16, 2017

Workshop ตัวควบคุมป้อนกลับบนอินเทอร์เน็ต ครั้งที่ 1

โดยการแพร่หลายอย่างรวดเร็วของเครือข่ายอินเทอร์เน็ตในปัจจุบันทำให้การพัฒนาอุปกรณ์ที่เรียกว่า IoT (Internet of Things) ได้รับความสนใจเป็นอย่างสูง เชื่อว่าในอนาคตอันใกล้นี้อุปกรณ์เกือบทั้งหมดที่ล้อมรอบตัวเราจะสามารถเชื่อมต่อผ่านเครือข่าย ทำให้การตรวจสอบและควบคุมสามารถทำได้จากทุกพื้นที่ที่อินเทอร์เน็ตเข้าถึงได้ อย่างไรก็ตาม การฝึกอบรมรวมถึงบทความและเอกสารภาษาไทยที่มีอยู่ในปัจจุบันยังมุ่งเน้นงานประเภทเก็บข้อมูลและแสดงผล หรือการสั่งงานในลักษณะปิดเปิดเป็นหลัก ในขณะที่งานอุตสาหกรรมหลายประเภทต้องอาศัยระบบควบคุมป้อนกลับ เช่น เครื่องซีเอ็นซี หุ่นยนต์ การควบคุมระดับน้ำ แรงดัน หรือกระบวนการทางเคมี ซึ่งทำให้อัลกอรึทึมบนระบบฝังตัวมีความซับซ้อนมากขึ้น และต้องใช้ทรัพยากรทางฮาร์ดแวร์เช่นไทเมอร์เพื่อความแม่นยำในการสุ่มสัญญาณ

วัตถุประสงค์ของคอร์สอบรมเชิงปฏิบัติ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ต” หรือเรียกโดยย่อว่า IoFC (Internet of Feedback Controllers) เน้นสาระสำคัญเกี่ยวกับการพัฒนาตัวควบคุมบนฮาร์ดแวร์ฝังตัวที่ใช้งานได้จริง เสถียร และมีสมรรถนะตามที่ผู้ใช้งานต้องการ นอกจากนั้นยังสามารถควบคุมและแสดงผลผ่าน WiFi โดยการทำงานในโหมด soft-AP หรือผ่านอินเทอร์เน็ตโดยอาศัยบริการคลาวด์ของ NETPIE เนื้อหาครอบคลุมการอิมพลิเมนต์ตัวควบคุม PID ที่มีฟังก์ชันเสริมสำหรับปรับปรุงผลตอบสนอง และตัวควบคุมเชิงเส้นที่ออกแบบเฉพาะ

Sunday, July 16, 2017

ทดสอบการใช้งานวงจร LAG3 ร่วมกับบอร์ด WEMOS D1 R2

ในหนังสือ ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266 และใน IoFC workshop ที่ ม.นเรศวร เราได้ใช้บอร์ด ESPino ที่ผลิตโดย ThaiEasyElec ทำหน้าที่ควบคุมบอร์ดจำลองถังน้ำ 3 ระดับ เรียกโดยย่อว่าบอร์ด LAG3 มาจากชื่อ 3rd order lag [1] ซึ่งเป็นพลานต์ที่มีความเหมาะสมมากในการศึกษาการวิเคราะห์และออกแบบระบบควบคุม การสร้างโมเดลโดยวงจรอิเล็กทรอนิกส์ให้ผลที่ใกล้เคียงกับการจำลองโดยคอมพิวเตอร์และมีความสะดวกในเชิงปฏิบัติการ คือมีขนาดเล็ก สามารถใช้ไฟเลี้ยงจากบอร์ดควบคุม และใช้ทดสอบตัวควบคุมได้ตั้งแต่แบบ PID จนถึงการป้อนกลับสเตต (state feedback) เนื่องจากเอาต์พุตของออปแอมป์ทั้ง 3 ภาคสามารถวัดค่าได้ ผู้เขียนได้ใช้บอร์ด LAG3 นี้ทดสอบตัวควบคุมแบบไม่เป็นเชิงเส้นตามแนวคิดใหม่ที่นำเสนอในงานประชุมวิชาการ ICCRE2017 [2]

แนะนำหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266”

ปัจจุบันเมื่อกล่าวถึงอุปกรณ์ IoT (Internet of Things) คงมีน้อยคนที่จะไม่รู้จัก ในยุคที่การเข้าถึงอินเทอร์เน็ตเป็นกิจวัตรประจำวันของมนุษย์เ...