STM32F446ZE & FT800

STM32F446ZE & FT800 Gelişmiş Datalogger ve HMI Sistemi

Bu çalışma, Mikroişlemciler dersi final projesi kapsamında geliştirilen; sıcaklık ve nem verilerini izleyen, grafiksel HMI ekranında görselleştiren, durum bilgisini RGB LED halkasıyla sunan ve verileri UART üzerinden dış dünyaya aktarabilen gelişmiş bir gömülü sistem uygulamasıdır.

Sistem; STM32F446ZE mikrodenetleyicisi, FT800 EVE grafik motoru, DHT11 sıcaklık-nem sensörü, WS2812 RGB LED halkası ve KY-040 rotary encoder bileşenleri üzerine kurulmuştur.

STM32 HAL FT800 EVE SPI UART DHT11 WS2812 Fusion 360

Proje Tanıtım Videosu

Aşağıda genel olarak yaptığım projenin FT800 EVE ekran ile touchpad entegreyasyonu sağlanarak sistem çalışması ve bununla beraber menülerin alt menülerin rotarty encoder ve ring led sistem entegrasyonu ile alakalı bir video anlatımı bulacaksınız.

STM32F446ZE GELİŞMİŞ DATALOGGER VE HMI SİSTEMİ

1. Proje Özeti ve Temel Hedefler

Proje; endüstriyel ortamlarda sıcaklık ve nem verilerinin yüksek hassasiyetle anlık takip edilmesi, HMI ekranı üzerinde görselleştirilmesi, sistem durumunun RGB LED halkasıyla dinamik bildirilmesi ve toplanan verilerin UART kanalı üzerinden dış dünyaya aktarılması amacıyla tasarlanmıştır.

Kullanıcı etkileşimi dokunmatik ekran ve KY-040 rotary encoder ile sağlanır. Sistem, ölçüm verilerini hem anlık değer olarak hem de geçmiş veri grafiği şeklinde sunar.

STM32F446ZE FT800 Datalogger Genel Görünüm

2. Sistem Donanım Bileşenleri

Bileşen Model / Tip Sistemdeki Görevi
Ana İşlemci Kartı STM32 Nucleo-F446ZE ARM Cortex-M4 tabanlı ana kontrol birimi. Sensör okuma, veri işleme, ekran komutları, zamanlama ve LED kontrolünü yönetir.
HMI Grafik Motoru FT800 EVE Board 4.3" SPI arayüzlü, 480x272 çözünürlüklü rezistif dokunmatik ekran ve dahili grafik motoru.
Çevresel Sensör DHT11 Tek hat dijital protokol ile sıcaklık ve bağıl nem ölçümü yapar.
Durum Göstergesi WS2812 5050 RGB Ring Normal çalışma, veri aktarımı ve alarm durumlarını renkli LED geri bildirimiyle gösterir.
Kullanıcı Girişi KY-040 Rotary Encoder Menü geçişi, parametre seçimi ve onaylama için kullanılır.

3. Donanım Mimarisi ve Pin Konfigürasyonu

Bileşen Sinyal STM32 Pin Açıklama
FT800 Ekran SPI_MOSI PA7 SPI1 veri çıkışı
SPI_MISOPA6SPI1 veri girişi
SPI_SCKPA5SPI saat hattı
FT800_CSPA4Chip Select aktif-düşük kontrol hattı
FT800_PDNPB2Power-down / donanımsal reset hattı
DHT11 Sensör DATA_LINE PC0 Yazılımsal hassas zamanlama gerektiren giriş/çıkış hattı
WS2812 LED Halka DI PB14 / PD1 Dinamik zamanlamalı tek hat LED kontrol sinyali
PC Bağlantısı TX / RX PD5 / PD6 USART2, hata ayıklama ve veri aktarımı, 115200 baud

4. Yazılım Mimarisi ve Kod Analizi

Yazılım, STM32 HAL mimarisi üzerine kurulmuştur. Ana döngüde bloklayıcı olmayan zamanlama yaklaşımı kullanılmıştır. Sensör verileri yaklaşık 2000 ms aralıklarla okunurken, ekran yenileme işlemleri yaklaşık 30 ms aralıklarla gerçekleştirilir.

FT800 Display List Yapısı

FT800 EVE motoru, grafik nesnelerini Display List komutları ile oluşturur. Butonlar, göstergeler, kadranlar, metinler ve grafik alanları STM32 tarafından SPI üzerinden FT800 komut kuyruğuna gönderilir.

void Ekran_Goster(void) {
  FT800_DisplayStart();
  cmd_clearcolor(0x001B2E3C);
  cmd_clear(1, 1, 1);

  if(aktif_sayfa == 0) {
    cmd_text(240, 20, 29, OPT_CENTER, "ANLIK VERI TAKIP PANELI");
    cmd_dial(120, 130, 60, 0, (sicaklik * 65535) / 50);
    cmd_gauge(360, 130, 60, 0, 4, 10, nem, 100);
    cmd_button(20, 240, 130, 30, 26, 0, "Disa Aktar (TXT)");
  }

  FT800_DisplayEnd();
}

Kritik performans noktası olarak, FT800 dahili SPI FIFO alanının taşmaması için REG_CMD_WRITE ve REG_CMD_READ işaretçileri senkronize edilmiştir.

5. Gelişmiş Veri Dışa Aktarım Fonksiyonları

Sistem, ölçülen verilerin üst bilgisayar yazılımlarına veya endüstriyel sistemlere aktarılabilmesi için farklı veri formatlarını destekleyecek şekilde tasarlanmıştır:

  • TXT Formatı: Okunabilir satır tabanlı saf veri akışı.
  • XML Formatı: Etiket tabanlı yapılandırılmış veri aktarımı.
  • PDF Veri Akışı: Üst bilgisayar yazılımı tarafından rapora dönüştürülebilecek ham veri kanalı.
  • CSV Mantığı: Ölçüm verilerinin tablo ve grafik programlarında analiz edilebilmesini sağlar.

Veri Aktarma Paneli

6. Mekanik Tasarım ve Fusion 360 Entegrasyonu

Cihazın saha koşullarında kararlı çalışabilmesi için Fusion 360 üzerinde koruyucu bir mekanik kutu tasarlanmıştır. Kutu; ekran, enkoder, kart yerleşimi, kablolama ve havalandırma gereksinimleri dikkate alınarak modellenmiştir.

  • Form Faktörü: Taşınabilir ve pano montajına uygun hibrit tasarım.
  • Ergonomi: KY-040 rotary encoder için sağ tarafta erişim alanı.
  • Tırtıllı Doku: Enkoder düğmesi için kaymayı azaltan knurling yüzey.
  • Sensör Termal Yönetimi: DHT11 sensörünün kutu içi ısıdan etkilenmemesi için havalandırma kanalları.
  • Montaj: M3 vida bağlantıları ve pirinç insert yuvaları.

Mekanik Entegrasyon Çizimi

7. Sistem Sonuçları ve Başarım Analizi

  • Grafik Arayüz Hızı: FT800 SPI saat frekansı 21 MHz yapılandırılmış ve ekran geçişlerinde gecikme gözlenmemiştir.
  • Sensör Kararlılığı: DHT11 tek hat zamanlaması mikrosaniye hassasiyetinde yönetilmiştir.
  • Durum Bildirimi: WS2812 LED halkası normal çalışma, veri aktarımı ve alarm durumlarını renklerle bildirmiştir.
  • State Machine: USB kayıt LED modu ile 3 saniyelik yeşil veri aktarım geri bildirimi sağlanmıştır.
  • Arayüz Optimizasyonu: 480x272 ekran çözünürlüğü için buton genişlikleri ve sayfa geçişleri optimize edilmiştir.
Tufan DAĞ

Tufan DAĞ

Biyomedikal cihaz teknolojisi, gömülü sistem tasarımı, teknik servis, kalibrasyon ve mekanik entegrasyon alanlarında çalışan; donanım ve yazılımı birlikte ele alan teknik proje geliştiricisi.