İçindekiler:
- Adım 1: Çalışma Prensibi
- Adım 2: Yapı
- Adım 3: Montaj
- Adım 4: Hat Parkurunuzu Tasarlayın
- Adım 5: Kodunuzu Programlayın
- Adım 6: BİTTİ!
Video: POLOLU QTR 8RC-sensor Dizili PID Tabanlı Çizgi Takip Robotu: 6 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Merhaba!
Bu benim öğreticiler üzerine ilk yazım ve bugün sizi yola çıkaracağım ve QTR-8RC sensör dizisini kullanarak robotu takip eden PID tabanlı bir hattın nasıl oluşturulacağını açıklayacağım.
Robotun yapımına geçmeden önce PID denilen şeyin ne olduğunu anlamamız gerekiyor.
Adım 1: Çalışma Prensibi
PID nedir?
PID terimi orantısal, integral, türev anlamına gelir. Yani basitçe, PID'yi satır takip ederek dahil ederek yaptığımız şey, robota çizgiyi takip etmesi ve nasıl olduğunu düşünerek hatayı hesaplayarak dönüşleri tespit etmesi için komut veriyoruz. raydan çok uzaklaştı.
polalu belgelerinde belirtildiği gibi anahtar terimler
Orantılı değer, robotunuzun çizgiye göre konumuyla yaklaşık olarak orantılıdır. Yani robotunuz çizgiye tam olarak ortalanmışsa, tam olarak 0 orantısal bir değer bekliyoruz
İntegral değeri robotunuzun hareket geçmişini kaydeder: robot çalışmaya başladığından beri kaydedilen orantısal terimin tüm değerlerinin toplamıdır
Türev, orantısal değerin değişim oranıdır
Bu derste sadece Kp ve Kd terimleri hakkında konuşacağız, ancak sonuçlar Ki terimi kullanılarak da elde edilebilir. Sensörden aldığımız okumalar sadece analog okumalar değil, aynı zamanda robotun konumsal okumalarıdır..so temel olarak sensör, maksimum yansımadan minimum yansımaya kadar 0 ile 2500 arasında değerler sağlar, ancak aynı zamanda robotun hattan ne kadar uzakta kaldığı hakkında da bilgi sağlar.)
Şimdi hata terimini dikkate almamız gerekiyor, Bu, iki değer set noktası değeri ile mevcut değerin farkıdır.(Ayar noktası değeri, sensörlerin satırların üzerine "mükemmel" yerleşimine karşılık gelen okumadır. değer, sensörün anlık okumalarıdır. Örneğin: Bu dizi sensörünü kullanıyorsanız ve 8 sensörden yararlanıyorsanız, nokta üzerinde iseniz 3500, çok uzaktaysanız 0 civarında bir konumsal okuma alırsınız. çizgi ve çok haklıysanız 7000 civarında.). Amacımız hatayı sıfır yapmaktır. O zaman sadece robot çizgiyi sorunsuz bir şekilde takip edebilir.
Daha sonra hesaplama kısmı gelir,.
1) hatayı hesaplayın.
Hata = Ayar Noktası Değeri - Mevcut Değer = 3500 - pozisyon
Ben 8 sensör kullanıyorum. sensör, robot mükemmel bir şekilde yerleştirildiğinde 3500 konum okuması verir. Artık robotumuzun ray boyunca sürüklendiği marj olan hatamızı hesapladığımıza göre, hatayı incelememizin ve motor hızlarını buna göre ayarlamamızın zamanı geldi.
2) motorların ayarlanan hızlarını belirler.
MotorHızı = Kp * Hata + Kd * (Hata - LastError);
LastError = Hata;
RightMotorSpeed = RightBaseSpeed + MotorSpeed;
LeftMotorSpeed = SolBaseSpeed - MotorSpeed;
Mantıksal olarak konuşursak, 0 hatası, robotumuzun sola doğru gittiği anlamına gelir; bu, robotumuzun biraz sağa gitmesi gerektiği anlamına gelir, bu da, sırayla, sağ motorun yavaşlaması ve sol motorun hızlanması gerektiği anlamına gelir. BU PID'DİR!
MotorSpeed değeri denklemin kendisinden belirlenir. RightBaseSpeed ve LeftBaseSpeed, robotun hata sıfırken çalıştığı hızlardır (PWM 0-255'in herhangi bir değeri).
Eklediğim kod ayrıca sensörün konum değerlerinin nasıl kontrol edileceğini de içeriyor, böylece seri monitörü açıp kodu yükleyebilir ve pozisyon değiştiğinde motorların nasıl döndüğünü bir çizgi ile kendiniz görebilirsiniz.
Robotunuzu uygularken sorun yaşarsanız, sadece denklemlerin işaretlerini değiştirerek kontrol edin ve görün !!!
Ve şimdi işin en zor kısmı Kp VE Kd'yi BULMAK, robotumu mükemmel bir şekilde ayarlamak için 1 saatten fazla harcamam gerekti. Rastgele değerler koymak yerine bunu belirlemenin daha kolay bir yöntemini buldum.
- Kp ve Kd eşit 0 ile başlayın ve Kp ile başlayın, önce Kp'yi 1'e ayarlamayı deneyin ve robotu gözlemleyin, amacımız çizgiyi yalpalasa bile takip etmektir, robot çizgiyi geçer ve kaybederse kp değerini azaltın.robot bir dönüşü yapamıyorsa ve yavaş hareket ediyorsa Kp değerini arttırın.
- Robot bir şekilde çizgiyi takip ediyor gibi göründüğünde, Kd değerini (Kd değeri >Kp değeri) 1'den başlayarak ayarlayın ve daha az yalpalama ile düzgün bir sürüş görene kadar değeri artırın.
- Robot çizgiyi takip etmeye başladığında hızı artırın ve çizgiyi koruyup takip edip edemediğini görün.
Hızın PID ayarı üzerinde doğrudan bir etkisi olduğunu ve bazen robotunuzun hızına uyacak şekilde yeniden ayarlamanız gerekebileceğini unutmayın.
Artık robotumuzun yapımına geçebiliriz.
Adım 2: Yapı
USB kablosu ile Arduino atmega 2560 – bu kullanılan ana mikrodenetleyicidir.
Şasi- robot şasesi için başka bir projede kullanılan 2 adet dairesel akrilik plaka kullandım, bunun için mükemmel.somun ve vida kullanarak 2 katlı bir şase yaptım, böylece diğer modülleri üst plakaya takabilirim. hazır kasa kullanabilirsiniz.
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
Mikrometal dişli motorlar- robotun PID rutini ile başa çıkabilmesi için hızlı dönen motorlara ihtiyacı vardı, bunun için 6V 400rpm değerinde motorlar ve uygun kavrama tekerlekleri kullandım.
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
QTR 8Rc sensör dizisi – bu, hat takibi için kullanılabilir, daha önce de belirtildiği gibi, sensör dizisinin PID ile nasıl çalıştırılacağına dair net bir anlayışa sahip olduğunuzu düşünüyorum. Kod çok basittir ve mevcut arduino kitaplıklarını kullanarak yapabileceksiniz. hızlı bir çizgi takipçisi oluşturmak için.
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
TB6612FNG Motor sürücüsü-PWM sinyali düştüğünde motorları etkin bir şekilde frenleyebilen, dönüşleri bir anda halledebilen ve yön değiştirebilen bir motor sürücüsü kullanmak istedim.
www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…
Lipo pil - 11.1V lipo pil robota güç sağlamak için kullanılır. 11.1 V lipo pil kullanmama rağmen bu kapasite arduino ve motorlar için gerekenden daha fazla. lipo pil veya 6V Ni-MH pil takımı mükemmel olacak. Bu nedenle voltajı 6V'a dönüştürmek için bir dönüştürücü kullanmam gerekiyor.
11.1V-
7.4 V-
Buck dönüştürücü modülü-
Buna ek olarak, her şeyin yerinde olduğundan emin olmak için bağlantı tellerine, somun ve cıvatalara, tornavidalara ve elektrik bantlarına ve ayrıca fermuarlara ihtiyacınız vardır.
Adım 3: Montaj
somunları ve vidaları kullanarak motorları ve küçük bir tekerlek tekerleğini bir plakaya takın ve ardından QTR sensörünü, motor sürücüsünü, arduino kartını ve son olarak pili şasiye monte edin.
İşte internetten bulduğum, bağlantıların nasıl yapılması gerektiğini anlatan mükemmel bir diyagram.
Adım 4: Hat Parkurunuzu Tasarlayın
Şimdi projeniz neredeyse bitti gibi görünüyor. Son aşamada robotunuzu test etmek için küçük bir arenaya ihtiyacınız var. Siyah zemin üzerine rastgele 3cm genişliğinde beyaz bir çizgi kullandım. Her şeyi iyi yapıştırdığınızdan emin olun ve şimdilik 90 derecelik açı ve enine kesitlerden kaçının, çünkü bu kodlama açısından karmaşık bir durumdur.
Adım 5: Kodunuzu Programlayın
1. Arduino'yu İndirin ve Kurun
Masaüstü IDE
· pencereler -
· Mac OS X -
· Linux -
2. QTR 8 RC sensör dizi dosyasını indirip Arduino kitaplıkları klasörüne yapıştırın.
·
· Dosyaları yola yapıştırın - C:\Arduino\libraries
3. LINEFOLLOWING.ino'yu indirin ve açın
4. Kodu bir USB kablosuyla arduino kartına yükleyin
Adım 6: BİTTİ!
artık kendi yaptığınız bir çizgi izleyen robotunuz var.
Umarım bu eğitim yardımcı olmuştur. Herhangi bir sorununuz olursa benimle [email protected] aracılığıyla iletişime geçmekten çekinmeyin.
yakında yeni bir projede görüşmek üzere.
İnşa etmenin tadını çıkarın!
Önerilen:
Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)
Gelişmiş Çizgi Takip Robotu: Bu, benim yaptığım ve bir süredir üzerinde çalıştığım Teensy 3.6 ve QTRX çizgi sensörünü temel alan gelişmiş bir çizgi izleyen robottur. Daha önceki çizgi izleyen robotumdan tasarım ve performansta bazı önemli gelişmeler var. T
5'i 1 Arada Arduino Robotu - Beni Takip Et - Satır Takip - sumo - Çizim - Engelden Kaçınma: 6 Adım
5'i 1 Arada Arduino Robotu | Beni Takip Et | Satır Takip | sumo | Çizim | Engelden Kaçınma: Bu robot kontrol panosu, bir ATmega328P mikro denetleyici ve bir L293D motor sürücüsü içerir. Elbette bir Arduino Uno kartından farkı yok ama motoru sürmek için başka bir kalkana ihtiyaç duymadığı için daha kullanışlı! Zıplamaktan muaftır
Çizgi Takip Robotu: 5 Adım
Çizgi Takip Robotu: Herkese Merhaba, Bu derste Amazon'dan bir kit kullanarak Çizgi Takip Robotunun nasıl yapıldığını paylaşacağım. Bu kiti çocuğuma lehimlemeyi öğretmek için kullandım. Tipik olarak bu kitler basittir, tüm malzemeleri, bileşenleri vb. Kitle birlikte alırsınız.
TIVA Mikrodenetleyici TM4C1233H6PM Kullanan Çizgi Takip Robotu: 3 Adım
TIVA Mikrodenetleyici TM4C1233H6PM Kullanan Çizgi Takip Robotu: Çizgi izleyen robot, beyaz yüzeye çizilen koyu çizgileri algılamak ve almak için kullanılan çok yönlü bir makinedir. Bu robot bir devre tahtası kullanılarak üretildiğinden, inşa edilmesi son derece kolay olacaktır. Bu sistem birleştirilebilir
Çizgi Takip Robotu: 3 Adım
Çizgi Takip Robotu: Çizgi izleyen robot, beyaz yüzeye çizilen koyu çizgileri algılamak ve almak için kullanılan çok yönlü bir makinedir. Bu robot bir devre tahtası kullanılarak üretildiğinden, inşa edilmesi son derece kolay olacaktır. Bu sistem birleştirilebilir