Ү.ARDUINO ПЛАТФОРМАСЫ
Arduino – әртүрлі датчиктерді, светодиодтарды, электрқозғалтқыштарын басқаратын, мәліметтерді қабылдайтын және жіберетін арнайы баспа платасынан тұратын кішкентай электронды құрылғы болып табылады. Құрылғыда өзінің жеке процессоры және жадысы бар болады.Ардуино - бұл әртүрлі электронды құрылғыларды жылдам әрі оңай құруға арналған, ашық бастапқы коды бар платформа. Ол әртүрлі датчик арқылы қоршаған ортадан мәліметтер ала алады.Arduino – сыртқы құрылғылардың немесе аспаптардың контроллерлерінде пайдалануға арналған мамандандырылған микропроцессор. Atmega - микроконтроллері Ардуиноның миы болып саналады. Микроконтроллерде әр түрлі жадысы микропроцессор бар. Ал, енді Ардуиноның қолдары болып электрлік шығыстары болып саналады. Шығыстар сәйкесінше аналогты және сандық болады. Осы шығыстарға көптеген әр түрлі перифериялық құрылғылар жалғанып, басқарылады.Ардуиноға арналған бағдарлама кәдімгі С++ тілінде жазылады, байланыстағы кіріс және шығысты басқаратын, реттейтін оңай әрі түсінікті функциялармен толықтырылады. Платадағы микроконтроллер Ардуино бағдармалау тілі арқылы бағдармаланады. Бағдарламалауды жүзеге асыру үшін арнайы программатор қажет етілмейді, бағдарлама USB порты
арқылы енгізіледі. Ардуиноның процессорына берілген алгоритм бойынша жасаған құрылғыны реттеуге болатын бағдарламаны жүктеуге болады. Осылайша, ардуино арқылы өз ойымыздан, өз қолымызбен саны шексіз бірегей гаджеттер, роботтар, әртүрлі құрылғылар жасауға болады. Ардуиноныңерекшелігі дәнекерлейтін аспапты қажет етпейді, яғни, ол дегеніміз арнайы жалғастырғыш, қосқыш және орам арқылы кез келген құрылғыны дәнекерлемей-ақ ыңғайлы түрде жылдам жинақтауға болады. Ардуиноның тағы бір ерекшелігі shields немесе «шилд» деп аталатын кеңейту платасының болуы. Ол Ардуино бетіне киілетін және оған жаңа мүмкіндіктер беретін қосымша платалар. Мысалы үшін, мынадай кеңейту платалары бар: Ethernet Shield – бұлжергілік желіге және интернетке қосылу үшін, Motor Shields – әртүрлі қуатты қозғалтқыштарды басқару үшін, GPS модуль – спутниктен уақытты және орналасу нүкте жөнінде ақпарат алу үшін және тағы басқалары.
Cурет – Arduino Uno платасының элементтері
Arduino Uno – базалық Ардуино платформасындағы ең танымал нұсқасы. Платада ATMega328 микроконтроллері орналасқан, ол программаларға арналған 2 кб оперативті жады, 32 кб флэш жадысы бар. Компьютерген жалғағыш USB порты бар, сол қорек көзі болып табылады. 14 сандық кіріс-шығыс порты және 6 аналогты порты бар. 4 светодиод бар: 1- қорек көзінің индикаторы, 2- L 13портқа қосылған, 3-4 RX және TX тізбектелген порт арқылы мәліметтер алмасуға арналған. Сондай-ақ қайта жүктеуге арналған кнопкасы бар. Компьютерге жалғағанда арнайы программаторды қажет етпейді. Мұның артықшылығы болып негізгі платаны қосымша плата арқылы жалғап кеңейтілуі. [13]
Cурет – Arduino Uno платасының әртүрлі электронды құрылғылармен қосылу мүмкіндігі
Ардуино және оның типтерінде дайын электронды блок және бағдарламалық қамтамасыз етіп тұратын жиынтықтар бар. Мұндағы электрондық блок – оның жұмысы үшін қажет микроконтроллер және элементтердің ең аз жиынтығы бар тізбек тақта. Шын мәнісінде Ардуино блогы қазіргі компьютер аналық тақтасының аналогы болып табылады. Ол сыртқы құрылғыларға арналған қосқыштарды, сондай-ақ компьютерге қосылу үшін қосқышы бар, сол арқылы микроконтроллерді бағдарламалау жүзеге асырылады. Atmel фирмасының ATmega микроконтроллерін пайдаланудың ең тиімді жағы бағдарламалау үшін арнайы программатор қолданылмайды. Жаңа электронды құрылғыны жасау үшін бар болғаны Ардуино тақтасы, кабельдік байланыс және компьютер болса жеткілікті. Жобаның екінші бөлігі басқару бағдарламаларын жасау үшін Ардуино бағдарламасы болып табылады. Бағдарламалау тілі аралас С/С++ тілдерін алмастыра алатын қарапайым тілдерді біріктіре алды. Сондықтан Ардуино тақтасымен жұмыс жасау үшін бар болғаны С/С++ тілдерінің негіздерін білу қажет. Ардуиноға арналып әр- түрлі құрылғылармен жұмыс жасай алу үшін кодтардан тұратын көптеген кітапханалар жасалынды[14].
ATmega328 микроконтроллері
Arduino Uno платформасының жүрегі болып 8-биттік AVR микроконтроллерінің тұқымдасы — ATmega328 микроконтроллері болып табылады.
ATmega16U2 микроконтроллері
ATmega16U2 микроконтроллері – ATmega328 микроконтроллері және компьютердің USB-порт арасындағы байланысты қамтамасыз етеді. Arduino Uno микроконтроллерін дербес компьютерге қосқанда виртуальды COM-порт болып анықталады. 16U2 микросұлбасын енгізу үшін USB-COM стандартты драйверін қолданады, сондықтан сыртқы драйверлерді орнату қажет етілмейді.
Қорек көзі пиндері
VIN:Сыртқы қорек көзі кернеуі (USB-ден келген 5 В және басқа да тұрақтандырылған кернеумен байланысты емес). Егер құрылғыға сыртқы адаптер қосылған болса, онда бұл шығыс арқылы қорек көзін таратуға және тоқты тұтынуға болады.
5V:Платаның тұрақтандырғышынан бұл шығысқа 5 В кернеу келіп түседі.Бұл тұрақтандырғыш ATmega328 микроконтроллерінің қорек көзін қамтамасыз етеді. Құрылғыны 5 В шығыс арқылы қоректендіру ұсынылмайды, бұл жағдайда кернеу тұрақтандырғыш қолданылмайды, яғни, плата істен шығады.
3.3V:Платаның тұрақтандырғышынан 3,3 В. Шығыстың максимальды тоғы— 50 мА.
GND: Жерлендіру шығысы.
IOREF: Бұл шығыс кеңейту платаларына микроконтроллердің жұмыс істеу кернеуі туралы ақпаратты жеткізеді. Кернеуге байланысты кеңейту платасы сәйкес қорек көзіне ауысуы немесе түрлендіру деңгейінде жұмыс істеуі мүмкін. Түрлендіру деңгейі дегеніміз құрылғының 5В және 3,3 В жұмыс істеу мүмкіндігі
2.1-кесте – Светодиодтық индикация
Светодиод аты
|
Тағайындалуы
|
RX және TX
|
Arduino Uno және дербес компьютер арасындағы ақпарат алмасуы кезінде жанып өшеді.
|
L
|
13-ші шығыстың светодиоды.HIGH мәнін жібергенде светодиод жанады, LOW мәнін жібергенде өшеді.
|
ON
|
Платаның қорек көзі индикаторы.
|
Кіріс/шығыс порттары
Сандық кірістер/шығыстар:0-13 пиндері Бірдің логикалық деңгейі — 5 В, нөлдікі — 0 В. Шығыстың максимальды тоғы— 40 мА. Бұларға резисторы жалғанған, қалыпты жағдайда олар өшірілген, бірақ бағдарлама бойынша қосылуы мүмкін.
ЕИМ(ендік-импульс модуляциясы):3, 5, 6, 9, 10 және 11 пиндері 8-биттік аналогты мәндерді ЕИМ-сигнал түрінде көрсетуін рұқсат етеді.
АСТ(аналогты-сандық түрлендіргіш): А0-А5 пиндері 6 аналогты кірістер, бұлардың әрқайсысы аналогты кернеуді санның 10- биттік (1024 мағына) түрінде көрсете алады.
TWI/I²C:SDA және SCL пиндері перифериямен 2 сым арқылы синхронды түрде ақпарат алмасу. Мұнымен жұмыс жасау үшін Wire кітапханасын пайдалану керек.SPI:10 (SS), 11(MOSI), 12(MISO),
13(SCK) пиндері. Бұл пиндер арқылы SPI интерфейсі бойынша байланыс жүзеге асады. Мұнымен жұмыс жасау үшін SPI кітапханасын пайдалану керек.
UART:0(RX) және 1(TX). Бұл шығыстар, сәйкесінше, ATmega16U2 микроконтроллерінің шығыстарымен жалғанған, USB-UART түрленуін орындайды. Ардуино платасының компьютермен немесе басқа да құрылғылармен байланысы үшін қолданылады.
USB Type-B жалғағышы
USB Type-B жалғағышы Arduino Uno платасын компьютер көмегімен жазуға(прошивка) арналған.
Сыртқы қорек көзіне арналған жалғағыш
Сыртқы қорек көзі 7 В-тен 12 В-ге дейін қосуға арналған жалғағыш.
ATmega328P микроконтроллеріне арналған ICSP-жалғағыш
ICSP-жалғағышы ATmega328P микроконтроллерін ішкі сұлбалық бағдарламалауға арналған.SPI кітапханасын пайдалану арқылы шығыстар кеңейту платасымен SPI интерфейсі бойынша байланыс орын алады.
ATmega16U2микроконтроллеріне арналған ICSP-жалғағыш
ICSP-жалғағышы ATmega16U2 микроконтроллерін ішкі сұлбалық бағдарламалауға арналған.
Сипаттамалары
Микроконтроллер: ATmega328
Тактілік жиілігі: 16 МГц
Логикалық деңгей кернеуі: 5 В
Қорек көзінің кіріс кернеуі: 7–12 В
Кіріс-шығыс порттарының жалпы саны: 20
Кіріс-шығыс пиндерінің максимальды тоғы: 40 мА
3.3V пинінің максимальды шығыс тоғы: 50 мА
5V пинінің максимальды шығыс тоғы: 800 мА
ЕИМ қолдауы бар порт саны: 6
АСТ порт саны: 6
АСТ разрядтылығы: 10 бит
Flash-жадысы: 32 КБ
Оперативтіжадысы: 2 КБ
Габаритттері: 69×53 мм
Motor Shield платасы
Motor Shield — бұл Ардуиноға арналған кеңейту кеңейту платасы. Бұл 4 каналы бар тұрақты тоқ қозғалтқышының айналу бағытын басқаратын, реттейтін плата. Ардуинода орналасқан микроконтроллер өзінің сандық шығыстарындағы үлкен жүктемемені басқара алмайды. Микроконтроллер аядқтарындағы максимальды мүмкін болатын шығыс тоғы – 40 мА. Үлкен жүктемені басқару үшін арнайыланған құрылғы бар. Осындай құрылғыға
Мотор шилд жатады. Ол кернеуі 5-24 В және каналдағы максимальды тоғы 2 А-ге дейін жұмыс жасайды[15].
Cурет – Motor Shield L293D платасының негізгі элементтері: 1- микросұлба L293D; 2-бес пині бар жалғағыш;3-ығысу регистрі 93DN8WY;4-
сервожетек қосылатын жалғағыш;5-джампердің тұйықталу қорек көзі;6- сыртқы қорек көзі;7-қалпына келтіру түймесі;8-қосылу индикаторы;
Motor Shield L293D – бұл плата бір мезетте Ардуиноға 4 коллекторлы тұрақты тоқ қозғалтқыштарын немесе екі биполярлы адымдаушы қозғалтқыштарды қосуға мүмкіндік береді. Сондай-ақ платада 2 сервожетектерді қосуға мүмкіндік беретін жалғағыштар бар.
Мотор шилдтің бортында 2 L293D микросұлбасы(1) бар. Ол каналдағы 600 мА тұтынатын қозғалтқышты басқаруға мүмкіндік береді. Бес пині бар 2 каналға 4 қозғалтқышты (M1, M2, M3, M4) жалғауға болады, олардың әрқайсысындағы ортаңғы пин жерлендірумен жалғанған. L293D микросұлбасы 4 коллекторлы тұрақты тоқ қозғалтқыштарын немесе екі биполярлы адымдаушы қозғалтқыштарды қосуға мүмкіндік береді. Айналу бағытына(IN1, IN2, IN3, IN4) жауап беретінL тікелей шығысын басқару үшін 4 шығыс қажет, ал бізде сұлбада L саны екеу, сондықтан екі 2 L микросұлбасы үшін 8 шығыс қажет. Платада басқару шығыстарын азайту үшін ығысу регистрі 93DN8WY орналасқан(3). Регистрдің арқасында 8 пинді басқару 4 пинге азаяды. Сондай-ақ платада сервожетектерді қосуға арналған жалғағыштар(4) орналасқан. Сервожетектерді басқару Servo.h стандартты кітапханасы арқылы жүзеге асырылады. Платаны қоректендіру джампер арқылы тұйықталу(5) және сыртқы қорек көзі(6) арқылы жүзеге асады. Сыртқы қорек көзі көмегімен қозғалтқышты қоректендіру үшін ол ардуиноның Vin шығысы арқылы жалғанады. Джампер арқылы тұйықталу кернеуі 6-12 Вольт аралығында болуы керек.
Cурет – Motor Shield L293D платасына 4 коллекторлы тұрақты тоқ козғалтқыштарының қосылу сұлбасы
Мотор шилдтің кемшілігі ретінде оның іс жүзінде барлығына дерлік сандық пиндерді қолдануы:
Қозғалтқыштың айналу жылдамдығына жауап беретін шығыстар: 11-ші сандық шығыс- DC Мотор №1
3-ші сандық шығыс- DC Мотор №2 5-ші сандық шығыс- DC Мотор №3 6-шы сандық шығыс- DC Мотор №4
Қозғалтқыштың айналу бағытына анықтауға жауап беретін шығыстар: 4-ші, 7-ші, 8-ші және 12-ші сандық шығыстар
Сервожетектерді басқаруға арналған шығыстар (платаның шетіндегі түйреуіштер):
шы сандық шығыс - сервожетек№1 10-шы сандық шығыс- сервожетек №2
Нәтижесінде қолданылмаған шығыс болып 2-ші, 13-ші және UART-0, 1 интерфейс пиндері қалады. Сонымен қатар қолданылмаған пиндер болып аналогты А0-А6 кірістері қалды. Бұларды сандық шығыс ретінде де қолдануға болады. Бірақ, олар сандық ретінде 14-тен 19-ға дейін болып жазылады.Ардуиноға киілгеннен кейін Мотор шилдпен жұмыс жасау үшін AFMotor.h кітапханасы қажет[16].
2.3 Ультрадыбыстық датчик HC-SR04
Ультрадыбыстық датчик – электр энергиясын ультрадыбыстық толқындарға түрлендіретін сенсорлы құрылғы. HC-SR04 модулі қандай да бір объектке дейінгі қашықтықты анықтау үшін акустикалық сәулеленуді пайдаланады. Байланыссыз бұл датчик жоғары дәлдікті және тұрақты өлшеуді қамтамасыз етеді. Қашықтық өлшеу диапазоны 2-400 см аралығы. Датчиктің қашықтық өлшеп көрсетуіне күн сәулесі және ешқандай электромагниттік шу әсер етпейді.
HC-SR04 техникалық сипаттамалары
Қорек көзі кернеуі: +5В – тұрақты тоқ;
Қалыпты жағдайдағы тоқ күші: < 2 мА;
Жұмыс істеуі кезіндегі тоқ күші: 15 мА;
Өлшеу арақашықтығы: 2 см-ден 400 см-ге дейін (1 – 13 дюймов);
Рұқсат етілу қабілеті: 0.3 см;
Өлшеу бұрышы: 30 градусов;
Өлшемі: 40 мм x 20 мм x 15 мм.
Cурет – Ультрадыбыстық датчик HC-SR04 және оның өлшемі
Cурет – Датчиктің жұмыс істеу принципі
HC-SR04 датчигі 40 кГц жиілікте қысқа бағытталған сигналды тудырады және шағылысқан сигналды(эхо) қабылдайды.Дыбысты уақыт бойынша объектке дейін және артқа қайтадан таратып объектке дейін қашықтықты анықтайды.
Пиндері:
VCC: +5 вольт (тұрақты тоқ)
Trig : Триггер (INPUT)
Echo: Эхо (OUTPUT)
GND: Жерлендіру
HC–SR04 датчигінің Ардуиноға қосылуы
Бұл мысалда ультрадыбыстық датчик HC–SR04 арақашықтықты анықтайды және алынған мәндерді Arduino IDE ортадағы сериялық монитор терезесінде көрсетед. Бұл мысал арқылы ультрадыбыстық датчиктің жұмыс істеу принципін түсіну болып табылады.
Cурет – HC–SR04 датчигінің Ардуиноға қосылуы
2.4 Tower Pro SG90сервожетегі
Сервожетек – берілген бұрышқа бұрылатын редукторы бар электрқозғалтқыш. Сервожетек(қадағалағыш жетек) – теріс кері байланыс арқылы басқарылатын жетек, қозғалу параметрлерін нақты басқаруға мүмкіндік беретін құрылғы. Сервожетектер өлшемі, бұрылу бұрышы, бұрылу жылдамдығы, сапасы бойынша бөлінеді.
Cурет – Tower Pro SG90 сервожетегі Сипаттамалары:
жұмыс істеу кернеуі: 3.5-8.4 В;
бұрылу бұрышы: 180 град;
бұрылу жылдамдығы (4.8 В, жүктемесіз): 0.12 сек (60 град);
білекке күш салу (4.8 В, 1 см): 2 кг;
өлшемі, см: 3.3x3x1.3;
жұмыс істеу температурасы: -30 +60 C;
басқарылуы: 3 өткізгіш
салмағы: 9 грамм.
Сервожетекті 3 бөлшекке бөліп қарастырайық: қозғалтқыш, редуктор, басқару платасы.
Қозғалтқыш — қарапайым кішкентай қозғалтқыш, екі бағытта да тұрақты түрде үлкен жылдамдықпен айналады.
Редуктор — тісті доңғалақтардың механикалық блогы. Ол қозғалтқыштың айналу жылдамдығын бояулатады және сыртқы білекке айналуды жібереді. Сондай-ақ редукторда максимальды бұрылу бұрышын шектейтін сұққыш бар[18].
Басқару платасы — кіріс басқару пәрмендерін басқарылатын сигналға түрлендіреді. Ол өз кезегінде қозғалтқышты қорек көзіне қосады (оңға немесе солға айналу үшін). Ағымдағы біліктің бұрылу бұрышын анықтау үшін редукторға айнымалы резистор жалғанған. Плата айнымалы резистор көрсеткішін оқиды және оны пәрмен мәнімен салыстырады да, айырмашылығын есептейді және қозғалтқыштың қай бағытта айналатынын анықтайды.
Cурет – Сервожетектің ішкі құрамы:1-Қосылуға арналған біріктіргіш; 2 – Сигналдарды өңдеу, сервожетектерді басқару сұлбасы;3 – Потенциометр; 4 –
Қозғалтқыш; 5–Білік;
Сервожетек қосылу пиндері:
Қоңыр өткізгіш – Жерлендіру ( Ground, Arduino платасындағы GND пиніне қосылады)
Қызыл өткізгі –+5 V қорек көзі (5V Arduino платасындағы 5Vпиніне қосылады)
Сары өткізгіш– Басқару сигналы (Arduino платасындағы сандық пиннің біріне қосылады)
Cурет – Сервожетектің Ардуиноға қосылу сұлбасы
Бұл сұлбаға стандартты скетчті қолдансақ болады:Файл -> Примеры -
>Servo->Sweep
Бұл стандартты кітапхананы ашқаннан кейін әдеттегідей пікірлерді алып тастаймыз, сонымен қатар бастапқы орнын 1-ге ауыстырдым 1 (int pos
= 1;), себебі 0 орналасқан жерінде менің сервожетегім шиқылдайды. Берілген скетч SG90 сервожетегін ары-бері қозғалуын мәжбүр етеді. Бағдарламаның ең басына "Servo.h" кітапханасын қосамыз. Ол Ардуиноның стандартты кітапханасы болғандықтан ол IDE Arduino\libraries\ папкасында сақталған.
Тұрақты тоқ қозғалтқыштары (DC motor) – тұрақты тоқ электр энергиясын механикалық энергияға айналдыратын машина болып табылады. Көп жағдайда ең қарапайым электрқозғалтқыштары болып табылады. Статорда магниттер болады және магнит ағыны бар роторда орамдар болады, олар өз кезегінде ток күші түскенде ғана жұмыс жасайды. Сонымен қатар мотордың ішінде ротор қозғалуға мәжбүрлейтін шөткелер бар. Қорек көзінен тұрақты тоқ қозғалтқыштарын қолданғанда оларды басқару үшін ештеңенін қажеті жоқ. Олардың айналу жылдамдығы оған түскен ток күшіне байланысты. Тұрақты тоқ қозғалтқышының кері бағытта айналуын қамтамасыз ету үшін олардың қорек көзінен келген контактілерде керісінше қосу керек. [17]
Cурет – Дөңгелегі және редукторы бар DC Motor
Робот модельдеріне және автокөлікке арналған дөңгелегі және редукторы бар тұрақты тоқ электрқозғалтқышы.
Сипаттамасы:
Жұмыс істеу кернеуі: 6V
Тоқ күші: <240mA
Тарту салмағы: 0.8kg
Жұмыс істеу кернеуі: 3V
Тоқ күші: <160mA
Тарту салмағы: 0.35kg
Масштаббы: 1:48
Ортаңғы тесігі: 5.3*3.66 мм/0.2*0.14
Дөңгелек өлшемі: approx.66 * 26 мм/2.59*1.02
Джампер (жалғастырғыш) – ардуино мен бредбордты қосқыш өткізгіштер(папа+папа, мама+папа, мама+мама)[21].
Cурет – Екі дөңгелекті мобильді роботтың құрылымдық сұлбасы
Cурет – Екі дөңгелекті мобильді роботқа керекті негізгі материалдар
Cурет – Екі дөңгелекті мобильді роботқа керекті қосымша материалдар
160ma>240ma>
Достарыңызбен бөлісу: |