- RC Arabalar için Çekirdeksiz DC Motor
- Gerekli malzemeler
- Arduino kullanarak RC araba için RF Joystick
- Arduino RC Araba Devre Şeması
- Arduino RC Araba için PCB Üretimi
- PCB'nin montajı
- 3D Baskı Tekerlekleri ve Motor Montajı
- Arduino'nun Programlanması
- Arduino RC Car'ın Çalışması
RC arabalarla oynamak her zaman eğlencelidir, kişisel olarak bu uzaktan kumandalı Arabaların büyük bir hayranıyım ve onlarla yoğun bir şekilde oynadım (hala yapıyor). Günümüzde bu arabaların çoğu zorlu arazilerin üstesinden gelmek için muazzam bir tork sağlıyor, ancak her zaman geciken bir şey var, Hızı !!.. Yani, bu projede, ana araç olan Arduino'yu kullanarak tamamen farklı tipte bir RC araba yapacağız. Bu arabanın amacı maksimum hıza ulaşmaktır, bu yüzden bir RC araba için çekirdeksiz DC motoru denemeye karar verdim. Bu motorlar normalde dronlarda kullanılır ve 39000 RPM olarak derecelendirilmiştir. bu hız susuzluğumuzu gidermek için fazlasıyla yeterli olmalı. Araç, küçük bir lityum pil ile çalıştırılacak ve nRF24L01 RF modülü kullanılarak uzaktan kontrol edilebilecek. Alternatif olarak, basit bir şey arıyorsanız, bu Basit RF Robot ve Raspberry Pi Bluetooth Araç projelerine de göz atabilirsiniz.
RC Arabalar için Çekirdeksiz DC Motor
Çekirdeksiz DC motoru Bu projede kullanılan aşağıdaki resimde gösterilmiştir. Mini dronlarda yaygın olarak kullanıldıkları için onları kolayca bulabilirsiniz. Sadece 8520 Manyetik Mikro Çekirdeksiz Motoru arayın ve bunları bulacaksınız.
Şimdi, bir RC araba için DC motor kullanmanın bazı dezavantajları var. İlk şey, çok düşük başlangıç torku sağlamasıdır, bu nedenle RC arabamız mümkün olduğu kadar hafif olmalıdır. Bu nedenle, SMD bileşenlerini kullanarak arabanın tamamını bir PCB'nin üzerine inşa etmeye ve tahta boyutunu mümkün olduğunca küçültmeye karar verdim. İkinci problem ise yüksek hızıdır, 39000 RPM (milin RPM'si) ile başa çıkmak zordur, bu yüzden bir MOSFET kullanarak inşa ettiğimiz Arduino tarafında bir hız kontrol devresine ihtiyacımız var. Üçüncüsü, bu motorlara 3.6V ile 4.2V arasında bir çalışma voltajına sahip tek bir lityum-polimer pil ile güç sağlanacağı, bu yüzden devremizi 3.3V ile çalışacak şekilde tasarlamamız gerekiyor. Bu yüzden 3.3V Arduino Pro mini kullandıkRC arabamızın beyni olarak. Bu problemler çözüldükten sonra, bu projeyi inşa etmek için gereken malzemelere bakalım.
Gerekli malzemeler
- 3.3V Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2 adet
- Joystick Modülü
- SI2302 MOSFET
- 1N5819 Diyot
- Çekirdeksiz BLDC Motorlar
- AMS1117-3.3V
- Lityum Polimer pil
- Dirençler, Kondansatörler,
- Bağlantı telleri
Arduino kullanarak RC araba için RF Joystick
Daha önce belirtildiği gibi, RC araba bir RF Joystick kullanılarak uzaktan kontrol edilecektir. Bu Joystick ayrıca nRF24L01 RF modülü ile birlikte bir Arduino kullanılarak inşa edilecek, ayrıca RC'imizi gereken yönde kontrol etmek için Joystick modülünü kullandık. Bu iki modülde tamamen yeniyseniz, nasıl çalıştıklarını ve nasıl kullanılacağını öğrenmek için nRF24L01 ile Arduino'yu Arayüz ve Arduino ile Arayüz Joystick'i okumayı düşünebilirsiniz. Arduino RF Remote Joystick'inizi oluşturmak için aşağıdaki Devre Şemasını takip edebilirsiniz.
RF Joystick devresi, nano kartın USB portu kullanılarak çalıştırılabilir. NRF24L01 modülü sadece 3.3V'de çalışır, bu nedenle Arduino'da 3.3V pin kullandık. Devreyi bir breadboard üzerine kurdum ve aşağıdaki gibi görünüyor, gerekirse bunun için bir PCB de oluşturabilirsiniz.
RF Joystick devresi için Arduino Kod oldukça basit, bizim joystick X değeri ve Y değerini okumak ve NRF24L01 aracılığıyla RC araba göndermek zorunda. Bu devre için tam program bu sayfanın alt kısmında bulunabilir. Yukarıda paylaşılan arayüz projesi bağlantısında daha önce tartıştığımız için bunun açıklamasına girmeyeceğiz.
Arduino RC Araba Devre Şeması
Uzaktan kumandalı Arduino Arabamızın tam devre şeması aşağıda gösterilmiştir. Devre şeması ayrıca arabamıza iki TCRT5000 IR modülü ekleme seçeneği de içerir. Bu, RC arabamızın harici olarak kontrol edilmeden kendi başına çalışabilmesi için hat takip eden bir robot olarak çalışmasını sağlamak için planlandı. Bununla birlikte, bu proje uğruna, üzerinde yoğunlaşmayacağız, "En Hızlı Çizgi İzleyen Robot" u oluşturmayı deneyeceğimiz başka bir proje öğreticisi için bizi izlemeye devam edin. Yapım kolaylığı için her iki devreyi de tek bir PCB üzerinde birleştirdim, bu proje için IR sensörü ve Op-amp bölümünü göz ardı edebilirsiniz.
RC arabasına, terminal P1'e bağlı Lipo Batarya ile güç sağlanacaktır. AMS117-3.3V bizim NRF24L01 ve bizim yanlısı mini panosu için 3,3V regüle etmek için kullanılır. Arduino kartını doğrudan ham pin üzerinden de çalıştırabiliriz ancak pro mini üzerindeki yerleşik 3.3V voltaj regülatörü, RF modüllerimize yeterli akımı sağlayamayacağı için harici bir voltaj regülatörü kullandık.
İki BLDC motorumuzu sürmek için iki SI2302 MOSFET kullandık. Bu MOSFET'lerin 3,3V ile çalıştırılabileceğinden emin olmak önemlidir. Tam olarak aynı parça numarasını bulamazsanız, aşağıdaki aktarım özelliklerine sahip eşdeğer MOSFET'leri arayabilirsiniz.
Motorlar 7A kadar yüksek tepe akımı tüketebilir (sürekli yük ile 3A olarak test edilmiştir), bu nedenle MOSFET boşaltma akımı 7A veya daha fazla olmalı ve 3.3V'de tamamen açılmalıdır. Burada görebileceğiniz gibi, seçtiğimiz MOSFET 2,25V'de bile 10A sağlayabilir, bu nedenle ideal bir seçimdir.
Arduino RC Araba için PCB Üretimi
Bu projeyi inşa etmenin eğlenceli kısmı PCB Geliştirme oldu. Buradaki PCB sadece devreyi oluşturmakla kalmıyor, aynı zamanda Arabamız için bir Şasi görevi görüyor, bu yüzden motorlarımızı kolayca monte etme seçenekleriyle onun için şekil görünümlü bir araba planladık. Ayrıca yukarıdaki devreyi kullanarak kendi PCB'nizi tasarlamayı deneyebilir veya tamamlandıktan sonra aşağıdaki gibi görünen PCB tasarımımı kullanabilirsiniz.
Gördüğünüz gibi PCB'yi pili, motoru ve diğer bileşenleri kolayca monte edecek şekilde tasarladım. Bu PCB için Gerber dosyasını linkten indirebilirsiniz. Gerber dosyasıyla hazır olduğunuzda, onu üretme zamanı. PCB'lerinizi PCBGOGO tarafından kolayca yapmak için aşağıdaki adımları izleyin
Adım 1: www.pcbgogo.com'a girin, ilk seferinizse kayıt olun. Ardından, PCB Prototype sekmesinde PCB'nizin boyutlarını, katman sayısını ve ihtiyacınız olan PCB sayısını girin. PCB'm 80cm × 80cm, bu yüzden sekme aşağıdaki gibi görünüyor.
Adım 2: Şimdi Alıntı Yap düğmesine tıklayarak devam edin. Malzeme kullanılan iz aralığı vb. Gibi gerekirse birkaç ek parametrenin ayarlanacağı bir sayfaya yönlendirileceksiniz. Ancak çoğunlukla varsayılan değerler iyi çalışacaktır. Burada dikkate almamız gereken tek şey fiyat ve zamandır. Gördüğünüz gibi, Yapım Süresi sadece 2-3 gündür ve PSB'miz için sadece 5 $ maliyeti vardır. Ardından, gereksinimlerinize göre tercih edilen bir gönderim yöntemi seçebilirsiniz.
3. Adım: Son adım, Gerber dosyasını yüklemek ve ödemeye devam etmektir. İşlemin sorunsuz olduğundan emin olmak için PCBGOGO, ödemeye devam etmeden önce Gerber dosyanızın geçerli olup olmadığını doğrular. Bu şekilde, PCB'nizin imalat dostu olduğundan ve kararlı bir şekilde size ulaşacağından emin olabilirsiniz.
PCB'nin montajı
Kart sipariş edildikten sonra, birkaç gün sonra kurye tarafından düzgün bir şekilde etiketlenmiş, iyi paketlenmiş bir kutuda ve her zaman olduğu gibi PCB'nin kalitesi harikaydı. Aşağıda karar vermeniz için panoların birkaç fotoğrafını paylaşıyorum.
Lehim çubuğumu açtım ve kartı monte etmeye başladım. Footprints, pad'ler, vialar ve serigrafi doğru şekil ve boyutta mükemmel olduğundan, kartı monte etmekte sorun yaşamadım. Pano, kutuyu açtıktan sonra sadece 10 dakika içinde hazırdı.
Lehimlemeden sonra kartın birkaç resmi aşağıda gösterilmiştir.
3D Baskı Tekerlekleri ve Motor Montajı
Yukarıdaki resimde fark etmiş olabileceğiniz gibi, motor montajı ve robot için tekerleklerimizi 3 boyutlu hale getirmemiz gerekiyor. Yukarıda paylaşılan PCB Gerber dosyamızı kullandıysanız, bu şey içeren bağlantıdan indirerek bir 3B modeli de kullanabilirsiniz.
Modellerimi dilimlemek için Cura'yı kullandım ve bunları desteksiz ve ağırlığı azaltmak için% 0 dolgu olmadan Tevo Terantuala kullanarak yazdırdım. Ayarı yazıcımıza uygun şekilde değiştirebilirsiniz. Motorlar çok hızlı döndüğü için, motor şaftına tam oturacak ve sıkı bir şekilde oturacak bir tekerlek tasarlamayı zor buldum. Bu nedenle, aşağıda görebileceğiniz gibi dron bıçaklarını tekerleğin içinde kullanmaya karar verdim.
Bunu daha güvenilir ve sağlam buldum, ancak farklı tekerlek tasarımlarını deneyin ve sizin için neyin işe yaradığını yorum bölümünde bana bildirin.
Arduino'nun Programlanması
Bu proje için tam program (hem Arduino nano hem de pro mini) bu sayfanın alt kısmında bulunabilir. RC programınızın açıklaması aşağıdaki gibidir
Programı gerekli başlık dosyasını ekleyerek başlatıyoruz. NRF24l01 modülünün Arduino IDE'nize eklenmesi için bir kitaplık gerektirdiğini unutmayın, bu bağlantıyı kullanarak Github'dan RF24 Kitaplığını indirebilirsiniz. Bunun dışında robotumuz için minimum hızı ve maksimum hızı zaten tanımlamıştık. Minimum ve maksimum aralık sırasıyla 0 ila 1024'tür.
#define min_speed 200 #define max_speed 800 #include
Ardından kurulum fonksiyonunun içinde nRF24L01 modülümüzü başlatıyoruz. 115 bandı sıkışık olmadığı ve modülü düşük güçle çalışacak şekilde ayarladığımız için kullandık, bu ayarlarla da oynayabilirsiniz.
geçersiz kurulum () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // WIFI sinyallerinin üzerindeki 115 bant myRadio.setPALevel (RF24_PA_MIN); // MIN güç düşük öfke myRadio.setDataRate (RF24_250KBPS); // Minimum hız}
Ana döngü işlevinin ardından, yalnızca Verici kumanda kolu modülümüzden gönderilen değeri sürekli olarak okuyacağımız ReadData işlevini çalıştıracağız. Programda belirtilen boru adresinin verici programında belirtilenle aynı olması gerektiğini unutmayın. Ayrıca hata ayıklama amacıyla aldığımız değeri de yazdırdık. Değer başarıyla okunduktan sonra, RC arabamızı
Rf modülünden alınan değere göre kontrol etmek için Kontrol Arabası işlevini yürüteceğiz.
void ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Okunacak kanal, 40 bit Adres myRadio.startListening (); // Transminting'i durdur ve Reveicing if (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Seri.print ("\ nAlındı:"); Serial.println (data.msg); alındı = data.msg; Control_Car (); }}
Kontrol Arabası işlevinin içinde, analog yazma işlevini kullanarak PWM pinlerine bağlı motorları kontrol edeceğiz. Verici programımızda, arabayı ileri, geri, sol ve sağda kontrol etmek için Nano'nun A0 ve A1 pininden Analog değerleri sırasıyla 1'e 10, 11'den 20'ye, 21'den 30'a ve 31'den 40'a dönüştürdük. Aşağıdaki program robotu ileri yönde kontrol etmek için kullanılır
eğer (alındı> = 1 && alındı <= 10) // İleri Taşı {int PWM_Value = harita (alındı, 1, 10, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Benzer şekilde, aşağıda gösterildiği gibi ters, sol ve sağ kontrol için üç işlev daha yazabiliriz.
eğer (alındı> = 11 && alındı <= 20) // Break {int PWM_Value = harita (alındı, 11, 20, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } if (alındı> = 21 && alındı <= 30) // Sola dönün {int PWM_Value = harita (alındı, 21, 30, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } if (alındı> = 31 && alındı <= 40) // Sağa Dön {int PWM_Value = harita (alındı, 31, 40, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Arduino RC Car'ın Çalışması
Kodu tamamladıktan sonra profesyonel mini panonuza yükleyin. Test için FTDI modülünden pili ve kartınızı çıkarın. Kodunuzu başlatın, seri pili açın ve değeri verici Joystick modülünüzden almalısınız. Pilinizi bağlayın ve motorlarınız da dönmeye başlamalıdır.
Projenin tam çalışması, bu sayfanın alt kısmında bağlantısı verilen videoda bulunabilir. Herhangi bir sorunuz varsa yorum bölümüne bırakın. Diğer teknik sorularınıza hızlı yanıtlar almak için forumlarımızı da kullanabilirsiniz.