0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 Projekt 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 1 .

Pojazd sterowany mikrokontrolerem - notatki

Początek prac nad robotem: 2003r.

Zapisuję w niej moje notatki i kroki jakie stawiam w celu uruchomienia pojazdu. Narazie, zaczynam od zrobienia dwóch liczników zliczających w górę i w dół w zakresie:
-9999 do +9999. Wyświetlanie zrealizowane jest za pomocą wyświetlacza 8 cyfrowego. Patrząc od lewej na wyświetlacz: pierwsze cztery cyfry to pierwszy licznik; drugie cztery to drugi licznik. W kolejnych krokach opisuję dalsze postępowanie...

1. Zasilanie układu

2. Podłączenie do komputera.

3. Piszę programiki sprawdzając działanie poszczególnych fragmentów układu.

a). Oznaczenia wyświetlacza 7-segmentowego.

Na podstawie tych oznaczeń wyświetlacza, definiuję tablicę za pomocą dyrektywy DB w programie asemblera.

b). Podłaczenie urządzeń peryferyjnych ( wyświetlacz 8 cyfrowy i 2 klawisze )

Cały schemat (plik Protela : mysz1.sch)

Podłączony wyświetlacz do mikroprocesora, najpierw sprawdzam czy dobrze działa. Piszę program w asemblerze sterujący wyświetlaniem cyfr.

Pierwszy i drugi program działa na tej samej zasadzie, jedyną różnicą jest sposób korzystania z tablicy zdefiniowanych kodów.

Za pomocą dyrektywy DB tworzę tablicę, w której zapisuję kształt wyświetlanych cyfr i liter. Korzystam z tej tablicy na dwa sposoby. W pierwszym pliku (mysz3.asm) używam licznika rozkazów PC, a w drugim pliku (mysz4.asm) używam wskaźnika danych DPTR.

Poniżej umieszczam te pliki:

mysz3.asm
mysz4.asm


Na podstawie schematu : |mysz2.jpg (60 kB) | |mysz2.sch | , napisałem program: |mysz5.asm| dwóch liczników liczących w górę lub w dół w zadresie -9999 do +9999. Kierunek zliczania jest rozpoznawany na podstawie stanu na nóżce portu P3.2 , P3.3 oraz P3.5, P3.6. Np. po pojawieniu się sygnału z myszki na wejściu P3.2; zostaje uruchomione przerwanie INT0, w którym jest sprawdzany stan nóżki P3.5. W zależności od stanu "1" lub "0" mikrokontroler zlicza w górę lub w dół. Wejście P3.2, P3.5 - kanał X (przód, tył). Wejście P3.3, P3.6 - kanał Y ( lewo, prawo)

Należy zwrócić uwagę na podłączenie wyjść sygnałowych z układu formującego impulsy z myszki. Kolejność wpinania do portu mikrotkonrolera jest ważna ! Podłączenie na odwrót przewodu zamiast do np. P3.5 a do P3.2 spowoduje, że procesor nie będzie dobrze zliczał impulsów i źle będzie rozróżniał kierunek

Spore problemy stwarza sygnał generowany przez myszkę; czujnik ruchu foto - optyczny w myszce. Ponieważ myszka generuje często fałszywe sygnały nawet gdy stoi i to o sporej częstotliwości. Być może jest to spowodowane detekcją poziomu logicznego na wejściu bramki.


Po paru testach układ czytający impulsy z myszki został zmodyfikowany, gdyż wartości rezystorów były za małe, a ponadto układ generował zbyt wiele zakłóceń


mysz3.sch

Zastosowano o wiele prostrze rozwiązanie z komparatorem LM339. Napięcie odniesienia uzyskano na dzielniku napięciowym dwóch rezystorów 22k i 4,7k. Napięcie uzyskane na tym dzielniku wynosi U=0,85V. Gdy zmniejszy się wartość rezystora podpiętego do plusa zasilania o połowę do 11k, tzn. 11k i 4,7k, wówczas napięcie na dzielniku uzyska wartość U=1,44V. Dla napięcia 1,44V , układ prawie wcale nie generował zakłóceń.

Schemat jako plik JPG oraz schemat w Protelu zamieszczono poniżej:

mysz4.sch

Sygnał z myszki przepływa przez dzielnik rezystorów każdy 33k. Zmierzone napięcia wahają się w przedziale od 0,48 V do 2,36 V. Najlepszy próg przełączania komparatora doświadczalnie wyznaczono na poziomie napięcia: U=1,44V. Gdy napięcie odniesienia wynosiło U=0,85V powstawały często niepożądane przełączenia komparatora wskutek nisko ustawionego punktu odniesienia. Minimalna wartość sygnału wynosiła Umin=0,48 V , a próg przełączenia już przy napięciu Up=0,85V czyli tylko 0,37V. Natomiast gdy próg załączenia podniesiono do Up=1,44 V , różnica pomiędzy minimalnym napięciem sygnału a progiem przełaczenia wynosi już 0,96 V. Różnica pomiędzy maksymalnym napięciem sygnału a progiem przełączenia wynosi 0,92 V. Czyli jest to mniej więcej po środku.


Rozmieszczenie wyprowadzeń układu komparatora LM339 :




Ze względu na konieczność sterowania dwóch silników prądu stałego, konieczne jest zastosowanie modulacji PWM.
Zrealizowanie tejże modulacji na mikrokontrolerze AT89S8252 spowodowałoby większe komplikacje układowe. Dlatego urządzenie
postanowiono zrealizować na procesorze AVR. Typ : AVR ATMEGA32 posiada m. in. 4 kanały PWM, a do projektu wystarczają dwa.

Po szeregu prób końcowym efektem było zastosowanie procesora Atmega 8. Projekt ten był tematem mojej pracy dyplomowej pt. "Projekt i budowa prostego robota mobilnego". Moim promotorem był Pan dr inż. Andrzej Witkowski.


Poniżej do ściągnięcia są kolejno:

Schemat elektryczny (eagle)
Kopia pracy dyplomowej w formacie pdf