- Потребан материјал
- Кружни дијаграм
- Шта је серво мотор?
- Објашњење Ардуино кода
- Контрола више серво сервера са Ардуино-радом:
Коришћење једног или два серво-система са Ардуином је једноставно, али шта ако желимо да користимо више серво-мотора?
Овде ћемо вам показати како да управљате вишеструким серво моторима помоћу Ардуина. Чини се да је повезивање више серво мотора са Ардуином лако, али ако све Серво-ове повежемо са Ардуино пиновима за напајање, они неће радити исправно због недостатка довољно струје да покрећу све моторе. Дакле, морате да користите одвојено напајање мотора, било из неких адаптера (5в 2А) или из квалитетних 9в батерија.
Потребан материјал
- Ардуино УНО
- Серво мотор
- Напајање
- Бреадбоард
- Повезивање жица
Кружни дијаграм
Шта је серво мотор?
Пре него што улазимо у детаље, прво бисмо требали знати о Серво Моторс.
Серво мотори су доступни у различитим облицима и величинама. Серво мотор ће углавном имати жице, једна је за позитивни напон, друга је за масу, а последња за подешавање положаја. ЦРВЕНА жица је повезана на напајање, црна жица је повезана на масу, а ЖУТА жица је повезана на сигнал.
Серво мотор је комбинација једносмерног мотора, система за контролу положаја, брзина. Положај осовине једносмерног мотора подешава се помоћу управљачке електронике у серво-у, на основу односа радне снаге ПВМ сигнала СИГНАЛ пин.
Једноставно речено, управљачка електроника подешава положај вратила управљајући једносмерним мотором. Ови подаци о положају осовине шаљу се кроз СИГНАЛ пин. Подаци о положају на команду треба да се шаљу у облику ПВМ сигнала кроз сигналну иглу серво мотора.
Фреквенција ПВМ (Пулсе Видтх Модулатед) сигнала може се разликовати у зависности од врсте серво мотора. Овде је најважнији ОДНОС ДУЖНОСТИ ПВМ сигнала. На основу овог ДУЖНОГ ОДНОСА управљачка електроника подешава вратило.
Као што је приказано на доњој слици, да би се вратило могло померити на сат од 9, ОДНОС УКЉУЧИВАЊА мора бити 1 / 18.ие. 1 мс времена укључења и 17 мс времена искључења у сигналу од 18 мс.
Да би се осовина помакнула на сат од 12 °, УКЉУЧЕНО вријеме сигнала мора бити 1,5 мс, а искључено 16,5 мс. Овај однос се декодира управљачким системом у серво систему и на основу њега подешава положај. Овај ПВМ овде је генерисан коришћењем АРДУИНО УНО.
Пре него што повежете серво моторе са Ардуином, можете да тестирате свој серво помоћу овог серво круга за испитивање мотора. Такође погледајте наше серво пројекте у наставку:
- Управљање серво мотором помоћу Флек сензора
Објашњење Ардуино кода
Комплетни Ардуино код за вишеструку серво контролу дат је на крају.
Ардуино има библиотеку за серво моторе и он обрађује све ствари повезане са ПВМ-ом да би ротирао серво, само треба да унесете угао за који желите да се окрећете и постоји функција серво1.врите (англе); који ће окретати серво под жељеним углом.
Дакле, овде почињемо са дефинисањем библиотеке за серво мотор.
#инцлуде
У доњем коду иницијализујемо сва четири сервоа као Серво1, Серво2, Серво3 и Серво4.
Серво серво1; Серво серво2; Серво серво3; Серво серво4;
Затим постављамо сав серво улазни пин помоћу Ардуина. Као што је приказано у доњем коду, Серво1 је повезан са 3. пином Ардуина. Можете да мењате чиоде према вама, али имајте на уму да би то требало да буде ПВМ пин. Коришћење серво-а са дигиталним пиновима Ардуина није поуздано.
воид сетуп () { серво1.аттацх (3); серво2.аттацх (5); серво3.аттацх (6); серво4.аттацх (9); }
Сада, у функцији воид лооп () само окрећемо сав серво од 0 до 180 степени, а затим од 180 до 0 степени. Кашњење коришћено у доњем коду користи се за повећање или смањење брзине серво погона јер утиче на повећање или смањење брзине променљиве „и“.
воид лооп () { фор (инт и = 0; и <180; и ++) { серво1.врите (и); серво2.врите (и); серво3.врите (и); серво4.врите (и); кашњење (10); } за (и = 180; и> 0; и--) { серво1.врите (и); серво2.врите (и); серво3.врите (и); серво4.врите (и); кашњење (10); } }
Контрола више серво сервера са Ардуино-радом:
Сви се суочавамо са тренутним проблемом док користимо више од два серво-погона са једним Ардуином. Једино решење за ово је повезивање спољног напајања са одговарајућом количином струје (у овом пројекту сам користио 2А са напајањем од 9в). За екстерно напајање можете да користите адаптере, РПС (регулисани инструмент за напајање) или квалитетне батерије од 9 волта, а можете и да користите УСБ порт за преносни рачунар за напајање малих серво-уређаја. Да бисте користили спољно напајање, довољно је да спојите Ардуино масу на спољно напајање.
Користите Ардуино код дат у наставку за програмирање вашег Ардуина и повежите све серво моторе као што је приказано на дијаграму кола уз правилно напајање мотора. Стога ће сви серво уређаји радити заједно без икаквих прекида.