Оглавление:
- Шаг 1. Необходимые детали
- Шаг 2: Коммутационная плата TB6612FNG
- Шаг 3. Выводы
- Шаг 4: Схема
- Шаг 5: Подключение
- Шаг 6: загрузка и установка библиотеки
- Шаг 7: Запуск примера кода
- Шаг 8: объяснение библиотеки
Видео: Управление малыми двигателями с TB6612FNG: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
TB6612FNG - это микросхема с двумя драйверами двигателя от Toshiba. Для него существует множество коммутационных плат, и это один из самых популярных вариантов для управления небольшими двигателями.
Существует множество онлайн-ресурсов по началу работы с TB6612FNG, но я все равно решил написать это, чтобы лучше скомпилировать то, с чем я столкнулся.
Я сосредоточусь на логике управления, а также подробно объясню библиотеку драйверов двигателя Sparkfun TB6612FNG в этом руководстве.
Шаг 1. Необходимые детали
Вот что мы будем использовать сегодня:
1) Микро-металлические двигатели
2) Драйвер двигателя TB6612FNG
3) Arduino и USB-кабель
4) Источник питания для двигателей
5) Макетная плата
6) Провода перемычки
Шаг 2: Коммутационная плата TB6612FNG
Как я уже упоминал ранее, для TB6612FNG существует множество коммутационных плат от разных производителей. Все они имеют более или менее одинаковые компоненты, а также аналогичную распиновку.
Конденсаторы припаяны к плате для защиты от шума двигателей, поэтому вам не придется припаивать эти керамические конденсаторы к двигателям.
Микросхема также оснащена внутренними диодами для защиты от обратной ЭДС двигателей. Но дополнительные меры безопасности никому не повредят. Я не стал их добавлять, потому что мои моторы не очень большие и у меня мало диодов: |
Шаг 3. Выводы
Коммутационная плата TB6612FNG имеет очень удобную распиновку. Все выходы, входы и силовые подключения двигателя красиво сгруппированы вместе для максимального удобства использования.
Я сделал иллюстрацию распиновки и того, как их подключать, надеюсь, это пригодится при подключении всех этих проводов:)
Шаг 4: Схема
Я новичок в использовании Fritzing. Я считаю, что принципиальные схемы от Fritzing довольно трудны для понимания, но макет удобен для Instructables. Не стесняйтесь задавать любые вопросы, если какое-либо из проводных соединений выглядит запутанным.
Шаг 5: Подключение
Подключите все по схемам. Проводов много, обязательно дважды проверяйте их после каждого подключения.
Я использовал следующие выводы Arduino для входов драйвера двигателя:
Драйвер двигателя -> Номер контакта Arduino
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) ШИМ -> 6
5) INB1 -> 7
6) INB2 -> 8
Что может пойти не так на этом этапе: 1) Не меняйте полярность при подключении Vm и GND от источника питания. Вы можете поджарить свой моторчик.
2) Убедитесь, что PWMA и PWMB подключены к контактам PWM на Arduino.
3) Не забудьте подключить Arduino GND и GND от драйвера двигателя, если вы используете разные источники питания для каждого из них.
Шаг 6: загрузка и установка библиотеки
Загрузите библиотеку со страницы GitHub Sparkfun.
После того, как вы загрузили zip-файл, откройте свою Arduino IDE.
В Sketch> Включить библиотеку> Добавить библиотеку. Zip добавьте загруженную вами библиотеку.
После успешной установки он должен появиться в меню «Файл»> «Примеры» как «SparkFun TB6612FNG Motor Library».
Если у вас возникли трудности с загрузкой и установкой библиотеки Arduino, ознакомьтесь с шагом 5 этой инструкции.
Шаг 7: Запуск примера кода
Теперь, когда у нас есть готовая библиотека, мы можем загрузить пример кода, чтобы протестировать ее.
1) Откройте пример MotorTestRun из библиотеки драйверов двигателя Sparkfun TB6612FNG, указанной в ваших библиотеках.
Примечание. Если вы не используете те же номера контактов, которые указаны на шаге 5, обязательно измените определения контактов в соответствии с вашими настройками.
2) Выберите свою доску в менеджере доски.
3) Загрузите свой код, и моторы должны начать двигаться.
После загрузки двигатели должны начать движение. Если это не так, проверьте проводку еще раз.
Шаг 8: объяснение библиотеки
Теперь объясним, как использовать библиотеку для вашего собственного кода.
Сначала начните с импорта библиотеки и инициализации контактов на Arduino.
#включают
#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6 # define STBY 9
Чтобы инициализировать ваши моторные объекты, вам нужно установить смещения для каждого мотора. Представьте, что вы даете двигателю команду вперед, а он вращается в обратном направлении. Вы можете вручную перенастроить его или просто изменить смещение отсюда. Отличный маленький хак QoL, добавленный SparkFun. Значения этих смещений равны 1 или -1.
Затем вам необходимо инициализировать каждый из двигателей со следующими параметрами:
Двигатель = двигатель (вывод 1, вывод 2, вывод ШИМ, смещение, вывод ожидания)
const int offsetA = 1;
const int offsetB = 1; Мотор мотор1 = Мотор (AIN1, AIN2, PWMA, offsetA, STBY);
На этом вы закончили инициализацию библиотеки. Больше никаких шагов в функции setup (), мы просто запускаем код в функции loop ().
Моторный метод выполняет следующие функции. Повозитесь, чтобы проверить их все.
1).drive (значение, время)
Motor_name = имя вашего двигателя значение объекта = от 255 до -255; отрицательные значения заставят двигатель вращаться в обратном направлении: время = время в миллисекундах
2).brake ()
Функция торможения не принимает аргументов, тормозит моторы.
3) тормоз (, <имя_двигателя2)
Функция торможения принимает в качестве аргументов имена объектов двигателя. Тормоза моторов перешли в функцию.
4) вперед (,, время) вперед (,, скорость, время)
Функция принимает два названия моторного объекта, опционально скорость ШИМ и время в миллисекундах, и запускает двигатель в прямом направлении в течение прошедшего времени. Если значение скорости отрицательное, двигатель пойдет назад. Скорость по умолчанию установлена на 255.
5) назад (,, время) назад (,, скорость, время)
Функция принимает два названия моторного объекта, опционально скорость ШИМ и время в миллисекундах, и запускает двигатель в прямом направлении в течение прошедшего времени. Если значение скорости отрицательное, двигатель будет двигаться вперед. Скорость по умолчанию установлена на 255.
6) влево (`` скорость) вправо (`` скорость)
Функция принимает два названия моторного объекта и скорость. Порядок моторных объектов, переданных в качестве параметров, важен. Для управления отдельными двигателями используйте вместо этого.drive ().
Рекомендуемые:
Роботизированная рука 3D с шаговыми двигателями, управляемыми по Bluetooth: 12 шагов
Роботизированная рука 3D с шаговыми двигателями, управляемая Bluetooth: в этом уроке мы увидим, как создать трехмерную роботизированную руку с шаговыми двигателями 28byj-48, серводвигателем и деталями, напечатанными на 3D-принтере. Печатная плата, исходный код, электрическая схема, исходный код и много информации размещены на моем веб-сайте
Управление двигателями постоянного тока с помощью Arduino и L293: 5 шагов (с изображениями)
Управление двигателями постоянного тока с помощью Arduino и L293: простой способ управления двигателями постоянного тока. Все, что вам нужно, это знания в области электроники и программирования. Если у вас есть какие-либо вопросы или проблемы, вы можете связаться со мной по моей почте: [email protected] Посетите мой канал на YouTube: https : //www.youtube.com/channel/UCuS39O01OyP
6-осевой манипулятор DIY (с шаговыми двигателями): 9 шагов (с изображениями)
6-осевой манипулятор DIY (с шаговыми двигателями): после более чем года исследований, прототипов и различных сбоев мне удалось построить железно-алюминиевого робота с 6 степенями свободы, управляемыми шаговыми двигателями. Самой сложной частью была конструкция, потому что Я хотел достичь 3 фундаментальных целей
Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: 3 шага
Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: В этом проекте мы объясним, как использовать наш H-мост L298N для увеличения и уменьшения скорости двигателя постоянного тока. H-мостовой модуль L298N можно использовать с двигателями, которые имеют напряжение от 5 до 35 В постоянного тока. Также имеется встроенный регулятор 5 В, поэтому, если ваш
Робот-вездеход, управляемый через Wi-Fi (с Arduino, ESP8266 и шаговыми двигателями): 11 шагов (с изображениями)
Робот-ровер FPV, управляемый Wi-Fi (с Arduino, ESP8266 и шаговыми двигателями): в этом руководстве показано, как спроектировать двухколесный робот-вездеход с дистанционным управлением по сети Wi-Fi, используя Arduino Uno, подключенный к модулю Wi-Fi ESP8266. и два шаговых двигателя. Роботом можно управлять из обычного интернет-браузера