Мазмуну:

Arduino Line Follower Wallrides Classroom Whiteboard: 8 кадам (Сүрөттөр менен)
Arduino Line Follower Wallrides Classroom Whiteboard: 8 кадам (Сүрөттөр менен)

Video: Arduino Line Follower Wallrides Classroom Whiteboard: 8 кадам (Сүрөттөр менен)

Video: Arduino Line Follower Wallrides Classroom Whiteboard: 8 кадам (Сүрөттөр менен)
Video: Tony Hawk Skates First Downward Spiral Loop - BTS 2024, Ноябрь
Anonim
Image
Image

Жердеги линияны ээрчүү өтө кызыксыз!

Биз линиянын жолдоочуларына башка бурчтан карап, аларды башка учакка - мектептин тактайына алып келүүгө аракет кылдык.

Карагылачы, андан эмне чыкты!

1 -кадам: Сизге эмне керек?

Кантип чогултуу керек? Шассиди чогултуу
Кантип чогултуу керек? Шассиди чогултуу

Бир жарышчу робот үчүн:

Механика:

1 x 2WD miniQ Robot шасси; Бул жөнөкөй эки дөңгөлөктүү роботторду түзүү үчүн көп функционалдуу платформа

2 х 6V 1: 150 кыскартуу коэффициенти менен моторлуу мотор; MiniQ робот платформасына камтылган тиштүү моторлор 1:50 тиш катышына ээ жана өтө тез. Аларды күчтүү моторлор менен алмаштыруу керек, мисалы 1: 150 же андан жогору тиш катышы. Редуктордун коэффициенти канчалык жогору болсо, робот тактага жайыраак минет, бирок дөңгөлөктөрдүн тайып кетүү мүмкүнчүлүгү азыраак

4 х неодимий магнит; Сизге диаметри 12мм (тегерек формасы барлар үчүн) же 12мм капталдуу (чарчы формасы барлар) 3мм калыңдыктагы кичинекей магниттер керек. Ошондой эле, магниттерде, адатта, M3 үчүн каршынын башы бар машинанын бурамасы үчүн тешик болушу керек. Кээде өндүрүүчүлөр магниттик кошуунун күчүн көрсөтүшөт. Ал 2 кгдан 2,4 кг чейин болушу керек

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

1 x Arduino UNO; Борттогу компьютер. Эң популярдуу прототиптөө платформасы

1 x Octoliner модулу; Жарыш ботунун көздөрү жана фаралары. Octoliner I2C интерфейси аркылуу башкарылган 8 өзүнчө инфракызыл сенсордон турган салкын линия сенсору

1 x Мотор калканы; Дээрлик бардык модуль сизге ылайыктуу. Мен бул аналогду L298p чипинин негизинде колдондум

1 х 2 клеткалуу 7.4V LiPo батареясы; Бул моторлор магнит тартууну жеңиши керек болгон чоң токту бере алат. 2 уячалуу батареянын чыңалуусу 7.4Vдан 8.4Vга чейин. Бул 6V моторлору жана Arduino тактасындагы камтылган чыңалуу жөндөгүчү үчүн жетиштүү. Ар кандай кубаттуулукту тандап алса болот. Батарея сыйымдуу болсо, робот ошончолук көп айдайт, бирок өтө сыйымдуу батарея оор болушу мүмкүн экенин эске алыңыз. 800mAh - 1300mAh диапазонундагы кубаттуулук оптималдуу

Ар кандай:

4 x Эркек-Аял зым;

4 x M3 spacer же 10mm узундугу менен Эркек-Аял тирешүүсү;

3 x M3 spacer же 25mm узундугу менен Эркек-Аял тирешүүсү;

4 х M3x8 карама -каршы жалпак баш бурамасы;

1 x M3 нейлон бурамасы;

1 x M3 нейлон алты бурчтуу гайка;

Бардык M3 бурамалары жана алты бурчтуу гайкалар

Бир класс үчүн:

Дубалга илинген магниттик доска;

Калың кара магниттик такталар;

Атайын LiPo батарейка кубаттагычы же бир нече заряддагыч түзүлүштөр, эгер сиз көптөгөн роботторду жасап, аларды өзүнчө кубаттасаңыз

2 -кадам: Кантип чогултуу керек? Шассиди чогултуу

Башында, 1: 150 тиштүү катышы бар кичинекей шасси платформасынын кыймылдаткычтарын комплекттен алда канча күчтүү моторлор менен чогултуу керек. Зымдарды мотордун контактыларына кошууну унутпаңыз!

3 -кадам: Кантип чогултуу керек? Магнит орнотуу

Кантип чогултуу керек? Магнит орнотуу
Кантип чогултуу керек? Магнит орнотуу

Магниттерди miniQ платформасына орнотуңуз. M3x10 тирөөчтөрүн, M3x8 же M3x6 жалпак эсептегич бурамаларды жана М3 гайкаларды колдонуңуз. Керектүү орнотуу тешиктери сүрөттө көрсөтүлгөн.

Бул маанилүү!

Согуштун узундугу так 10 мм болушу керек. Магнитти орноткондон кийин платформаны доскада сынап көрүңүз. Бардык төрт магнит магниттик тактага жанаша жайгашышы керек жана miniQ платформасынын дөңгөлөктөрүндөгү резина дөңгөлөктөр алдын ала жүктөлүп, тактайдын бети менен бир аз сүрүлүүнү камсыз кылышы керек.

Кол менен роботту такта аркылуу жылдырыңыз. Жүрүү учурунда магниттер тактан түшпөшү керек. Эгерде кандайдыр бир магнит чыгып калса, бул дөңгөлөктөгү резина дөңгөлөктөр максималдуу түрдө жүктөлөт дегенди билдирет. Бул учурда, M3 шайбаларын кошуп, бардык тирешүүлөрдүн 10 мм аралыкты 1 же 2 ммге көбөйтүп, кайра аракет кылыңыз.

4 -кадам: Кантип чогултуу керек? Электрониканы кошуу

Кантип чогултуу керек? Электрониканы кошуу
Кантип чогултуу керек? Электрониканы кошуу

Arduino UNO тактасын M3x25 тирөөчтөрүн, M3 бурамаларын жана M3 гайкаларын колдонуп платформага орнотуңуз. Кыска тирешүүлөрдү колдонбоңуз, Arduino тактасынын астына зымдар жана батарея үчүн боштук калтырыңыз.

Мотор калканчын Arduino UNO тактасына орнотуңуз.

Octoliner модулун орнотуңуз. Нейлон M3 бурамасын жана гайканы колдонуп, аны платформага басыңыз.

Бул маанилүү!

Octoliner орнотуу үчүн металл бекиткичтерди колдонбоңуз. Үзүлүү тактасындагы кээ бир монтаждык тешиктер ширетилип, IO казыктары катары колдонулат. Кыска туташууларды болтурбоо үчүн пластикалык бекиткичти колдонуңуз, мисалы нейлон.

5 -кадам: Кантип чогултуу керек? Электр өткөргүчтөрү

Кантип чогултуу керек? Электр өткөргүчтөрү
Кантип чогултуу керек? Электр өткөргүчтөрү

Диаграммада көрсөтүлгөндөй бардык электрондук компоненттерди байланыштырыңыз. Octoliner модулу 4 зым (GND, 5V, SDA, SCL) аркылуу Arduino UNOго туташкан. Кыймылдаткычтарды мотор калканчына туташтырыңыз. LiPo батарейкасы Мотор калканчындагы тышкы электр менен камсыздоонун контакт аянтчаларына, ошондой эле Arduino тактасындагы VIN пинге туташтырылган. VIN пинди колдонуунун ордуна, тактадагы 5,5 мм х 2,1 мм кубат сайгычын колдонсоңуз болот.

Бул маанилүү!

Мотор калканчын колдонууда зымдардын кереги жок. Эки мотор каналы 4 казык менен башкарылат. 2 PWM казыгы айлануу ылдамдыгына жооп берет, ал эми 2 DIR казыгы айлануу багыты үчүн. Адатта, алар буга чейин белгилүү Arduino Board казыктары менен байланышкан жана алардын индекстин номерлери калкан чыгаруучуга жараша айырмаланышы мүмкүн. Мисалы, менин Motor калканчым үчүн сандар D4 D5 (биринчи канал үчүн DIR жана PWM) жана D7 D6 (экинчи канал үчүн DIR жана PWM). Оригиналдуу Arduino Motor калканы үчүн, казыктардын номерлери D12 D3 (биринчи канал үчүн DIR жана PWM) жана D13 D11 (экинчи канал үчүн DIR жана PWM) туура келет.

Бул маанилүү!

Hobby LiPo батареяларында тескери полярдыкты коргоочу тактасы жок! Оң жана терс байланыштардын кокусунан кыскарышы батареянын биротоло иштебей калышына же өрттүн чыгышына алып келет.

6 -кадам: Кантип программалоо керек? XOD

Мындай жарышчу роботко программа түзүү аны чогултуудан да оңой.

Бардык долбоорлорумда мен XOD визуалдык программалоо чөйрөсүн колдоном, ал мага Arduino программаларын графикалык түрдө код жазбай түзүүгө мүмкүндүк берет. Бул чөйрө тез түзмөк прототиптештирүү же программалоо алгоритмдерин үйрөнүү үчүн идеалдуу. Көбүрөөк окуу үчүн XOD документациясынын веб баракчасын ээрчиңиз.

Бул роботту программалоо үчүн XOD жумушчу мейкиндигиңизге бир эле китепкана амперкасын/октолинерин кошуу керек. Бул сегиз каналдуу линия сенсору менен иштөө үчүн керек.

7 -кадам: Кантип программалоо керек? Патч

Кантип программалоо керек? Патч
Кантип программалоо керек? Патч

Программа PID контроллеринин иштөө принцибине негизделген. Эгерде сиз PID контроллери деген эмне жана ал кантип иштээрин билгиңиз келсе, бул темадагы башка макаланы окуй аласыз.

Робот программасы менен жамакты карап көрүңүз. Анда кандай түйүндөр бар экенин жана анын баары кантип иштээрин карап көрөлү.

октолинер линиясы

Бул линияны көзөмөлдөөчү Octoliner модулун көрсөтүүчү amperka/octoliner XOD китепканасынын тез башталуучу түйүнү. Ал -1ден 1ге чейинки диапазондогу "линиянын көзөмөлдөө маанисин" чыгарат. 0 мааниси линия Octoliner тактасындагы (CH3 жана CH4 ортосунда) инфракызыл сенсорлорго салыштырмалуу борбордук абалда экенин көрсөтөт. -1 мааниси өтө солго (CH0) туура келет, ал эми 1 оңго (CH1). Жүктөө түйүнүндө optocoupler сенсорлорун баштапкы абалына келтирет жана алардын демейки жарыктыгын жана сезимталдык параметрлерин орнотот. Бул түйүнгө киргизилгендер - бул түзмөктүн I2C дареги (Octoliner тактасы үчүн ADDR 0x1A) жана сапты көзөмөлдөө маанисин жаңыртуу ылдамдыгы (UPD), мен аны үзгүлтүксүз койдум.

Сапка көз салуу баалуулуктары түздөн-түз pid-controller түйүнүнө берилет.

pid-controller

Бул түйүн POD контроллеринин ишин XODдо ишке ашырат. Бул үчүн максаттуу (TARG) мааниси 0. Бул сызык роботтун астындагы так борбордо турган абал. Эгерде линияны көзөмөлдөө мааниси 0 болсо, PID контроллери RST пини аркылуу баштапкы абалга келтирилет. Эгерде линияны көзөмөлдөө мааниси 0ден айырмаланса, PID контроллери аны Kp, Ki, Kd коэффициенттерин колдонуп мотор ылдамдыгынын маанилерине айландырат. Коэффициенттердин мааниси эксперименталдык түрдө тандалып алынган жана тиешелүүлүгүнө жараша 1, 0,2 жана 0,5ке барабар болгон. PID контроллеринин жаңыртуу ылдамдыгы (UPD) үзгүлтүксүз деп коюлган.

PID-контролеринин иштетилген мааниси 1ден алынып, 1ге кошулат. Бул линия жоголгондо моторлорду дезинхронизациялоо үчүн, аларды карама-каршы багытта айландыруу үчүн жасалат. Бул түйүндөрдөгү 1 мааниси моторлордун максималдуу ылдамдыгын билдирет. Төмөнкү маанини киргизүү менен ылдамдыкты азайта аласыз.

h-көпүрөсү-DC-мотору

Бул түйүндөрдүн бир жагы сол жана оң робот моторлорун башкарууга жооптуу. Бул жерде PWM жана DIR пин баалуулуктарын орнотуңуз, ал аркылуу сиздин Мотор калканчыңыз иштейт.

Патчты жаркылдатып, жарыш ботуңузду сынап көрүңүз. Эгерде сиз так монтаждоо көрсөтмөлөрүнө баш ийсеңиз, анда патчты алмаштыруунун же PID контроллерин тууралоонун кажети жок. Көрсөтүлгөн параметрлер абдан оптималдуу.

Даяр программаны китепканадан тапса болот gabbapeople/whiteboard-расалары

8 -кадам: Көргөзмө жана кеңештер

Сунушталууда: