ARM Microcontroller-AET'e Dayalı Uçuş Veri Kaydedici Tasarımı

0 Önsöz

Uçak uçuş verilerinin gerçek zamanlı kaydı, uçak uçuş durumunun izlenmesinde ve daha sonra hava taşıtı araştırmasında (model tanımlama, vb.) Önemli bir rol oynar. Küçük uçaklar için, küçük, hafif ve kullanımı kolay bir veri kaydedici tasarlamak ve geliştirmek özellikle önemlidir. Mikrodenetleyici teknolojisinin gelişmesiyle birlikte, çip üzerindeki Flash alanı, genellikle küçük veri hacimleriyle çoğu uygulamayı karşılayabilen, ancak bazı uygulamalar için (veri toplama ve Dosya depolama vb.), Çip üzerindeki Flash yeterli depolama alanı sağlayamaz. Büyük kapasiteli verilerin depolanmasının mikrodenetleyici uygulama sisteminin darboğazı olduğu görülebilmektedir. Bu nedenle, yetersiz depolama alanı sorununu çözmek için harici depolama cihazlarına ihtiyaç vardır. Depolama gövdesi olarak Flash bulunan SD kart, küçük boyutu, düşük güç tüketimi, yeniden yazılabilir ve uçucu olmayan özellikleri nedeniyle yaygın olarak kullanılmaktadır. Bu makale, SD kart ile birlikte ARM işlemciyi kullanan helikopter uçuş veri kaydedicisinin tasarım şemasını tanıtacaktır.

1 Uçuş veri kaydedicisinin genel tasarımı

Bu programda seçilen ARM işlemcisi, çip üzerinde bol miktarda kaynağa sahip olan STMicroelectronics'in Cortex-M3 çekirdekli yüksek performanslı mikroişlemcisi STM32F103'tür. Veri kaydedicinin veri alma ucu, yaygın olarak kullanılan iletişim arayüzlerini genişletmek için STM32F103 tarafından genişletilir: USART, SPI, I2C, USB2.0; farklı iletişim protokollerine sahip ekipman için uygun olacak şekilde; helikopterin kontrol giriş verileri, yani 4 servo PWM kontrol sinyali, STM32F103 tarafından kontrol edilir. Giriş yakalama ünitesi sinyal karıştırmayan kontrol işlemini yakalar ve gerçekleştirir; veri depolama terminali, SD karta bağlanmak için STM32F103'teki benzersiz SDIO arayüzünü kullanır ve SD ve veri dosyası depolama ile iletişim sağlamak için FatFs dosya sistemi ile birleştirir; Aynı zamanda, elde etmek için düğmeler ve göstergeler eklenir Ekipmanın çalışması ve ekipman durumu gösterge işlevi. Uçuş veri kayıt cihazının genel tasarımı Şekil 1'de gösterilmektedir.

2 Kaydedici donanım tasarımı

Kayıt cihazında kullanılan çekirdek işlemci STM32F103, STMicroelectronics tarafından üretilen ARM Cortex-M3 çekirdekli 32 bit yüksek performanslı bir mikroişlemcidir ve maksimum 72 MHz saat hızı, 512 KB yonga üstü Flash ve 64 KB yonga üzerinde SRAM , 12 kanallı DMA denetleyici ve 11 adede kadar zamanlayıcı ve veri kaydedicilerin tasarım gereksinimlerini karşılamak için yeterli olan I2C, USART, SPI, CAN, USB2.0 ve SDIO iletişim arabirimlerine sahiptir.

2.1 Seri iletişim devresi

Bu insansız helikopter sisteminde kullanılan AHRS, seri port RS232 protokolünü benimser.AHRS verilerini toplamak için, ana kontrolör ile AHRS arasında bir iletişim arayüz devresi tasarlamak gerekir. Bu metin, AHRS ile ana kontrolör arasındaki veri iletişimini gerçekleştirmek için RS232 seviyesi ve TTL seviye dönüştürücü olarak RS232 seviye dönüştürme çipi MAX232'yi kullanır. RS232 seri port iletişim seviyesi dönüştürme devresi Şekil 2'de gösterilmektedir.

2.2 MicroSD kart devresi

SD kart, ana kontrolör ile SD kart arasındaki iletişimi ve SD kartın çalışmasını gerçekleştirmek, SD kart algılama ve dosya sistemi kurulumunu ve veri depolamayı tamamlamak için ana kontrolördeki SDIO arayüzüne bağlanır. Bu makale, depolama ortamı olarak MicroSD kartı kullanmaktadır.Bu tip kartın veri sinyal hattı, D0, D1, D2 ve D3 veri hatları, komut satırı CMD ve saat satırı CK olan 6 telli bir sistemi benimser. Veri hatları D0 ~ D3 sırasıyla ana kontrolörün SDIO arayüzünün 4 veri SDIO-D0 ~ SDIO-D3 hatları ile birbirine bağlıdır ve komut satırı ve saat hattı sırasıyla SDIO arayüzünün SDIO-CMD ve SDIO-CK'sına bağlanır. Veri satırı ve komut satırı, çekme dirençleri eklemelidir. MicroSD kart 3,3 V güç kaynağı kullanır. MicroSD kartın SDIO modu devre şeması Şekil 3'te gösterilmektedir.

2.3 Servo PWM sinyal yakalama devresi

Direksiyon dişlisinin kontrol sinyali PWM sinyali, sabit bir periyot ve ayarlanabilir bir görev döngüsü özelliklerine sahip olduğundan, yalnızca yüksek PWM sinyalinin kapladığı genişliğin yakalanması gerekir. Bu görev, STM32F103 dahili zamanlayıcının girdi yakalama işlevi kullanılarak gerçekleştirilebilir. Alıcıdan gelen PWM sinyal çıkışı, aynı zamanda direksiyon dişlisine girilir ve aynı kanal, sinyal yakalama işlemi için STM32F103 zamanlayıcı TIM34 kanal TIM3_CH1 ~ TIM3_CH4'e girilir. Direksiyon dişlisi PWM sinyalinin yakalama devresinin şematik diyagramı Şekil 4'te gösterilmektedir.

3 Kaydedici yazılım tasarımı

3.1 AHRS veri alımı ve paketin açılması

Sensör veri paketi, veri paketi başlığı, veri ve veri paketi kuyruğundan oluşur ve veri paketi sürekli olarak kontrolör seri ara belleğine gönderilir.Tam veri paketinin alınabilmesini ve verilerin güncel olmasını sağlamak için, bu makale halka tampon verilerini kullanır Veri almak için yapı. Halka tamponunun şematik diyagramı Şekil 5'te gösterilmektedir.

Veri paketi, paketin başlığı, verileri ve sonu sırasına göre ara belleğe girer.Başlık ve son algılama işlevi programda tanımlanır ve veri paketinin sonu, geçerli işaretçi konumundan gerçek zamanlı olarak algılanır.Veri paketinin sonu bulunduğunda, karşılık gelen veriler ters sırada taranır. Bir veri paketinin gerçek zamanlı yapısını sağlamak için paket başlığı. Halka tamponunun uzunluğu, bir paketin veri uzunluğunun iki katıdır ve iki tampon, verileri dönüşümlü olarak okur / yazar, böylece verilerin bütünlüğü garanti edilebilir.

3.2 Dosya sistemi

Toplanan verilerin, dosyaları düzenlemek için PC uyumlu FAT16 dosya sistemini kullanması gerektiğinden, PC üzerinde MATLAB veya Excel yazılımı ile doğrudan açılıp çizilebilir, bu nedenle bu işlevi tamamlamak için dosya sistemini mikrodenetleyiciye aktarmak gerekir. Bu programda seçilen FatFs dosya sistemi, özellikle küçük gömülü sistemler için tasarlanmış tamamen ücretsiz ve açık kaynaklı bir dosya sistemidir. Tamamen standart C dilinde yazılmıştır ve iyi bir donanım platformu bağımsızlığına sahiptir.Farklı mikroişlemcilere basit değişikliklerle kolayca aktarılabilir; FAT12, FAT16 ve FAT32'yi destekler ve çoklu depolama ortamlarını destekler; Birden çok arabellek birden çok dosyayı okuyabilir / yazabilir. FatFs dosya sistemi hiyerarşisi Şekil 6'da gösterilmektedir.

En üst uygulama katmanı için, kullanıcının FatF'lerin dahili yapısına ve karmaşık FAT protokolüne dikkat etmesi gerekmez ve yalnızca kullanıcıya FatFs modülü tarafından sağlanan f_open, f_read, f_write ve f_close gibi bir dizi uygulama arayüzü işlevini çağırması gerekir ve kolayca okuyabilir. / Dosya yaz. Orta katmandaki FatFs modülü, FAT dosyası okuma / yazma protokolünü uygular. FatFs modülü ff.c ve ff.h olmak üzere iki dosya sağlar. Gerekmedikçe, kullanıcıların genellikle onu değiştirmesine gerek yoktur, sadece başlık dosyasını kullanırken doğrudan eklemeniz yeterlidir. Bu, depolama ortamı okuma / yazma arabirimini (disk G / Ç) ve dosya oluşturma ve değiştirme süresini sağlayan gerçek zamanlı saati içeren nakil kodunu yazması gereken FatFs modülü tarafından sağlanan düşük seviyeli arabirimdir. Bu makalede kullanılan FatFs dosya sistemi sürümü R0.09a'dır. FatF'lerin genellikle nakil sırasında yalnızca iki dosyayı değiştirmesi gerekir, yani ffconf.h ve diskio.c. FatF'lerin tüm yapılandırma öğeleri ffconf.h'de saklanır, bu seçeneklerden bazılarını ihtiyaçlarınızı karşılayacak şekilde yapılandırabilirsiniz.

FatF'lerin transplantasyonu esas olarak 3 adıma bölünmüştür: (1) integer.h dosyasındaki veri tipini derleyicinin veri tipine göre tanımlayın; (2) Ffconf.h dosyasındaki FatF'lerin ilgili işlevlerini ihtiyaçları karşılayacak şekilde yapılandırın; (3) Diskio'da Temel sürücüyü .c dosyasına yazmak için genellikle 6 sürücü işlevi yazmanız gerekir: disk_initialize, disk_status, disk_read, disk_write, disk_ioctl ve get_fattime. Yukarıdaki 3 adımı tamamladıktan sonra, FatF'lerin nakli tamamlanabilir.FatF'leri kullanmadan önce, sonraki uygulama arayüzü işlevlerini kullanmaya başlamak için f_mount işlevi aracılığıyla bir çalışma alanı kaydedilmelidir.

3.3 Helikopter eğik plaka servosunun sinyal karıştırmadan kontrolü

Helikopter eğim plakasını kontrol eden üç direksiyon dişlisi, eğik plakanın helikopterin tutumunu kontrol etmek için karşılık gelen eylemler üretmesini sağlamak için bağlantılı olduğundan ve helikopterin kontrol giriş değişkenleri, uzunlamasına periyodik değişken adım değişkeni e, yanal periyodik değişken adım değişkeni a ve toplam adımdır. Değişken c ve kuyruk rotoru değişken adım değişkeni r, bu nedenle eğik plaka hareketini kontrol eden üç direksiyon dişlisi sinyalinin, uzunlamasına periyodik değişken adım değişkeni e, yanal periyodik değişken adım değişkeni a ve toplam perde değişkenini hesaplamak için karıştırılmaması gerekir. c. Bunların arasında, kuyruk rotoru değişken adımlı direksiyon dişlisi bağımsız olarak çalışır, bu nedenle sinyal karıştırmadan kontrol yapmaya gerek yoktur Kuyruk rotoru değişken aralık değişken r'yi dönüştürmek için sadece direksiyon dişlisinin sinyali ayrı olarak toplanır. Helikopter eğik plakanın yapı diyagramı Şekil 7'de gösterilmektedir.

Eğik plaka basitçe ileri geri eğildiğinde (helikopter dönme hareketine karşılık gelir), A ve B servoları aynı genlikte aynı anda hareket eder ve servo C, A ve B servolarına göre farklıdır; Eğik plaka basitçe sola ve sağa eğildiğinde Hareket halindeyken (helikopter yunuslama hareketine karşılık gelir), servo A ve servo B farklıdır ve genlik aynıdır, ancak şu anda servo C hareket etmez; Eğik plaka paralel olarak yukarı ve aşağı hareket ettiğinde (helikopterin toplam eğim değişikliğine karşılık gelir), 3 Her iki servo aynı anda aynı genlikte hareket eder.

Şekil 7'de gösterilen eğik plaka yapısının şematik diyagramı, Şekil 8'de gösterildiği gibi eğik plaka servoları arasındaki geometrik ilişki diyagramını basitleştirebilir.

A, B ve C bir eşkenar üçgenin 3 köşesini oluşturduğundan, Şekil 8'de gösterilen geometrik ilişki, direksiyon dişlisi A ile direksiyon dişlisi B arasındaki bağlantı hattının orta noktası D'nin rotor ekseni O'nun L1 koluna zıt olduğunu gösterir. O rotor ekseninin kolunun 1 / 2'si, eğik plaka basit bir ileri ve geri eğilme hareketi yaptığında (helikopter yuvarlanma hareketine karşılık gelir), servo C'nin hareket aralığı, toplanana karşılık gelen A ve B servolarının hareket aralığının iki katı olmalıdır. Servo C'nin PWM sinyalinin görev döngüsündeki değişim miktarı da A ve B servolarının PWM sinyalinin görev döngüsündeki değişim miktarının iki katıdır. Yukarıdaki analizden, helikopter eğim plakası direksiyon dişlisi kontrol sinyali değeri ile uzunlamasına periyodik değişken adım değişkeni e, yanal periyodik değişken adım değişkeni a ve toplam perde değişkeni c arasındaki ilişki denklem (1) olarak ifade edilebilir:

Formülde, , ve real, A, B ve C servolarının gerçek zamanlı olarak elde edilen PWM sinyali üst düzey genişlik değerlerini temsil eder. 0, 0 ve 0, toplam mesafe 0 ° olduğunda A, B ve C servolarını temsil eder. PWM, yüksek seviye genişlik değerini belirtir.

Denklemden (1), karşılık gelen uzunlamasına periyodik değişken adım değişkeni e, yanal periyodik değişken adım değişkeni a ve toplam mesafe değişkeni c, denklem (2) 'de gösterildiği gibi tersine çözülebilir:

Denklemden (2), toplam mesafe 0 ° olduğunda, A, B ve C servolarının PWM sinyali üst düzey genişlik değerlerinin ve A, B ve C servolarının PWM sinyallerinin üst düzey genişlik değerlerinin gerçek zamanlı olarak toplandığı görülebilir. Karşılık gelen uzunlamasına periyodik değişken mesafe değişkeni e, yanal periyodik değişken mesafe değişkeni a ve toplam mesafe değişkeni c gerçek zamanlı olarak hesaplanır.

3.4 Program akış şeması

Veri kaydedicinin yazılım kısmı, AHRS veri alma ve paket açma, dosya sistemi oluşturma ve dosya depolama, direksiyon tertibatı PWM sinyal yakalama ve sinyal karıştırma kontrolü ve insan-bilgisayar etkileşim programları dahil olmak üzere yukarıda açıklandığı gibidir. Tüm yazılım bölümünün program akış şeması Şekil 9'daki gibi gösterilmiştir.

4 Uçuş veri kaydedicisinin uygulanması

Normal operasyon sürecine göre veri kaydedici, veri toplama için insansız helikoptere monte edilir ve çeşitli uçuş parametreleri normalde yerleşik MicroSD kartında oluşturulan Flight Data.txt dosyasına kaydedilir ve MATLAB ve Excel gibi yazılımlarla kontrol edilebilir. Dosyadaki veriler, sonraki veri analizi için bir eğriye çekilir ve veriler ayrıca önceden işlenebilir ve insansız helikopter modeli tanımlaması için kontrol girdi verileri olarak kullanılabilir. Kaydedilen verilere göre MATLAB tarafından çizilen helikopterin üç eksenli tutum açısı ve üç eksenli açısal oranı sırasıyla Şekil 10 ve Şekil 11'de gösterilmektedir.

5. Sonuç

Bu uçuş veri kayıt cihazı, uçuş veri kayıt fonksiyonunu iyi bir şekilde tamamlayabilir.Yerleştirilen Flight Data.txt dosyasına gerçek zamanlı olarak veri yazabilir ve verileri okumak ve PC'de eğriler çizmek için MATLAB, Excel ve diğer yazılımları kolayca kullanabilir. Aynı zamanda, ayrılmış farklı iletişim protokolü arayüzleri, sensörler ve farklı iletişim protokolleri kullanan diğer cihazlarla kolayca birbirine bağlanabilir ve yazılımın değiştirilmesi kolaydır.Güçlü çok yönlülük ve taşınabilirlik ile yalnızca programın ön uç veri alma bölümünü değiştirerek hızlı bir şekilde kullanıma sokulabilir. İyi, gerçek kullanım gereksinimlerini karşılayabilir.

Referanslar

Zhang Tao, Zuo Jinping, Ma Hualing. 32-bit mikrodenetleyici STM32 üzerine FatF'lerin transplantasyonu. Elektronik Teknolojisi, 2010 (3): 25.

Stmicroelectronics.STM32F103xCDE veri sayfası. 2009.

Hong Yuewei, Wang Baiming, Xie Chaoying FatFs Moduel, nakli ve kullanımı kolay bir dosya sistemi Mikrodenetleyiciler ve Gömülü Sistem Uygulamaları, 2008 (5): 29.

Li Shiqi, Dong Haobin, Li Rongsheng.FatFs dosya sistemine dayalı SD kart bellek tasarımı Ölçme ve Kontrol Teknolojisi, 2011, 30 (12): 79-80.

Yang Yidong. Helikopter uçuş kontrolü. Beijing: National Defense Industry Press, 2007.

yazar bilgileri:

Liu Kun, Xu Zhe, Li Feifei

(China Aerospace Science and Technology Corporation Dördüncü Araştırma Enstitüsü 41. Araştırma Enstitüsü, Xi'an 710025, Shaanxi)

"Gintama" bitmek üzere, neden inanmıyorum?
önceki
Arabanızda "T" harfi var mı? Bu kompakt sedan sandalyeleri satın alın ve tüm yüze sahip olun
Sonraki
"İkinci Nesil Peri: Neyse ki Bu Hayatta" şu anda gösteriliyor
Oyun Karakter Popülerliği Genel Seçim İlk 8 Nakavt Raporu
Changsha Metro şeftali çiçeği tarlasında "haklı" ve tadı şiirle dolu değil
Büyük Veri Platformu-AET Bazında Elektrikli Isıtma Gücü Tüketiminin Tahmin ve Analizi
Araba politikasını öğrenin, açıkça bir araba satın alın
2019 Tianji Doğu Çin Ofisi Yıllık Toplantısı raporunu güncellemeye devam etti
Ubuntu 2017 ile sıkışma-IoT uygulamaları oluşturmak için açık kaynak teknolojisini kullanın
2017'nin son gününü birlikte özel bir şekilde geçirin
Contiki ve aktif RFID'ye dayalı bir cihaz yönetim sisteminin "Akademik Belge" uygulaması
"Demon Ling Ling", Ay Yeni Yılı özel afişini ateşli bir şekilde ortaya koyuyor, Wu Junru yıldızlara "Altın Yüz" öncülük ediyor
En çok satan çeşitli otomobiller için 60.000 yuan, her puan bıçak için harcanır
Bu yıl sonu ödülünü aldıktan sonra Taopiao'nun gerçek bir yerel zorba olduğunu biliyorum Elveda 2017
To Top