Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

6. Выбор компонентов устройства

6.1 Контроллер

В качестве программируемого контроллера выбран Arduino Uno R3

  • Микроконтроллер ATmega328

  • Напряжение питания 5В

  • Входное напряжение (рекомендуемое) 7-12В

  • Входное напряжение (предельное) 6-20В

  • Цифровой ввод-вывод 14 линии (6 из них = ШИМ)

  • Аналоговый ввод 6 линий

  • Постоянный ток на линиях ввода-вывода 40мА

  • Постоянный ток на линии 3.3В, 50мА

  • Flash-память 32кб, 0.5 кб из них использованы для загрузчика

  • SRAM-память 2кб

  • EEPROM-память 1кб

  • Тактовая частота 16МГц

Рисунок 6.1 Программируемый контроллер Arduino Uno R3

6.2 Сервопривод

В связи с тем, что цифровой сервопривод способен быстрее реагировать на внешние воздействия, быстрее развивать необходимые скорость и крутящий момент, а значит, лучше удерживать заданную позицию, для передвижения робота используются цифровые сервоприводы MG996R в количестве 18 штук (по 3 на каждую «ногу» робота)

  • Размер: 40 х 19 х 43 мм;

  • Вес: 55 г;

  • Рабочая скорость: 0.17 сек. / 60 (4.8 В); 0.13 сек. / 60 (7.2 В);

  • Удерживающий момент: 13 кг/см (4.8 В); 15 кг/см (7.2 В);

  • Рабочее напряжение: 4.8-7.2 В;

  • Тип передачи: металлические шестерни;

  • Потребляемый ток: 10 мА

Рисунок 6.2 Цифровой сервопривод MG996R

6.3 Модуль

Так как микроконтроллеру приходится использовать одни и те же таймеры для управления сервомоторами и поддержания прочих процессов, при прямом подключении сервоприводов к контроллеру происходит непроизвольное подёргивание сервомоторов. В связи с этим был выбран специальный модуль Multiservo Shield.

Простота и удобство в питании. Нет необходимости разводки питания к каждой сервомашине в отдельности.

Установив эту плату расширения на Arduino, можно управлять 18 сервоприводами. На борту Multiservo Shield установлен отдельный микроконтроллер ATmega48, все силы которого направлены на то, чтобы аккуратно и точно в нужное время передавать управляющие сигналы на подключённые сервоприводы.

Питание для двигателей подводится через винтовой клеммник. От клеммника питание по толстым дорожкам подходит к соответствующим пинам в тройках-контактах. Остаётся лишь подключить сервоприводы к этим контактам: дополнительной разводки не требуется.

Питание микроконтроллера ATmega48 берётся с пина 5V от Arduino. Можно установить специальную перемычку в положение «PWR JOIN», чтобы отправить питание с винтового клеммника ещё и на Vin Arduino. Таким образом можно обойтись единственным источником питания.

Благодаря библиотеке Multiservo, работа с модулем не вызовет затруднений. Интерфейс библиотеки Multiservo тот же, что и в стандартной библиотеке Servo.

В дополнение к 18-ти серво-тройкам, управляемым выделенным микроконтроллером, на плату также вынесены 6 выводов Arduino напрямую. Таким образом, возможное количество сервоприводов в устройстве может достигать 24-х штук.

  • Максимальный постоянный ток на сервы: 10 А;

  • Потребляемый микроконтроллером ток: 15 мА;

  • Диапазон рабочих температур: −40…+85 °C;

Рисунок 6.3 Модуль Multiservo Shield