- Потребни материјали
- Степенски мотор (28БИЈ-48)
- УЛН2003 ИЦ возача мотора
- Кружни дијаграм и везе
- Ротирајући корачни мотор са СТМ32Ф103Ц8
- ПРОГРАМИРАЊЕ СТМ32 за корачни мотор
Корачни мотор је једносмерни мотор без четкице, који се може ротирати у малим угловима, ти углови се називају степеницама. Корачни мотор обично користи 200 корака да заврши ротацију од 360 степени, што значи да се окреће за 1,8 степени по кораку. Корачни мотор се користи у многим уређајима којима је потребно прецизно ротационо кретање попут робота, антена, чврстих дискова итд. Корачни мотор можемо окретати под било којим одређеним углом дајући му одговарајућа упутства. Доступне су углавном две врсте корачних мотора, униполарни и биполарни. Униполар је лакши за управљање, управљање и лакши за добијање. Овде у овом упутству повезујемо корачни мотор са плочом СТМ32Ф103Ц8 (плава пилула).
Потребни материјали
- СТМ32Ф103Ц8 (плава пилула)
- Степенски мотор (28БИЈ-48)
- УЛН2003 ИЦ
- Потенциометар 10к
- Бреадбоард
- Жице краткоспојника
Степенски мотор (28БИЈ-48)
28БИЈ-48 је униполарни корачни мотор који захтева напајање од 5В. Мотор има униполарни распоред са 4 калема и свака калем је оцењен на + 5В, па га је релативно лако контролисати било којим микроконтролером попут Ардуино-а, Распберри Пи-а такође и СТМ32. троше јаку струју и могу оштетити микроконтролере.
Још један важан податак који треба приметити је Угао корака: 5,625 ° / 64. То значи да ће се мотор када ради у редоследу од 8 корака померати за 5,625 степени за сваки корак и биће потребно 64 корака (5,625 * 64 = 360) да би извршио једну потпуну ротацију. Остале спецификације су дате у техничком листу испод:
Такође проверите повезивање корачног мотора са другим микроконтролерима:
- Повезивање корачног мотора са Ардуино Уно
- Управљање корачним мотором са Распберри Пи
- Повезивање корачног мотора са микроконтролером 8051
- Повезивање корачног мотора са ПИЦ микроконтролером
Корачним мотором се такође може управљати без икаквог микроконтролера, погледајте овај круг покретачког корачног мотора.
УЛН2003 ИЦ возача мотора
Користи се за погон мотора према импулсима примљеним од микроконтролера. Испод је дијаграм слике УЛН2003:
Клинови (ИН1 до ИН7) су улазни пинови, а (ОУТ 1 до ОУТ 7) су одговарајући излазни пинови. ЦОМ добија позитиван напон извора потребан за излазне уређаје. Даљи прикључци за корачни мотор дати су испод у одељку шеме.
Кружни дијаграм и везе
Испод је објашњење веза за горњи дијаграм кола.
СТМ32Ф103Ц8 (плава пилула)
Као што можемо видети на доњем дијаграму, ПВМ пинови су назначени у таласном формату (~), постоји 15 таквих пинова који се могу користити за импулсни излаз на корачни мотор. Потребна су нам само четири пина, користимо (ПА0 до ПА3).
СТМ32Ф103Ц8 са УЛН2003 ИЦ управљачким програмом
Прибадаче (ПА0 до ПА3) сматрају се излазним пиновима који су повезани са улазним пиновима (ИН1-ИН4) УЛН2003 ИЦ.
ПИН-ови СТМ32Ф103Ц8 |
ПИНОВИ УЛН2003 ИЦ |
ПА0 |
У 1 |
ПА1 |
ИН2 |
ПА2 |
ИН3 |
ПА3 |
ИН4 |
5В |
ЦОМ |
ГНД |
ГНД |
УЛН2003 ИЦ са корачним мотором (28БИЈ-48)
Излазне иглице (ОУТ1-ОУТ4) УЛН2003 ИЦ повезане су са пиновима корачних мотора (наранџаста, жута, ружичаста и плава).
ПИНОВИ УЛН2003 ИЦ |
ПИН-ови КОРАЧНОГ МОТОРА |
ОУТ1 |
НАРАНЧАСТА |
ОУТ2 |
ЖУТО |
ОУТ3 |
ПИНК |
ОУТ4 |
ПЛАВИ |
ЦОМ |
ЦРВЕНО |
СТМ32Ф103Ц8 са потенциометром
Потенциометар се користи за подешавање брзине корачног мотора.
ПОТЕНТИОМЕТАР |
СТМ32Ф103Ц8 |
ЛИЈЕВО (УЛАЗ) |
3.3 |
ЦЕНТАР (ИЗЛАЗ) |
ПА4 |
ДЕСНО (ГНД) |
ГНД |
Ротирајући корачни мотор са СТМ32Ф103Ц8
Испод је неколико корака за управљање корачним мотором:
- Подесите брзину корачног мотора променљивим потенциометром.
- Затим ручно унесите кораке за ротацију у смеру кретања казаљке на сату (+ вредности) или у смеру супротном од кретања казаљке на сату (-вредности) преко СЕРИЈСКОГ МОНИТЕРА који је присутан у АРДУИНО ИДЕ (Алати-> Серијски монитор) или ЦТРЛ + СХИФТ + М.
- Према улазној вредности датој у серијском монитору, одређени кораци ротације се одвијају у корачном мотору.
На пример
ВРЕДНОСТ ДАНА У СЕРИЈСКОМ МОНИТОРУ |
РОТАЦИЈА |
2048 |
(360) ЦЛК ВИСЕ |
1024 |
(180) ЦЛК ВИСЕ |
512 |
(90) ЦЛК ВИСЕ |
-2048 |
(-360) АНТИ ЦЛК МУДР |
-1024 |
(-180) АНТИ ЦЛК МУДР |
-512 |
(-90) АНТИ ЦЛК МУДР |
ПРОГРАМИРАЊЕ СТМ32 за корачни мотор
Као и претходни водич, СТМ32Ф103Ц8 смо програмирали са Ардуино ИДЕ преко УСБ порта без употребе ФТДИ програмера. Да бисте сазнали више о програмирању СТМ32 помоћу Ардуино ИДЕ, следите везу. Можемо наставити са програмирањем као Ардуино. Комплетна шифра дата је на крају пројекта.
Прво морамо укључити датотеке степпер библиотеке #инцлуде
#инцлуде
Тада дефинишемо бр. корака које треба извршити ротацијом, овде користимо 32, јер користимо Фулл-Степ (редослед 4 корака), дакле (360/32 = 11,25 степени). Дакле, за један корак осовина се помера за 11,25 степени под углом корака. У редоследу од 4 корака потребна су 4 корака за једну потпуну ротацију.
#дефине СТЕПС 32
Такође можемо да користимо режим у пола корака где постоји угао корака од 8 корака (360/64 = 5,625).
Кораци по обртају = 360 / КУТ КУТ
Како подешавамо брзину, морамо узети аналогну вредност из ПА4 која је повезана на потенциометар. Зато морамо прогласити пин за то
цонст инт спеедм = ПА4
Затим смо претворили аналогну вредност у дигиталну смештањем тих вредности у променљиву целобројног типа, након чега морамо мапирати вредности АДЦ за подешавање брзине, па користимо доњу изјаву. Овде сазнајте више о коришћењу АДЦ-а са СТМ32.
инт адц = аналогРеад (спеедм); инт резултат = мапа (адц , 0, 4096, 1, 1023);
За подешавање брзине користимо степпер.сетСпеед (резултат); Имамо опсег брзине (1-1023).
Морамо створити инстанцу као испод како бисмо поставили пинове који су повезани са мотором. Будите пажљиви у овим корацима јер већина њих погреши овде у овом обрасцу. Дају погрешан образац и због тога се завојнице не могу напајати.
Степенасти степеник (КОРАЦИ, ПА0, ПА2, ПА1, ПА3);
Испод се користи наредба за добијање вредности корака са серијског монитора. На пример, треба нам 2048 вредности за једну потпуну ротацију (32 * 64 = 2048), то јест 64 ће бити преносни однос, а 32 ће бити полусеквенца за једну ротацију.
ротате = Сериал.парсеИнт ();
Испод се код користи за позивање инстанце и покретање мотора. Ако је вредност ротирања 1, једном се позива функција степера и један потез је готов.
степпер.степ (ротирај);
Комплетна шифра са демонстрацијским видеом дата је у наставку. Такође овде проверите све пројекте повезане са корачним мотором, уз међусобно повезивање са разним другим микроконтролерима