Tek RS-485 hattında iki VFD: Modbus RTU ile lineer motor sürüşü
Spectraloop kapsülünün lineer motorunu süren iki Delta MS300 sürücüyü tek bir RS-485 hattı üzerinden, STM32 ile Modbus RTU master olarak kontrol etmek — ve bunu sahada doğrulamak.
Bağlam
TEKNOFEST Hyperloop'ta yarışan Spectraloop takımının yazılım ekibini üç sezondur yönetiyorum. Kapsül bir lineer motorla itiliyor; motoru iki Delta MS300 frekans sürücüsü (VFD) besliyor. Benim işim, bu iki sürücüyü güvenilir biçimde kontrol eden firmware'di.
Neden Modbus RTU, neden tek hat
Modbus RTU, endüstride sürücüler ve PLC'ler arasında yaygın, basit bir master/slave protokolü. RS-485 ise onu taşıyan, gürültüye dayanıklı diferansiyel bir hat. Tek bir RS-485 hattına birden fazla cihaz bağlanabiliyor; her cihaz kendi slave adresiyle ayırt ediliyor.
Kurduğum yapı:
- STM32, hattın Modbus RTU master'ı.
- İki MS300, aynı hatta slave 1 ve slave 2.
- Haberleşme 9600 baud, 8N1.
Ne kontrol ediliyor
Firmware sürücülere ileri / geri / dur kontrol sözcüklerini ve 150 Hz'e kadar frekans değerini gönderiyor. Kodu STM32F407'de yazdım, sonra Nucleo-F401RE'ye taşıdım.
Sahada doğrulama
Masa başında çalışan kod, sürücü doğru yapılandırılmamışsa sahada hiçbir şey yapmaz. VFD parametrelerini — frekans ve çalıştırma kaynağının RS-485 olarak ayarlanması, üst frekans sınırı — sahada tek tek test ederek doğruladım.
Test ve gözlem için bir de Python seri↔WebSocket köprüsü ile canlı kontrol paneli ekledim: kapsülün sürüşünü tarayıcıdan izleyip komut verebiliyoruz.
Kapsülün geri kalanı
Motor sürüşü daha büyük bir mimarinin parçası: Master/Slave STM32'ler CAN Bus üzerinden haberleşiyor; yüksek EMI'ye karşı bükümlü çift kablo ve 120 Ω sonlandırma kullandık. Konum, BNO055 IMU ile çift optik sensörün donanım kesmeleriyle çapraz doğrulanıyor; donanımsal Watchdog fail-safe yapıyı tamamlıyor.
Bu çalışmanın sonunda takımla TEKNOFEST 2026'da Teknoloji Gösterim kategorisinde Türkiye 1.liği aldık.