Съдържание:

Шофиране на малки двигатели с TB6612FNG: 8 стъпки
Шофиране на малки двигатели с TB6612FNG: 8 стъпки

Видео: Шофиране на малки двигатели с TB6612FNG: 8 стъпки

Видео: Шофиране на малки двигатели с TB6612FNG: 8 стъпки
Видео: The French UFO Wave of 1954: The Humanoids 2024, Декември
Anonim
Шофиране на малки двигатели с TB6612FNG
Шофиране на малки двигатели с TB6612FNG

TB6612FNG е интегрална схема с двоен двигател от Toshiba. Има много пробивни дъски за него и това е един от най -популярните избори за задвижване на малки двигатели.

Има много онлайн ресурси за започване на работа с TB6612FNG, но все пак реших да напиша това, за да компилирам по -добре това, което попаднах.

Ще се съсредоточа върху логиката на управление и ще обясня подробно библиотеката с драйвери на Sparkfun TB6612FNG в тази инструкция.

Стъпка 1: Необходими части

Ето какво ще използваме днес:

1) Микро метални двигатели

2) TB6612FNG драйвер на двигателя

3) Arduino и USB кабел

4) Източник на захранване за двигателите

5) Платформа

6) Кабелни проводници

Стъпка 2: TB6612FNG Breakout Board

Пробивната дъска TB6612FNG
Пробивната дъска TB6612FNG

Както споменах по -рано, има много пробивни дъски от различни производители за TB6612FNG. Всички те имат повече или по -малко едни и същи компоненти върху тях, а също и подобни изводи.

Кондензаторите са запоени върху платката за защита срещу шум от двигателите, така че няма да се налага да запоявате тези керамични кондензатори към двигателите.

IC също се предлага с вътрешни диоди за защита от обратно ЕМП от двигателите. Но допълнителните мерки за безопасност не нараняват никого. Не ги добавих, защото моторите ми не са много големи и ми липсват диоди: |

Стъпка 3: Закрепете изходи

Pin Outs
Pin Outs

Пробивната платка TB6612FNG има много удобен извод. Всички изходи, входове и захранващи връзки на двигателя са добре групирани за максимална лекота на използване.

Направих илюстрация на изводите и как да ги свържа, надявам се да е полезно при свързване на всички тези проводници:)

Стъпка 4: Схеми

Схеми
Схеми
Схеми
Схеми

Аз съм сравнително нов в използването на Fritzing. Смятам, че схемите на веригата от Fritzing са доста трудни за разбиране, но изгледът на макет е удобен за Instructables. Чувствайте се свободни да задавате въпроси, ако някоя от кабелните връзки изглежда объркваща.

Стъпка 5: Окабеляване

Окабеляване
Окабеляване

Свържете всичко по схеми. Има много кабели, не забравяйте да проверявате отново след всяка връзка.

Използвах следните щифтове Arduino за входовете на драйвера на двигателя:

Шофьор на мотор -> Pin номер на Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Неща, които могат да се объркат в тази стъпка: 1) Не обръщайте полярността, докато свързвате Vm и GND от източника на захранване. Може да изпържите шофьора на вашия мотор.

2) Уверете се, че сте свързали PWMA и PWMB към PWM щифтове на arduino.

3) Не забравяйте да свържете Arduino GND и GND от драйвера на двигателя, ако използвате различен източник на захранване за всеки.

Стъпка 6: Изтегляне и инсталиране на библиотеката

Изтеглете библиотеката от страницата на Sparkfun GitHub.

След като изтеглите zip файла, отворете вашата Arduino IDE.

От Sketch> Include Library> Add. Zip Library добавете библиотеката, която сте изтеглили.

След като бъде инсталиран успешно, той трябва да се покаже във Файл> Примери като „SparkFun TB6612FNG Motor Library“

Ако имате затруднения при изтеглянето и инсталирането на библиотека Arduino, вижте стъпка 5 от тази инструкция.

Стъпка 7: Изпълнение на примерния код

Сега, когато нашата библиотека е готова, можем да качим примерния код, за да го тестваме.

1) Отворете примера „MotorTestRun“от „Sparkfun TB6612FNG Motor Driver Library“, посочена във вашите библиотеки.

Забележка: Ако не използвате същите номера на пинове, както е споменато в стъпка 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, PWM щифт, отместване, щифт в режим на готовност)

const int offsetA = 1;

const int offsetB = 1; Двигател на мотор1 = Мотор (AIN1, AIN2, PWMA, offsetA, STBY);

И с това сте приключили с инициализирането на библиотеката. Няма повече стъпки във функцията setup (), просто изпълняваме кода във функцията loop ().

Моторният метод има следните функции. Помислете наоколо, за да ги проверите.

1). Диск (стойност, време)

Motor_name = име на вашия двигателен обект value = 255 до -255; отрицателните стойности ще накарат двигателя да се движи в реверсивно време = време в милисекунди

2).brake ()

Спирачната функция не приема никакви аргументи, спира спира моторите.

3) спирачка (, <име на мотор2)

Спирачната функция приема имената на моторни обекти като аргументи. Спира моторите, преминали във функцията.

4) напред (,, време) напред (,, скорост, време)

Функцията приема името на два моторни обекта, по избор ШИМ скорост и време в милисекунди и пуска двигателя в посока напред за изминатото време. Ако стойността на скоростта е отрицателна, двигателят ще се върне назад. Скоростта по подразбиране е зададена на 255.

5) назад (,, време) назад (,, скорост, време)

Функцията приема името на два моторни обекта, по избор ШИМ скорост и време в милисекунди и пуска двигателя в посока напред за изминатото време. Ако стойността на скоростта е отрицателна, двигателят ще продължи напред. Скоростта по подразбиране е зададена на 255.

6) наляво (,, скорост) надясно (,, скорост)

Функцията приема две имена на двигателни обекти и скорост. Редът на моторните обекти, предадени като параметри, е важен. За да управлявате единични двигатели, използвайте вместо това.drive ().

Препоръчано: