====== Драйвер двигателей 4tronix drive:bit: инструкция, примеры использования и документация ====== Используйте драйвер моторов [[amp>product/microbit-drivebit?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|drive:bit]] для управления двумя коллекторными моторами, на базе которых вы можете создать мобильного робота, DIY-катер или гоночного болида. {{ :products:microbit-drivebit:microbit-drivebit.6.jpg?nolink |}} Драйвер моторов drive:bit выполнен специально для контроллеров [[amp>collection/microbit?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|BBC micro:bit]]. ===== Подключение и настройка ===== Для старта необходимо [[#аппаратная_часть|подключить железо]] и [[#программная_часть|выполнить программную настройку]]. ==== Аппаратная часть ==== Драйвер моторов подключается к платформе micro:bit через фирменный краевой разъём. Используйте любой источник питания, главное что бы силовое напряжение вписывалось в диапазон от 6 до 10 вольт. Соответственно моторы подбирайте с номинальным напряжением обмотки на 1 вольт меньше в диапазоне от 5 до 9 вольт. === Что понадобится === * 1× [[amp>collection/microbit?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Платформа BBC micro:bit]] * 1× [[amp>product/microbit-drivebit?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Драйвер моторов drive:bit]] * 2× [[amp>collection/dc-motors?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Коллекторный мотор с напряжением обмотки до 9 вольт]] * 6× [[amp>product/battery-aa-duracell?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Элемент питания AA]]. * 1× [[amp>product/battery-holder-3x2-aa?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Батарейный отсек 3×2 AA]] * 1× [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Кабель USB (A — Micro USB)]] === Как собрать === - Установите платформу micro:bit в гнездо под краевой разъём на плате drive:bit.{{ :products:microbit-drivebit:microbit-drivebit-hardware.1.png?nolink |}} - Подключите к плате drive:bit два коллекторных мотора в клеммники ''M1'' и ''M2''.{{ :products:microbit-drivebit:microbit-drivebit-hardware.2.png?nolink |}} - Установите шесть элементов питания AA в батарейный отсек.{{ :products:microbit-drivebit:microbit-drivebit-hardware.3.png?nolink |}} - Включите драйвер моторов, для этого переключите тумблер питания в режим ''ON''.{{ :products:microbit-drivebit:microbit-drivebit-hardware.4.gif?nolink |}} - Подключите micro:bit к компьютеру по USB.{{ :products:microbit-drivebit:microbit-drivebit-hardware.5.png?nolink |}} ==== Программная часть ==== - [[products:bbc-microbit|Запустите BBC micro:bit]]. - [[https://makecode.microbit.org/|Откройте облачную среду программирования MakeCode]]. - Создайте новый проект.{{ :products:microbit-drivebit:microbit-drivebit-software.1.gif?nolink |}} - Установите дополнительное программное обеспечение для miniBit:\\ Окно компонентов Расширенные Добавить расширение и вбейте в поиск строку DriveBit. Далее жмите по иконке найденного расширения для установки модуля. После установки в окне компонентов вы увидите иконку DriveBit.{{ :products:microbit-drivebit:microbit-drivebit-software.2.gif?nolink |}} - В установленном ПО для драйвера моторов вы найдёте блоки для управления коллекторными двигателями и индикаторного адресного светодиода.{{ :products:microbit-drivebit:microbit-drivebit-software.3.gif?nolink |}} На этом этапе drive:bit настроен на работу с системой micro:bit и можно смело переходить к [[#примеры_работы|примерам работы]]. ===== Примеры работы ===== Рассмотрим несколько примеров по работе с драйвером моторов drive:bit. Каждый пример сопровождается инструкцией по визуальному программированию в среде MakeCode, а затем кодом на JavaScript и Python. Для старта [[#подключение_и_настройка|подключите железо и выполните программную настройку]]. ==== Проверка светодиода ==== Для начала проведем тест на светодиодную индикацию, заставим пользовательский светодиод ''Status'' по очереди зажигаться красным, зелёным, синим и белым цветом. === Пример для визуального программирования === - Соберите схему из визуальных блоков.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink-blocks.1.png?nolink |}} - Нажмите на иконку со значком USB для загрузки программы в плату micro:bit.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink-blocks.2.png?nolink |}} - После прошивки micro:bit, адресный светодиод WS2812B на плате drive:bit будет по очереди мигать красным, зелёным, синим и белым цветом.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink.gif?nolink |}} === Пример для JavaScript === - Переключите визуальный режим MakeCode на текстовый редактор JavaScript.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink-javascript.1.gif?nolink |}} - Прошейте платформу кодом приведённым ниже. basic.forever(function () { DriveBit.setLedColor(0xFF0000) basic.pause(1000) DriveBit.setLedColor(0x18E600) basic.pause(1000) DriveBit.setLedColor(0x0080FF) basic.pause(1000) DriveBit.setLedColor(0xFFFFFF) basic.pause(1000) }) - После прошивки micro:bit, адресный светодиод WS2812B на плате drive:bit будет по очереди мигать красным, зелёным, синим и белым цветом.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink.gif?nolink |}} === Пример для Python === - Переключите визуальный режим MakeCode на текстовый редактор Python.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink-python.1.gif?nolink |}} - Прошейте платформу кодом приведённым ниже. def on_forever(): DriveBit.set_led_color(0xFF0000) basic.pause(1000) DriveBit.set_led_color(0x18E600) basic.pause(1000) DriveBit.set_led_color(0x0080FF) basic.pause(1000) DriveBit.set_led_color(0xFFFFFF) basic.pause(1000) basic.forever(on_forever) - После прошивки micro:bit, адресный светодиод WS2812B на плате drive:bit будет по очереди мигать красным, зелёным, синим и белым цветом.{{ :products:microbit-drivebit:microbit-drivebit-examples-blink.gif?nolink |}} ==== Запуск моторов ==== А теперь заставим оба мотора сначала крутится на полной скорости в течении 5 секунд в одну сторону, а затем в течении 5 секунд другую. === Пример для визуального программирования === - Соберите схему из визуальных блоков.{{ :products:microbit-drivebit:microbit-drivebit-examples-simple-motors.1.png?nolink |}} - Нажмите на иконку со значком USB для загрузки программы в плату micro:bit.{{ :products:microbit-drivebit:microbit-drivebit-examples-simple-motors.2.png?nolink |}} - После прошивки micro:bit, моторы начнут крутится в течении 5 секунд в одну сторону, а затем в течении 5 секунд в другую сторону. === Пример для JavaScript === - Переключите визуальный режим MakeCode на текстовый редактор JavaScript.{{ :products:microbit-drivebit:microbit-drivebit-examples-simple-motors-javascript.1.gif?nolink |}} - Прошейте платформу кодом приведённым ниже. basic.forever(function () { DriveBit.go(dbDirection.Forward, 100) basic.pause(3000) DriveBit.go(dbDirection.Reverse, 100) basic.pause(3000) }) - После прошивки micro:bit, моторы начнут крутится в течении 5 секунд в одну сторону, а затем в течении 5 секунд в другую сторону. === Пример для Python === - Переключите визуальный режим MakeCode на текстовый редактор Python.{{ :products:microbit-drivebit:microbit-drivebit-examples-simple-motors-python.1.gif?nolink |}} - Прошейте платформу кодом приведённым ниже. def on_forever(): DriveBit.go(dbDirection.FORWARD, 100) basic.pause(3000) DriveBit.go(dbDirection.REVERSE, 100) basic.pause(3000) basic.forever(on_forever) - После прошивки micro:bit, моторы начнут крутится в течении 5 секунд в одну сторону, а затем в течении 5 секунд в другую сторону. ===== Элементы платы ===== {{ :products:microbit-drivebit:microbit-drivebit-annotation.png?nolink |}} ==== Драйвер моторов DRV8833 ==== Мускулы платы — микросхема двухканального H-моста {{ :products:microbit-drivebit:drv8833-datasheet.pdf |DRV8833}}. Каждый канал может независимо управлять одним коллекторным мотором с рабочим напряжением обмотки от 5 до 9 вольт и максимальным током до 1 ампера. ==== Разъём подключения силового питания ==== Для подключения силового питания моторов используйте клеммник под винт. В клемму с шелком ''+'' подключайте положительный провод питания, а в клемму ''−'' — отрицательный провод или землю. Рекомендуемое входное напряжение от 6 до 10 вольт. Клеммник питания также продублирован штыревыми соединителями «папа». Контакты клеммника и штыревых соединителей электрически соединены на плате без всяких защитных элементов. При питании платы одновременно через оба разъёма от разных источников вы рискуете спалить устройство. ==== Разъём подключения моторов ==== Драйвер поддерживает управления двух независимых каналов. К каждому каналу можно подключить один коллекторный мотор с напряжением обмотки от 5 до 9 вольт. Первый канал на плате обозначен шёлком ''M1'', второй канал — ''M2''. Клеммники для подключения моторов также продублированы штыревыми соединителями «папа». ==== Светодиодная индикация ==== ^ Имя светодиода ^ Назначение ^ | ON | Индикатор подачи силового питания. Горит при подключенном напряжении в [[#разъём_подключения_силового_питания|силовой клеммник]] и включенном [[#тумблер_включения|тумблере питания]], во всех остальных случаях не горит.| | STATUS | Пользовательский адресный светодиод {{ :products:microbit-drivebit:ws2812b-datasheet.pdf |WS2812B}}. Как управлять светодиодом читайте в [[#примеры_работы|примерах работы]].| ==== Контакты ввода-вывода (штыри) ==== Плата drive:bit похвастается наличием контактных штырьков Px/V/G, где: * Px — сигнал. Индекс x указывает на номер пина ввода-вывода платы BBC micro:bit. * V — питание. * G — земля. Контактные штыри ввода-вывода помогут расширить возможности будущего девайса, т.к. идеально подойдут для подключения к платформе micro:bit дополнительных [[amp>collection/troyka?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Troyka-модулей]]. ==== Контакты ввода-вывода (луженные отверстия) ==== На плате присутствуют луженные отверстия которые дублируют контакты питания и ввода вывода подключенной платформы BBC micro:bit. Для удобства коммуникации рекомендуем обратить внимания на [[amp>product/pin-headers?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|контактную гребенку PLS-40]], которая облегчит доступ к заветным пинам. ==== Тумблер питания ==== За подачу питания от [[#разъём_подключения_силового_питания|силового клеммника]] используйте механический переключатель на плате. Состояния модуля также дублирует информационный светодиод. * ON — модуль включен. Светодиод горит. * OFF — модуль отключен. Светодиод не горит. ==== Преобразователь напряжения ==== На плате расположен понижающий линейный регулятор {{ :products:microbit-drivebit:ams1117-3v3-datasheet.pdf |AMS1117-3V3}}, который преобразует напряжение с [[#разъём_подключения_силового_питания|силового клеммника]] до точных 3,3 вольт с максимальным выходным током 800 мА. А далее напряжение поступает через [[#гнездо_под_краевой_разъём_bbc_microbit|краевой разъём]] на плату BBC micro:bit. Это позволяет питать всю конструкцию от одного источника питания, т.е. только от силового клеммника без необходимости питать отдельно плату micro:bit. ==== Гнездо под краевой разъём BBC micro:bit ==== Драйвер моторов drive:bit содержит гнездо {{ :products:microbit-drivebit:microbit-edge-connector-cylconn-180degree-datasheet.pdf |Edge Connector Cylconn 180 Degree}} для подключения платы BBC micro:bit через краевой разъём. Никаких проводов и тем более пайки не понадобится. ===== Габаритный чертёж ===== [[this>_media/products:microbit-drivebit:microbit-drivebit-dimensions.pdf|{{:products:microbit-drivebit:microbit-drivebit-dimensions.png}}]] ===== Характеристики ===== * Модель: 4tronix drive:bit * Совместимость: микрокомпьютеры BBC micro:bit * Разъём модуля: гнездо под краевой разъём micro:bit * Индикация: RGB-светодиод WS2812 * Микросхема драйвера двигателей: DRV8833 * Количество подключаемых моторов: 2 * Напряжение питания: 6–10 В (с защитой от переполюсовки) * Рабочее напряжение моторов: 5–9 В * Ток нагрузки: до 1 А на канал * Размеры: 65×30,5×11,6 мм ===== Ресурсы ===== * [[amp>product/microbit-drivebit?utm_source=man&utm_campaign=microbit-drivebit&utm_medium=wiki|Драйвер моторов drive:bit]] в магазине. * [[https://github.com/amperka/hardware-drawings/blob/master/microbit-drivebit.svg|Векторное изображение драйвера моторов drive:bit]] * [[https://makecode.microbit.org/|Среда программирования MakeCode]]