Съдържание:

PID Line Follower Atmega328P: 4 стъпки
PID Line Follower Atmega328P: 4 стъпки

Видео: PID Line Follower Atmega328P: 4 стъпки

Видео: PID Line Follower Atmega328P: 4 стъпки
Видео: DIY Fast PID line follower with code **PART 2** 2024, Ноември
Anonim
Image
Image

ВЪВЕДЕНИЕ

Тази инструкция е свързана с това да се направи ефективен и надежден линеен последовател с PID (пропорционално-интегрално-производно) управление (математическо), работещо в мозъка му (Atmega328P).

Последователят на линия е автономен робот, който следва или черна линия в бяло, или бяла линия в черна област. Роботът трябва да може да открие определена линия и да я следва.

Така че ще има няколко части/стъпки, за да се направи LINE FOLLOWER. Ще обсъдя всички тях стъпка по стъпка.

  1. Сензор (Око, за да видите линията)
  2. Микроконтролер (мозък, за да направите някои изчисления)
  3. Двигатели (мускулна мощност)
  4. Шофьор на мотор
  5. Шаси
  6. Батерия (източник на енергия)
  7. Колело
  8. Разни

Ето ВИДЕОТО НА СЛЕДАТЕЛЯ НА ЛИНИЯТА

В СЛЕДВАЩИТЕ СТЪПКИ ЩЕ ОБСУЖДАМ ПОДРОБНО ЗА ВСЕКИ КОМПОНЕНТИ

Стъпка 1: Сензор (око) QTR 8RC

Сензор (око) QTR 8RC
Сензор (око) QTR 8RC
Сензор (око) QTR 8RC
Сензор (око) QTR 8RC
Сензор (око) QTR 8RC
Сензор (око) QTR 8RC

Благодарение на Pololufor произвежда този страхотен сензор.

Модулът е удобен носител за осем двойки IR излъчвател и приемник (фототранзистор), равномерно разположени на интервали от 9755 мм (0,375 ). За да използвате сензор, първо трябва да заредите изходния възел (Зареждане на кондензатора), като приложите напрежение към неговия изход OUT. След това можете да прочетете отражението, като изтеглите външно захранващото напрежение и определите времето колко време отнема изходното напрежение да се понижи поради вградения фототранзистор. По -краткото време на затихване е индикация за по -голямо отражение. Този подход на измерване има няколко предимства, особено когато е съчетано със способността на модула QTR-8RC да изключва LED захранването:

  • Не се изисква аналогово-цифров преобразувател (ADC).
  • Подобрена чувствителност към аналоговия изход с делител на напрежение.
  • Паралелно отчитане на множество сензори е възможно при повечето микроконтролери.
  • Паралелното отчитане позволява оптимизирано използване на опцията за активиране на LED захранването

Спецификации

  • Размери: 2.95 "x 0.5" x 0.125 "(без монтирани щифтове за заглавки)
  • Работно напрежение: 3.3-5.0 V
  • Захранващ ток: 100 mA
  • Изходен формат: 8 цифрови I/O-съвместими сигнала, които могат да се четат като синхронизиран висок импулс
  • Оптимално разстояние на засичане: 0,125 "(3 mm) Максимално препоръчително разстояние на чувствителност: 0,375" (9,5 mm)
  • Тегло без щифтове на заглавката: 0,19 унции (3,09 г)

Свързване на изходите QTR-8RC към цифрови I/O линии

Модулът QTR-8RC има осем идентични сензорни изхода, които, подобно на Parallax QTI, изискват цифрова I/O линия, способна да задвижва изходната линия високо и след това да измерва времето за спадане на изходното напрежение. Типичната последователност за четене на сензор е:

  1. Включете инфрачервени светодиоди (по избор).
  2. Настройте I/O линията на изход и я задвижете високо.
  3. Оставете поне 10 μs изхода на сензора да се повиши.
  4. Направете I/O линията вход (висок импеданс).
  5. Измерете времето за спадане на напрежението, като изчакате I/O линията да падне.
  6. Изключете IR светодиодите (по избор).

Тези стъпки обикновено могат да се изпълняват паралелно на множество I/O линии.

При силно отражение, времето на затихване може да бъде толкова малко, колкото няколко десетки микросекунди; без отражение, времето на затихване може да достигне до няколко милисекунди. Точното време на разпадане зависи от характеристиките на I/O линията на вашия микроконтролер. Значителни резултати могат да бъдат налични в рамките на 1 ms в типични случаи (т.е. когато не се опитвате да измервате фини разлики в сценарии с ниска рефлексия), позволявайки до 1 kHz вземане на проби от всичките 8 сензора. Ако вземането на проби с по-ниска честота е достатъчно, значителни икономии на енергия могат да бъдат постигнати чрез изключване на светодиодите. Например, ако честотата на дискретизация от 100 Hz е приемлива, светодиодите могат да бъдат изключени 90% от времето, намалявайки средното потребление на ток от 100 mA на 10 mA.

Стъпка 2: Микроконтролер (мозък) Atmega328P

Микроконтролер (мозък) Atmega328P
Микроконтролер (мозък) Atmega328P
Микроконтролер (мозък) Atmega328P
Микроконтролер (мозък) Atmega328P

Благодарение на Atmel CorporationЗа производството на този страхотен микроконтролер AKA Atmega328.

Ключови параметри за ATmega328P

Стойност на параметъра

  • Флаш (Kbytes): 32 Kbytes
  • Брой щифтове: 32
  • Макс. Работна честота (MHz): 20 MHz
  • Процесор: 8-битов AVR
  • Максимални входно -изходни изводи: 23
  • Външни прекъсвания: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ADC канали: 8
  • Разделителна способност на ADC (бита): 10
  • SRAM (Кбайт): 2
  • EEPROM (байтове): 1024
  • I/O клас на захранване: 1.8 до 5.5
  • Работно напрежение (Vcc): 1,8 до 5,5
  • Таймери: 3

За подробна информация преминете през листа с данни на Atmega328P.

В този проект използвам Atmega328P поради няколко причини

  1. Евтини
  2. Има достатъчно RAM за изчисления
  3. Достатъчни I/O пинове за този проект
  4. Atmega328P се използва в Arduino…. Може да забележите в картината и видеото Arduino Uno, но по -вече използвам Arduino IDE или Any Arduino.. Използвал съм само хардуера като свързваща платка. Изтрих буутлоудъра и използвах USB ASP за програмиране на чипа.

За програмиране на чипа използвах Atmel Studio 6

Целият код на източника е в GitHub Изтеглете го и проверете файла test.c.

За да компилирате този пакет, трябва да изтеглите и инсталирате НАСТРОЙКАТА НА БИБЛИОТЕКАТА НА POLOLU Проверете прикачените файлове …

Също така КАЧАМ Схема и файл на борда на Atmega328P на борда за развитие … Можете да го направите сами …

Стъпка 3: Мотор и водач на мотор

Двигател и шофьор на мотор
Двигател и шофьор на мотор
Двигател и шофьор на мотор
Двигател и шофьор на мотор
Двигател и шофьор на мотор
Двигател и шофьор на мотор

Използвал съм задвижващ двигател постоянен ток тип 350RPM 12V BO с редуктор. За да научите повече информация … MOTOR LINK

Като шофьор на мотор използвах L293D H-мост IC.

Прилагам схемата и файла на дъската за същото.

Стъпка 4: Шаси и други

Шаси и други
Шаси и други
Шаси и други
Шаси и други
Шаси и други
Шаси и други

Ботата е изработена от дървесина с дебелина 6 мм.

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