Saya memiliki pengaturan, yang menghubungkan papan sensor Razor IMU , dengan papan Breakout RS-485 , ke antarmuka serial USB-RS485 melalui kabel USB ke laptop saya. Saya menjalankan perangkat lunak pada laptop (Max / MSP) yang mengirimkan pesan polling ke sensor, menunggu data respons, dan saat menerima respons memicu secara otomatis pesan polling baru. Ini adalah loop konstan:
- mengirim pesan pemungutan suara
- tunggu jawaban
- pada respons buka 1.
Saya ingin polling ini secepat mungkin, karena saya harus menghubungkan 21 sensor ini ke RS485-bus yang sama. Firmware pada Razor diprogram dengan Arduino IDE , dan menurut kode hanya ada penundaan ~ 2 ms antara pesan polling dan penulisan respon. Firmware juga menghabiskan 12ms setiap 20ms pada sensor-alokasi-dan-perhitungan. Perhitungan ini kadang-kadang menunda respons terhadap pemungutan suara. Saya sadar akan hal itu dan semua hasilnya sesuai.
Masalah saya saat ini adalah bahwa polling sensor macet pada tingkat pembaruan rata-rata 15 milidetik. Saya melihat data dengan usb-osiloskop kecil saya dan membuat diagram (> PDF).
Osiloskop saya duduk langsung pada antarmuka USB-RS485 dan melihat pemungutan suara keluar, dan pesan respons masuk. Penundaan antara keduanya terletak antara 2 hingga 13 ms. Perbedaan ini dapat dijelaskan dengan fakta bahwa kadang-kadang pisau cukur sibuk melakukan perhitungan sensor-matematika. Fakta anehnya adalah, bahwa meskipun responsnya datang dengan penundaan berbeda, pemungutan suara tampaknya selalu keluar pada interval yang sama sekitar 15 ms.
Kami juga menerapkan pengaturan yang sama dengan
- coding firmware dalam C dan pemrograman Razor dengan avr-dude
- melakukan polling perangkat lunak dalam kode Python
- pada Mac OSX dan PC Windows 7
Semua kemungkinan kombinasi menghasilkan interval 15 ms yang sama. Jadi masalahnya bukan pada kode Arduino, atau dalam Max / MSP. Saya memiliki kecurigaan bahwa masalahnya bisa disebabkan oleh Antarmuka Serial USB-RS485 dan / atau driver FTDI yang diperlukan.
Apakah masalah ini terdengar akrab bagi siapa saja ??