ฉันพยายามเขียนโปรแกรมไมโครคอนโทรลเลอร์สำหรับควบคุมอุณหภูมิในระบบที่มีคุณสมบัติดังต่อไปนี้:
- เอาต์พุตสามารถเป็นเปิดหรือปิดพร้อมความถี่รอบคงที่ (~ 2-10 ต่อชั่วโมง)
- พืชตอบสนองช้า (การเปลี่ยนแปลงของอุณหภูมิใช้เวลานาน> 10 นาที)
- พืชสูญเสียอุณหภูมิตามสภาพแวดล้อม
- ชุดจุดสามารถแตกต่างกันไปในขั้นตอนขนาดใหญ่ตามความต้องการของผู้ใช้
ฉันกำลังเขียนตัวควบคุมที่มีจุดมุ่งหมายเพื่อลดข้อผิดพลาดรวมทั้งปฏิบัติตามอัตรารอบที่ให้ไว้เป็นอินพุต
สิ่งนี้สามารถทำได้อย่างง่ายดายด้วยคอนโทรลเลอร์ PI และมันแปลงผลลัพธ์เป็นวัฏจักรหน้าที่ ปัญหาคือโปรแกรมต้องการปรับค่าอัตโนมัติและเลือกค่าคงที่ Kp, Ki ที่ถูกต้องและปรับให้เข้ากับสภาพแวดล้อมที่แตกต่างกันและการเปลี่ยนแปลงความจุความร้อน ดังนั้นการปรับจูนคอนโทรลเลอร์ PI ล่วงหน้าจึงไม่มีประโยชน์
การใช้ PI หรือ PID จริงไม่ใช่ข้อกำหนด ฉันเปิดให้ใช้ Fuzzy-Logic ถ้ามันช่วยได้ยังมีอัลกอริทึมการเรียนรู้ของเครื่องบนชิปที่จำลองการตอบสนองของระบบและการสูญเสียความร้อน (เชิงเส้นประมาณ) ซึ่งแสดงข้อมูลเกี่ยวกับการตอบสนองตามขั้นตอนที่วัดได้ แค่ไม่รู้ว่าจะทำอย่างไรกับข้อมูลนั้น
โพสต์สองสามข้อแนะนำว่าฉันสามารถใช้ข้อมูลการสร้างแบบจำลองเพื่อปรับแต่ง PI ออนไลน์และคู่มือการใช้งานแบบแล็บที่แนะนำฉันสามารถใช้ Fuzzy-Logic เพื่อปรับแต่ง PI
คำถามของฉันคืออะไรวิธีที่ดีที่สุดสำหรับสถานการณ์ประเภทนี้ (เช่น PID, fuzzy-pid, convolution, ฯลฯ ) และวิธีที่ฉันจะนำไปใช้จริงในซอฟต์แวร์ / การปฏิบัติ
ฉันไม่ใช่ EE ดังนั้นข้อมูลใด ๆ ที่จะได้รับการชื่นชมอย่างมาก