Съдържание:

Arduino Line Follower Wallrides Класна бяла дъска: 8 стъпки (със снимки)
Arduino Line Follower Wallrides Класна бяла дъска: 8 стъпки (със снимки)

Видео: Arduino Line Follower Wallrides Класна бяла дъска: 8 стъпки (със снимки)

Видео: Arduino Line Follower Wallrides Класна бяла дъска: 8 стъпки (със снимки)
Видео: How to Wallride Stall on Skis | #shorts 2024, Ноември
Anonim
Image
Image

Следването на линията на земята е твърде скучно!

Опитахме се да погледнем под различен ъгъл на последователите на линиите и да ги пренесем в друга равнина - към училищната дъска.

Вижте какво се получи от това!

Стъпка 1: Какво ви трябва?

Как да сглобя? Сглобете шасито
Как да сглобя? Сглобете шасито

За един състезателен робот:

Механика:

1 x 2WD miniQ Робот шаси; Това е многофункционална платформа за създаване на прости двуколесни роботи

2 x 6V микроредуктор с редукционно съотношение 1: 150; Редукторните двигатели, включени в платформата на робота miniQ, имат предавателно отношение 1:50 и са твърде бързи. Те трябва да бъдат заменени с по -силни двигатели, например с предавателно отношение 1: 150 или по -високо. Колкото по -високо е предавателното отношение, толкова по -бавно роботът се движи по бялата дъска, но по -малък е шансът колелата да се подхлъзнат

4 x неодимов магнит; Имате нужда от малки магнити с дебелина 3 мм с диаметър 12 мм (за тези с кръгла форма) или с 12 мм страна (за тези с квадратна форма). Също така, магнитите трябва да имат отвор за машинния винт с потапяща глава обикновено за M3. Понякога производителите посочват силата на магнитния съединител. Тя трябва да бъде в диапазона от 2 кг до 2,4 кг

Електроника:

1 x Arduino UNO; Бордовият компютър. Най -популярната платформа за прототипиране

1 x модул октолинер; Очи и фарове на вашия състезателен бот. Octoliner е сензор за хладна линия, състоящ се от 8 отделни инфрачервени сензора, управлявани чрез I2C интерфейс

1 x щит на двигателя; Почти всеки модул ви подхожда. Използвах този аналогов, базиран на чип L298p

1 x 2-клетъчна 7.4V LiPo батерия; Той може да даде голям ток, който двигателите трябва да преодолеят привличането на магнитите. 2-клетъчната батерия има напрежение в диапазона от 7.4V до 8.4V. Това е достатъчно за 6V двигатели и вградения регулатор на напрежението на дъската Arduino. Всеки капацитет може да бъде избран. Колкото по -голяма е батерията, толкова по -дълго се движи роботът, но имайте предвид, че твърде голямата батерия може да бъде тежка. Капацитетът в диапазона от 800mAh до 1300mAh е оптимален

Разни:

4 x мъжки-женски проводник;

4 х М3 дистанционер или мъж-женска стойка с дължина 10 мм;

3 х М3 дистанционер или мъж-женска стойка с дължина 25 мм или повече;

4 x M3x8 винт с плоска глава;

1 x M3 найлонов винт;

1 x M3 найлонова шестостенна гайка;

Всички M3 винтове и шестостенни гайки

За класна стая:

Магнитна бяла дъска, окачена на стената;

Дебели черни магнитни маркери за дъска;

Специално зарядно устройство за батерии LiPo или множество зарядни устройства, ако искате да направите много роботи и да ги зареждате отделно

Стъпка 2: Как да сглобите? Сглобете шасито

Отначало трябва да сглобите платформата на шасито miniQ, като предварително замените двигателите от комплекта с по-мощни с предавателно отношение 1: 150. Не забравяйте да запоявате проводниците към контактите на двигателя!

Стъпка 3: Как да сглобите? Инсталирайте магнити

Как да сглобя? Инсталирайте магнити
Как да сглобя? Инсталирайте магнити

Инсталирайте магнитите на платформата miniQ. Използвайте стойки M3x10, плоски винтове M3x8 или M3x6 и гайки M3. Необходимите монтажни отвори са показани на снимката.

Това е важно!

Дължината на разстоянията трябва да бъде точно 10 мм. След като инсталирате магнитите, тествайте платформата върху бялата дъска. И четирите магнита трябва да са в непосредствена близост до магнитната дъска, а гумените гуми на колелата на платформата miniQ трябва да бъдат предварително заредени и да осигуряват известно триене с повърхността на дъската.

Ръчно преместете робота по дъската. По време на каране магнитите не трябва да слизат от дъската. Ако някой магнит се отдели, това означава, че гумените гуми на колелата се натоварват максимално. В този случай увеличете разстоянието от 10 мм на всички стойки с 1 или 2 мм, като добавите чифт шайби М3 и опитайте отново.

Стъпка 4: Как да сглобите? Добавете електроника

Как да сглобя? Добавете електроника
Как да сглобя? Добавете електроника

Монтирайте дъската Arduino UNO върху платформата, като използвате стойки M3x25, винтове M3 и гайки M3. Не използвайте кратки прекъсвания, оставете малко място под платката Arduino за проводници и батерия.

Инсталирайте щита на двигателя на дъската на Arduino UNO.

Инсталирайте модула Octoliner. Притиснете го към платформата с помощта на найлонов винт M3 и гайка.

Това е важно!

Не използвайте метални крепежни елементи за монтиране на Octoliner. Някои монтажни отвори на пробивната платка са запоени и използвани като IO щифтове. За да предотвратите късо съединение, използвайте пластмасова закопчалка, например найлон.

Стъпка 5: Как да сглобите? Електрически инсталации

Как да сглобя? Електрически инсталации
Как да сглобя? Електрически инсталации

Свържете всички електронни компоненти, както е показано на диаграмата. Модулът Octoliner е свързан чрез 4 проводника (GND, 5V, SDA, SCL) към Arduino UNO. Свържете двигателите към щита на двигателя. LiPo батерията е свързана с контактните площадки на външното захранване на щита на двигателя, както и с VIN щифта на платката Arduino. Вместо да използвате VIN щифта, можете да използвате щепсела за захранване 5,5 mm x 2,1 mm на платката.

Това е важно!

При използване на щита на двигателя не са необходими проводници. Два канала на двигателя се управляват от 4 пина. 2 PWM щифта отговарят за скоростта на въртене, докато 2 DIR щифта за посоката на въртене. Обикновено те вече са свързани със специфични щифтове на Arduino Board и техните индексни номера могат да се различават в зависимост от производителя на щита. Например, за моя щит за двигатели числата са D4 D5 (DIR и PWM за първия канал) и D7 D6 (DIR и PWM за втория канал). За оригиналния щит на Arduino Motor номерата на пиновете съответстват на D12 D3 (DIR и PWM за първия канал) и D13 D11 (DIR и PWM за втория канал).

Това е важно!

Хоби LiPo батериите нямат табло за защита от обратна полярност! Случайното късо съединение на положителните и отрицателните контакти ще доведе до трайна повреда на батерията или пожар.

Стъпка 6: Как да програмирате? XOD

Да се направи програма за такъв състезателен робот е дори по -лесно, отколкото да се сглоби.

Във всичките си проекти използвам средата за визуално програмиране XOD, която ми позволява да създавам графично Arduino програми, без да пиша код. Тази среда е идеална за бързо прототипиране на устройства или изучаване на алгоритми за програмиране. Следвайте уеб страницата с документацията на XOD, за да прочетете повече.

За да програмирате този робот, трябва да добавите само една библиотека amperka/octoliner във вашето работно пространство XOD. Необходимо е за работа с осемканален сензор за линия.

Стъпка 7: Как да програмирате? Кръпка

Как да програмирате? Кръпка
Как да програмирате? Кръпка

Програмата се основава на принципа на работа на PID контролер. Ако искате да знаете какво представлява PID-контролерът и как работи, можете да прочетете друга статия по тази тема.

Разгледайте пластира с програмата за роботи. Нека да видим какви възли присъстват на него и как всичко работи.

октолинерна линия

Това е възел за бързо стартиране от XOD библиотеката amperka/octoliner, който представлява модула Octoliner, проследяващ линията. Той извежда "стойността за проследяване на линия", която се намира в диапазона от -1 до 1. Стойността 0 показва, че линията е в централна позиция спрямо инфрачервените сензори на платката Octoliner (между CH3 и CH4). Стойността -1 съответства на крайното ляво положение (CH0), докато 1 на крайното дясно (CH1). При зареждащия възел инициализира сензорите на оптрона и настройва техните параметри по яркост и чувствителност по подразбиране. Входовете за този възел са I2C адресът на устройството (ADDR за платката Octoliner е 0x1A) и скоростта на актуализиране на стойността за проследяване на линията (UPD), зададох го непрекъснато.

Стойностите за проследяване на линии се подават директно към възела на pid-контролера.

pid-контролер

Този възел, изпълняващ работата на PID-контролера в XOD. Целевата (TARG) стойност за него е 0. Това е състоянието, когато линията е точно в центъра под робота. Ако стойността за проследяване на линия е 0, PID-контролерът се нулира чрез RST щифт. Ако стойността за проследяване на линията е различна от 0, PID-контролерът го преобразува, като използва коефициентите Kp, Ki, Kd в стойностите на скоростта на двигателя. Стойностите на коефициентите бяха избрани експериментално и съответно 1, 0,2 и 0,5. Скоростта на актуализиране (UPD) на PID-контролера е настроена на непрекъсната.

Обработената стойност на PID-контролера се изважда от 1 и се добавя към 1. Това се прави за десинхронизиране на двигателите, за да ги накара да се въртят в противоположни посоки, когато линията се загуби. Стойността 1 в тези възли представлява максималната скорост на двигателите. Можете да намалите скоростта, като въведете по -ниската стойност.

h-мост-dc-мотор

Няколко от тези възли са отговорни за управлението на левия и десния двигател на робота. Тук задайте стойностите на PWM и DIR пиновете, чрез които работи вашият щит на двигателя.

Изпробвайте пластира и опитайте своя състезателен бот. Ако следвате точно инструкциите за сглобяване, не е необходимо да променяте пластира или да регулирате PID-контролера. Посочените настройки са доста оптимални.

Готовата програма може да бъде намерена в библиотеката gabbapeople/whiteboard-races

Стъпка 8: Витрина и съвети

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