- Потребни материјали:
- Концепти следбеника линија
- Шема и објашњење:
- Програмирање ПИЦ микроконтролера:
- ПИЦ следбеник линије у акцији:
Лине Фолловер Робот је једноставан, али фасцинантан робот за изградњу већине ученика / хобиста. У овом упутству ћемо научити како ради Робот за праћење линија и како га можемо направити помоћу ПИЦ микроконтролера ПИЦ16Ф877А. ПИЦ16Ф877А је 40-пински вишенаменски микроконтролер компаније Мицроцхип, користили смо овај ИЦ у нашој комплетној серији водича за ПИЦ. Ако сте нови, овде ћете можда желети да погледате ове водиче за ПИЦ да бисте научили основе ове ИЦ и како пренети програме на микроконтролер. Будући да смо ове податке већ обрадили у нашим водичима, прескочит ћемо их у доњем објашњењу.
Ако сте заинтересовани за роботику, требало би да вам је добро познато име „ Лине Фолловер Робот “. Овај робот је способан да прати линију, само користећи пар сензора и мотора. Овај робот вам даје простор за бесконачни развој, а роботи попут Киве (Амазон складишни робот) пример су за то. Такође можете проверити наше друге роботе следбеника линија:
- Робот за праћење линија помоћу микроконтролера 8051
- Робот следбеник линије који користи Ардуино
- Лине Фолловер Робот који користи Распберри Пи
Потребни материјали:
- ПИЦ16Ф877А
- ИР сензор (2Нос)
- Мотор са једносмерном зупчаницом (2Нос)
- Л293Д Мотор Дривер
- Лежаљке (Можете и сами да направите свој картон)
- Повер банк (било који доступан извор напајања)
Концепти следбеника линија
Лине Фолловер Робот је у могућности да прати линију уз помоћ ИЦ сензора. Овај сензор има ИР предајник и ИЦ пријемник. ИР предајник (ИР ЛЕД) преноси светлост, а пријемник (фотодиода) чека да се враћена светлост врати. ИЦ светло ће се вратити назад само ако га рефлектује површина. Док све површине не одражавају ИЦ светлост, само их бела површина у боји може у потпуности одбити, а површина црне боје у потпуности ће их посматрати као што је приказано на доњој слици. Овде сазнајте више о модулу ИР сензора.
Сада ћемо користити два ИР сензора да проверимо да ли је робот у трагу са линијом и два мотора да исправимо робота ако се помери са стазе. Ови мотори захтевају велику струју и требали би бити двосмерни; стога користимо моторни модул попут Л293Д. Такође ће нам требати микроконтролер попут ПИЦ-а који ће упутити моторе на основу вредности из ИР сензора. Поједностављени блок дијаграм истог приказан је у наставку.
Ова два ИР сензора биће постављена по један са обе стране линије. Ако их ниједан сензор не детектује на црној линији, ПИЦ микроконтролер упућује моторе да се крећу напред као што је приказано доле
Ако леви сензор долази на црну линију, тада микроконтролер наређује роботу да скрене лево окретањем самог десног точка.
Ако десни сензор дође на црну линију, тада микроконтролер налаже роботу да се окрене десно окретањем самог левог точка.
Ако оба сензора дођу на црну линију, робот се зауставља.
На овај начин Робот ће моћи да прати линију без изласка из стазе. Сада да видимо како изгледају склоп и код.
Шема и објашњење:
Комплетна шема кола за овај ПИЦ заснован линијски робот заснован је на доњој слици
Коло користи два ИР сензора и пар једносмерних мотора са зупчаницима, заједно са модулом покретачког мотора мотора, као што је приказано горе. Модул погонског склопа мотора који се користи у овом пројекту је Л293Д, биће нам потребан покретачки програм мотора, јер излазни пин ПИЦ микроконтролера не може да произведе довољно струје за погон мотора. Овај модул ће се напајати директно из извора напајања (5В) како је приказано у колу. Модул има четири затича (два за сваки мотор) који су повезани са ПИЦ-ом за контролу смера мотора. Такође имамо два ИР сензора који делују као улаз у ПИЦ микроконтролер. Ови сензори ће ићи високо (1) ако су изнад беле површине, а ићи ће ниско (0) када су преко црне површине. Комплетне пин везе су приказане у доњој табели.
С.Но |
Повезано са |
Повезан |
1 |
ИЦ сензор Леви спољашњи клин |
РД2 (пин 21) |
2 |
ИЦ сензор Десни излазни клин |
РД3 (пин 22) |
4 |
Мотор 1 Канал А пин |
РЦ4 (пин 23) |
5 |
Мотор 1 Канал Б пин |
РЦ5 (пин 25) |
6 |
Пин 2 канала А мотора |
РЦ6 (пин 26) |
7 |
Мотор 2 Канал Б пин |
РЦ7 (пин 27) |
У стварном хардверу сам користио банку напајања која ће дати излаз од + 5В директно преко свог УСБ порта; отуда сам заобишао регулатор напона 7805 и напајао ПИЦ, сензоре и моторе користећи исти. Можете исто да урадите ако користите 12В батерију заједно са регулатором као што је приказано у колу.
Програмирање ПИЦ микроконтролера:
Када сте спремни са својим хардвером, време је да започнете програмирање. Комплетан програм ове ПИЦ-Лине Фолловер Робот Пројекат је дат на крају ове странице. Међутим, важни делови су објашњени у наставку.
Иницијализујте И / О пинове следећим редовима. 2 пина сензора ИР делују као улаз, а четири пина мотора делују као излази.
ТРИСД2 = 1; ТРИСД3 = 1; // Купати се пинови ИР сензора декларисани као улаз ТРИСЦ4 = 0; ТРИСЦ5 = 0; // пинови мотора 1 декларисани као излаз ТРИСЦ6 = 0; ТРИСЦ7 = 0; // Мотор 2 пинова декларисани као излаз
Сада морамо очитати статус и ИР сензора и према томе управљати мотором. На пример, ако су оба сензора висока (не долазе испод црне линије), тада померамо оба мотора напред, као што је приказано у доњем програму.
иф (РД2 == 1 && РД3 == 1) // Оба сензора нису преко балцк линије {РЦ4 = 0; РЦ5 = 1; // Мотор 1 напред РЦ6 = 1; РЦ7 = 0; // мотор 2 напред}
Ако леви сензор пређе црну линију, онда окрећемо десно држећи мотор 1 мирно и ротирајући мотор 2 у смеру напред. Ова врста окретања назива се диференцијално окретање.
иначе ако (РД2 == 0 && РД3 == 1) // Леви сензор је преко црне линије {РЦ4 = 1; РЦ5 = 1; // мотор 1 заустављање РЦ6 = 1; РЦ7 = 0; // мотор 2 напред}
Слично томе, ако десни сензор дође преко црне линије , бот је направљен да скрене улево држећи други мотор мирно и ротирајући први мотор сам у смеру напред, као што је приказано доле.
иначе ако (РД2 == 1 && РД3 == 0) // Десни сензор је преко црне линије {РЦ4 = 0; РЦ5 = 1; // Мотор 1 напред РЦ6 = 1; РЦ7 = 1; // мотор 2 заустављање}
Коначно, ако оба сензора дођу испод црне линије, време је да зауставите бота. То се може постићи тако што ће се све затичнице оба мотора подићи високо. Код за исто је приказан испод
елсе // Оба сензора преко црне линије {РЦ4 = 1; РЦ5 = 1; // мотор 1 заустављање РЦ6 = 1; РЦ7 = 1; // мотор 2 заустављање}
То је то што је програм спреман и може се учитати на ПИЦ помоћу било ког програмера попут ПицКита.
ПИЦ следбеник линије у акцији:
Када су хардвер и код спремни, време је за неке радње. Као што је раније речено, за напајање бота користио сам Повер Банк, тако да све што морам да урадим је да једноставно повежем Повер Банк са ботом који има постављен хардвер и код који је већ постављен.
ПИЦ Перф плоча направљена је за нашу серију ПИЦ туторијала, у којој смо научили како да користимо ПИЦ микроконтролер. Можда ћете се желети вратити на те водиче за ПИЦ микроконтролер користећи МПЛАБКС и КСЦ8 ако не знате како да нарежете програм помоћу Пицкит-а 3, јер ћу прескочити све те основне информације.
Сада једноставно покрените бота преко црне линије и требали бисте га гледати пратећи линију.
У том случају бисте се могли суочити са неким потешкоћама у том случају, прочитајте даље. Ако се точкови окрећу у супротном смеру, једноставно замените поларитет мотора који се окреће у супротном смеру. Ако бот одступа од линије, замените ИЦ сензор и све би требало да буде добро.
Комплетан рад бота можете пронаћи на видео снимку датом у наставку. Надам се да вам се свиђа пројекат и уживали сте у изради нечег сличног. Ако имате проблема с постизањем овог резултата, можете их објавити у одељку за коментаре испод да бисте то решили или користите форуме на форуму да бисте разговарали о техничком садржају.