Encoderlı DC Motorun PID Controller ile Kontrolu ( Ayrık Zaman )

Proje Amacı Microcontroller üzerine yazılmış yazılım ile encoderlı DC motorun PID controller ile kontrol edilmesi amaçlanmaktadır. PID sistemin katsayıları ve motorun çalışmasını istediğimiz RPM değerini bir arayuz ile serial haberleşme kullanarak microcontroller a göndererek o değerlerde çalışmasını istenmektedir. Sistemin Çalışması Mikro controller olarak Arduino Uno kullanılmıştır. Encoderdan gelen pulseler için interrupt kullanılmıştır. RPM değerini bulmak için ise pulseler arasındaki zaman farkından yararlanarak bulunmuştur. Arayız tarafından gelen set RPM değeri ile motorumuzun RPM değerini çıkartarak hatayı buluruz. Hatayı gerekli işlemlerden ve katsayılardan geçirerek PID çıkışımızı elde etmiş olunur. Arduinonun pwm çıkışından motor sürücüsüne giderek gerekli değerde motoru çalıştıracaktır. Arayüz olarak Pytq5 kullanılmıştır. Sadece plot çizme işlemi hazır kod ile kullanılmıştır. GUI Analiz: self .KP = QLineEdit( self ) ...