raport z prac zrealizowanych w semestrze zimowym roku

Transkrypt

raport z prac zrealizowanych w semestrze zimowym roku
Wiedza i doświadczenie projektowe wizytówką absolwenta kierunku automatyka i robotyka
na Wydziale Automatyki, Elektroniki i Informatyki Politechniki Śląskiej
POKL.04.01.02-00-020/10
Program Operacyjny Kapitał Ludzki współfinansowany przez Unię Europejską
ze środków Europejskiego Funduszu Społecznego
_________________________________________________________________________________________
Gliwice, 25.02.2013 r.
SKN Robotyki „Encoder”
Wydział Automatyki, Elektroniki i Informatyki
Politechnika Śląska
dr hab. inż. Marek Pawełczyk, prof. Pol. Śl.
Koordynator Projektu POKL.04.01.02-00-020/10
SPRAWOZDANIE Z REALIZACJI PROJEKTU
„Animatroniczna dłoń sterowana za pomocą rękawicy z czujnikami zgięcia palców”
Kierownik projektu
Grzegorz Gałązka
Opiekun projektu
dr Damian Bereska
W semestrze zimowym r. akad. 2012/2013 za środki z dofinansowania uzyskanego
w ramach Projektu POKL.04.01.02-00-020/10 zostały zakupione następujące elementy
wyposażenia tworzonego robota:
 Zestaw 6 serwomechanizmów Hitec HS-85MG – 454.10 zł
 Zestaw 6 czujników ugięcia – 362.82 zł
Przyznana kwota finansowania: 900.00 zł
Zwracam się z uprzejmą prośbą o przeniesienie niewykorzystanych środków tj. 83.08 zł do
puli przyznanej SKN „Ecoder” w ramach czwartego konkursu na finansowanie projektów
w ramach działalności Studenckich Kół Naukowych. Jednocześnie wnioskujemy, aby równy
dostęp do przeniesionych środków miały wszystkie zespoły realizujące projekty w ramach
SKN „Encoder”.
Zgodnie z zaplanowanym harmonogramem, zrealizowano następujące zadania:
1. Zakup podzespołów elektronicznych przewidzianych w kosztorysie.
2. Zakup peszla teletechnicznego.
3. Wykonanie konstrukcji dłoni.
4. Zaprojektowanie części mikroprocesorowej.
5. Wykonanie projektu obwodu drukowanego PCB.
6. Montaż podzespołów elektronicznych.
7. Napisanie programu głównego.
8. Połączenie układu mechanicznego z układem sterowania.
9. Test urządzenia, kalibracja.
Opis projektu oraz postępy w jego realizacji publikowane są na stronie internetowej SKN pod
adresem: http://encoder.polsl.pl/?page_id=207
Szczegółowy opis pracy został zamieszczony w dalszej części sprawozdania.
1
Zarys prac projektowych:
Przewidziane podzespoły zostały zakupione i dostarczone na czas.
Podczas projektowania urządzenia napotkaliśmy pewne zagadnienia wymagające
szczegółowego opracowania:
- Kwestia nieidentyczności liniowych czujników rezystancyjnych – rozwiązanie polega na
przeprowadzeniu kalibracji urządzenia w skrajnych punktach: dłoń otwarta (0 stopni), dłoń
zaciśnięta (180 stopni), a następnie wyliczenia współczynnika nachylenia funkcji liniowej
każdego czujnika. Ostatecznie kąt ugięcia czujnika jest obliczany dzięki przekształconej
funkcji liniowej.
Wykazanie liniowości czujników na podstawie jednego z nich:
Różnice między liniowymi czujnikami rezystancyjnymi (charakterystyki tworzone na podstawie
rezystancji w skrajnych położeniach):
- Problem nierozpoczynania przerwań przetwornika ADC po skończonej konwersji –
Problem był powodowany przez konflikt przerwań Timera o wyższym priorytecie i ADC o
2
niższym priorytecie. Rozwiązanie polegało na zastosowaniu w układzie taktowania
rezonatorem kwarcowym o podwyższonej, niż standardowa, częstotliwości, dzięki czemu
zyskaliśmy czas na swobodne wykonywanie się obu typów przerwań.
- Kwestia nieliniowości dzielnika napięcia, w którym pracują liniowe czujniki rezystancyjne –
rozwiązanie polega na pomiarze napięcia i wyliczeniu rezystancji czujników (która zmienia
się liniowo względem zginania) na podstawie wzoru na dzielnik napięcia.
Nieliniowa zmiana napięcia na dzielniku napięcia ma charakter wykładniczo malejący:
Wykonanie konstrukcji dłoni
1) Część mechaniczna
Z peszla teletechnicznego wykonane zostały modele palców, których zginanie umożliwia
żyłka poprowadzona wewnątrz przewodu, oraz nacięcia odpowiadające stawom między
paliczkami palców dłoni. Konstrukcja została dodatkowo usztywniona taśmą izolacyjną,
zapewniając lepsze odciąganie palców do pozycji wyprostowanej. Ugięcie palców
sterowane jest za pomocą pięciu z sześciu serwomechanizmów wykorzystanych w
projekcie, które poprzez obrót orczyka realizują pociągnięcie żyłek. Kciuk przymocowany
jest bezpośrednio do szóstego serwomechanizmu umożliwiającego ruch obrotowy wokół
osi wyznaczonej przez wyprostowany palec wskazujący.
3
2) Kontroler
Sterowanie częścią mechaniczną umożliwia rękawica, do której przyszyto czujniki ugięcia
oraz niezbędne okablowanie. Zakupione czujniki charakteryzują się rezystancją, która
zmienia się liniowo w funkcji ugięcia. Każdy z sensorów połączony jest szeregowo z
opornikiem i zasilony zewnętrznym napięciem. Pomiar położenia palców dłoni ogranicza
się więc do zmierzenia spadków napięć na rezystorach, które po przekonwertowaniu do
postaci cyfrowej i po poddaniu odpowiednim przekształceniom zostały przeliczone na kąt
wychylenia serwomechanizmów.
4
Z racji na znaczne różnice zakresu rezystancji czujników przed rozpoczęciem pracy
urządzenia niezbędna jest półautomatyczna kalibracja, polegająca na naciśnięciu przycisku
w czasie odpowiedniego ułożenia palców dłoni (informacja wyświetlana jest na
wyświetlaczu LCD) co zdecydowanie zwiększa jakość odwzorowania ruchu palców.
Pomiar jest wykonywany na dzielniku napięcia. Kąt wyliczany na podstawie funkcji liniowej
otrzymanej przy kalibracji urządzenia:
Zaprojektowanie części mikroprocesorowej
W projekcie wykorzystano mikrokontroler jednoukładowy Atmega16. Posiada on
wystarczającą ilość przetworników analogowo-cyfrowych do obsługi czujników, oraz portów
we-wy, co umożliwia obsługę wyświetlacza LCD, służącego do komunikacji z
użytkownikiem, serwomechanizmów oraz przycisku, który służy do kalibracji kontrolera. Z
racji tętnień napięcia spowodowanych pracą serwomechanizmów część mikroprocesorowa
zasilana jest napięciem stabilizowanym.
5
Wykonanie projektu obwodu drukowanego PCB.
Projekt obwodu drukowanego wykonany został w programie EAGLE light. Do wytrawionej
płytki przylutowano wszystkie niezbędne elementy. Na płytce znajdują się dwa złącza
IDC-10 – pierwsze przeznaczone na podłączenie programatora oraz drugie do podpięcia
kontrolera. Wyprowadzono również 6 trzypinowych złącz do podłączenia
serwomechanizmów oraz jedno 16-pinowe przeznaczone do wpięcia wyświetlacza. Do
mikrokontrolera podłączony został rezonator kwarcowy o częstotliwości taktowania 6 MHz
6
oraz kondensatory filtrujące, rezystory i dławiki niezbędne do poprawnego funkcjonowania
mikrokontrolera.
Program główny
Program główny mikrokontrolera został napisany w języku C z wykorzystaniem kompilatora
WinAVR oraz programatora USBasp. Umożliwia on m.in:

Poprawną interpretację wielkości odczytanych z przetworników analogowo
cyfrowych.
 Kalibrację urządzenia.
 Sterowanie serwomechanizmami.
 Obsługę przycisku oraz wyświetlacza.
7
Fragment kodu ukazujący funkcję przeliczania rezystancji liniowych czujników na kąt
zgięcia palca:
Problem wielowątkowego działania urządzenia został rozwiązany przez odpowiednią
dystrybucję czasu pracy procesora na każde zadanie oraz wykorzystanie przerwań. Po
skończonej kalibracji mikrokontroler dostaje pozwolenie na wykonanie przerwania
sprzętowego z przetworników analogowo-cyfrowych. W celu uniknięcia zakłóceń oraz
błędnych pomiarów dla każdego czujnika pomiar wykonywany jest wielokrotnie, a następnie
uśredniany. Po skończonej konwersji wywoływana jest funkcja realizująca uaktualnienie kąta
wychylenia orczyków serwomechanizmów, która przelicza kąt na długośc impulsu, a
następnie aktualizuje informację w tablicy sterującej. Co 100 μs wywoływane jest przerwanie
timera, w którym bezpośrednio realizowane jest przełączanie między stanem niskim i
wysokim (w zależności od numeru wywołania) na podstawie informacji zawartych we
wspomnianej wyżej tablicy. Po przekroczeniu pewnego zakresu wywołań (umożliwiającego
zapis impulsów pozwalających na obrót serwomechanizmu o 180 stopni) przerwania timera
wywołują instrukcje puste, aby zapewnić dostatecznie długą przerwę do oddzielenia
kolejnych impulsów sterujących. Trwa to około 10us i daje czas na wykonywanie
ewentualnych pomiarów napięcia na czujnikach. Co dziesięć impulsów dokonywany jest
ponowny pomiar; zmniejszenie gęstości dokonywania pomiarów ogranicza czułość
urządzenia na niepożądane drgania czujników. Dodatkowo w pętli głównej programu
realizowane jest sterowanie wyświetlaczem LCD, który w trakcie pracy urządzenia wyświetla
wychylenie każdego palca.
Połączenie układu mechanicznego z układem sterowania.
Wszystkie komponenty zostały przymocowane do płytki ze szkła akrylowego. Palce zostały
przyklejone do siebie żywicą, aby zapobiec ich przemieszczeniu względem siebie.
8
Podsumowanie:
W ramach projektu zbudowano model dłoni odwzorowującej ruchy palców użytkownika.
Realizacja projektu umożliwiła członkom zespołu zdobycie wiedzy i doświadczenia w
programowaniu mikrokontrolerów oraz w projektowaniu prostych obwodów.
Istnieje możliwość dostarczenia do wglądu kodu źródłowego programu na nośniku danych na
wniosek Koordynatora Projektu.
9