Servo Motor Kontrolörü Nedir?
Servo Motor Kontrolörü Tanımı
Bir servo motor kontrolörü (veya servo motor sürücüsü), bir servo motorun pozisyonunu kontrol etmek için kullanılan devre olarak tanımlanır.
Servo Motor Sürücü Devresi
Servo motor sürücü devresi, mikrodenetleyici, güç kaynağı, potansiyometre ve konektörler içerir, bu da hassas motor kontrolünü sağlar.
Mikrodenetleyicinin Rolü
Mikrodenetleyici, servo motorun pozisyonunu hassas bir şekilde kontrol etmek için belirli aralıklarla PWM darbeleri oluşturur.
Güç Kaynağı
Bir servo motor kontrolörü için güç kaynağı tasarımı, bağlı olan motorların sayısına bağlıdır. Servo motorlar genellikle 4.8V ile 6V arasında bir güç kaynağı kullanır, 5V standarttır. Güç kaynağı geriliminin aşılması motora zarar verebilir. Akım çekimi torkla değişir, boşta düşükken çalışırken yüksektir. Bazı motorlar için maksimum akım çekimi, durma akımı olarak bilinen değer, 1A'ya kadar çıkabilir.
Tek motor kontrolü için, ısıtıcıyla birlikte LM317 gibi bir voltaj düzenleyici kullanılmalıdır. Birden fazla motor için, daha yüksek akım kapasitesine sahip kaliteli bir güç kaynağı gerekir. Bir SMPS (Switched Mode Power Supply) iyi bir seçimidir.
Aşağıdaki blok diyagramı, bir Servo Motor Sürücüsünde bağlantıları göstermektedir

Servo Motor Kontrolü
Servo motor üç terminali vardır.
Pozisyon sinyali (PWM Darbeleri)
Vcc (Güç Kaynağından)
Kara

Servo motorun açısal pozisyonu, belirli genişliklerde PWM darbeleri uygulanarak kontrol edilir. Darbe süresi, 0 derece dönme için yaklaşık 0.5ms ile 180 derece dönme için 2.2ms arasında değişir. Darbeler, yaklaşık 50Hz ile 60Hz frekanlarında verilmelidir.
Aşağıdaki figürde gösterildiği gibi PWM (Pulse Width Modulation) dalga formunu oluşturmak için, mikrodenetleyicinin dahili PWM modülünü veya zamanlayıcıları kullanabilirsiniz. PWM bloğu çoğu mikrodenetleyici ailesi tasarımında daha esnek olduğundan, bu PWM bloğu, servo motor gibi uygulamaların ihtiyaçlarına daha iyi uygun olmaktadır. Farklı genişliklerde PWM darbeleri için, iç kayıtları buna göre programlamalıdır.
Şimdi, mikrodenetleyiciye ne kadar dönmeli olduğunu söylememiz gerekiyor. Bu amaçla, basit bir potansiyometre kullanabilir ve ADC kullanarak dönme açısını alabilir veya daha karmaşık uygulamalar için bir ivmeölçer kullanılabilir.

Program Algoritması
Bir tek servo motoru kontrol etmek için programı tasarlayalım ve pozisyon girişini denetleyicinin bir piniyle bağlantılı potansiyometreden alalım.
Giriş/çıkış için port pinlerini başlatın.
İstenen servo pozisyonu için ADC'yi okuyun.
İstenen değeri için PWM kayıtlarını programlayın.
PWM modülünü tetiklediğinizde, seçilen PWM kanal pini yüksek (mantıksal 1) olur ve gerekli genişlik ulaşıldığında tekrar düşük (mantıksal 0) olur. Bu nedenle, PWM'yi tetikledikten sonra yaklaşık 19 ms gecikmeli bir zamanlayıcı başlatmalısınız ve zamanlayıcının taşmasına kadar beklemelisiniz. Adım 2'ye gidin.
Kullanabileceğiniz çeşitli PWM modları bulunmaktadır, bunları kullandığınız mikrodenetleyiciye bağlı olarak kullanabilirsiniz. Kodda, servonun kontrolü için bazı optimizasyon yapılmalıdır.
Birden fazla servo kullanmayı planlıyorsanız, aynı sayıda PWM kanala ihtiyacınız olacaktır. Her servoya sırayla PWM sinyali verilebilir. Ancak, her servonun darbe tekrarlama hızının korunduğundan emin olmalısınız. Aksi takdirde, servolar senkronizasyonunu kaybedebilir.