№11 дәріс Тақырыбы: Моторлар. Әртүрлі жолдар бойынша қозғалыстарды бағдарламалау Мақсаты: Роботтың қозғалтқыштарын әртүрлі жолдар бойынша қозғалуға бағдарламалау.Траекториялар.
EV3 жинағында қозғалтқыштардың екі түрі бар: үлкен және орташа серволар. Сервоқозғалтқыштар (серво жетектері) қозғалыс параметрлерін дәл басқаруға мүмкіндік беретін теріс кері байланыс арқылы басқарылатын құрылғылар. Бұл мүмкіндік білік айналуы тиіс айналымдардың немесе градустардың нақты санын орнатуға және білік айналуының ағымдағы жағдайын басқаруға мүмкіндік береді.EV3 кірпішінде қозғалтқыштарды қосуға арналған A, B, C және D деп белгіленген төрт баламалы шығысы бар.Қозғалтқыштың жылдамдығы әдеттегі бірліктермен немесе пайыздармен орнатылады.
Максималды алға жылдамдығы «100», кері бағытта - «-100».
Жұмыс істеу үшін жасыл бағдарламалау палитрасымен жұмыс істеу керек Әрекет (Әрекеттер) (11.1-сурет).
11.1-сурет - Палитра әрекеті (әрекеттер)
Үлкен моторлы және орташа қозғалтқыш блоктары (үлкен қозғалтқыш және орташа қозғалтқыш). Палитраның бірінші блогы Орташа қозғалтқыш деп аталады, екіншісі - Үлкен қозғалтқыш. Блоктар бір қозғалтқышты басқару үшін пайдаланылады және бірдей функционалдылыққа ие. Үлкен мотор блогының мысалын пайдаланып, блоктардың құрылымын қарастырыңыз (11.2-сурет).
11.2-сурет - Қозғалтқышты басқару блогы Әрбір басқару элементін толығырақ қарастырайық.
1. Жұмыс режимін таңдау.
a) Қосу (Cурет 11.3).
11.3-сурет - Қосу режимі
Бұл режим таңдалған кезде қозғалтқыш орнатылған жылдамдықта үздіксіз жұмыс істейді. Жылдамдық жұмыс режимін таңдаудың оң жағына орнатылады, бұл жағдайда 50. Бұл режим не шарттар көрсеткіштерін қамтитын бағдарлама құрылымдарымен бірге қолданылады, не бағдарламаның соңына дейін орындалады. Мысалы, сенсор X мәнін оқығанша немесе айнымалы Y мәнін алғанша жүргізіңіз.
б) секундтар бойы қосыңыз (Cурет 11.4).
11.4-сурет - секундтар бойынша жұмыс режимі
Бұл режимде қозғалтқыш белгіленген секунд санына белгіленген жылдамдықта жұмыс істейді. Жұмыс уақыты жылдамдық анықтамасының оң жағына орнатылады, бұл жағдайда қозғалтқыш 1 секунд ішінде 50 бірлік жылдамдықпен алға айналады.
в) градус санын қосыңыз (11.5-сурет).
11.5-сурет - градустар бойынша жұмыс режимі
Көрсетілген мысалда қозғалтқыш білігі 50 жылдамдықпен 360 градусқа айналады.
Сызықтық бағдарламада қозғалысты басқару тоғынан кейінгі блоктар қозғалтқыш білігі қажетті дәреже немесе айналым санын айналдырмайынша, градустар немесе айналымдар орындалмайды.
Сондықтан, егер қозғалтқыштың тұрып қалу мүмкіндігі болса, бағдарлама біліктің берілген мәнге айналуын күтіп, жұмысын тоқтатпау үшін мотор қозғалысының уақытты орнату режимін пайдаланыңыз. Әйтпесе, қозғалтқыш білігі айналмаса да, бағдарлама белгіленген секундтар санынан кейін жұмысын жалғастырады.
г) Айналым санын қосыңыз (11.6-сурет).
Бір бұрылыс = 360 градус
11.6-сурет - Айналым бойынша жұмыс режимі e) Өшіру (11.7-сурет)
Құрылғы қозғалтқышты кенет тежеу арқылы немесе бірте-бірте тоқтатады.
11.7-сурет - Қозғалтқышты тоқтату
2. Моторды тоқтату режимін таңдау (Cурет 11.8).
Қозғалтқышты күрт тежеу қажет болған жағдайда, параметр қажет моторды тоқтату режиміне жауап беретін «Соңында тежеу» True мәніне орнатылады.
Тоқтағаннан кейін қозғалыс инерциямен жалғасып, бірқалыпты аяқталуын қаласақ, параметр мәнін False мәніне қойыңыз.
11.8-сурет - Қозғалтқышты тоқтату режимдері «Моторды тәуелсіз басқару» блогы
Бұл блок (11.9-сурет) бірдей немесе әртүрлі жылдамдықтағы екі қозғалтқыштың бір мезгілде қозғалысын орнатады.
11.9-сурет – Екі қозғалтқыштың бір мезгілде қозғалу блогы
Бұл блок роботты түзу сызықта немесе алдын ала анықталған қисық сызықты траектория бойынша қозғалуға орнату үшін пайдалы.
«Рульдік басқару» блогы
Блок рульдік доңғалақпен жүруді еске түсіреді (11.10-сурет).
11.10-сурет – Рульдік басқару түрі бойынша қозғалысты басқару блогы
Төмендегі суретте робот 50 бірлік жылдамдықпен тура жүретін параметрлер көрсетілген. «Руль» тікелей орналасқан: бұл жағдайда ауытқу параметрі нөлге тең. Қозғалыстың шамамен траекториясын тек нөмір бойынша ғана емес, сонымен қатар графикалық түрде «Рульдік басқару» аймағын басу арқылы орнатуға болады (11.11-сурет). Сағатжүгірткіні жылжыту арқылы жылдамдық мәндерін өзгерту, көрсеткі саны мен түрі өзгереді.
11.11-сурет – Параметр арқылы қозғалысты орнату
«Рульдік басқару»
Бірінші суретте шеткі сол жаққа жылжытылған жүгірткі бар. Бұл жағдайда дөңгелектер бірдей жылдамдықпен қарама-қарсы бағытта айналады, ал робот өз осінен айналады.
Екінші, үшінші және төртінші суреттер әртүрлі қисықтық доғалар бойымен бұрылыстарды көрсетеді. Бесінші суретте қозғалыс түзу сызықта көрсетілген.
Қозғалтқыштың айналуын инверттеу.
EV3 нұсқасында енгізілген тағы бір кәсіби автокөлік механизмі бар. Айналдыру инверсиясы келесі жағдайларда қолданылады:
- Құрылымдық жағынан қозғалтқыштар алға қозғалысты орнату үшін минус белгісімен жылдамдықтарды орнату қажет болатындай етіп орналастырылған. Бағдарламаның басында қозғалтқыштарды бір рет төңкеріп, содан кейін интуитивті бағыттармен жұмыс істеңіз: «плюс» алға, «минус» - кері. Мысалы, роботтың қозғалтқыштары -50 жылдамдықпен орналасатын болса робот алға жылжиды, содан кейін инверттік блокты орнатқаннан кейін 50 жылдамдық роботты осы жылдамдықпен алға жылжытады;
- егер айналу бағытын бағдарламалық түрде өзгерту қажет болса. Инвертивті қозғалыс сызық бойымен әртүрлі қозғалыстарды бағдарламалағанда өте пайдалы болады, мысалы, инверсияны жүргізу үшін, робот алдымен ақ фонда қара сызық бойымен қозғалғанда, содан кейін қара фонда жүріп, ақ сызық бойымен жүруі керек. . Инвертті блоктарды пайдалану бағдарламаны әлдеқайда қысқа және түсінуді жеңілдетеді.
Инверсиямен жұмыс істеу үшін сізге бағдарлама блоктары қажетКөгілдір Кеңейтілген бағдарлама палитрасында (Қосымшалар) орналасқан «Реттелмейтін қозғалтқыш» және «Инверт қозғалтқышы». Бір бағдарлама блогымен бір уақытта екі қозғалтқышты таңдай алмайтыныңызды ескеріңіз, порт таңдау терезесінде тек бір опцияға рұқсат етіледі.
Суретте. 11.12 сипатталған механизмді көрсететін бағдарлама фрагментін көрсетеді. «А» қозғалтқышы оң бағытта бір айналымға 75 бірлікпен айналады, содан кейін 1 секундқа кері айналдыра бастайды.
11.12-сурет – А қозғалтқышының қозғалысын өзгерту
Жоғарыдағы мысалда соңғы блок қозғалыс уақытын шектеу блогы болып табылады. Бағдарламаның соңында үздіксіз қозғалыс блогын қалдыру мүмкін емес, робот бұл әрекетті орындамайды. Сіз әрқашан шектеу қоюыңыз керек: сенсордың көрсеткіштері немесе айнымалы мән қажетті мәнге немесе уақытқа тең болғанша айналымдар саны, градус бойынша жүріңіз.