İçindekiler:

PID Çizgi Takipçisi Atmega328P: 4 Adım
PID Çizgi Takipçisi Atmega328P: 4 Adım

Video: PID Çizgi Takipçisi Atmega328P: 4 Adım

Video: PID Çizgi Takipçisi Atmega328P: 4 Adım
Video: ÇİZGİ İZLEYEN ROBOT YARIŞLARI HAKKINDA BİLGİLER 2024, Kasım
Anonim
Image
Image

GİRİŞ

Bu talimat, beyninin (Atmega328P) içinde çalışan PID (oransal-integral-türev) Kontrolü (Matematiksel) ile verimli ve güvenilir bir Çizgi Takipçisi yapmakla ilgilidir.

Çizgi takipçisi, beyaz alanda siyah çizgiyi veya siyah alanda beyaz çizgiyi takip eden otonom bir robottur. Robot belirli bir çizgiyi algılayabilmeli ve onu takip edebilmeli.

Bu yüzden bir HAT TAKİPÇİSİ yapmak için birkaç parça/adım olacak, hepsini adım adım tartışacağım.

  1. Sensör (Çizgiyi görmek için göz)
  2. Mikrodenetleyici (Bazı hesaplamaları yapmak için beyin)
  3. Motorlar (Kas Gücü)
  4. Motor sürücüsü
  5. şasi
  6. Pil (Enerji Kaynağı)
  7. Teker
  8. Çeşitli

İŞTE HAT TAKİPÇİ'NİN VİDEOSU

SONRAKİ ADIMLARDA HER BİLEŞEN HAKKINDA DETAYLI OLARAK GÖRÜŞECEĞİM

Adım 1: Sensör (Göz) QTR 8RC

Sensör (Göz) QTR 8RC
Sensör (Göz) QTR 8RC
Sensör (Göz) QTR 8RC
Sensör (Göz) QTR 8RC
Sensör (Göz) QTR 8RC
Sensör (Göz) QTR 8RC

Bu harika sensörü ürettiği için Pololu'ya teşekkürler.

Modül, 0,375 (9,525 mm) aralıklarla eşit aralıklarla yerleştirilmiş sekiz IR verici ve alıcı (fototransistör) çifti için uygun bir taşıyıcıdır. Sensör kullanmak için önce OUT pini. Daha sonra, harici olarak sağlanan voltajı çekerek yansımayı okuyabilirsiniz ve entegre fototransistör nedeniyle çıkış voltajının ne kadar sürede azalması gerektiğini zamanlayabilirsiniz. Daha kısa bozulma süresi, daha fazla yansımanın bir göstergesidir. Bu ölçüm yaklaşımının birçok avantajı vardır, özellikle QTR-8RC modülünün LED gücünü kapatma özelliğiyle birleştiğinde:

  • Analogdan dijitale dönüştürücü (ADC) gerekmez.
  • Voltaj bölücü analog çıkışı üzerinde geliştirilmiş hassasiyet.
  • Çoğu mikrodenetleyici ile birden fazla sensörün paralel olarak okunması mümkündür.
  • Paralel okuma, LED güç etkinleştirme seçeneğinin optimize kullanımına izin verir

Özellikler

  • Boyutlar: 2,95" x 0,5" x 0,125" (başlık pimleri takılı olmadan)
  • Çalışma voltajı: 3.3-5.0 V
  • Besleme akımı: 100 mA
  • Çıkış formatı: Zamanlanmış yüksek darbe olarak okunabilen 8 dijital G/Ç uyumlu sinyal
  • Optimum algılama mesafesi: 0,125" (3 mm)Önerilen maksimum algılama mesafesi: 0,375" (9,5 mm)
  • Başlık pimleri olmadan ağırlık: 0,11 oz (3,09 g)

QTR-8RC Çıkışlarının Dijital G/Ç Hatlarına Arayüz Oluşturulması

QTR-8RC modülü, Paralaks QTI gibi, çıkış hattını yükseğe sürebilen ve ardından çıkış voltajının düşme süresini ölçebilen bir dijital G/Ç hattı gerektiren sekiz özdeş sensör çıkışına sahiptir. Bir sensörü okumak için tipik sıra şudur:

  1. IR LED'lerini açın (isteğe bağlı).
  2. G/Ç hattını bir çıkışa ayarlayın ve yüksek sürün.
  3. Sensör çıkışının yükselmesi için en az 10 μs bekleyin.
  4. G/Ç hattını bir giriş yapın (yüksek empedans).
  5. G/Ç hattının düşmesini bekleyerek voltajın düşme süresini ölçün.
  6. IR LED'lerini kapatın (isteğe bağlı).

Bu adımlar tipik olarak birden çok G/Ç hattında paralel olarak yürütülebilir.

Güçlü bir yansıma ile, bozunma süresi birkaç düzine mikrosaniye kadar düşük olabilir; yansıma olmadan, bozunma süresi birkaç milisaniyeye kadar çıkabilir. Bozulmanın tam zamanı, mikrodenetleyicinizin G/Ç hattı özelliklerine bağlıdır. Tipik durumlarda 1 ms içinde anlamlı sonuçlar elde edilebilir (yani, düşük yansıtmalı senaryolarda küçük farklılıkları ölçmeye çalışmadığında), tüm 8 sensörün 1 kHz'e kadar örneklenmesine izin verir. Düşük frekanslı örnekleme yeterliyse, LED'ler kapatılarak önemli ölçüde güç tasarrufu sağlanabilir. Örneğin, 100 Hz'lik bir örnekleme hızı kabul edilebilirse, LED'ler zamanın %90'ında kapalı olabilir ve ortalama akım tüketimini 100 mA'dan 10 mA'ya düşürür.

Adım 2: Mikrodenetleyici (Beyin) Atmega328P

Mikrodenetleyici (Beyin) Atmega328P
Mikrodenetleyici (Beyin) Atmega328P
Mikrodenetleyici (Beyin) Atmega328P
Mikrodenetleyici (Beyin) Atmega328P

Bu Müthiş Mikrodenetleyici AKA Atmega328'i Üretmek İçin Atmel Corporation'a teşekkürler.

ATmega328P için temel parametreler

Parametre değeri

  • Flaş (Kbayt): 32 Kbayt
  • Pin Sayısı: 32
  • Maks. Çalışma Frekansı (MHz): 20MHz
  • CPU: 8 bit AVR
  • Maks G/Ç Pinleri: 23
  • Harici Kesintiler: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ADC kanalları: 8
  • ADC Çözünürlüğü (bit): 10
  • SRAM (Kbayt): 2
  • EEPROM (Bayt): 1024
  • G/Ç Tedarik Sınıfı: 1.8 - 5.5
  • Çalışma Gerilimi (Vcc):1.8 - 5.5
  • Zamanlayıcılar: 3

Ayrıntılı Bilgi için Atmega328P Veri Sayfasına bakın.

Bu projede Birkaç Sebep için Atmega328P kullanıyorum

  1. Ucuz
  2. Hesaplama için yeterli RAM'e sahip
  3. Bu Proje için Yeterli G/Ç Pinleri
  4. Atmega328P Arduino'da kullanılıyor…. Resim ve Videoda bir Arduino Uno olduğunu fark edebilirsiniz, ancak daha gece Arduino IDE veya Herhangi Bir Arduino kullanıyorum.. Arayüz kartı olarak sadece donanımı kullandım. Önyükleyiciyi sildim ve çipi Programlamak için USB ASP kullandım.

Chip'i Programlamak için Atmel Studio 6 kullandım

Tüm KAYNAK KODU GitHub'dadır İndirin ve test.c dosyasını kontrol edin.

Bu paketi derlemek için POLOLU AVR KÜTÜPHANE KURULUMU'nu indirip yüklemeniz gerekmektedir Ekleri Kontrol Edin…

Ayrıca bir Atmega328P Geliştirme Kartı Şeması ve Kart Dosyası YÜKLÜYORUM… Kendiniz Yapabilirsiniz…

Adım 3: Motor ve Motor Sürücüsü

Motor ve Motor Sürücüsü
Motor ve Motor Sürücüsü
Motor ve Motor Sürücüsü
Motor ve Motor Sürücüsü
Motor ve Motor Sürücüsü
Motor ve Motor Sürücüsü

Aktüatör olarak 350RPM 12V BO Tipi Redüktörlü DC motor kullandım. Daha fazla bilgi için… MOTOR LINK

Bir motor sürücüsü olarak L293D H-bridge IC kullandım.

Bunun için Şematik ve Pano Dosyasını ekliyorum.

Adım 4: Kasa ve Çeşitli

Şasi ve Çeşitli
Şasi ve Çeşitli
Şasi ve Çeşitli
Şasi ve Çeşitli
Şasi ve Çeşitli
Şasi ve Çeşitli

Bot, 6mm Kalınlığında Kontrplak Ahşaptan yapılmıştır.

Önerilen: