Araştırdığım kadarıyla iyi bir pid algoritması için zamanında hesaba katılması gerekiyor.Ben de pic te her pid fonksiyonunu çağrışımda ne kadar zaman geçtiğini ölçmeyi bilmediğim için 200 us lik timer ile pid fonksiyonunu çağırıyorum.Fakat derivative i hesaplarken bunu nasıl kullanacağımı tam kavrayamadım.
turev=(hata-onceki_hata)/dt; mesela bu kod için
turev=(hata-onceki_hata)/200; mü diyeceğiz sacma gibi.
Takıldığım bir diğer nokta ise derivative in çıkışa negatitif etkiside oluyor mu?Yoksa her zaman proportional ile kazandığımız çıkış degerinin üzerine pozitif etkisi mi olmak zorunda?
dt örnekleme zamanı olduğu için; her örnekleme zamanında fark hesabı yapılacağı için tekrar dt değerine bölünmesi mantıklı gelmiyor, kendi PID bloğunu yazan birileri varsa daha iyi yorumlar gelebilir.
Derivativenin(türevin) çıkışa negatif etkisi evet olur, sonuçta burdaki fark sonucu negatif çıkarsa sistemin dinamikliğine göre PID toplamı sonucu çıkışı negatife çekme ağırlığını koyar.