Мазмуну:

Роботтун артынан өнүккөн линия: 22 кадам (сүрөттөр менен)
Роботтун артынан өнүккөн линия: 22 кадам (сүрөттөр менен)

Video: Роботтун артынан өнүккөн линия: 22 кадам (сүрөттөр менен)

Video: Роботтун артынан өнүккөн линия: 22 кадам (сүрөттөр менен)
Video: Учите английский через историю ★Уровень 2 Учите англи... 2024, Ноябрь
Anonim
Image
Image
Прототиптештирүү - Perfboard
Прототиптештирүү - Perfboard

Бул мен курган жана бир топ убакыттан бери иштеп келе жаткан Teensy 3.6 жана QTRX линия сенсоруна негизделген роботтон кийинки өнүккөн линия. Роботту ээрчитип келген мурунку линиямдын дизайнында жана иштөөдө бир топ жакшыртуулар бар. Роботтун ылдамдыгы жана реакциясы жакшырды. Жалпы структура компакт жана жеңил. Компоненттер бурчтук моментти азайтуу үчүн дөңгөлөктүн огуна жакын жайгаштырылган. Жогорку кубаттуулуктагы микро металл тиштүү моторлор адекваттуу моментти камсыз кылат жана алюминий хабынын силикон дөңгөлөктөрү жогорку ылдамдыкта абдан керектүү тартууну сунуштайт. Калкан жана дөңгөлөктү коддогучтар роботко анын ордун жана багытын аныктоого мүмкүнчүлүк берет. Бортко Teensyview орнотулганда, бардык тиешелүү маалыматты элестетүүгө болот жана программанын маанилүү параметрлерин баскычтардын жардамы менен жаңыртууга болот.

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

Жабдуулар

Электроника

  • Teensy 3.6 өнүктүрүү кеңеши
  • Кыймыл сенсорлору менен Prop Shield
  • Sparkfun TeensyView
  • Pololu QTRX-MD-16A чагылтуу сенсорунун массиви
  • 15x20cm эки жактуу прототиби PCB
  • Pololu Step-Up/Step-Down Voltage Regulator S9V11F3S5
  • Pololu Adjustable 4-5-20V Step-Up Voltage Regulator U3V70A
  • MP12 6V 1580 rpm микро тиштүү мотор коддогуч менен (x2)
  • DRV8833 Dual Motor Driver Carrier (x2)
  • 3.7V, 750mAh Li-Po батареясы
  • ON/OFF которгуч
  • Электролиттик конденсатор 470uF
  • Электролиттик конденсатор 1000uF (x2)
  • Керамикалык конденсатор 0.1uF (x5)
  • Баскычтар (x3)
  • 10мм Жашыл LED (x2)

Аппараттык

  • Atom Silicone Wheel 37x34mm (x2)
  • 3/8 дюймдук металл шар менен Pololu Ball Caster
  • N20 мотору (x2)
  • Болт жана гайкалар

Кабелдер жана туташтыргычтар

  • 24AWG ийкемдүү зымдар
  • DIP үзүлүшүнө жана FFC кабелине 24 пин FFC (А түрү, 150мм узундугу)
  • Тегерек аял пин төбөсү
  • Тегерек аялдын пин башынын узун терминалы
  • Оң бурчтуу эки катар аял баш
  • Оң бурчтуу кош катар эркек баш
  • Эркек пин башы
  • Эркек ийненин пин башы

Куралдар

  • Мультиметр
  • Кандооч
  • Solder зым
  • Зым чечүүчү
  • Зым кескич

1 -кадам: Системаларга сереп

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

Роботтун негизги системалары төмөндө келтирилген.

Микроконтроллер: 32 биттик 180 МГц ARM Cortex-M4 процессору бар Teensy 3.6 өнүктүрүү тактасы.

Линия сенсору: Pololuнун QTRX-MD-16A 16 каналдуу аналогдук чыгаруу линиясынын сенсорлору орто тыгыздыкта (8мм сенсордук чайыр).

Drive: 6V, 1580rpm, магниттик дөңгөлөк коддогучтуу жана алюминий хабдарына орнотулган силикон дөңгөлөктүү жогорку кубаттуу микро металл тиштүү моторлор.

Одометрия: Координаттарды жана басып өткөн аралыкты баалоо үчүн магниттик дөңгөлөктөрдү коддогучтар.

Багыттоо сенсору: роботтун ордун жана багытын баалоо үчүн кыймыл датчиктери менен көмөкчү калкан.

Электр энергиясы менен камсыздоо: 3.7V, 750mAh липо батареясы булак катары. 3.3V өйдө/ылдый жөнгө салуучу микроконтроллерди, сенсорлорду жана дисплейди кубаттайт. Жөнгө салынуучу тепкич жөнгө салуучу эки моторго кубат берет.

Колдонуучу интерфейси: маалыматты көрсөтүү үчүн Teensyview. Колдонуучулардын киргизүүлөрүн кабыл алуу үчүн үч баскычтын үзүлүшү. 10 мм диаметри бар жашыл диоддордун эки саны иштеп жатканда статусун көрсөтөт.

2 -кадам: Келгиле, прототиптөөнү баштайлы

Image
Image

Биз жогорудагы схеманы perfboardдо ишке ашырабыз. Биз адегенде баштыктарыбызды баштарына ширетүү менен даяр туруубуз керек. Видео кайсы баштыктарды кайсы сынык такталарга ширетүү керек экендиги жөнүндө түшүнүк берет.

Баштыктарды сындыруучу такталарга кошкондон кийин, Teensyview менен баскычтардын үзүлүшүн Teensyдин үстүнө коюп коюңуз.

3 -кадам: Прототиптештирүү - Perfboard

Прототиптештирүү - Perfboard
Прототиптештирүү - Perfboard

Сүрөттө көрсөтүлгөндөй 15х20 см өлчөмүндөгү эки жактуу прототипти алыңыз жана чекти туруктуу маркер менен белгилеңиз. Ак тегерек менен белгиленген жерлерге сенсор массивин, дөңгөлөктү жана микро металл тиштүү моторлорду орнотуу үчүн M2 өлчөмүндөгү тешиктерди бургулаңыз. Кийинчерээк биз бардык компоненттерди ширетип жана текшерип бүткөндөн кийин чек араны бойлой кесип алабыз.

Прототиптештирүүбүздү перформанттагы башкы казыктарды жана розеткаларды ширетүүдөн баштайбыз. Кийинчерээк бул баштыктарга тактайчалар киргизилет. Перфборттогу аталыштардын абалына кылдат көңүл буруңуз. Биз бардык зымдарды ушул баш макеттин негизинде туташтырабыз.

4 -кадам: Прототиптөө - Prop Shield

Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield
Прототиптөө - Prop Shield

Биз адегенде тирөөч калканчка туташтырабыз. Биз тирөөч калканчтын кыймыл датчиктерин гана колдонуп жаткандыктан, биз 3V жана пропин калканынын казыктарынан башка SCL, SDA жана IRQ төөнөгүчтөрүн гана туташтырышыбыз керек.

Байланыш аяктагандан кийин, Teensy жана prop shield салып, бул жерде айтылган кадамдарды аткаруу менен кыймыл сенсорлорун калибрлеңиз.

5 -кадам: Прототип түзүү - Power and Ground

Прототиптөө - Power and Ground
Прототиптөө - Power and Ground

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

  • Li-po чыгаруу чыңалуусу (көбүнчө 3V менен 4.2V ортосунда)
  • Step-up/down регуляторунун чыңалуусу (3.3V)
  • Жөнгө салынуучу баскычтын жөнгө салуучу чыңалуусу (6Vга коюлган)

6 -кадам: Прототип түзүү - Мотор айдоочусу

Прототип түзүү - Мотор айдоочусу
Прототип түзүү - Мотор айдоочусу
Прототип түзүү - Мотор айдоочусу
Прототип түзүү - Мотор айдоочусу
Прототип түзүү - Мотор айдоочусу
Прототип түзүү - Мотор айдоочусу

DRV8833 кош мотор айдоочу ташуучу тактасы каналга 1.2А үзгүлтүксүз жана 2А чоку агымдарын жеткире алат. Биз бир моторду айдаш үчүн эки каналды параллель туташтырабыз. Төмөндөгү кадамдарды аткаруу менен туташууларды туташтырыңыз.

  • Сүрөттө көрсөтүлгөндөй мотор айдоочусунун эки кириши жана эки чыгышы параллелдүү.
  • Киргизүүнү башкаруу зымдарын мотор драйверине туташтырыңыз.
  • 1000uF электролиттик конденсатор менен 0.1uF керамикалык конденсаторду эки ташуучу тактанын Vin жана Gnd терминалдарына туташтырыңыз.
  • 0.1uF керамикалык конденсаторду мотор драйверинин чыгуу терминалдарына туташтырыңыз.

7 -кадам: Прототип түзүү - Line Sensor Array Header

Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header
Прототип түзүү - Line Sensor Array Header

Teensy 3.6 эки ADCге ээ - ADC0 жана ADC1, алар жеткиликтүү 25 пинге чейин мультиплексирленген. Биз бир эле учурда эки ADCден каалаган эки казыкка кире алабыз. Биз ADC0 жана ADC1ге сегиз линия сенсорун туташтырабыз. Жуп сандагы сенсорлор ADC1ге, так сандагы сенсорлор ADC0го туташат. Төмөндөгү кадамдарды аткаруу менен туташууларды туташтырыңыз. Кийинчерээк линиянын сенсорун FFC аркылуу DIP адаптерине жана кабелине туташтырабыз.

  • Сүрөттө көрсөтүлгөндөй бардык жуп сенсор казыктарын (16, 14, 12, 10, 8, 6, 4, 2) туташтырыңыз. 12 -сенсор пинин туташтыруу үчүн зымды перфборддун арткы бетинен өткөрүңүз.
  • Эмиттерди көзөмөлдөө пинин (EVEN) Teensy pin 30га туташтырыңыз.
  • Бардык так сенсор казыктарын (15, 13, 11, 9, 7, 5, 3, 1) сүрөттө көрсөтүлгөндөй туташтырыңыз.
  • Vcc жана Gnd боюнча 470uF электролиттик конденсаторду туташтырыңыз.

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

8 -кадам: Прототиптештирүү - Micro Gear Motor жана Encoder

Прототиптөө - Micro Gear Motor жана Encoder
Прототиптөө - Micro Gear Motor жана Encoder
  • N20 моторун колдонуу менен коддогучтуу микро металл тиштүү моторду оңдоңуз.
  • Мотор менен кодердин зымдарын сүрөттө көрсөтүлгөндөй туташтырыңыз.
  • Сол кодер - Teensy pin 4 & 0
  • Оң кодоочу - Teensy pins 9 & 27

9 -кадам: Прототип түзүү - LED

Прототип түзүү - LED
Прототип түзүү - LED
Прототип түзүү - LED
Прототип түзүү - LED

Эки светодиод роботтун бурулушту байкаганын же көрсөтпөгөнүн көрсөтөт. Мен LEDлерди Teensyге туташтыруу үчүн 470 омдук сериядагы резисторду колдондум.

  • Сол LED анод Teensy пин 6га
  • Туура LED анод Teensy pin 8ге

10 -кадам: Прототип түзүү - Breakouts

Image
Image
Прототип түзүү - Breakouts
Прототип түзүү - Breakouts

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

Бардык сындыруучу такталарды тиешелүү розеткаларга салыңыз. FFC-DIP үзүлүшүн киргизүү жана QTRX-MD-16A линиясынын сенсорун оңдоо үчүн видеого кайрылыңыз.

11 -кадам: Программалык китепканаларга сереп

Программалык китепканаларга сереп
Программалык китепканаларга сереп

Биз Teensy'ди Arduino IDEде программалайбыз. Баштоодон мурун бизге кээ бир китепканалар керек болот. Биз колдоно турган китепканалар:

  • Encoder
  • Teensyview
  • EEPROM
  • ADC
  • NXPMotionSense

Жана кээ бирлери бул робот үчүн атайын жазылган.

  • PushButton
  • LineSensor
  • TeensyviewMenu
  • Моторлор

Бул роботко тиешелүү китепканалар деталдуу түрдө талкууланат жана кийинки кадамдарда жүктөө үчүн жеткиликтүү.

12 -кадам: Китепканалар түшүндүрүлөт - PushButton

Бул китепкана Teensy менен баскычтар менен иштөө үчүн. Колдонулган функциялар болуп саналат

PushButton (int leftButtonPin, int centreButtonPin, int rightButtonPin);

Объектти түзүү аркылуу бул конструкторго чалуу INPUT_PULLUP режимине баскычтардын казыктарын конфигурациялайт.

int8_t waitForButtonPress (жараксыз);

Бул функция баскыч басылып, кое берилгенге чейин күтөт жана ачкыч кодун кайтарат.

int8_t getSingleButtonPress (жараксыз);

Бул функция баскычтын басылып, кое берилгенин текшерет. Ооба болсо, ачкыч кодун кайтарат, башка нөлдү кайтарат.

13 -кадам: Китепканалар түшүндүрүлөт - Line Sensor

LineSensor - бул линия сенсорунун массивин Teensy менен байланыштыруу үчүн китепкана. Төмөндө колдонулган функциялар.

LineSensor (жараксыз);

Бул конструкторду чакырып, ADC0 жана ADC1 инициализациялайт, EEPROMдун босогосун, минималдуу жана максималдуу маанилерин окуйт жана сенсордук казыктарды киргизүү режимине жана эмитенттин башкаруу пинин чыгаруу режимине конфигурациялайт.

бош калибрлөө (uint8_t calibrationMode);

Бул функция линия сенсорлорун калибрлейт. CalibrationMode MIN_MAX же MEDIAN_FILTER болушу мүмкүн. Бул функция кийинки кадамда кеңири түшүндүрүлөт.

жараксыз getSensorsAnalog (uint16_t *sensorValue, uint8_t режими);

Сенсор массивин аргумент катары өткөн үч режимдин биринде окуйт. Режим эмитенттердин абалы жана ON, OFF же TOGGLE болушу мүмкүн. TOGGLE режими айланадагы жарыктын жардамы менен сенсордун чагылышын окуйт. ADC0 жана ADC1 туташтырылган сенсорлор синхрондуу түрдө окулат.

int getLinePosition (uint16_t *sensorValue);

Орнотулган орточо ыкма боюнча сенсор массивинин сызыктын ордун эсептейт.

uint16_t getSensorsBinary (uint16_t *sensorValue);

Сенсорлордун абалынын 16 биттик өкүлчүлүгүн кайтарат. Бинардык сенсор сызыктын үстүндө экенин жана бинардык нөл нөлдүн сенсор линияда эмес экенин көрсөтөт.

uint8_t countBinary (uint16_t binaryValue);

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

void getSensorsNormalized (uint16_t *sensorValue, uint8_t режими);

Сенсордун маанилерин окуйт жана ар бир сенсордун баалуулугун анын минималдуу жана максималдуу маанилерине чектейт. Андан кийин сенсордун маанилери тиешелүү минден максималдуу диапазонго 0дон 1000ге чейин картага түшүрүлөт.

14 -кадам: Китепканалар түшүндүрүлөт - TeensyviewMenu

TeensyviewMenu - дисплей менюсунун функцияларына кире турган китепкана. Төмөндө колдонулган функциялар.

TeensyViewMenu (жараксыз);

Бул конструкторду чакыруу LineSensor, PushButton жана TeensyView классынын объектин түзөт.

жараксыз интро (жараксыз);

Бул менюда чабыттоо үчүн.

жараксыз тест (жараксыз);

Бул линиянын сенсорунун баалуулуктары Teensyviewдо сыноо үчүн көрсөтүлө турган болгондо, менюнун ичинде деп аталат.

15 -кадам: Китепканалар түшүндүрүлөт - Моторлор

Моторлор - бул эки моторду айдоо үчүн колдонулган китепкана. Төмөндө колдонулган функциялар.

Моторлор (боштук);

Бул конструкторду объектти түзүү аркылуу чакыруу мотордун багытын башкарууну жана PWM башкаруу казыктарын чыгаруу режимине конфигурациялайт.

боштук setSpeed (int leftMotorSpeed, int rightMotorSpeed);

Бул функцияны чакыруу эки моторду аргумент катары берилген ылдамдыкта айдайт. Ылдамдыктын мааниси -255тен +255ке чейин айлануу багыты тескери экенин көрсөтүүчү терс белгиси менен болушу мүмкүн.

16 -кадам: Тестирлөө - Encoder Odometry

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

DualEncoderTeensyview.ino жүктөп бериңиз. Программа кодерди көрсөтөт Teensyview. Эгер роботту алдыга жылдырсаңыз, кодер көбөйөт жана артка жылдырсаңыз, төмөндөйт.

Эми EncoderOdometry.ino жүктөп бериңиз. Бул программа роботтун ордун x-y координаттары боюнча көрсөтөт, жалпы аралыкты сантиметр менен жана бурч градус менен бурулат.

Мен кодер кенелеринин ордун аныктоо үчүн Сиэттл Робототехника Коомунун R/C Servo Дифференциалдуу Драйвы бар роботко Odometry тарабынан ишке ашырылган Өлгөндөрдүн Эсептерин айттым.

17 -кадам: Тестирлөө - Калкан кыймылынын сенсорлору

Бул жерде айтылган кадамдарды аткаруу менен кыймыл датчиктерин калибрлегениңизди текшериңиз.

Эми PropShieldTeensyView.ino жүктөңүз. Сиз Teensyviewде акселерометрдин, гиронун жана магнитометрдин бардык үч огунун баасын көрө алышыңыз керек.

18 -кадам: Программаны карап чыгуу

Өркүндөтүлгөн сапты улантуучу программа Arduino IDEде жазылган. Программа төмөндө түшүндүрүлгөн төмөнкү ырааттуулукта иштейт.

  • EEPROMде сакталган баалуулуктар окулат жана меню көрсөтүлөт.
  • LAUNCH басканда, программа циклге кирет.
  • Нормаланган линия сенсорунун мааниси окулат.
  • Сызык позициясынын бинардык мааниси нормализацияланган сенсор маанилеринин жардамы менен алынат.
  • Сызыктан ашкан сенсорлордун саны линиянын абалынын бинардык маанисинен эсептелет.
  • Encoder кенелери жаңыртылып, жалпы аралыкты басып өтөт, x-y координаттары жана бурчу жаңыртылат.
  • 0ден 16га чейинки экилик эсептөөнүн ар кандай маанилери үчүн көрсөтмөлөрдүн топтому аткарылат. Эгерде бинардык эсептөө 1ден 5ке чейин болсо жана сызыктын үстүндөгү сенсорлор бири -бирине чектеш болсо, PID тартиби чакырылат. Ротация экилик маанинин жана бинардык эсептөөнүн башка айкалыштарында жүргүзүлөт.
  • PID тартибинде (бул PD тартибине ылайык), моторлор катанын, катанын өзгөрүүсүнүн, Kp жана Kd баалуулуктарынын негизинде эсептелген ылдамдыкта иштейт.

Учурда программа пропилдин калканынан багыттоо баалуулуктарын өлчөбөйт. Бул аткарылып жаткан иш жана жаңыртылып жатат.

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

19 -кадам: Менюда жана Орнотууларда навигация

Менюнун төмөнкү жөндөөлөрү бар, алар сол жана оң баскычтарды колдонуп, борбордук баскычты колдонуу менен тандалат. Орнотуулар жана алардын функциялары төмөндө сүрөттөлөт.

  1. CALIBRATE: линия сенсорлорун калибрлөө үчүн.
  2. ТЕСТ: линия сенсорунун маанилерин көрсөтүү үчүн.
  3. ЛАНЧ: Төмөнкү сапты баштоо үчүн.
  4. MAX SPEED: Роботтун ылдамдыгынын жогорку чегин орнотуу үчүн.
  5. АЙЛАНУУ ЫЛДАМДЫГЫ: роботтун айлануусун аткарганда ылдамдыгынын жогорку чегин белгилөө үчүн, башкача айтканда, эки дөңгөлөк тең карама -каршы багытта бирдей ылдамдыкта бурулганда.
  6. КП: Пропорционалдык туруктуу.
  7. KD: туунду туруктуу.
  8. ЧЫГУУ РЕЖИМИ: Эки иштөө режиминин бирин тандоо үчүн - NORMAL жана ACCL. NORMAL режиминде робот линиянын абалынын маанилерине туура келген ылдамдыкта иштейт. ACCL режиминде роботтун MAX SPEEDи жолдун алдын ала аныкталган баскычтарында ACCL SPEED менен алмаштырылат. Бул роботту жолдун түз бөлүктөрүндө ылдамдатуу үчүн колдонулушу мүмкүн. Төмөнкү жөндөөлөргө RUN MODE ACCL катары коюлганда гана жеткиликтүү болот.
  9. LAP DISTANCE: Жарыш жолунун жалпы узундугун орнотуу үчүн.
  10. ACCL SPEED: роботтун ылдамдануу ылдамдыгын орнотуу үчүн. Бул ылдамдык төмөндө аныкталгандай жолдун ар кайсы баскычында MAX SPEEDдин ордун басат.
  11. ЖОК. КАДАМДАР: ACCL SPEED колдонулган этаптардын санын коюу үчүн.
  12. 1 -этап: MAX SPEED ACCL SPEED менен алмаштырылган этаптын башталыш жана аяктоо аралыктарын орнотуу үчүн. Ар бир этап үчүн башталыш жана аяктоо аралыктары өзүнчө белгилениши мүмкүн.

20 -кадам: Line Sensor Калибрлөө

Image
Image

Сызык сенсорун калибрлөө - бул 16 сенсордун ар биринин босого мааниси аныкталуучу процесс. Бул босого маани белгилүү бир сенсор сызыктын үстүндөбү же жокпу чечүү үчүн колдонулат. 16 сенсордун босогосун аныктоо үчүн, биз эки ыкманы колдонобуз.

МЕДИАН ФИЛЬТРИ: Бул методдо сызык сенсорлору ак беттин үстүнө коюлат жана 16 сенсорлор үчүн сенсорлордун алдын ала аныкталган саны алынат. Бардык 16 сенсордун медианалык мааниси аныкталат. Ошол эле процесс линиянын сенсорлорун кара бетке койгондон кийин кайталанат. Босого мааниси - ак жана кара беттердин орточо маанилеринин орточо мааниси.

MIN MAX: Бул методдо сенсордун мааниси колдонуучу токтотууну суранганга чейин кайра -кайра окулат. Ар бир сенсор туш болгон максималдуу жана минималдуу баалуулуктар сакталат. Босогонун мааниси минималдуу жана максималдуу маанилердин орточо мааниси.

Ошентип алынган босого баалуулуктар 0дон 1000ге чейинки диапазонго түшүрүлөт.

MIN MAX ыкмасы боюнча линия сенсорлорун калибрлөө видеодо көрсөтүлгөн. Сызык сенсорлорун калибрлөөдөн кийин, маалыматтарды сүрөттө көрсөтүлгөндөй элестетүүгө болот. Төмөнкү маалымат көрсөтүлөт.

  • Тиешелүү линия сенсорунун сызыктын үстүндө экенин жана бинардык 0 линиянын сенсорунун линиядан тышкары экенин көрсөтүүчү бинардык 1 менен линиянын позициясынын 16-биттик бинардык көрүнүшү.
  • Чектен ашкан сенсорлордун жалпы саны.
  • 16 сенсордун минималдуу, максималдуу жана сенсордук баалуулуктары (чийки жана нормалдуу), бир убакта бир сенсор.
  • -7500дөн +7500ге чейинки линиянын орду.

Минималдуу жана максималдуу линия сенсорунун баалуулуктары EEPROMда сакталат.

21 -кадам: Test Run

Image
Image

Видео робот бир айлампаны бүткөндөн кийин токтой тургандай программаланган сыноо.

22 -кадам: Акыркы ойлор жана жакшыртуулар

Роботтор сынагы
Роботтор сынагы

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

Жакшы ийгилик.

Роботтор сынагы
Роботтор сынагы

Роботтор сынагынын экинчи сыйлыгы

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