Encoder Temelleri

HD Hex Motor ve Core Hex Motor Encoder’ları REV Robotics'in HD Hex Motoru ve Core Hex Motoru, yerleşik bir encoder içerir. Bu öğreticiyi farklı bir üreticinin motoruyla takip ediyorsanız, motorunuzun belgelerini kontrol etmeniz gerekebilir.

Encoder Nedir?

Encoder, robotumuza geri bildirim sağlayan bir sensör türüdür. Farklı encoder türleri vardır, ancak bu öğreticide "quadrature encoder" adı verilen bir tür üzerine odaklanacağız. Quadrature encoder'lar, genellikle "ticks" olarak adlandırılan motor devrimlerini sayabilir.

Quadrature encoder'lar tam konumları belirleyemese de, motorun belirli bir noktaya hareket etmesine yardımcı olabilir. Bu işlem, kodumuzda bir başlangıç noktası ve motorun uzaklaşması gereken bir hedef nokta belirleyerek gerçekleştirilir.

Motorların dişli oranına bağlı olarak her bir dönüşte farklı sayıda tick üretilir. Kontrol Hub’ı açıldığında, tüm encoder portlarının değeri sıfırdır. Motor ileri hareket ettikçe encoder değeri artar, geri hareket ettiğinde ise azalır.


Motor Modlarını Keşfetme

Encoder'larla motorumuzu kullanırken farklı modlar ayarlayabiliriz. Mod genellikle kodun başlatma sürecinde belirlenir, böylece motorlar tüm program boyunca hazır olur. Ancak, özel durumlar için bu modlar yürütme sırasında değiştirilebilir.

Motorun amacı ve bağlı mekanizmaya göre kullanılacak mod değişir. Örneğin, joystick girişine bağlı bir drivetrain motorunda encoder'ların aktif olması gerekmeyebilir. Öte yandan, belirli bir hıza ihtiyaç duyan bir flywheel tasarımı encoder'lara ihtiyaç duyabilir.


Motor Modları

STOP_AND_RESET_ENCODER Kullanımı

Encoder'ları kullanırken, başlatma sırasında STOP_AND_RESET_ENCODER kullanılması şiddetle tavsiye edilir. Bu, motorun hangi pozisyonda başladığını bilmenizi sağlar. Ancak, her seferinde tekrarlanabilir bir başlangıç konfigürasyonu planlamalısınız.

Motor, kod çalışırken de "STOP_AND_RESET_ENCODER" moduna alınabilir. Bu genellikle bir düğme ile yapılır ve robot bir engele takıldığında encoder'ı sıfırlamak için kullanılır.


RUN_WITHOUT_ENCODER Kullanımı

Encoder'ları hız sabitleme için kullanmak istemediğinizde bu modu seçin. Encoder değerlerine hâlâ erişebilirsiniz, ancak motorun gerçek hızı pil ömrü ve sürtünme gibi dış faktörlere daha bağımlı olur.

Bu modda, motor gücü -1 ile 1 arasında bir aralıkta ayarlanır. -1 tam hızda geri, 0 durma ve 1 tam hızda ileri anlamına gelir. Gücü azaltmak, hem torku hem de hızı düşürür.


RUN_USING_ENCODER Kullanımı

Bu modda, Control Hub encoder'ı kullanarak motorun hızını aktif olarak yönetir. Yüzde tabanlı bir güç uygulamak yerine, RUN_USING_ENCODER modu belirli bir hız hedefler. Bu, sürtünme, pil voltajı ve diğer faktörlere göre motorun hızını ayarlamasını sağlar.

Hızı RUN_WITHOUT_ENCODER modundayken ayarlamak, motoru otomatik olarak RUN_USING_ENCODER moduna geçirir.


RUN_TO_POSITION Kullanımı

Bu modda, Control Hub belirli bir konumu hedefler. Bu konum "ticks" cinsinden belirlenir. Motor, hedefe ulaştıktan sonra bile pozisyonunu korur, aksi takdirde motor modu değiştirilir veya güç sıfırlanır.

RUN_TO_POSITION modunu kullanmak için şu adımları takip edin:

  1. Bir hedef pozisyon belirleyin.

  2. RUN_TO_POSITION moduna geçin.

  3. Maksimum hızı belirleyin (joystick girişine bağlı değilse).

Motor hedefe ulaşamazsa, pozisyonunu korumaya çalışır ve bu durum motorun aşırı ısınmasına neden olabilir.

Encoder'ı sıfırlamak ve robotu başlangıç pozisyonuna getirmek her zaman önerilir. Örneğin, bir kol mekanizması, FTC maçının başlangıcındaki başlangıç konfigürasyonuna geri döndürülmelidir.

Last updated