Sürücülü endüstriyel servoların gömülü sistemle kontrolü

Başlatan ahmet2017, 27 Eylül 2017, 18:18:47

ahmet2017

Merhaba arkadaşlar, kontrol etmem gereken 4 adet sürücülü ve enkoderli servo var. Sürücüler pulse girişi , analog giriş, modbus ve canopen ile kontrol edilebiliyor.

Bir adet 10" TFT ekranlı sisteme keypad aracılığıyla girilen komutlar dahilinde ve bazı matematiksel hesaplar sonucu servolara pozisyon bilgisi göndermem gerekiyor ve sistem neredeyse realtime çalışmalı. En kötü durumda tepki süresi 1 milisaniyeyi geçmemeli, ekrana girilen komutları servolara göndermem ve servolardan dönen feedback'leri 1 milisaniyenin altında işleyebilmeliyim.

2 seçenek düşündüm,

1) ARM A8 ya da A9 işlemci barındıran bir single board computer:
Bu kart hazır olarak satın alınacak. Beaglebone black, raspberry pi, orange pi olabilir. Linux üzerinde aşağıdaki fonksiyonları gerçekleştirecek:
    - TFT ekranı çalıştırmak
    - Keypadden girilen komutları ve bir çok ayar parametresini ekranda göstermek
    - Basit dosya sisteminde hafıza kartından dosya okuyup karta yazabilmek
    - Realtime çalışmaya engel olmayacak bir haberleşme protokolünü yönetebilmek
   
STM32F4 ya da STM32F3:
    -Motion kontrol için linux boarddan gelen komutları değerlendirmek,
    -Gelen komutlara göre matematiksel hesapları yapıp servo sürücülere modbus ya da canopen üzerinde gereken sinyalleri göndermek, başka işlerde kullanılabilecek I/O 'ları yönetebilmek ve linux board ile hızlıca haberleşebilmek.


2) İçerisinde PRU (Programmable Real-Time Unit) bulunan işlemciler kullanarak tüm işi linux kartında halletmek, qt ile bir kaç defa GUI denemem oldu ama  daha önce bir PRU ile hiç çalışmadım. Yukarıda saydığım görevleri yerine getirebilir mi , hızı ne olur, beni çok uğraştırır mı bilmiyorum, motorlar arası senkronizasyon çok az bile kaysa tüm sistemin çalışmasını etkiliyor.



Aşağıdaki linkten PRU'yı inceleyebilirsiniz.
http://software-dl.ti.com/public/hpmp/sitara/building_blocks_for_pru_dev_summary/presentation_html5.html

Benim aslında tek korkum embedded ya da RTLinux üzerinde çalışan GUI'ler ne kadar hızlı ? Keypadden bir giriş yapsam gözle görülür bir gecikme yapar mı?Bir de sadece linux kartı ile kontrol sağlanacaksa bu kartı da benim tasarlayıp ürettirmem gerekecek, daha önce hiç bu çapta hızlı bus'lar içeren bir kart tasarlamadım, forumda benzer çalışmalar var, çok da güzel tartışılmış.



Tavsiye ve yorumlarınızı bekliyorum.