Может ли Arduino Mega обрабатывать 6 двигателей независимо

8

Интересно, кто-нибудь может мне помочь?

Я модифицирую ROV и думаю об использовании Arduino Mega

Я новичок в электронике и робототехнике, и мне интересно, может ли Arduino Mega независимо управлять 6 двигателями постоянного тока, а также получать данные от нескольких датчиков на тросе длиной около 150 м. Я знаю, что нужен какой-то мультиплекс, но я не совсем понимаю теорию

Большое спасибо . Ценим помощь

Кевин Марк
источник

Ответы:

6

С аппаратным обеспечением это вполне возможно. Всего у вас есть 54 доступных вывода, из которых 14 являются широтно-импульсными выходами для ваших двигателей, а 16 - это контакты аналого-цифрового преобразователя (если ваши датчики выдают напряжение постоянного тока), так что вам не нужно беспокоиться о аппаратный мультиплексор. Кроме того, многие датчики используют коммуникационные шины, которые минимизируют количество дополнительных контактов, необходимых для каждого устройства, например, SPI или I2C. Я не предсказываю, что у тебя будут проблемы с выходом из строя.

Я предсказываю, что у вас будет больше проблем с «мультиплексированием» вашего процессора, а не его входов. Когда вы пытаетесь переключиться между 6 двигателями и несколькими датчиками, вы можете быть очень заняты, пытаясь поддерживать все это в рабочем состоянии. Я недостаточно знаком с Arduino и его эскизами, чтобы знать, способен ли он делать это «из коробки», и это также зависит от того, сколько обработки вы делаете (GPS? Плавающая точка? Интегрирование положения с акселерометра?) но я скажу, что ваш код, вероятно, должен быть намного лучше, чем простой цикл опроса.

И наконец, что вы подразумеваете под "привязью"? Если это просто источник питания для ROV, это довольно просто, но нужно больше думать, если у вас есть 150 м коммуникационная шина. Я не думаю, что у Arduino есть шина CAN или что-то еще, предназначенное для связи на 150 м. Вы не можете просто проложить USB-кабель к Arduino на таких расстояниях, но вы знали, что ...

Кевин Вермеер
источник
С плавающей точкой на AVR, лол.
Ник Т
1

Я не знаком с аппаратным обеспечением Arduino, но если информация от reemrevnivek верна, нет никаких проблем в управлении двигателем 6 с использованием выходов ШИМ. Они изменят скорость ваших двигателей без проблем, если это то, что вам нужно.

Относительно датчиков, зависит от того, какого типа и сколько датчиков у вас есть и где они подключены к Arduino, но, опять же, это не должно быть проблемой, учитывая, что вам не требуется высокоскоростное обновление этих датчиков.

Наконец, у вас может быть проблема с дальностью связи (150 м), рассмотрите возможность использования RS485 и некоторую контрольную сумму или контрольную сумму для связи.

Андре Оливейра
источник