Programlama Servo Motorları

Servo Nedir?

Bu bölüm, Smart Robot Servo'nun varsayılan moduna odaklanmaktadır. Eğer servo, sürekli modda veya açısal limitlerle çalışacak şekilde değiştirilmişse, aşağıdaki kod örneklerinde belirtilen şekilde davranmaz. Akıllı Robot Servo hakkında daha fazla bilgi edinmek veya Servo'nun modunu SRS Programmer ile değiştirmek için bağlantılara tıklayabilirsiniz.

Servo, hareket sağlamak için tasarlanmış bir aktüatör türüdür. Tipik bir servo ile bir hedef pozisyon belirtebilirsiniz. Servo, motor şaftını bu hedef pozisyona hareket ettirir ve bu pozisyonda kalır; hatta konumunu bozmaya yönelik orta düzeyde kuvvetler uygulansa bile.

Hello Robot için sürekli ve açısal mod arasında geçiş yapabilen Smart Robot Servo kullanacağız:

  • Sürekli mod, servonun standart bir motor gibi her iki yönde de 360° tam bir dönüş yapmasına olanak tanır.

  • Açısal mod, servonun 270° hareket aralığı içinde belirli pozisyonlara hareket etmesini sağlar.

Servoyu açısal moddayken nasıl programlayacağımıza bir göz atalım:

Genellikle, standart bir servo için hareket aralığı 180° iken, Smart Robot Servo modlar arasında geçiş yapabildiği için 270° aralığa sahiptir. Bu, programlama sırasında 0 ve 1 pozisyonlarının beklediğinizden biraz farklı olabileceği anlamına gelir.

Yukarıdaki görselde görebileceğiniz gibi, varsayılan olarak, servodan 0 pozisyonuna hareket etmesi istendiğinde, bu -135°'de olacaktır. Bunun tersine, 1 pozisyonuna hareket etmek, servoyu +135°'ye taşır. Bu nedenle, servoyu 0°'ye geri döndürmek istiyorsak, servoyu 0.5 pozisyonuna hareket ettirmemiz gerekir.

Hızlı Kontrol Temel pozisyonlarımızı gözden geçirelim:

Programlanan Pozisyon

Derece

0

-135°

0.5

1

135°

Şimdi, iki soruyu düşünün:

  1. Servomuzun -67.5°'ye hareket etmesini istersek, hangi pozisyona hareket etmesini programlarız?

  2. Eğer servomuzu 0.7 pozisyonuna hareket edecek şekilde programladıysak, bu kaç dereceye eşit olur?

Cevaplar için tıklayın
  1. Bunu parçalara ayırırsak -67,5°'nin 0° ile -135° arasındaki hareketimizin yarısı olacağını görebiliriz. Bu nedenle, konumumuzu 0 ile 0,5 arasında yarıya, yani 0,25'e ayarlayacağız.

  2. Bu ikinci soru biraz daha fazla matematik gerektiriyor. Servomuzun her 0,1 pozisyon için ne kadar hareket edeceğini düşünelim. Toplam hareketimiz 270°, yani 10'a böldüğümüzde 0,1 = 27° olduğunu biliyoruz. Buradan yola çıkarak, 0.5 konumunun bizi getirdiğini bildiğimiz 0°'den başlayarak hesaplama yapabiliriz. Bu nedenle, 0,7 pozisyonuna hareket etmek 54° olmalıdır.

Hello Robot için yalnızca pozisyonları kullanarak programlama yapacağız. Ancak, bir mekanizma tasarlarken derecelerini anlamak hala önemlidir. Dereceler, servo programlanırken doğrudan darbe girişi kullanıldığında tercih edilebilir.

Programlamaya Başlayalım

Önümüzdeki birkaç bölümde, servomuzu önce otomatik olarak istenen farklı konumlara hareket edecek, ardından gamepad'imizin girişine yanıt verecek şekilde programlamayı öğreneceğiz.

Aşağıda nihai kodumuzun genel bir görünümü yer almaktadır:

Last updated