Чтение ШИМ с помощью Arduino MEGA и Ethernet Shield

Я работаю над проектом, в котором я должен прочитать постоянный ток (1 мс-2 мс) 16 сигналов ШИМ с 4 Arduino MEGA 2560, 4 ШИМ для каждого. После прочтения я должен отправить 16 значений на компьютер. Первоначальная идея заключалась в том, чтобы использовать 4 Arduino Ethernet Shield, подключенных к маршрутизатору, а затем подключиться к компьютеру. Другой вариант — подключить 4 Arduino напрямую через USB к компьютеру и выполнить это с каждым Serial.print. Какой из двух вариантов может дать мне лучшие результаты? Я должен подчеркнуть, что время важно, менее 20 мс для получения 16 значений ШИМ было бы оптимальным. Приветствие и благодарность.


person user2956741    schedule 09.01.2015    source источник


Ответы (1)


20 мс здесь не проблема. Предполагая, что вы подключаете Arduino через USB, используя последовательный порт со скоростью 115 000 бит/с, вы можете отправить 4 байта (при условии, что байт на чтение рабочего цикла) на управляющий компьютер за 0,35 мс.

Используя TCP/IP и прямое соединение Ethernet, это будет на несколько порядков быстрее.

Итак, я бы сказал, что вам удобнее в терминах кодирования? Последовательный подход будет легким на Arduino, но вам, возможно, придется немного поработать над управляющим компьютером. (Например, будете ли вы использовать C++ и библиотеку Serial, такую ​​как Boost::ASIO?

Или вам удобно программировать сокеты TCP/IP? И если это так, у вас будет более надежное решение, которое будет лучше масштабироваться для вас.

person Greycon    schedule 09.01.2015