Сборка робота

В этом уроке

  • Собираем робота, производим подключения
  • Настройка напряжения питания
  • Что такое АЦП и как из Arduino сделать вольтметр

Видео версия урока

Помните, ранее мы подключали зуммер к контроллеру при помощи проводов? Представляете, как много было бы проводов, если бы мы подключали все модули, необходимые для работы машинки, такими же шлейфами? 

Поэтому мы разработали основу машинки — плату с проводниками внутри. На неё мы сможем удобно установить все модули, а также обойдёмся минимальным количеством соединений. 

Давайте начнём сборку!

Сборка машинки

  1. Аккуратно разломите штангу пополам — это позволит сделать машинку компактнее.
  2. Установите шаровую опору на штангу при помощи шурупов.
  3. Закрепите штангу с опорой на плате-основе, используя винты и гайки.
  4. Закрепите моторы с нижней стороны платы-основы, используя винты и гайки.
  5. Установите колёса на оси моторов.
  6. Установите контроллер Arduino Nano. Будьте внимательны и ставьте его правильной стороной! Ориентируйтесь по надписям на контроллере и плате-основе.
  7. Прикрутите стойки на плату-основу, используя гайки.
  8. Закрепите источник питания на стойках при помощи винтов.
    Вставьте аккумулятор
    , соблюдая полярность. Она обозначена на отсеке и аккумуляторе. Совместите их. Должно получиться так:
  9. Будьте осторожны с аккумулятором! Его повреждения могут вызвать возгорание! Берегите его от падения, повреждения, прямых солнечных лучей и соблюдайте полярность.

    Также обращаем внимание на то, что перед Вами не батарейка, а именно аккумулятор. Его напряжение выше, чем у обычной батарейки, — 3,7В. Для того, чтобы его зарядить, используйте провод Micro USB, просто вставив его в соответствующий разъём модуля питания. 

    Кстати, во время заряда аккумулятора контроллером можно пользоваться и работать с ним, как обычно. 

  10. Подключите правый мотор (пока только один, позже Вы поймете, почему мы не подключили сразу оба). Для подключения мотора требуётся два шлейфа:
  11. Первый — шлейф питания — подключается к колодкам Vmot платы-основы и модуля мотора. Благодаря этому проводу, мотор будет получать питание от аккумулятора для работы.

    Второй — шлейф сигнала (шина I2C) — подключается к колодкам I2C платы-основы и модуля мотора. Необходим для подачи управляющего сигнала на модуль (включить / выключить мотор, задать скорость вращения и т.д.).

    Соблюдайте полярность при подключении проводов! Ориентируйтесь по черному проводу. Он подключается к GND (или к "—" питания ).

  12. Соедините разъёмы питания 5V и 5-12V платы-основы и источника питания.

Установка напряжения питания моторов

При помощи отвёртки поверните движок подстроечного резистора по стрелке min, тем самым установив напряжение на минимум. Данные моторы предназначены для работы с минимально возможным для этой платы напряжением питания.

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

Измерение напряжения с помощью Arduino

Выход с регулятора напряжения подключен к выводу контроллера А0 (через делитель напряжения с коэффициентом 1/3). То есть мы можем отслеживать напряжение с помощью контроллера. Давайте попробуем. 

Для начала посмотрим значения АЦП (аналого-цифрового преобразователя) на выводе А0

Аналого-цифровой преобразователь — название модуля внутри микроконтроллера, который позволяет преобразовать аналоговый сигнал (напряжение, подаваемое на вход контроллера) в цифровой сигнал, с которым контроллер уже может работать.

void setup() {
  Serial.begin(9600);             //  Настраиваем COM-порт на работу со скоростью 9600 бит/сек
  pinMode(A0, INPUT);             //  Конфигурируем А0 как вход 
}
void loop() {
  Serial.println(analogRead(A0)); //  Выводим в порт считанные с аналогового пина данные
}

АЦП преобразует аналоговый сигнал (напряжение) в цифровой вид, понятный контроллеру. Данные АЦП на аналоговом порту могут принимать значения от 0 до 1023. Функция analogRead(pin) (6 строка) позволяет получать эти значения. 

Подключите машинку к компьютеру, загрузите прошивку и откройте монитор последовательного порта. Вращайте движок подстроечного резистора и следите за значениями в порту. Запомните или запишите минимальное и максимальное значения. Эти значения соответствуют 5 и 12 Вольтам. Нам остаётся только преобразовать значения АЦП в напряжение. Уже догадались, как это сделать?

У нас получились значения 309 для и 804 для 12В. Выходит, что значения АЦП в среднем в 64.4 раза больше напряжения (у Вас данные будут несколько отличаться).

Финальный код будет выглядеть следующим образом:

void setup() {
  Serial.begin(9600);
  pinMode(A0, INPUT);
}
void loop() {
  Serial.println(analogRead(A0)/64.4);
}

Теперь мы знаем напряжение, которое подаётся на моторы. Чуть позже нам это пригодится, а пока поздравляем — Вы собрали машинку и узнали о новой функции.

Продукт в магазине

«ROBORACE» — Образовательный набор на базе Arduino

В магазин

Обсуждение

Гарантии и возврат. Используя сайт, Вы соглашаетесь с условиями.