Серво моторлардың басқаруы деген не?
Серво моторлардың басқаруының анықтамасы
Серво моторлардың басқаруы (немесе серво моторлардың сөрбері) - бұл серво мотордың орнын басқару үшін қолданылатын схема.
Серво моторлардың сөрберінің схемасы
Серво моторлардың сөрберінің схемасы микроконтроллер, энергия жабдықтау, потенциометр және коннекторларды қамтиды, бұл тəминеді мотордың так басқаруын.
Микроконтроллердің рөлі
Микроконтроллер белгілі аралықтарда PWM импульстерін жасап, серво мотордың орнын так басқарады.
Энергия жабдықтау
Серво моторлардың басқаруы үшін энергия жабдықтау құрылғысы қосылған моторлардың санына байланысты құрастырылады. Серво моторлар көбінесе 4.8V-ден 6V-ге дейінгі энергия жабдықтау қолданады, стандартты 5V. Энергия жабдықтау напряжениесын жеңілдету моторды зияндетеді. Ағым тарту торкелу мен өзара байланысты, ойын режимінде төмен, ал іске қосылғанда жоғары. Максималды ағым тарту, стоп ағым деп аталатын, бірнеше моторлар үшін 1A-ға дейін жетеді.
Бір моторды басқару үшін LM317 сияқты вольт регуляторын термодисипатормен қолданыңыз. Бірнеше мотор үшін жоғары ағым рейтингі бар жақсы энергия жабдықтау қажет. SMPS (Switched Mode Power Supply) - жақсы таңдау болады.
Төменде серво моторлардың сөрберіндегі байланыстарды көрсететін блок-схема

Серво моторды басқару
Серво мотор уш терминалы бар.
Орнын сигналы (PWM импульстері)
Vcc (энергия жабдықтау)
Жер

Серво мотордың бұрыштық орны аралықтары бойынша өзгеріп отыратын PWM импульстерін қолдану арқылы басқарылады. Импульстердің ұзақтығы 0 градус үшін 0.5ms-тен 180 градус үшін 2.2ms-ке дейін өзгереді. Импульстер 50Hz-ден 60Hz-ге дейінгі частоталарда берілуі керек.
ПАМ (Pulse Width Modulation) формасын қалыптастыру үшін, төмендегі суретте көрсетілгендей, микроконтроллердің ішкі ПАМ модулі немесе таймерлер қолданылады. ПАМ блогын қолдану большинство микроконтроллердің дизайнына қарай гибче, мысалы, серво мотор үшін. Қазіргі ПАМ импульстерінің өлшемдеріне қарай ішкі регистрлерді программалау қажет.
Енді микроконтроллерге қанша айналу керектігін айтқанымыз керек. Осы мақсатта біз жоғары деңгейдегі потенциометрді қолданып, АЦП арқылы бұрышты алуға болады, немесе қиындар қолданылымдар үшін акселерометр қолданылады.

Программа алгоритмі
Біз бір серво моторды басқару үшін программа құрастырамыз, орнын потенциометр арқылы береміз, ол контроллердің пиніне қосылған.
Кіріс-шығыс үшін порт пиндерін инициализациялаңыз.
Өткізілетін серво орны үшін АЦП-ді оқыңыз.
Өткізілетін мән үшін ПАМ регистрлерін программалаңыз.
ПАМ модулін басқаратқанда, таңдалған ПАМ каналының пині жоғары (логикалық 1) болады, ал қажетті ені жеткенде, ол қайта төмен (логикалық 0) болады. Сондықтан ПАМ-ні басқаратқаннан кейін, сіз қайта 19 ms-қа дейін таймерді жүктеп, таймер толып шығуға дейін күтеміз2-ші адымға өту
Сіз таңдаған микроконтроллерге байланысты қолдану үшін әртүрлі ПАМ режимдері бар. Серво моторды басқару үшін кодта қандайда бір оптимизация жасалуы керек.
Егер сіз бірнеше серво моторды қолдану өтінеміз, онда сізге сәйкес ПАМ каналдары қажет. Ар бір серво моторға ПАМ сигналы ретімен қосылатын. Бірақ сіз әрбір серво мотор үшін импульстердің қайталану темпін сақтауыңыз керек. Егер сіз оны сақта алмасаңыз, серво моторлар синхронизациясында қате болады.