Съдържание:

Робот за последователни линии за преподаване на контролни алгоритми: 3 стъпки
Робот за последователни линии за преподаване на контролни алгоритми: 3 стъпки

Видео: Робот за последователни линии за преподаване на контролни алгоритми: 3 стъпки

Видео: Робот за последователни линии за преподаване на контролни алгоритми: 3 стъпки
Видео: КАКВО ЩЕ БЪДЕ PORTAL 3 2024, Юли
Anonim
Image
Image
Робот за последователни линии за преподаване на контролни алгоритми
Робот за последователни линии за преподаване на контролни алгоритми
Робот за последователни линии за преподаване на контролни алгоритми
Робот за последователни линии за преподаване на контролни алгоритми

Проектирах този робот -последовател преди няколко години, когато бях учител по роботика. Целта на този проект беше да науча моите ученици как да кодират ред след робот за състезание, както и да сравняват между If/Else и PID контрол. И не на последно място, как механиката и дължината на робота влияят върху тези алгоритми за управление. Целта беше да се направи по -бърз и надежден.

Направих го да бъде програмиран с Arduino IDE, но също така е възможно да се използва IDE за разработка, който предпочитате. Той има мощен PIC32 с USB буутлоудър, така че нямате нужда от програмист. Той също така има ключ за включване/изключване, нулиране и бутон за стартиране/програмиране. Светодиодите са свързани към PWM сигнала на двигателя, така че можете лесно да видите мощността, която прилагате.

Роботът е напълно модулен за експериментиране и лесен за ремонт в случай, че имате инцидент с него. Това прави този робот идеалният инструмент за изучаване на програмиране по много забавен начин. Моите ученици го използваха дълго време и всеки път научаваха нещо ново, дори PID контрол. Да не говорим, че сензорната лента използва алгоритъм за връщане на цяло число, отрицателна стойност, роботът е вляво, положителен вдясно и cero е в центъра на линията.

Консумативи

2x 6V микрометални моторни редуктори с удължени опорни скоби (всяко предавателно отношение е наред, моите са 10: 1)

1x линейна сензорна платка

1x Основен блок за управление

1x 20 чрез плоска жица, разстояние 1 мм. Моят е с дължина 20 см.

1x акрилен линкер (нарязан на 3 мм прозрачен акрил)

1x 1/8 колело топка (моята е метална)

2x гумено колело, диаметър 3 см.

1x Lipo батерия. Можете да захранвате робота до 10v, но имайте предвид, че двигателите са предназначени за 6v.

Някои M2 винтове и гайки за свързване на всичко заедно.

Ако искате да направите свои собствени дизайнерски файлове, схеми и всичко за изграждането му, са приложени на следващата стъпка.

Стъпка 1: Хардуерът

Хардуерът
Хардуерът
Хардуерът
Хардуерът
Хардуерът
Хардуерът
Хардуерът
Хардуерът

Както можете да видите на снимките, всички компоненти са SMD, това е идеалната възможност да практикувате уменията си за запояване. Този робот беше запоен от 3 мои ученици, така че можете да го направите без проблеми. Всички дизайнерски файлове са приложени, можете да видите файловете с EAGLE. Gerbers също са включени, ако искате да платките на вашия любим производител на печатни платки.

Двете дъски са свързани заедно с акрилно парче, включен е и модел на лазерно изрязване. Използвах винтове и гайки М2, за да го държа на място. Тук също е поставено топчето. И ако сринете робота, акрилът ще се счупи и ще предпази дъските от повреда, идеален за тестване! Плоският проводник се използва за свързване между процесора и сензорната платка. Двигателите лесно се свързват с проводници към платката на процесора.

Забележка: PIC използва персонализиран фърмуер, е модифицирана версия на оригиналния фърмуер на DP32. Можете да получите фърмуера тук. В долната част на платката на процесора е включена ICSP връзка.

Стъпка 2: Софтуерът

Софтуерът
Софтуерът
Софтуерът
Софтуерът

Препоръчвам да използвате Arduino IDE за програмиране на робота. Както ви казах преди, този последовател на линия е базиран на PIC32MX250 и го прави съвместим с chipKIT DP32. Трябва само да инсталирате пакета chipKIT на мениджъра на пакети в Arduino IDE и сте готови за работа. Също така можете да го програмирате в MPLAB или IDE, който желаете, но можете да научите основите на Arduino.

Останалото е като програмиране на всяка друга дъска на Arduino. Включете робота към компютъра си с микро USB кабел и натиснете бутона за програмата веднага след натискане на нулиране. След това изпратете скицата с бутона за качване в IDE.

Включих 3 скици в този урок. Първият тества сензорния масив, вторият е последовател на линия If/Else, а последният е последовател на PID линия. Всичко вече работи, но ще трябва да коригирате някои стойности, ако промените дизайна. И също така не се колебайте да направите своя собствена! Има по -добри начини да се направи алгоритъм за последовател на линии, експериментирането е ключът към успеха.

Стъпка 3: Експериментирайте

Експериментиране
Експериментиране
Експериментиране
Експериментиране
Експериментиране
Експериментиране

Това наистина е най -важната част, трябва да опитате всички възможности и да намерите тази, която работи за вас.

Чувствайте се свободни да експериментирате с колела и материали с различен диаметър. Променете дължината на робота, модифицирайки акрилната фуга. Използвайте друга батерия, дори с различно напрежение. Може да бъде и по -малък или по -голям. Може би друго предавателно отношение за двигателите.

Променете софтуера, за да използвате по -малко сензори или дори опитайте друг алгоритъм, можете да се изненадате колко много може да се промени производителността. Или защо не, ако сте напреднал потребител, направете го с MPLAB.

Небето е границата!

Като допълнителен съвет … Настройването на печалбите от PID е завладяващо пътуване, в което можете да научите ефектите върху робота, когато следвате линията с различни стойности на Kp, Kd и Ki. Часове и часове на обучение гарантирани !!! Децата няма да забележат, че всъщност използват математика, за да изпълнят всички необходими задачи.

Надявам се да ви хареса тази инструкция, ако имате нужда от нещо, попитайте ме в коментарите. Благодаря за четенето:)

Препоръчано: