XIAO-Микроб — это крошечная системная плата, на которой размещается микроконтроллер из семейства XIAO и драйверы двигателей — всё, что необходимо для создания мобильного робота.
Системную плату, а также целый робототехнический конструктор на основе XIAO-Микроб можно приобрести в магазине RobotClass:
Микроконтроллер
На плате XIAO-Микроб имеется 14-контактный разъём специально для одной из плат семейства XIAO: SAMD21, RP2040 или ESP32-C3. Платы имеют совместимую схему контактов, так что можно выбрать для своего робота любую XIAO, наиболее подходящую для конкретной задачи.
Как правило, все платы XIAO можно программировать не только в привычной среде Arduino IDE, но и на языке Python (CircuitPython/MicroPython), например, в среде Mu.
Плату XIAO следует вставлять таким образом, чтобы разъём Type-C оказался прямо над разъёмом QIIC.
Питание
Питание контроллера осуществляется LiPo или LiIon аккумулятором с напряжением 3,7 В (4,2 при полной зарядке).
Хоть такого напряжения вполне хватает для работы моторов N20 и TT-моторов, следует использовать аккумулятор с рабочим током, достаточным для одновременной работы двух моторов в блокировке. В противном случае, в момент когда робот застрянет — напряжение на аккумуляторе просядет и вся электроника потеряет питание.
Разъём для подключения аккумулятора обозначен на плате меткой BAT. Важно не перепутать полярность при подключении аккумулятора к плате Микроб!
На плате имеется микросхема заряда аккумулятора, так что для подзарядки робота достаточно будет подключить его к блоку питания или к компьютеру кабелем Type-C.
В верхней части платы имеется светодиодный индикатор заряда LiPo аккумулятора. Пока светодиод горит — аккумулятор заряжается. Потухнет — зарядка окончена.
Периферия
QIIC — универсальный разъём шины I2C, который позволяет легко подключать к Микробу различные модули от RobotClass: датчики, дисплеи, расширители GPIO и пр.
D0 — GPIO контакт платы XIAO, который может быть использован, например, для подключения светодиода или динамика. Разъём D0 двухконтактный типоразмера PH2.0, кроме сигнальной линии он содержит общий контакт (GND).
D1 и D2 — GPIO контакты платы XIAO для подключения сервомоторов или датчиков. Трёхконтактные разъёмы с шагом контакта 2,54 мм находятся в нижней части платы. Отметки G,V и S на плате означают, что вместе с сигнальным контактом GPIO (S) в группу выведен общий контакт Gnd (G) и питания от аккумулятора (V).
Управление моторами
Для управления моторами в XIAO-Микроб предусмотрены два драйвера DRV8837DS. Каждый драйвер может работать с двигателями постоянного тока, которые потребляют ток до 1,5 А при напряжении от 1,8 до 11 В. Этого вполне достаточно чтобы использовать для движения робота распространённые моторы TT (жёлтый мотор с редуктором) и моторы N20.
Моторы подключаются к разъёмам М1 и М2.
Каждый из моторов подключен к своему драйверу DRV8837, управляемому по двухканальной схеме: IN/IN. В такой схеме с помощью двух контактов можно одновременно менять направление вращения мотора и управлять скоростью его вращения.
Ниже представлена таблица режимов работы моторов в зависимости от состояния контактов IN1 и IN2.
IN1 | IN2 | Режим |
0 | 0 | отключение питания |
0 | 1 | вращение против часовой |
1 | 0 | вращение по часовой |
1 | 1 | торможение |
Например, если на IN1 драйвера подать низкий уровень сигнала (LOW/False), а на IN2 подать высокий (HIGH/True) то двигатель будет вращаться против часовой стрелки с максимальной скоростью.
Если вместо высокого уровня на IN2 подать ШИМ сигнал с коэффициентом заполнения (duty cycle) 50%, то двигатель будет вращаться против часовой стрелки в два раза медленнее номинальной скорости*.
На плате XIAO-Микроб контакты IN1/IN2 обоих драйверов подключены к GPIO контактам контроллера XIAO согласно следующей схемы:
Мотор | IN1 | IN2 |
М1 | D9 | D10 |
М2 | D7 | D8 |
Познакомиться с теорией управления моторами можно в обзорном уроке:
Схемы
Принципиальная схема системной платы XIAO-Микроб