Spisu treści:

Śledzenie linii PID Atmega328P: 4 kroki
Śledzenie linii PID Atmega328P: 4 kroki

Wideo: Śledzenie linii PID Atmega328P: 4 kroki

Wideo: Śledzenie linii PID Atmega328P: 4 kroki
Wideo: Strojenie ręczne regulatora PID - prosty przykład 2024, Lipiec
Anonim
Image
Image

WPROWADZANIE

Ta instrukcja dotyczy stworzenia wydajnego i niezawodnego modułu Line Follower ze sterowaniem PID (proporcjonalno-całkująco-pochodnym) (matematycznym) działającym w jego mózgu (Atmega328P).

Line follower to autonomiczny robot, który podąża za czarną linią na białym obszarze lub białą linią na czarnym obszarze. Robot musi być w stanie wykryć daną linię i podążać za nią.

Tak więc będzie kilka części/kroków do stworzenia LINE FOLLOWERA. Omówię je wszystkie krok po kroku.

  1. Czujnik (oko, aby zobaczyć linię)
  2. Mikrokontroler (mózg, aby wykonać kilka obliczeń)
  3. Silniki (siła mięśniowa)
  4. Kierowca motocyklu
  5. Podwozie
  6. Bateria (źródło energii)
  7. Koło
  8. Różne

Oto WIDEO OBSERWATORA LINII

W KOLEJNYCH KROKACH BĘDĘ OMÓWIĆ SZCZEGÓŁY O KAŻDYCH KOMPONENTACH

Krok 1: Czujnik (oczko) QTR 8RC

Czujnik (oczko) QTR 8RC
Czujnik (oczko) QTR 8RC
Czujnik (oczko) QTR 8RC
Czujnik (oczko) QTR 8RC
Czujnik (oczko) QTR 8RC
Czujnik (oczko) QTR 8RC

Dzięki firmie Pololu za wyprodukowanie tego niesamowitego czujnika.

Moduł jest wygodnym nośnikiem dla ośmiu par nadajników i odbiorników IR (fototranzystor) rozmieszczonych w równych odstępach co 0,375 (9,525 mm). jego pin OUT. Następnie można odczytać współczynnik odbicia, pobierając napięcie dostarczane z zewnątrz i mierząc czas zanikania napięcia wyjściowego z powodu zintegrowanego fototranzystora. Krótszy czas zaniku wskazuje na większe odbicie. To podejście pomiarowe ma kilka zalet, szczególnie w połączeniu z możliwością wyłączania zasilania LED przez moduł QTR-8RC:

  • Nie jest wymagany konwerter analogowo-cyfrowy (ADC).
  • Poprawiona czułość na wyjście analogowe dzielnika napięcia.
  • Większość mikrokontrolerów umożliwia odczyt równoległy wielu czujników.
  • Odczyt równoległy umożliwia optymalne wykorzystanie opcji włączania zasilania LED

Specyfikacje

  • Wymiary: 2,95" x 0,5" x 0,125" (bez zainstalowanych kołków nagłówka)
  • Napięcie robocze: 3,3-5,0 V
  • Prąd zasilania: 100 mA
  • Format wyjściowy: 8 cyfrowych sygnałów zgodnych z wejściami/wyjściami, które można odczytać jako czasowy wysoki impuls
  • Optymalna odległość wykrywania: 0,125 cala (3 mm)Maksymalna zalecana odległość wykrywania: 0,375 cala (9,5 mm)
  • Waga bez kołków nagłówka: 0,11 uncji (3,09 g)

Podłączanie wyjść QTR-8RC do cyfrowych linii we/wy

Moduł QTR-8RC ma osiem identycznych wyjść czujników, które, podobnie jak Parallax QTI, wymagają cyfrowej linii I/O zdolnej do wysterowania linii wyjściowej w stan wysoki, a następnie pomiaru czasu do zaniku napięcia wyjściowego. Typowa sekwencja odczytu czujnika to:

  1. Włącz diody podczerwieni (opcjonalnie).
  2. Ustaw linię I/O na wyjście i ustaw ją wysoko.
  3. Odczekaj co najmniej 10 μs na wzrost sygnału wyjściowego czujnika.
  4. Ustaw linię we/wy jako wejście (wysoka impedancja).
  5. Zmierz czas do zaniku napięcia, czekając na niski stan linii we/wy.
  6. Wyłącz diody podczerwieni (opcjonalnie).

Te kroki mogą być zazwyczaj wykonywane równolegle na wielu liniach we/wy.

Przy silnym współczynniku odbicia czas zaniku może wynosić nawet kilkadziesiąt mikrosekund; bez odbicia czas zaniku może wynosić do kilku milisekund. Dokładny czas zaniku zależy od charakterystyki linii I/O Twojego mikrokontrolera. Znaczące wyniki mogą być dostępne w ciągu 1 ms w typowych przypadkach (tj. gdy nie próbujesz mierzyć subtelnych różnic w scenariuszach o niskim współczynniku odbicia), umożliwiając próbkowanie do 1 kHz wszystkich 8 czujników. Jeśli próbkowanie o niższej częstotliwości jest wystarczające, można uzyskać znaczne oszczędności energii poprzez wyłączenie diod LED. Na przykład, jeśli częstotliwość próbkowania 100 Hz jest akceptowalna, diody LED mogą być wyłączone przez 90% czasu, obniżając średni pobór prądu ze 100 mA do 10 mA.

Krok 2: Mikrokontroler (mózg) Atmega328P

Mikrokontroler (mózg) Atmega328P
Mikrokontroler (mózg) Atmega328P
Mikrokontroler (mózg) Atmega328P
Mikrokontroler (mózg) Atmega328P

Podziękowania dla Atmel Corporation za wyprodukowanie tego niesamowitego mikrokontrolera AKA Atmega328.

Kluczowe parametry dla ATmega328P

Wartość parametru

  • Flash (Kbajty): 32 Kbajty
  • Liczba pinów: 32
  • Maks. Częst. (MHz): 20 MHz
  • Procesor: 8-bitowy AVR
  • Maksymalna liczba pinów we/wy: 23
  • Przerwania zewnętrzne: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • Kanały ADC: 8
  • Rozdzielczość ADC (bity): 10
  • SRAM (Kbajty): 2
  • EEPROM (bajty): 1024
  • Klasa zasilania we/wy: 1,8 do 5,5
  • Napięcie robocze (Vcc): 1,8 do 5,5
  • Zegary: 3

Aby uzyskać szczegółowe informacje, przejdź do arkusza danych Atmega328P.

W tym projekcie używam Atmega328P z kilku powodów

  1. Tani
  2. Ma wystarczającą ilość pamięci RAM do obliczeń
  3. Wystarczająca liczba pinów we/wy dla tego projektu
  4. Atmega328P jest używany w Arduino…. U może zauważyć na obrazie i wideo Arduino Uno, ale wieczorem używam Arduino IDE lub dowolnego Arduino. Użyłem tylko sprzętu jako płyty interfejsu. Wykasowałem bootloader i użyłem USB ASP do programowania układu.

Do programowania układu użyłem Atmel Studio 6

Cały KOD ŹRÓDŁOWY JEST W GitHub Pobierz i sprawdź plik test.c.

Aby skompilować ten pakiet, musisz pobrać i zainstalować KONFIGURACJA BIBLIOTEKI POLOLU AVR Sprawdź załączniki…

Przesyłam również schemat płytki rozwojowej Atmega328P i plik płytki… Możesz to wyprodukować samodzielnie…

Krok 3: Silnik i sterownik silnika

Silnik i sterownik silnika
Silnik i sterownik silnika
Silnik i sterownik silnika
Silnik i sterownik silnika
Silnik i sterownik silnika
Silnik i sterownik silnika

Jako siłownik użyłem motoreduktora typu 350RPM 12V BO Type. Aby dowiedzieć się więcej… MOTOR LINK

Jako sterownik silnika użyłem układu scalonego L293D H-bridge.

Załączam schemat i plik tablicy dla tego samego.

Krok 4: Podwozie i inne

Podwozie i inne
Podwozie i inne
Podwozie i inne
Podwozie i inne
Podwozie i inne
Podwozie i inne

Bot składa się z sklejki o grubości 6 mm.

Zalecana: