Encoder Tıklarını Mesafeye Çevirme

Bir robotu doğru bir şekilde kontrol etmek için, motorun encoder'ından gelen tıklamaları fiziksel bir mesafeye dönüştürmek önemlidir. Bu, robotun belirli mesafelerde hareket etmesini sağlamak için kullanılır.

Dönüşüm İçin Gerekenler

Encoder tıklarını fiziksel bir mesafeye çevirmek için şu bilgilere ihtiyacınız var:

  1. Encoder Şaftının Her Dönüşü İçin Tık Sayısı Bu değer, motor ve encoder'a özgüdür. Örneğin, 28 tık HD Hex Motorları için standarttır.

  2. Toplam Dişli Oranı Dişli oranları, motor şaftının tekerleğe göre kaç kez döneceğini değiştirir ve bu, belirli bir mesafeyi kat etmek için gereken tık sayısını etkiler. Bu oran, dişliler, dişli kutuları, dişlilerle güç iletimi gibi bileşenleri içerir.

  3. Tahrik Tekerleğinin Çevresi Tekerleğin çevresi, encoder tıklarını fiziksel mesafeye dönüştürmek için gereklidir. Çevre hesaplama formülü şudur:

    C¸evre=C¸ap×π\text{Çevre} = \text{Çap} \times \pi

Adım Adım Dönüşüm Örneği

Adım 1: Verilerin Toplanması

Class Bot V2 için aşağıdaki bilgilere sahibiz:

  • Motorun Her Dönüşü İçin Tık Sayısı (COUNTS_PER_MOTOR_REV) = 28 tık

  • Toplam Dişli Oranı (DRIVE_GEAR_REDUCTION) = 30.21

  • Tekerlek Çapı = 90 mm (bu da çevreyi 90×π=282.74 mm90 \times \pi = 282.74 \, \text{mm} olarak verir)

Adım 2: Değişkenlerin Tanımlanması

Bu sabitleri, kodda değişkenler olarak tanımlayalım:

public class HelloRobot_EncoderAuton extends LinearOpMode {
    private DcMotor leftmotor;
    private DcMotor rightmotor;

    // Motor ve robot parametreleri için sabitler
    static final double COUNTS_PER_MOTOR_REV = 28.0; // Motorun her dönüşü için tık sayısı
    static final double DRIVE_GEAR_REDUCTION = 30.21; // Toplam dişli oranı
    static final double WHEEL_CIRCUMFERENCE_MM = 90.0 * Math.PI; // Tekerleğin çevresi mm cinsinden
}

Adım 3: Tekerlek Dönüşü Başına Tık Sayısının Hesaplanması

Tekerleğin bir tam dönüşü için kaç tık olduğunu hesaplamak için Motor Dönüşü Başına Tık SayısıToplam Dişli Oranıyla çarpmamız gerekir:

COUNTS_PER_WHEEL_REV=COUNTS_PER_MOTOR_REV×DRIVE_GEAR_REDUCTION\text{COUNTS\_PER\_WHEEL\_REV} = \text{COUNTS\_PER\_MOTOR\_REV} \times \text{DRIVE\_GEAR\_REDUCTION}

Adım 4: Milimetre Başına Tık Sayısının Hesaplanması

Şimdi, tekerleği 1 mm hareket ettirmek için gereken encoder tık sayısını hesaplamamız gerekir. Bunu yapmak için COUNTS_PER_WHEEL_REV'i WHEEL_CIRCUMFERENCE_MM'ye böleriz:

COUNTS_PER_MM=COUNTS_PER_WHEEL_REVWHEEL_CIRCUMFERENCE_MM\text{COUNTS\_PER\_MM} = \frac{\text{COUNTS\_PER\_WHEEL\_REV}}{\text{WHEEL\_CIRCUMFERENCE\_MM}}

Tam Kod Örneği

Tüm bu hesaplamalarla birlikte, kodunuz şu şekilde görünebilir:

Ana Noktalar:

  • COUNTS_PER_MOTOR_REV, motorun encoder şaftı için bir dönüş başına kaç tık olduğunu gösterir (HD Hex motorları için 28 tık).

  • DRIVE_GEAR_REDUCTION, motorun tekerleğe göre dönüş oranını değiştirir, bu da belirli bir mesafeyi kat etmek için gereken tık sayısını etkiler.

  • WHEEL_CIRCUMFERENCE_MM, tekerleğin bir dönüşüyle robotun kat ettiği mesafedir.

  • COUNTS_PER_WHEEL_REV, robotun bir tekerlek dönüşüyle ne kadar tık kaydettiğini hesaplar.

  • COUNTS_PER_MM, robotun 1 mm hareket etmesi için gereken tık sayısını verir.

Encoder geri bildirimi kullanarak hedef pozisyonları tıklama birimleri olarak ayarlayarak robotun tam mesafelerle hareket etmesini sağlayabilirsiniz.

Last updated