PD ile kontrol edilen bir çizgi izleyen robot yapmak istiyorum. 8 sensörüm var. 8 sensörden ortadaki 2 si beyaz çizgiyi görünce 3500 değerini alıyorum bu benim set değerim hatayıda buluyorum fakat bu hatayı işleyip motorlara pwm veremiyorum sizce bunu nasıl yapabilirim kısaca PID'nin D si nasıl yazılır.
sensör seçimi doğru olmuş.
bu robot için PI yeterli
bunları tek tek mux şeklinde sürmeniz gerekir. ve çıkışında bir opamp kullanılması gerekir.
birinci taranacak ve ad değeri alıncak sonra ikinci ..... n ninci.
çizgi haricinde beyaz yüzeyde önce hepsinin adc değeri alınıp beyaz alan kalibrasyonu yapılacak. bu değerlerin 8 sensörden gelen değerin toplamı sekize bölünerek bulunacak. bu değer referans değeri kabul edilecek.
soldaki dört sensör sola dönüş için atanacak. sağdaki 4 sensörde sağa dönüş için atanacak. bu dört adet sensörden gelen bilgiler 4 erli ayrı ayrı değerlendirilip çizgi üzerinde iken sol 4 ün toplamı ile sağ 4 toplamı bir window comparator gibi değerlendirilip bir hysteresis arasında kalması sağlanacak. bu hysteresis arasında soldakiler ve sağdakiler ayrı ayrı ref. değerden çıkraılarak Esol ve Esağ bulunacak.(ERROR)
sonra bir P katsayısı belirlenecek. Psağ=pkatsayı * Esağ i ve Psol=pkatsayısı * Esol ile P ler buluunacak.
daha sonra I integral için bir katsayı belirlenecek mesela 0.3 gibi. 100ms de bir hata alınacak ve bu hata 10 kez alınacak 10. alındığında 1sn dolmuş olacak. çıkan değer I katsayısı ile çarpılacak. (bu işlem sol ve sağ için ayrı ayrı yapılacak)
Psol + Isol = PIsol ve Psağ + Isağ= PIsağ bulunacak. bu bulunan değerler iki ayrı motor için PWM e uyarlancak PI ile bu sensör ile ayarlanabilir bir hyteresis değeri ile gözle görünmeyecek kadar salınımsız bir line robot olur.