İçindekiler:

Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot: 3 Adım
Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot: 3 Adım

Video: Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot: 3 Adım

Video: Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot: 3 Adım
Video: Lego mindstorms ev3; switch block uygulamaları, çizgi izleme ve renk sensör kalibresi. 2024, Temmuz
Anonim
Image
Image
Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot
Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot
Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot
Kontrol Algoritmalarını Öğretmek için Çizgi İzleyen Robot

Bu çizgi izleyen robotu birkaç yıl önce robotik öğretmeniyken tasarlamıştım. Bu projenin amacı, öğrencilerime bir yarışma için çizgi izleyen robotu nasıl kodlayacaklarını ve If/Else ile PID kontrolü arasında karşılaştırma yapmayı öğretmekti. Ve en önemlisi, robotun mekaniği ve uzunluğunun bu kontrol algoritmalarını nasıl etkilediği. Amaç onu daha hızlı ve güvenilir kılmaktı.

Arduino IDE ile programlanacak şekilde yaptım, ancak tercih ettiğiniz geliştirme IDE'sini kullanmak da mümkün. USB önyükleyicili güçlü bir PIC32'ye sahiptir, bu nedenle bir programlayıcıya ihtiyacınız yoktur. Ayrıca bir AÇMA/KAPAMA anahtarı, sıfırlama ve başlatma/program düğmesi vardır. LED'ler motorun PWM sinyaline bağlıdır, böylece uyguladığınız gücü kolayca görebilirsiniz.

Robot, deneme için tamamen modülerdir ve kaza geçirmeniz durumunda tamiri kolaydır. Bu, bu robotu programlamayı çok eğlenceli bir şekilde öğrenmek için mükemmel bir araç yapar. Öğrencilerim uzun süre kullandılar ve her seferinde yeni bir şey öğrendiler, hatta PID kontrolü bile. Sensör çubuğunun bir tamsayı döndürmek için bir algoritma kullandığından bahsetmiyorum bile, robot solda, negatif değer sağda ve cero çizginin ortasındadır.

Gereçler

Genişletilmiş destek braketlerine sahip 2x 6V Mikro metal redüktörlü motorlar (Herhangi bir dişli oranı uygundur, benimki 10:1'dir)

1x Hat Sensörü kartı

1x Ana kontrol ünitesi

1x 20 yassı tel ile, 1 mm boşluk. Benimki 20 cm uzunluğunda.

1x Akrilik bağlayıcı (3 mm şeffaf akrilikte kesilmiş)

1x 1/8 tekerlek (benimki metal)

2x Lastik tekerlek, 3 cm çap.

1x Lipo pil. Robota 10v'a kadar güç verebilirsiniz, ancak motorların 6v için derecelendirildiğini unutmayın.

Her şeyi birbirine bağlamak için bazı M2 vidalar ve somunlar.

Tasarım dosyalarını, şemaları ve onu oluşturmak için gereken her şeyi kendiniz yapmak istiyorsanız, bir sonraki adımda ektedir.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Resimlerde görebileceğiniz gibi tüm bileşenler SMD'dir, lehimleme becerilerinizi geliştirmek için mükemmel bir fırsattır. Bu robotu 3 öğrencim lehimledi, sorunsuz yapabilirsiniz. Tüm tasarım dosyaları ektedir, dosyaları EAGLE ile görebilirsiniz. En sevdiğiniz PCB üreticisine panolar istiyorsanız Gerberler de dahildir.

İki levha bir akrilik parça ile birleştirilir, lazer kesim deseni de dahildir. Yerinde tutmak için M2 vida ve somun kullandım. Top tekeri de buraya yerleştirilmiştir. Ve robotu çarparsanız, akrilik kırılacak ve tahtaları hasardan koruyacak, test için ideal! Yassı tel, CPU ve sensör kartı arasındaki bağlantıyı yapmak için kullanılır. Motorlar, kablolarla CPU kartına kolayca bağlanır.

Not: PIC özel bir bellenim kullanır, DP32 orijinal bellenimin değiştirilmiş bir sürümüdür. Firmware'i buradan edinebilirsiniz. CPU kartının altında bir ICSP bağlantısı bulunur.

2. Adım: Yazılım

Yazılım
Yazılım
Yazılım
Yazılım

Robotu programlamak için Arduino IDE'yi kullanmanızı tavsiye ederim. Daha önce de söylediğim gibi bu çizgi takipçisi PIC32MX250'yi temel alıyor ve chipKIT DP32 ile uyumlu hale getiriyor. Arduino IDE üzerindeki paket yöneticisine chipKIT paketini kurmanız yeterlidir ve artık hazırsınız. Ayrıca MPLAB veya dilediğiniz IDE üzerinde programlayabilirsiniz ama temelini Arduino üzerinde öğrenebilirsiniz.

Gerisi, diğer herhangi bir Arduino kartını programlamak gibidir. Robotu bir mikro USB kablosu ile bilgisayarınıza bağlayın ve reset'e bastıktan hemen sonra program düğmesine basın. Ardından çizimi IDE'deki yükle düğmesiyle gönderin.

Bu eğitime 3 eskiz ekledim. Birincisi sensör dizisini test eder, ikincisi bir If/Else çizgi takipçisidir ve sonuncusu bir PID çizgi takipçisidir. Her şey zaten çalışıyor, ancak tasarımı değiştirirseniz bazı değerleri ayarlamanız gerekecek. Ve ayrıca kendinizinkini yapmaktan çekinmeyin! Çizgi izleyen algoritmayı yapmanın daha iyi yolları vardır, deney yapmak başarının anahtarıdır.

3. Adım: Deneme

deneme
deneme
deneme
deneme
deneme
deneme

Bu gerçekten en önemli kısım, tüm olasılıkları denemeli ve sizin için uygun olanı bulmalısınız.

Farklı çaplı tekerlekler ve malzemelerle deneme yapmaktan çekinmeyin. Akrilik eklemi değiştirerek robotun uzunluğunu değiştirin. Farklı bir voltajla bile başka bir pil kullanın. Ayrıca daha küçük veya daha büyük olabilir. Belki motorlar için başka bir dişli oranı.

Yazılımı daha az sensör kullanacak şekilde değiştirin veya başka algoritmalar deneyin, performansın ne kadar değişebileceğine şaşırabilirsiniz. Ya da ileri düzey bir kullanıcıysanız neden olmasın, MPLAB ile yapın.

Gökyüzü, limittir!

Ek bir ipucu olarak… PID kazançlarını ayarlamak, farklı Kp, Kd ve Ki değerleri ile çizgiyi takip ederken robot üzerindeki etkilerini öğrenebileceğiniz büyüleyici bir yolculuktur. Saatlerce öğrenme garantili!!! Çocuklar, gerekli tüm görevleri gerçekleştirmek için aslında matematiği kullandıklarını fark etmeyeceklerdir.

Umarım bu talimatı beğenirsiniz, bir şeye ihtiyacınız olursa yorumlarda bana sorun. Okuduğunuz için teşekkürler:)

Önerilen: