Мазмуну:

Кичи моторлорду TB6612FNG менен айдоо: 8 кадам
Кичи моторлорду TB6612FNG менен айдоо: 8 кадам

Video: Кичи моторлорду TB6612FNG менен айдоо: 8 кадам

Video: Кичи моторлорду TB6612FNG менен айдоо: 8 кадам
Video: L293D Как сделать радиоуправление ч 2 2024, Декабрь
Anonim
Кичи моторлорду TB6612FNG менен айдоо
Кичи моторлорду TB6612FNG менен айдоо

TB6612FNG - Toshibaдан келген эки моторлуу айдоочу IC. Ал үчүн көптөгөн сындыруучу такталар бар жана бул кичинекей моторлорду айдоонун эң популярдуу тандоолорунун бири.

TB6612FNG менен иштөөнү баштоонун көптөгөн онлайн ресурстары бар, бирок мен тапканымды жакшыраак жыйноо үчүн муну жазууну чечтим.

Мен башкаруу логикасына көңүл бурам, ошондой эле Sparkfun TB6612FNG мотор драйверинин китепканасын ушул нускамада кеңири түшүндүрүп берем.

1 -кадам: Тетиктер талап кылынат

Бул жерде биз бүгүн колдонобуз:

1) Микро металл кыймылдаткычтары

2) TB6612FNG мотор айдоочусу

3) Arduino жана USB кабели

4) Моторлор үчүн кубат булагы

5) Нан тактасы

6) Өткөргүч зымдар

2 -кадам: TB6612FNG Breakout Board

TB6612FNG Breakout Board
TB6612FNG Breakout Board

Мен мурда айткандай, TB6612FNG үчүн ар кандай өндүрүүчүлөрдүн көптөгөн сындыруучу такталары бар. Алардын бардыгында аздыр -көптүр бир эле компоненттер бар, ошондой эле окшош пинту.

Конденсаторлор моторлордун ызы -чуусунан коргонуу үчүн тактага жабыштырылган, андыктан керамикалык конденсаторлорду моторлорго туташтыруунун кажети жок.

IC ошондой эле моторлордон арткы EMFден коргоо үчүн ички диоддор менен коштолот. Бирок кошумча коопсуздук чаралары эч кимге зыян келтирбейт. Мен аларды кошкон жокмун, анткени менин моторлорум анча чоң эмес жана диоддорум кыска: |

3 -кадам: Чыккыла

Чыккыла
Чыккыла

TB6612FNG үзүлүү тактасы абдан ыңгайлуу пинтуга ээ. Мотордун бардык чыгуулары, кириштери жана электр байланыштары колдонуунун эң ыңгайлуулугу үчүн жакшы топтолгон.

Мен пинуттарды жана аларды кантип туташтыруу керектигин иллюстрацияладым, бул бардык зымдарды туташтырууда пайдалуу болот деп ишенем:)

4 -кадам: схемалар

Схемалар
Схемалар
Схемалар
Схемалар

Мен Fritzingди колдонууга жаңыдан келдим. Мага Fritzingден келген схемаларды түшүнүү абдан кыйын, бирок панелдин көрүнүшү Instructables үчүн ыңгайлуу. Эгерде зым туташуулары кандайдыр бир түшүнүксүз көрүнсө, ар кандай суроолорду берүүдөн тартынбаңыз.

5 -кадам: Аны зымга өткөрүү

Wiring It Up
Wiring It Up

Схемаларга ылайык баарын кылыңыз. Зымдар көп, ар бир туташуудан кийин кайра текшерип көрүңүз.

Мен мотор айдоочусу үчүн төмөнкү Arduino Pins колдондум:

Мотор айдоочу -> 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'ди arduinoдогу PWM казыктарына туташтырганыңызды текшериңиз.

3) Эгерде сиз ар бирине башка энергия булагын колдонуп жатсаңыз, Arduino GND менен GNDди мотор айдоочусунан туташтырууну унутпаңыз.

6 -кадам: Китепкананы жүктөө жана орнотуу

Китепкананы Sparkfun'дун GitHub баракчасынан жүктөп алыңыз.

Zip файлын жүктөп алгандан кийин, Arduino IDEди ачыңыз.

Эскизден> Китепкананы кошуу> Zip китепканасын кошуу, жүктөп алган китепканаңызды кошуу.

Ийгиликтүү орнотулгандан кийин, ал "SparkFun TB6612FNG Мотор Китепканасы" катары Файл> Мисалдарда көрүнүшү керек.

Эгерде сиз Arduino китепканасын жүктөөдө жана орнотууда кыйынчылыктарга туш болсоңуз, анда бул нускаманын 5 -кадамын текшериңиз.

7 -кадам: Мисал кодун иштетүү

Азыр биздин китепкана даяр болгондон кийин, аны текшерүү үчүн мисал кодун жүктөй алабыз.

1) Китепканаларыңызда тизмеленген 'Sparkfun TB6612FNG мотор драйверинин китепканасынан' 'MotorTestRun' мисалын ачыңыз.

Эскертүү: Эгерде сиз 5 -кадамда айтылган пин сандарды колдонбой жатсаңыз, пин аныктамаларын орнотууңузга жараша өзгөртүүнү унутпаңыз.

2) Такта менеджеринен тактаңызды тандаңыз

3) Кодуңузду жүктөңүз, моторлор кыймылдай башташы керек

Сиз жүктөгөндөн кийин мотор кыймылдай башташы керек. Эгерде алар андай болбосо, зымдарды кайра текшериңиз.

8 -кадам: Китепкана түшүндүрүлдү

Эми китепкананы жеке кодуңуз үчүн кантип колдонууну түшүндүрүп бериңиз.

Биринчиден, китепкананы импорттоо жана arduinoдогу казыктарды инициализациялоо менен баштаңыз

#кошуу

#аныктоо AIN1 2 #аныктоо AIN2 4 #аныктоо PWMA 5 #аныктоо BIN1 7 #аныктоо BIN2 8 #аныктоо PWMB 6 #аныктоо STBY 9

Кыймылдаткыч объекттерин инициализациялоо үчүн, ар бир кыймылдаткычтын ордун алмаштыруу керек. Моторуңузда алдыга буйрук кылып жатканыңызды элестетиңиз, ал тескерисинче айланып жатат. Сиз аны кол менен кайра чабыттасаңыз болот, же жөн гана бул жерден алмаштырууну өзгөртө аласыз. SparkFun кошкон кичинекей QoL бузулушу. Бул орундун мааниси 1 же -1.

Андан кийин ар бир моторду төмөнкү параметрлер менен баштоо керек;

Мотор = Мотор (Pin 1, Pin 2, PWM pin, offset, Standby pin)

const int offsetA = 1;

const int offsetB = 1; Мотор мотор1 = Мотор (AIN1, AIN2, PWMA, offsetA, STBY);

Муну менен сиз китепкананы баштапкы абалга келтирдиңиз. Setup () функциясында башка кадамдар жок, биз кодду loop () функциясында иштетебиз.

Мотор ыкмасы төмөнкү функцияларды аткарат. Алардын бардыгын текшерүү үчүн айланып өтүңүз.

1).drive (маани, убакыт)

Motor_name = мотор объектинин аты = 255тен -255ке чейин; терс маанилер моторду тескери убакытта = миллисекундта жылдырат

2).тормоз ()

Тормоз функциясы эч кандай аргументтерди талап кылбайт, моторлорду тормоз кылат.

3) тормоз (, <motor_name2)

Тормоз функциясы аргумент катары мотор объектилеринин аттарын алат. Кыймылдаткычтар функцияга өтүштү.

4) алдыга (,, убакыт) алдыга (,, ылдамдык, убакыт)

Функция эки мотор объектисинин атын кабыл алат, милдеттүү түрдө PWM ылдамдыгын жана убактысын миллисекундтарда кабыл алат жана моторду өткөн убакытка алдыга карай иштетет. Эгерде ылдамдыктын мааниси терс болсо, мотор артка кетет. Демейки ылдамдык 255ке коюлган.

5) артка (,, убакыт) артка (,, ылдамдык, убакыт)

Функция эки мотор объектисинин атын кабыл алат, милдеттүү түрдө PWM ылдамдыгын жана убактысын миллисекундтарда кабыл алат жана моторду өткөн убакытка алдыга карай иштетет. Эгерде ылдамдыктын мааниси терс болсо, мотор алдыга жылат. Демейки ылдамдык 255ке коюлган.

6) сол (,, ылдамдык) оң (,, ылдамдык)

Функция эки кыймылдаткычтын атын жана ылдамдыгын кабыл алат. Параметр катары өткөн мотор объекттеринин тартиби маанилүү. Жалгыз моторлорду айдоо үчүн, ордуна.drive () колдонуңуз.

Сунушталууда: