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