
1. Genel Bakış
ArduPilot; sabit kanatlı, döner kanatlı, kara araçları ve denizaltılar dahil olmak üzere çeşitli araç türlerini destekleyen olgun, özellik açısından zengin bir açık kaynaklı otopilot sistemidir. Bu kılavuz, T3 Gemstone O1 geliştirme kartlarında ArduPilot çalıştırmayı kapsar.2. Donanım Özellikleri
Atalet Ölçüm Birimi (IMU)
- Model: InvenSense ICM-20948
- Arayüz: SPI
Manyetometre (Pusula)
- Model: AKM AK09916
- Arayüz: Dahili (ICM-20948 üzerinden)
- Harici I2C Pusula Taraması: Etkin
Barometre
- Model: Bosch BMP390
- Arayüz: SPI
CAN Veri Yolu
- Transceiver: TCAN1462-Q1
- Arayüz: 1x CAN arayüzü mevcut
Batarya İzleyici
- Model: ADS1115
- Arayüz: 0x48 adresinde I2C-MCU0 üzerinden harici olarak bağlanabilir
- Kanallar: Voltaj/akım algılama için 4 kanallı 16-bit ADC
Durum Göstergeleri
- LED’ler: Yeşil-kırmızı durum LED’leri
- Buzzer: GPIO-26 üzerinden harici olarak bağlanabilir
GPS, RC Girişi ve PWM Çıkışları
- GPS: UART-MAIN6 üzerinden seri iletişim, I2C-MCU0 üzerinden harici pusula
- RC Girişi: UART-MAIN1 üzerinden SBUS iletişimi
- PWM Çıkışları: 40-pin GPIO başlığından erişilebilen 7 adet donanımsal PWM kanalı
3. Kurulum
ArduPilot, T3 Gemstone APT deposu aracılığıyla bir Debian paketi olarak dağıtılır. Paket, tüm araç türleri için önceden derlenmiş binary dosyaları ve gerekli yapılandırma dosyalarını içerir.ArduPilot’u kaynaktan derlemeyi tercih ederseniz, derleme talimatları
github.com/t3gemstone/ardupilot adresinde mevcuttur
3.1. Device-tree Overlay’leri
ArduPilot’u çalıştırmadan önce, gerekli çevre birimleri yapılandırmak için çeşitli device-tree overlay’lerini etkinleştirmelisiniz./boot/uEnv.txt dosyasını düzenleyin ve aşağıdaki overlay’leri overlays= satırına ekleyin:
/boot/uEnv.txt yapılandırması:
3.2. Systemd Servis Yönetimi
Her ArduPilot araç türünün kendi systemd servisi vardır:arducopter.service- Çok rotorlu döner kanatlılararduplane.service- Sabit kanatlı uçaklarardurover.service- Kara araçlarıardusub.service- Su altı araçları
3.2.1. Araç Başlatma
Araç türünüze göre ArduPilot’u çalıştırmak için ilgili servisi etkinleştirin ve başlatın:3.2.2. Araç Türlerini Değiştirme
Farklı bir araç türüne geçmek için önce mevcut servisi devre dışı bırakın:3.2.3. Sistem Yapılandırma Servisi
ardupilot-sysconfig.service, GPIO pinlerini ve diğer çevre birimleri yapılandırarak kartı ArduPilot çalıştırmaya
hazırlayan tek seferlik bir servistir. Bu servis herhangi bir araç servisi etkinleştirildiğinde otomatik olarak çalışır
ve manuel müdahale gerektirmez.
3.2.4. Servis Durumunu Kontrol Etme
ArduPilot servis durumunu ve günlüklerini izleyin:4. Yapılandırma
Yapılandırma dosyalarını değiştirdikten sonra, değişikliklerin etkili olması için ArduPilot servisini yeniden başlatın:
4.1. ArduPilot Başlangıç Ayarları
/opt/ardupilot/etc/ardupilot.env dosyası, seri port yapılandırması, dizin yolları ve performans seçenekleri dahil
olmak üzere ArduPilot için
komut satırı argümanlarını tanımlar.
Seri Port Yapılandırması:
4.2. ArduPilot Parametreleri
/opt/ardupilot/etc/ardupilot.parm dosyası başlangıçta yüklenen varsayılan parametreleri tanımlar.
4.3. Gerçek Zamanlı Performans için CPU İzolasyonu
Linux, CPU çekirdeklerini kernel işlem zamanlayıcısından izole etmeyi destekler. Bu, ArduPilot’un gerçek zamanlı olmayan işlemlerden etkilenmeden kendine adanmış çekirdeklerde çalışmasına izin vererek gecikme ve jitter karakteristiklerini iyileştirir. ArduPilot için 2 ve 3 numaralı çekirdekleri izole etmek için:-
Kernel önyükleme parametrelerini düzenleyin
/boot/uEnv.txtdosyasını açın ve kernel argümanlarınaisolcpus=2,3ekleyin: -
CPU atamasını yapılandırın
/opt/ardupilot/etc/ardupilot.envdosyasını düzenleyin ve CPU_AFFINITY satırını yorum satırından çıkarın: -
Kartı yeniden başlatın
5. Kullanım
5.1. Kart Yönlendirmesi
Kartı aracınıza GemStone logosu aracın önüne bakacak şekilde monte edin. Bu, uygun sensör yönlendirmesi ve koordinat sistemi hizalamasını sağlar.5.2. Durum LED’leri
CSI/DSI portlarının yakınında bulunan yeşil-kırmızı durum LED’leri uçuş kontrolcüsünün mevcut durumunu gösterir. Ayrıntılı LED desenleri ve anlamları için ArduPilot’un dokümanına bakınız.5.3. Uçuş Kayıtları
ArduPilot, uçuş kayıtlarını/opt/ardupilot/var/log/ dizininde binary BIN formatında saklar.
Kayıtlar otomatik olarak döndürülür ve LASTLOG.TXT en son kaydın numarasını gösterir.
Bu kayıtlar UAV Log Viewer kullanılarak analiz edilebilir.
5.4. Çevre Birimler
40-pin GPIO başlığı çevre birimlere, PWM çıkışlarına ve iletişim arayüzlerine erişim sağlar.5.4.1. GPIO Pinout
Aşağıdaki tablo, device-tree overlay’leri uygulandıktan sonra GPIO başlığındaki her pinin işlevini gösterir. Tablo, kartın GemStone logosunu dik görebileceğiniz şekilde yönlendirildiğini varsayar.| 3v3 Power | 3v3 Power | 5v Power | 5v Power |
|---|---|---|---|
| I2C-MCU0 SDA (GPS, ADS1115) | GPIO-2 | 5v Power | 5v Power |
| I2C-MCU0 SCL (GPS, ADS1115) | GPIO-3 | GND | GND |
| UART-MAIN6 RX (GPS) | GPIO-4 | GPIO-14 | PWM-0B (RCOut-2) |
| GND | GND | GPIO-15 | UART-MAIN1 RX (RCIn SBUS) |
| UART-MAIN6 TX (GPS) | GPIO-17 | GPIO-18 | PWM-ECAP2 (RCOut-7) |
| GPIO-27 | GND | GND | |
| GPIO-22 | GPIO-23 | ||
| 3v3 Power | 3v3 Power | GPIO-24 | UART-WKUP0 TX (Telemetry) |
| SPI-MCU0 MOSI | GPIO-10 | GND | GND |
| SPI-MCU0 MISO | GPIO-9 | GPIO-25 | |
| SPI-MCU0 SCLK | GPIO-11 | GPIO-8 | SPI-MCU0 CS0 |
| GND | GND | GPIO-7 | UART-WKUP0 RX (Telemetry) |
| I2C-WKUP0 SDA (Reserved) | GPIO-0 | GPIO-1 | I2C-WKUP0 SCL (Reserved) |
| PWM-0A (RCOut-1) | GPIO-5 | GND | GND |
| PWM-1A (RCOut-3) | GPIO-6 | GPIO-12 | PWM-ECAP0 (RCOut-5) |
| PWM-1B (RCOut-4) | GPIO-13 | GND | GND |
| GPIO-19 | GPIO-16 | PWM-ECAP1 (RCOut-6) | |
| Buzzer | GPIO-26 | GPIO-20 | |
| GND | GND | GPIO-21 |
5.4.2. Cihaz Yolları
Her çevre birimi için Linux cihaz yolları:| UART-WKUP0 | /dev/ttyS0 |
|---|---|
| UART-MAIN1 | /dev/ttyS3 |
| UART-MAIN6 | /dev/ttyS6 |
| I2C-MCU0 | /dev/i2c-1 |
| SPI-MCU0 CS0 | /dev/spidev0.0 |
| PWM-0A | /sys/class/pwm/pwmchip3/pwm0 |
| PWM-0B | /sys/class/pwm/pwmchip3/pwm1 |
| PWM-1A | /sys/class/pwm/pwmchip5/pwm0 |
| PWM-1B | /sys/class/pwm/pwmchip5/pwm1 |
| PWM-ECAP0 | /sys/class/pwm/pwmchip0/pwm0 |
| PWM-ECAP1 | /sys/class/pwm/pwmchip1/pwm0 |
| PWM-ECAP2 | /sys/class/pwm/pwmchip2/pwm0 |
5.4.3. RC Girişi
Kart, UART-MAIN1 RX (GPIO-15) pini üzerinden SBUS protokolü aracılığıyla RC girişini destekler. SBUS, RC alıcınız ile uçuş kontrolcüsü arasında güvenilir iletişim sağlayan yaygın olarak kullanılan dijital bir RC protokolüdür.5.4.3.1. Sinyal Tersleme Gereksinimi
SBUS protokolü ters çevrilmiş bir seri sinyal kullanır, bu da SBUS alıcınız ile UART-MAIN1 RX pini arasında harici bir sinyal tersleyici devresi kullanmanız gerektiği anlamına gelir. Bu tersleyici olmadan, kart SBUS verisini doğru şekilde okuyamayacaktır. Sinyal tersleyici devresini oluşturmak için şunlara ihtiyacınız olacak:- 1x NPN transistör (örn. S9014 TO-92 paket)
- 1x 10kΩ direnç
- 1x 1kΩ direnç

Sinyal Tersleyici Devresi
- SBUS alıcı çıkışı, 1kΩ direnç üzerinden transistör base’ine bağlanır
- Transistör kollektörü, UART-MAIN1 RX pinine (GPIO-15) bağlanır
- 10kΩ pull-up direnci, kollektör ile 3v3 VCC arasına bağlanır
- Transistör emitörü, GND’ye bağlanır
5.5. QGroundControl Bağlantısı
QGroundControl (QGC), ArduPilot için önerilen yer kontrol istasyonudur. UDP veya seri telemetri üzerinden bağlanabilirsiniz.5.5.1. USB-Ethernet Bağlantısı (Varsayılan)
Gemstone kartını USB Type-C kablosu ile bilgisayarınıza bağlayın. Kart, otomatik IP yapılandırmasıyla USB üzerinden Ethernet sağlamak için USB Gadget API kullanır:- Kart IP’si:
192.168.7.2 - PC IP’si: DHCP üzerinden atanır (genellikle
192.168.7.59) - MAVLink Portu:
192.168.7.255:14550adresinde UDP yayını
5.5.2. Seri Telemetri Bağlantısı
Radyo modülleri kullanarak kablosuz telemetri için:-
Telemetri radyosunu Gemstone kartına bağlayın
- Telemetri modülünü kartta yer alan UART-WKUP0 pinlerine bağlayın
-
Telemetri radyosunu bilgisayara bağlayın
- İkinci radyo modülünü USB-to-TTL yardımıyla bilgisayarınıza takın
- Oluşturulan TTY cihazını not edin (örn.
/dev/ttyUSB0)
-
QGroundControl’ü yapılandırın
- Application Settings → Comm Links açın
- Add düğmesine tıklayın
- Doğru seri portu ve 57600 baud hızını seçin
- Yapılandırmayı kaydedin ve Connect butonuna tıklayın
6. Sorun Giderme
6.1. ArduPilot Servisi Başlamıyor
Servis durumunu ve günlüklerini kontrol edin:6.2. MAVLink Bağlantısı Yok
Bilgisayardan ağ yapılandırmasını doğrulayın:6.3. GPS Algılanmıyor
GPS, UART-MAIN6’ya (GPIO-4 ve GPIO-17) ve I2C-MCU0’a (GPIO-2 ve GPIO-3 pinleri) bağlı olmalıdır. GPIO başlık pinlerinde GPS bağlantısını kontrol edin ve yapılandırmayı doğrulayın:6.4. PWM Çıkışları veya Seri Portlar Çalışmıyor
Device-tree overlay’lerinin yüklendiğini doğrulayın:/boot/uEnv.txt yapılandırmasını kontrol edin ve kartı yeniden başlatın.
