İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu proje, bir ısıtıcı kullanarak Otomatik PID ayarının nasıl yapıldığını anlamanın basit ve sezgisel bir yolunu sağlamayı amaçlamaktadır. Yaptığım şey, sistem karakteristiklerini ortaya çıkarmak için bang-bang kontrolünü kullanarak parametrelerin türetilmesi için Åström–Hägglund yöntemine dayanıyor ve ardından bu bilgiye dayalı olarak parametreleri seçti. Gizli bir şey yok ve bilgi burada bulunabilir: https://en.wikipedia.org/wiki/PID_controller#Loop… Ve parametreleri seçmek için burada biraz okuyabilirsiniz: https://en.wikipedia.org/ wiki/PID_controller#Döngü…
Bunu güzelleştirmek için, kullanıcı girişi ve gerçek zamanlı farklı değişkenleri görüntülemek için bir Nextion 3.2 HMI arayüzü eklendi. AMA aynı zamanda projeyi çok daha ucuz hale getiren kütüphanenin Seri terminal versiyonunu da yaptım!
Gerçek arka plan hikayesi, kısmen babama balmumu eritmek için bir sıcaklık kontrolü yapmaya söz verdim, kısmen temel kontrol teorimi yenilemek istedim ve son olarak PID kontrolörlerinin otomatik ayarını araştırmak istedim. Ayrıca testin bir parçası olarak güzel biftekler ve Bearnaise sosu yapmak için Sous Vide için kullanmayı başardım!
UYARI
Burada 230 V ile çalışıyorum, ne yaptığınızı bilmiyorsanız tehlikeli! Ben bir elektrikçi ve elektronik mühendisiyim, bu yüzden burada biraz deneyimim var - ancak rahat değilseniz 230 V ile ÇALIŞMAYIN ve canlı kablolara dokunmamaya büyük özen gösterin! Ayrıca, olası yangın tehlikesine ilişkin olarak ucuz SS rölelerine dikkat edin, çünkü bu bazı insanlar tarafından görülmüştür (yine de benim tarafımdan değil).
Gereçler
- Ucuz bir WASCO Sıcak Plaka (daha iyi olabilir - örneğin bir Ikea indüksiyon plakası)
- Ucuz bir SS rölesi
- Dallas tek kablolu sıcaklık sensörü
- Bir Arduino Megası
- (Opsiyonel) Bir Nextion 3.2" HMI arayüzü/ekranı
- Arduino için 5V güç kaynağı
Adım 1: Montaj
Sonunda kullandığım şey bu olduğundan, yalnızca projenin HMI sürümü için bir muhafaza oluşturdum. Bu yüzden röle, HMI ve Arduino'yu takmak için bir muhafaza yaptım. Ayrıca sıcaklık sensörü için bir kelepçe yaptım çünkü yapabildim…
Adım 2: Kodlama
HMI ve Arduino için tüm kodlar proje için Git depomda mevcuttur.
Okumayı ve anlamayı kolaylaştırmak için kodda çok yorum yaptım. Ama esasen sıcak plaka için gerçekten yavaş bir PWM ve durum makinesi/kontrol için bir zamanlayıcı kesintisi kurdum ve bu gerçekten bu kadar.
Sonra tabii ki ayar rutini ve kontrolün kendisi + HMI veya Seri arayüz var…
Bu kodda büyük bir hayranı olmadığım bir şey yapıyorum ve bu, bir zamanlayıcı kesintisinde seri baskı kullanmak. Seri baskı çok zaman alır ve bir zamanlayıcı kesintisinde gerçekten kaçınılmalıdır…
Ayar şu şekilde çalışır:
- PWM görev döngüsünü %40'a ayarlayın
- Ayar noktası sıcaklığına ulaşılana kadar bekleyin
- PWM görev döngüsünü %0'a ayarlayın
- Sıcaklık ayar noktasının altına düşene kadar bekleyin
- 1-4 arası adımları ör. Hemen hemen aynı zaman ve genlikte 3 adet dönem görülüyor
- Yukarıdakilere dayanarak PID için parametreleri hesaplayın
Oldukça basit;)
Adım 3: Test
Artık kodlamanın test zamanı geldi. Önceki bölümde bir testten akortlamayı grafiksel olarak gösterdim - bu yüzden söylenecek fazla bir şey kalmadı. Ancak elde edilen parametreleri kullanan birkaç test burada gösterilmektedir.