Робот за избягване на ръбове е доста подобен на предишния ми проект „Line Follower Robot“. Този базиран на микроконтролер робот 8051 открива ръб и го избягва чрез завъртане или спиране. Нека видим как можем лесно да проектираме робот за избягване на ръбове.
Концепция на Edge Avoider Robot
Концепцията на робота Edge Avoider е същата като последователя на линията. При тези видове роботи обикновено използваме поведението на светлината на черно-бялата повърхност. Когато светлината падне върху бяла повърхност, тя почти се отразява и в случай на черна повърхност светлината се абсорбира от черна повърхност. Това поведение на светлината се използва в робот с последовател на линия, както и робот за избягване на ръба.
Тук сме използвали IR предавател и приемник, наричани още фотодиоди, които се използват за изпращане и получаване на светлина. IR предава инфрачервени светлини. Когато инфрачервените лъчи попаднат на която и да е повърхност с изключение на черни или много тъмни повърхности, те се отразяват обратно и се улавят от фотодиода и генерират някои промени в напрежението. Когато IR светлината попадне върху черната повърхност, светлината се абсорбира от черната повърхност и никакви лъчи не отразяват обратно, в резултат фотодиодът не получава никаква светлина или лъчи.
Тук в този робот Edge Avoider, когато сензорът усети бяла повърхност, тогава микроконтролерът получава 0 като вход и когато усеща контролер за черна линия получава 1 като вход.
Електрическа схема и работно обяснение
Можем да разделим проекта Edge Avoider Robot на три различни секции, които са сензорна секция, секция за управление и секция за водача.
Сензорна секция: Тази секция съдържа IR диоди, потенциометър, компаратор (Op-Amp) и светодиоди. Потенциометърът се използва за задаване на референтно напрежение на един терминал на компаратора, а IR сензорите се използват за засичане на линията и осигуряване на промяна в напрежението на втория терминал на компаратора. След това компараторът сравнява двете напрежения и генерира цифров сигнал на изхода. Тук в тази схема използваме два компаратора за два сензора. LM 358 се използва като компаратор. LM358 има вградени два нискошумови Op-усилвателя.
Контролна секция: Микроконтролерът 8051 се използва за управление на целия процес на линейния робот. Изходите на компараторите са свързани към пинов номер P0.0 и P0.1 от 8051. 8051 чете тези сигнали и изпраща команди към веригата на водача към последователя на задвижващата линия.
Секция за водача: Секцията за водача се състои от двигател и два постояннотокови мотора. Двигателят на двигателя се използва за задвижване на двигатели, тъй като микроконтролерът не подава достатъчно напрежение и ток за задвижване на двигателя. Затова добавяме верига на моторния драйвер, за да получим достатъчно напрежение и ток за двигателя. Микроконтролерът изпраща команди към този драйвер на двигателя и след това той задвижва двигатели.
Работещи
Работата на този робот за избягване на ръба е доста интересна и същата като последовател на линия, но разлика в операциите след засичане на входове. При този робот, когато усети бяла повърхност, той върви напред и когато някой от сензорите или двата сензора не усети сигнал или черна повърхност, той спира и се движи назад и променя посоката си и ако отново усети бяла повърхност, тогава върви напред.
Схемата на веригата е показана за този робот за избягване на ръба. Изходът на компараторите е директно свързан към пинов номер P0.0 и P0.1 на микроконтролера. И входните щифтове 2, 7, 10 и 15 на драйвера на двигателя са свързани съответно с пин с номера P2.3, P2.2, P2.1 и P2.4. И един двигател е свързан към изходния щифт на двигател 3 и 6, а друг двигател е свързан към 11 и 14.
При програмирането на първо място имаме дефинирани входни и изходни щифтове. И тогава в основната функция проверихме входовете и изпращаме изхода съответно към изходните щифтове за задвижващ мотор. Има четири условия в този край на избягването, които четем с помощта на микроконтролер 8051. Използвали сме два сензора, а именно ляв сензор и десен сензор.
Условия:
Вход |
Изход |
Движение на робот |
||||
Ляв сензор |
Десен сензор |
Ляв мотор |
Десен мотор |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Напред |
0 |
1 |
1 |
0 |
0 |
0 |
Стоп / назад / Завийте надясно |
1 |
0 |
0 |
0 |
1 |
0 |
Стоп / назад / Завийте наляво |
1 |
1 |
0 |
0 |
0 |
0 |
СТОП / назад / завийте наляво |
Написахме програма съгласно горните условия на таблицата.
Оформление на печатни платки