- Потребни материјали
- Концепти следбеника линија
- Објашњење кола
- Рад линијског следбеника помоћу МСП430
- Кружни дијаграм
- Објашњење програмирања
Робот за следбенике линија један је од популарних пројеката роботике међу студентима и почетницима због своје једноставности. Следи црта или црна или бела, у зависности од тога како програмирате микроконтролер. Овде правимо робота за праћење линија помоћу лансирне рампе МСП430 компаније Текас Инструментс, која прати црну линију. Ако сте нови у МСП430 лансирној плочи, прочитајте наш водич за упаривање у МСП430.
Потребни материјали
- МСП430Г2 ЛаунцхПад компаније Текас Инструментс
- Модул покретачког програма мотора Л298Д
- Повезивање жица
- Модули ИЦ сензора
- Шасија, точак, тобоган
- Енергиа ИДЕ
- Напајање (3.3в) и 5в-12в
Концепти следбеника линија
Концепт следбеника линије повезан је са светлошћу. Користили смо понашање светлости на црно-белој површини. Када светлост падне на белу површину, она ће се скоро у потпуности одразити, ау случају црне површине, црна површина апсорбује светлост. Ово објашњено понашање светла се користи у овом роботу за праћење линија.
У овом роботу за праћење линија заснованом на МСП430 користили смо ИР одашиљаче и ИЦ пријемнике који се називају и фото диоде. Користе се за слање и примање светлости. ИЦ преноси инфрацрвено светло. Када инфрацрвени зраци падну на белу површину, они се одбијају назад и хватају фотодиоде што генерише неке промене напона. Када ИР светлост падне на црну површину, црна површина је апсорбује светлост и зраци се не одбијају назад, па фото диода не прима светлост ни зраке. Да бисте сазнали више о ИР сензорима, следите везу.
Овде у овом роботу за праћење линија заснованом на МСП430 када сензор осети белу површину, тада МСП добија 1 као улаз, а када црну линију МСП добије 0 као улаз.
Објашњење кола
Робота следбеника целе линије можемо поделити на различите одељке попут одељка сензора, одељења управљања и одељка возача.
Одељак сензора: Овај одељак садржи ИР диоде, потенциометар, компаратор (Оп-Амп) и ЛЕД диоде. Потенциометар се користи за подешавање референтног напона на једном терминалу компаратора, а ИЦ сензори осећају линију и пружају промену напона на другом терминалу компаратора. Тада упоређивач упоређује оба напона и генерише дигитални сигнал на излазу. Овде у овом колу смо користили два компаратора за два сензора. ЛМ358 се користи као компаратор. ЛМ358 има уграђена два оптичка појачала са мало шума.
Контролни одељак: МСП430 Лаунцхпад се користи за контролу целокупног процеса робота који прати линију. Излази компаратора повезани су на дигиталне пинове П1_3 и П1_4 МПС430 Лаунцхпад. МСП430 Лаунцхпад чита ове сигнале и шаље команде возачком кругу до следбеника погонске линије.
Одељак возача: Одељак возача састоји се од возача мотора и два једносмерна мотора. Возач мотора користи се за погон мотора јер МСП430 Лаунцхпад не испоручује мотору довољно напона и струје. Тако смо додали склоп покретачког мотора мотора да бисмо добили довољно напона и струје за мотор. Овде смо користили управљачки програм Л298д за погон једносмерних мотора. МСП430 Лаунцхпад шаље команде овом возачу мотора, а затим покреће моторе.
Развили смо Лине Фолловер Роботс користећи различите Мицрцонтроллер:
- Робот за праћење линија помоћу микроконтролера 8051
- Робот следбеник линије који користи Ардуино
- Лине Фолловер Робот који користи Распберри Пи
- Робот за праћење линија помоћу ПИЦ микроконтролера
Рад линијског следбеника помоћу МСП430
Рад следиоца линије је веома занимљив. Робот који прати линију препознаје црну линију помоћу сензора, а затим шаље сигнал на МСП430 Лаунцхпад. Тада МСП430 Лаунцхпад покреће мотор у складу са излазом сензора.
Овде у овом пројекту користимо два модула ИР сензора, наиме леви сензор и десни сензор. Када и леви и десни сензор осете бело, робот се помера напред.
Ако се леви сензор постави на црну линију, робот окреће леву страну.
Ако десни сензор осети црну линију, тада робот скрените удесно док оба сензора не дођу на белу површину. Када дође бела површина, робот поново почиње да се креће напред.
Ако оба сензора дођу на црну линију, робот се зауставља.
Кружни дијаграм
Круг за овог робота за следбенике МСП430 је врло једноставан. Излаз компаратора је директно повезан са дигиталним пин бројевима п1_3 и П1_4 компаније МСП430 Лаунцхпад. А улазни пин ИН1, ИН2, ИН3 и ИН4 возача мотора повезани су на дигитални пин П1_5, П2_0, П2_1, П2_2 МСП430 Лаунцхпад-а. Један мотор је повезан на излазни пин управљача мотора ОУТ1 и ОУТ2, а други мотор је спојен на ОУТ3 и ОУТ4. Овде смо користили напајање од 3.3в за напајање читавог кола, осим модула Мотор Дривер. Снабдели смо 8в у модул возача мотора. Корисник може да користи 5в-12в.
Такође можете да направите свој сопствени ИЦ модул, као што сам ја изградио на Перф Боард-у. Испод је склоп за ИР модул:
Објашњење програмирања
Комплетан програм и видео можете наћи на крају овог чланка.
У програму, пре свега, дефинишемо улазни и излазни пин за сензор и моторе. Затим дефинишите неке макронаредбе за правац праћења линије, а затим напишите директиву за одабир излаза сензора
Напомена: Сензор је можда активан низак или активан висок, па прво проверите колики је излаз сензора, а затим одаберите директиву коментаришући или коментаришући ацтивеЛовМоде . За активно ВИСОКО, коментаришитемакро АцтивеЛовМоде .
#дефине л_сенсор П1_3 #дефине р_сенсор П1_4 инт пинс = {П1_5, П2_0, П2_1, П2_2}; #дефине напред 0к05 #дефине оставио 0к06 #дефине десно 0к09 #дефине стајалиште 0к00 // # дефине ацтивеЛовМоде #ифдеф ацтивеЛовМоде Инт Рес = {напред, лево, десно, заустављање}; #елсе инт рес = {стоп, десно, лево, напред}; #ендиф
Након тога, у функцији подешавања , дајемо смер сензору и затичу мотора. А затим у функцији петље проверавамо улазе и шаљемо излаз модулу покретачког мотора за покретање мотора.
воид сетуп () { фор (инт и = 0; и <4; и ++) пинМоде (пинс, ОУТПУТ); пинМоде (л_сензор, ИНПУТ); пинМоде (р_сенсор, ИНПУТ); } воид лооп () {инт сенсе = (дигиталРеад (л_сенсор) << 1) - дигиталРеад (р_сенсор); за (инт и = 0; и <4; и ++) дигиталВрите (пинови, (рес >> и) & 0к01); }
Постоје четири услова у овом линијском следитељу које смо прочитали помоћу МСП430 Лаунцхпад. Користили смо два сензора, наиме леви и десни сензор.
Услови: Активни ХИГХ излаз
Улазни |
Оутпут |
Покрет Оф Робот |
||||
Леви сензор |
Десни сензор |
Леви мотор |
Ригхт Мотор |
|||
ЛС |
РС |
ЛМ1 |
ЛМ2 |
РМ1 |
РМ2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Зауставити |
0 |
1 |
1 |
0 |
0 |
0 |
Скрените десно |
1 |
0 |
0 |
0 |
1 |
0 |
Скрените лево |
1 |
1 |
1 |
0 |
1 |
0 |
Напред |
Програм је написан према горњим условима табеле. Проверите комплетан код и демонстрациони видео испод.