
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เข้าใจวิธีการปรับแต่ง PID อัตโนมัติโดยใช้ฮีตเตอร์ สิ่งที่ฉันได้ทำขึ้นอยู่กับวิธี Åström–Hägglund เพื่อหาค่าพารามิเตอร์โดยใช้การควบคุมแบบ bang-bang เพื่อแสดงลักษณะของระบบและเลือกพารามิเตอร์ตามลำดับตามความรู้นี้ ไม่มีอะไรเป็นความลับและข้อมูลสามารถพบได้ที่นี่: https://en.wikipedia.org/wiki/PID_controller#Loop… และสำหรับการเลือกพารามิเตอร์คุณสามารถอ่านได้ที่นี่: https://en.wikipedia.org/ wiki/PID_controller#Loop…
เพื่อให้ดีมีการเพิ่มอินเทอร์เฟซ HMI ของ Nextion 3.2 สำหรับการป้อนข้อมูลของผู้ใช้และแสดงตัวแปรต่างๆ แบบเรียลไทม์ แต่ฉันยังได้สร้างไลบรารีเวอร์ชันเทอร์มินัลอนุกรมซึ่งทำให้โครงการมีราคาถูกลง!
เรื่องราวเบื้องหลังที่แท้จริงคือส่วนหนึ่งที่ฉันสัญญากับพ่อว่าจะทำการควบคุมอุณหภูมิสำหรับการละลายขี้ผึ้งของผึ้ง ส่วนหนึ่งฉันต้องการรีเฟรชทฤษฎีการควบคุมพื้นฐานของฉัน และสุดท้ายฉันต้องการดูการปรับอัตโนมัติของตัวควบคุม PID ด้านข้างฉันยังสามารถใช้สำหรับ Sous Vide ทำสเต็กและซอส Bearnaise ได้ดีซึ่งเป็นส่วนหนึ่งของการทดสอบ!
คำเตือน
ฉันกำลังทำงานกับ 230 V ที่นี่ ซึ่งอันตรายถ้าคุณไม่รู้ว่าคุณกำลังทำอะไรอยู่ ! ฉันเป็นวิศวกรไฟฟ้าและอิเล็กทรอนิกส์ ดังนั้นฉันจึงมีประสบการณ์บางอย่างที่นี่ - แต่อย่าทำงานกับ 230 V หากคุณไม่สะดวกกับมันและระวังอย่าแตะต้องสายไฟ! นอกจากนี้ ให้ระวัง SS-relays ราคาถูกเกี่ยวกับอันตรายจากไฟไหม้ที่อาจเกิดขึ้นได้ เนื่องจากมีคนบางคนเห็นสิ่งนี้ (ไม่ใช่โดยฉัน)
เสบียง
- WASCO Hot Plate ราคาถูก (น่าจะดีกว่า - เช่นจานเหนี่ยวนำ Ikea)
- SS-relay ราคาถูก
- เซ็นเซอร์อุณหภูมิ Dallas onewire
- Arduino Mega
- (ไม่บังคับ) อินเทอร์เฟซ/จอแสดงผล HMI Nextion 3.2"
- แหล่งจ่ายไฟ 5V สำหรับ Arduino
ขั้นตอนที่ 1: การประกอบ




ฉันสร้างกล่องหุ้มสำหรับโปรเจ็กต์เวอร์ชัน HMI เท่านั้นเนื่องจากนี่คือสิ่งที่ฉันใช้ ดังนั้นฉันจึงสร้างกล่องหุ้มสำหรับรีเลย์ที่เหมาะสม HMI และ Arduino ฉันยังทำแคลมป์สำหรับเซ็นเซอร์อุณหภูมิเพียงเพราะฉันสามารถ…
ขั้นตอนที่ 2: การเข้ารหัส

รหัสทั้งหมดสำหรับ HMI และ Arduino มีอยู่ที่ Git repo ของฉันสำหรับโครงการ
ฉันแสดงความคิดเห็นมากมายในโค้ดเพื่อพยายามทำให้อ่านและเข้าใจได้ง่ายขึ้น แต่โดยพื้นฐานแล้วฉันตั้งค่า PWM ที่ช้ามากสำหรับ hot-plate และตัวจับเวลาขัดจังหวะสำหรับ state-machine/control และนั่นก็คือจริงๆ
แน่นอนว่ามีรูทีนการปรับแต่งและตัวควบคุมเอง + HMI หรืออินเทอร์เฟซแบบอนุกรม…
ฉันทำอะไรบางอย่างที่ฉันไม่ได้เป็นแฟนตัวยงของโค้ดนี้ และนั่นคือการใช้การพิมพ์แบบอนุกรมในการขัดจังหวะของตัวจับเวลา การพิมพ์แบบอนุกรมใช้เวลานานและควรหลีกเลี่ยงการขัดจังหวะของตัวจับเวลา…
การปรับจูนทำงานดังนี้:
- ตั้งค่ารอบการทำงาน PWM เป็น 40%
- รอจนกระทั่งถึงอุณหภูมิที่ตั้งไว้
- ตั้งค่ารอบการทำงาน PWM เป็น 0%
- รอจนอุณหภูมิต่ำกว่าจุดที่ตั้งไว้
- ทำซ้ำขั้นตอนที่ 1-4 จนกระทั่งเช่น 3 คาบที่มีเวลาและแอมพลิจูดเกือบเท่ากัน
- คำนวณพารามิเตอร์สำหรับ PID ตามด้านบน
ค่อนข้างง่าย;)
ขั้นตอนที่ 3: การทดสอบ



เมื่อการเข้ารหัสเสร็จสิ้นก็ถึงเวลาสำหรับการทดสอบ ในส่วนที่แล้ว ฉันแสดงการปรับจูนแบบกราฟิกจากการทดสอบ - ดังนั้นจึงไม่มีอะไรจะพูดมาก แต่การทดสอบสองสามรายการโดยใช้พารามิเตอร์ที่ได้รับจะแสดงที่นี่
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง