Başa dön
arduino ile hovercraft yapımı

Arduino ile Mini RC Hovercraft Yapımı

Merhaba sevgili maker’lar, bu yazımız da Arduino Hovercraft yapımı projesi nasıl yapılır birlikte öğrenelim. Sizlere hovercraft parçalarının tasarlanması ve 3D baskı alınması, elektronik bileşenlerin bağlanması ve Arduino’nun programlanmasına kadar, tüm yapım sürecini göstereceğiz.

Hovercraft için gerekli olan tüm malzemeler (joystick, Sg90 servo motor, drone motoru vb.) aşağıdaki listede… 
Ayrıca Bakınız

Creality Ender 3 Pro 3D Yazıcı Kurulum ve Kalibrasyon Ayarları

 

Arduino HoverCraft Yapımı Projesi malzemeleri için bağlantılara tıklayarak ulaşabilirsiniz:

 

Arduino Hovercraft Yapımı – 3D Model

Hovercraft’ın 3D modelleme yazılımı kullanılarak tasarlanmış halini aşağıdan indirebilirsiniz.

arduino hovercraft yapımı

3D Modelin yanı sıra, 3D baskı için kullanılan STL dosyalarını da buradan indirebilirsiniz:

STEP Dosyası (Fusion 360 ile açabilirsiniz):

 

 

3D Baskı için STL dosyaları:

Arduino Hovercraft Projesi Çalışma Prensibi

Bir hovercraft’ın temel çalışma prensibi, teknenin bir hava yastığı ile kaldırılmasıdır. Merkez pervane, aracın altına hava üfleyerek yumuşak malzemeden yapılmış eteği şişirir.

arduino hovercraft yapımı

Etekteki hava basıncı yeterince yüksek olduğunda tekne yükselir. Sürekli olarak iletilen hava, aracın ortasından etekle zemin arasından çıkar, bu da ek bir kaldırma gücü oluşturur ve hovercraft ile yer arasındaki sürtünmeyi azaltır.

Kalkış gerçekleştikten sonra, ikinci pervane kullanılarak, hovercraft’ı ileri doğru hareket ettiren bir itme gücü üretilir.

arduino hovercraft yapımı

İtici pervanenin arka tarafında, hovercraftın yönlendirilmesinde kullanılan basit bir dümen düzeneği vardır.

 

Hovercraft 3B Baskı

Şimdi de parçaların 3 boyutlu çıktısını almaya başlayalım.

arduino hovercraft yapımı

Hovercraft’ın gövdesi basılacak en büyük parçadır ve özellikle 30x30cm baskı yatağı bulunan yazıcı ile çıktı alınmalıdır.

arduino hovercraft yapımı

Uygun ölçülerdeki yerli ve milli 3B yazıcılara bağlantıdan ulaşabilirsiniz.

Baskı yapıldıktan sonra, biraz temizlik yapmanız gerekebilir. Hovercraft’ın veya kokpitin ana gövdesi, basılması yaklaşık 18 saat süren en uzun baskısıdır. Kavisli tasarım nedeniyle ve tek, yekpare bir baskı olmasını istediğimiz için, bu baskı için kullanılan ve temizlenmesi gereken birçok destek mevcuttur.

arduino hovercraft yapımı

Hovercraft’ın gövdesini ters olarak baskıya verirseniz çıkarılması gereken az miktarda destek malzemesi oluşur (-ki diğer türlü çok fazla destek temizlemeyle uğraşabilirsiniz). Çıktıyı aldıktan sonra basılan parça üzerinde bazı ayarlamalar yapmak zorunda kalabiliriz ve bazı malzemeleri merkezi üfleyici mahfazasından keserek etek tutucunun düzgün şekilde sığabilmesi için modifiye edebiliriz.

arduino hovercraft yapımı

Parçaların yuvarlak alanlarını temizlemek biraz zor olabilir, kolayca düzenlemek için basit bir zımpara kağıdı kullanabilirsiniz.

arduino hovercraft yapımı

Pervanelerin temizlenmesine gerek yok ve doğrudan 3D yazıcıdan çıktığı şekli ile kullanabilirsiniz.

arduino hovercraft yapımı

Hovercraft’ı boyama

Bir sonraki adım 3B basılı parçaları boyamak.

arduino hovercraft yapımı

İlk kat için çikolata rengi veya bulamazsanız kahverengi kullanabilirsiniz. Tabi farklı renkler de tasarlamak isterseniz dilediğiniz rengi seçebilirsiniz. Bizim kullandığımız renk aslında sadece dekorasyon parçaları olan bazı küçük parçalar için açık kahverengi sprey boyadır.

Hovercraft’ın biraz daha pastel görünmesini sağlamak için ilk kat kuruduktan sonra, parçalara iki renk daha ekleyebiliriz. Eskitme görüntüsü vermek için basit bir kağıda rastgele desen kesikleri oluşturun ve bunları farklı renklerde çizgiler ve lekeler yapmak için kullanın. Bunun için açık kahverengi ve siyah renk kullanabilirsiniz.

arduino hovercraft yapımı

Arduino Mini RC Hovercraft’ın Montajı

Parçalar kuruduktan sonra montajına geçelim.

arduino hovercraft yapımı

Dümenleri kontrol eden sg90 servo motoru itici muhafazasına monte ederek başlayalım. Sg90’ı iki M2 cıvata ve somun kullanarak sabitleyin.

arduino hovercraft yapımı

Sonraki aşama fırçasız drone motoru. 28 mm ve 30 mm uzunluğunda bir çap’a sahip olan D2830 motor muhafaza boşluğuna uyacak şekilde özel olarak tasarlandı. Aynı ölçülerde farklı bir motoru da monte edebilirsiniz.

arduino hovercraft yapımı

Buraya motoru yerleştirirken ilk önce kabloları açıklıklardan geçirmemiz gerekiyor. Bu biraz uğraştırıcı bir işlem ama yine de kabloları geçirmek zorundayız. Sonra arka bölümde M3 cıvataları kullanarak motoru gövdeye sabitleyelim.

arduino hovercraft yapımı

Daha sonra, itme muhafazasını, hovercraft’ın ana gövdesiyle birleştirelim. Bu parça geniş bir açıklığa sahiptir, böylece servo ve fırçasız motor kabloları kolaylıkla geçebilir.

arduino hovercraft yapımı

Dört adet M3 cıvata kullanarak parçaları sıkıca birbirine tutturun.

arduino hovercraft yapımı

İşlemi bitirdikten sonra, ikinci fırçasız motoru hovercraft gövdesine monte etmeye devam edelim. Burada yine aynı yöntemi kullanacağız. İlk önce telleri açıklıklardan geçirelim daha sonra arka tarafta dört adet M3 cıvatası kullanarak motoru sabitleyelim.

 

Arduino Hovercraft Yapımı Devre şeması

Elektronik parçalar, alt gövde ile hovercraftın ana gövdesi arasına yerleştirilecektir. Fakat bunu yapmadan önce, devre şemasına bakalım ve her şeyin nasıl bağlanması gerektiğini görelim.

Hovercraftın beyni Arduino‘dur. Arduino ile iki elektronik hız kontrol cihazını veya ESC’yi kullanarak servo ve iki fırçasız motoru kolayca kontrol edebiliriz. Drone motorlarına güç sağlamak için, yaklaşık 11V güç sağlayan 3S Li-Po pil kullanabiliriz ve Arduino’ya güç sağlamak için ESC‘lerin Akü Elimatör Devresi özelliği ile sağladıkları 5V enerjiyi kullanabiliriz.

 

DIY Arduino RC Hovercraft Devre Şeması

Kablosuz iletişim için NRF24L01 alıcı-verici modülünü kullanalım, eğer güçlendirilmiş bir antenle kullanılırsa açık alanda 700 metreye kadar çekim gücü elde edebiliriz. Nrf24l01’in temel çalışma prensibi, vericinin, Joystick veya potansiyometre verilerini, fırçasız motorların hızını ve konumunu kontrol eden alıcıya göndermesidir.

Yukarıdaki devre şemasında bir küçük detay daha var. Doğrudan aküye bağlı iki rezistörden yapılmış basit bir voltaj bölücü eklendi. Voltaj bölücü, 11 volt gerilimi 4 volta düşürür ve 5V Arduino pinleri ile uyumludur. Üst bölümdeki 5mm led ile batarya gerilimini izleyebiliriz. Örneğin bataryanın gerilimi 11 voltun altına düşerse LED yanacaktır ve bizi uyaracaktır.

Bileşenleri görseldeki gibi bağlamaya başlayalım. İki ESC’yi tek bir lipo’ya bağlamak için XT60 tipi bir paralel konektör kullanalım.

arduino hovercraft yapımı

Projeye bir güç düğmesi eklemek için, alttaki görselde görüldüğü gibi kabloyu kesip XT60 konektörü bağlayabilirsiniz. Tekrar bağlantılamak için bir taraf Y ayırıcı kablosuna ve diğer taraf bataryaya bağlanmalıdır.

Sonra, ESC’leri ana gövdeye yerleştirelim. Dört M3 cıvata kullanarak iki parçayı birbirine bağlayalım. Lipo pili iç kısımda ön alana yerleştirelim.

arduino hovercraft yapımıarduino hovercraft yapımı

Daha sonra, bileşenleri Arduino’ya bağlamamız gerekiyor ve bu amaçla Arduino’ya GND ve 5V pinleri olarak hizmet edecek iki pin başlığı daha ekleyelim.

Böylece, her şeyi Arduino’ya bağladığımız da, NRF24L01 antenini, gösterge LED’ini ve güç anahtarını kokpitin üst kapağından kolaylıkla geçirebiliriz.

Ekstra pin eklemezsek her şeyi kokpite sığdırmamız gerekecek. Anten, güç anahtarı ve led gövde içerisine sığmayıp sıkıntı oluştaracağı için ekstra pin çok işimizi görecektir. Görseldeki proje de arduino uno r3 kullanıldığı için alan sıkıntısı yaşanmış. Nano veya Micro gibi küçük arduino kullanırsak alan genişliği sağlayabiliriz.

arduino hovercraft yapımıarduino hovercraft yapımıarduino hovercraft yapımı

Anten ve led için üst kapağı kullanabilirsiniz.

Dümen sistemini kurmaya geçelim. İlk önce, M2 cıvata ve somun kullanarak servo motora küçük bir bağlantı sağlayalım. Daha sonra ilk dümeni yerine yerleştirip gövdeden geçen 2 mm metal tel kullanarak itme mahfazasına sabitleyelim ve böylece dümen pervane etrafında takılmadan dönebilsin. Aynı şekilde ikinci dümeni de bağlayalım.

arduino hovercraft yapımıarduino hovercraft yapımı

Sonra, dümen bölümünü hovercraft’ın arka tarafına yerleştirelim. Bir mini drill kullanarak bir delik açalım ve parçayı tek bir vida kullanarak gövdeye sabitleyelim. Bu parçaları her iki tarafa da yerleştirelim.

arduino hovercraft yapımı

Sonra hovercraft için şişirme eteği üretme aşamasına geçelim. Burada etek tutucunun etrafında delikler olduğunu göreceksiniz.

arduino hovercraft yapımı

Tüm somunları yerine taktıktan sonra, plastik çöp torbası kullanarak eteği yapmaya başlayalım(çöp torbası biraz kalın olmalı ki zemindeki herhangi bir taş, cam vb. madde torbayı delmesin).

İlk önce tutucunun orta kısmına yapıştırıcı uygulayıp plastik torbaya yapıştıralım. Sonra tutucunun çevresini 6 cm kadar geniş şekilde işaretleyelim.

arduino hovercraft yapımıarduino hovercraft yapımı

Maket bıçağı kullanarak plastik torbayı işaretlediğimiz yerden keselim. Sonra eteği çevirip önceden yapıştırdığımız kısma bir miktar daha yapıştırıcı sürelim.

Sonra, torbanın dış kısmının tutucunun üstüne yapıştırılması gerekiyor. Yapıştırıcı kullanarak plastik torbayı dikkatlice sabitleyelim.

arduino hovercraft yapımıarduino hovercraft yapımıarduino hovercraft yapımı

Sonra, cıvataların geçmesi gereken noktalara denk gelen plastik torba kısımlarına delikler açalım. Etek tutucu, hovercraft’ın gövdesinden sadece 1 mm daha küçüktür, bu nedenle plastik torba ile birlikte gövdeye mükemmel bir şekilde uyar. Eteği gövdeye sabitlemek için M3 cıvatalarını tüm çevresine monteleyelim.

Etek için yapılması gereken bir şey daha var. Plastik torbanın orta bölgesini kesmeliyiz ki hava alttan dışarı çıkabilsin.

arduino hovercraft yapımıarduino hovercraft yapımı

Böylece, havanın büyük bir kısmı doğrudan eteği şişirecek ve fazla hava ortadaki kısımdan dışarı çıkacaktır.

Son olarak yapılması gereken, pervaneleri fırçasız motorlara bağlamak.

Bunun için fırçasız motorla gelen halkayı kullanıyorum. Pervaneyi motor miline tutturmanın en basit ve etkili yolu budur.

Diğer motorumun halkasını kaybettim, bu yüzden doğrudan 3.15mm olan motor şaftına uyacak şekilde pervanenin farklı bir versiyonunu yazdırmak zorunda kaldım. Baskı aslında oldukça iyi çıktı, yapıştırıcı kullanmadan motora mükemmel bir şekilde takıldı ve sabitlendi.

arduino hovercraft yapımı
arduino hovercraft yapımı

İşte bu… Arduino kontrollü mini rc hovercraft’ımız nihayet bitti.

arduino hovercraft yapımı

Şimdi sırada kodlar var.

 

Arduino Hovercraft Yapımı Projesi Kodları

/*
         Arduino Hovercraft Yapımı
   == Receiver Code - ESC and Servo Control =
  ,www.HayaletVeYap.com
  Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
#define led 10
RF24 radio(8, 9);   // nRF24L01 (CE, CSN)
const byte address[6] = "00001";
unsigned long lastReceiveTime = 0;
unsigned long currentTime = 0;
Servo esc1;  // create servo object to control the ESC
Servo esc2;
Servo servo1;
int esc1Value, esc2Value, servo1Value;
// Max size of this struct is 32 bytes - NRF24L01 buffer limit
struct Data_Package {
  byte j1PotX;
  byte j1PotY;
  byte j1Button;
  byte j2PotX;
  byte j2PotY;
  byte j2Button;
  byte pot1;
  byte pot2;
  byte tSwitch1;
  byte tSwitch2;
  byte button1;
  byte button2;
  byte button3;
  byte button4;
};
Data_Package data; //Create a variable with the above structure
void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setAutoAck(false);
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_LOW);
  radio.startListening(); //  Set the module as receiver
  resetData();
  esc1.attach(7);
  esc2.attach(6);
  servo1.attach(5);
  pinMode(led, OUTPUT);
}
void loop() {
  // Check whether we keep receving data, or we have a connection between the two modules
  currentTime = millis();
  if ( currentTime - lastReceiveTime > 1000 ) { // If current time is more then 1 second since we have recived the last data, that means we have lost connection
    resetData(); // If connection is lost, reset the data. It prevents unwanted behavior, for example if a drone jas a throttle up, if we lose connection it can keep flying away if we dont reset the function
  }
  // Check whether there is data to be received
  if (radio.available()) {
    radio.read(&data, sizeof(Data_Package)); // Read the whole data and store it into the 'data' structure
    lastReceiveTime = millis(); // At this moment we have received the data
  }
  // Controlling servos
  servo1Value = map(data.j2PotX, 0, 255, 0, 50);
  servo1.write(servo1Value);
  // Controlling brushless motor with ESC
  // Lift propeller
  esc1Value = map(data.pot1, 0, 255, 1000, 2000); // Map the receiving value form 0 to 255 to 0 1000 to 2000, values used for controlling ESCs
  esc1.writeMicroseconds(esc1Value); // Send the PWM control singal to the ESC
  
  // Thrust propeller
  esc2Value = constrain(data.j1PotY, 130, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255
  esc2Value = map(esc2Value, 130, 255, 1000, 2000);
  esc2.writeMicroseconds(esc2Value);
  // Monitor the battery voltage
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i
  Serial.println(voltage);
  // If voltage is below 11V turn on the LED
  if (voltage < 11) {
    digitalWrite(led, HIGH);
  }
  else {
    digitalWrite(led, LOW);
  }
}
void resetData() {
  // Reset the values when there is no radio connection - Set initial default values
  data.j1PotX = 127;
  data.<