Spisu treści:
- Krok 1: Czujnik (oczko) QTR 8RC
- Krok 2: Mikrokontroler (mózg) Atmega328P
- Krok 3: Silnik i sterownik silnika
- Krok 4: Podwozie i inne
Wideo: Śledzenie linii PID Atmega328P: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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.
- Czujnik (oko, aby zobaczyć linię)
- Mikrokontroler (mózg, aby wykonać kilka obliczeń)
- Silniki (siła mięśniowa)
- Kierowca motocyklu
- Podwozie
- Bateria (źródło energii)
- Koło
- 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
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:
- Włącz diody podczerwieni (opcjonalnie).
- Ustaw linię I/O na wyjście i ustaw ją wysoko.
- Odczekaj co najmniej 10 μs na wzrost sygnału wyjściowego czujnika.
- Ustaw linię we/wy jako wejście (wysoka impedancja).
- Zmierz czas do zaniku napięcia, czekając na niski stan linii we/wy.
- 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
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
- Tani
- Ma wystarczającą ilość pamięci RAM do obliczeń
- Wystarczająca liczba pinów we/wy dla tego projektu
- 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
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
Bot składa się z sklejki o grubości 6 mm.
Zalecana:
Zabezpieczenie linii papilarnych: 4 kroki
Zabezpieczenie linii papilarnych: Czy jesteś osobą zapominalską? Często zapominasz zabrać ze sobą klucze? Jeśli odpowiedź na pytanie brzmi tak. Następnie powinieneś zrobić własne pudełko zabezpieczające odciski palców !!! Odcisk twojego ja jest jedyną rzeczą na świecie. Dzięki temu nie będziesz musiał
Robot Arduino 5 w 1 - Podążaj za mną - Śledzenie linii - Sumo - Rysunek - Unikanie przeszkód: 6 kroków
Robot Arduino 5 w 1 | Podążaj za mną | Śledzenie linii | Sumo | Rysunek | Unikanie przeszkód: Ta płyta sterująca robota zawiera mikrokontroler ATmega328P i sterownik silnika L293D. Oczywiście nie różni się niczym od płytki Arduino Uno, ale jest bardziej użyteczna, ponieważ nie potrzebuje kolejnej osłony do napędzania silnika! Jest wolny od skoku
Jak zrobić prosty dekoder linii telefonicznej DTMF (tonowy): 3 kroki
Jak zrobić prosty dekoder linii telefonicznej DTMF (ton): Jest to prosty projekt, który umożliwia dekodowanie sygnałów DTMF na praktycznie każdej linii telefonicznej. W tym samouczku używamy dekodera MT8870D. Używamy wstępnie wbudowanego dekodera tonów, ponieważ uwierz mi, to ból z tyłu próbować to zrobić za pomocą
Śledzenie linii sieciowej: 7 kroków
Śledzenie linii sieciowej: Cóż, potrzebuję sposobu, aby prześledzić niektóre linie sieciowe, które zostały zainstalowane, gdy mój dom był budowany 7 lat temu. Niestety nie były wtedy oznaczone. Możesz wydać dużo pieniędzy na lokal komercyjny lub przy odrobinie wiedzy i 5 dol
Obserwator linii BrickPi3: 4 kroki
BrickPi3 Line Follower: Oto projekt demonstrujący, w jaki sposób Dexter Industries Line Follower może być użyty, aby robot BrickPi3 podążał za linią