SM RAPORT


1, Założenia projektowe

Celem naszego projektu było stworzenie sterownika do dwóch serwomechanizmów. Jako, że przy ocenie projektu brana jest pod uwagę zbiorcza cena wykorzystanych komponentów, staraliśmy się, by nasz projekt był możliwie tani i nieskomplikowany, oczywiście przy zachowaniu satysfakcjonującej funkcjonalności.

2. Kosztorys

- mikroprocesor Atmel ATMEGA 16a: 13 zł

- rezonator kwarcowy 16mHz: 1zł

- uniwersalna płytka drukowana: 9zł

- 12 kondensatorów ceramicznych/ smd 22nF: ~2zł

- 2 kondensatory polowe: 300uF: ~1.5zł

- przełącznik : 1.5 zł

- 2 potencjometry (2k oraz 1k): 12zł

- 5 niewielkich przycisków - 2zł

- 4 rezystory 100k Ohm smd - ~1zł

- Stabilizator napięcia 5V 8050 - 3zł

- Zasilacz 5V - nie uwzględniamy jego ceny, gdyż nadaje się on do odzyskania, w projekcie pełni jedynie rolę pomocniczą.

Suma: 46 zł.

Jako, że rozpoczęliśmy prace nad projektem niezwłocznie po wybraniu tematu, dysponowaliśmy znacznie większą ilością czasu niż ta potrzebna na wykonanie projektu w jego minimalnej formie, dlatego też postanowiliśmy nadać mu bardziej atrakcyjną formę poprzez wykonanie również ramienia/ manipulatora wykonawczego „kamery przemysłowej”.

Użyliśmy do tego, pomijając elementy czysto konstrukcyjne, dwóch serwomechanizmów Tower Pro SG90 oraz prostej kamerki internetowej, której parametry jednak w zupełności wystarczają, by wykonany element posiadał pewną wartość użytkową.

3. Ogólny opis Projektu

Nasz projekt składa się z kamery internetowej zamontowanej na przenośnym panelu, poruszanej w dwóch płaszczyznach, pionowej i poziomej, za pomocą dwóch serwomechanizmów. W trybie sterowania przyciskami kamera ma możliwość rotacji o około 180 stopni w obu płaszczyznach z satysfakcjonującą dokładnością, w trybie sterowania „bezpośredniego” za pomocą potencjometrów sterowanie jest znacznie wygodniejsze i dokładniejsze, jednakże zakres ruchu serwomechanizmów ulega pogorszeniu z powodów, które postaramy się przedyskutować i uzasadnić w dalszej części raportu końcowego.

Układ wykonawczy sterowany jest przez 8 bitowy mikroprocesor ATMEGA16A, operator może wydawać układowi polecenia za pomocą jednego z dwóch osobnych podzespołów sterowania - zestawu czterech przycisków (góra, dół, prawo, lewo), lub zestawu dwóch potencjometrów (po jednym dla każdej osi rotacji) . Przełącznik przy mikroprocesorze służy do zmiany trybu sterowania. Niestety, nie istnieje możliwość korzystania jednocześnie z obu zestawów kontrolek, a także po każdej zmianie trybu pracy wymagane jest zresetowanie układu sterowania, gdyż oba zestawy kontrolek zapisują swój stan we wspólnych dla obu zestawów rejestrach mikroprocesora, jednocześnie pracując z różną rozdzielczością. Oba zestawy kontrolek pozwalają na wygodne wycentrowanie obrazu

z kamery na ludzkiej twarzy lub niewielkim obiekcie, z odległości kilku metrów. Układ po włączeniu lub zresetowaniu ustawia kamerę w pozycji centralnej, to znaczy w środku zakresów ruchu obu serwomechanizmów. Serwomechanizmy zasilane są z linii zasilania na płytce sterownika, wejście sterujące połączone jest bezpośrednio z wyjściami mikrokontrolera, gdyż serwomechanizmy, które posiadamy są relatywnie małe i nie czerpią prądu w ilości mogącej zakłócić pracę mikroprocesora. Jesteśmy jednak świadomi, że dla większych, lub też większej ilości serwomechanizmów, linia sterowania powinna być dodatkowo wzmocniona i zabezpieczona.

4. Opisowe sprawozdanie z postępu prac nad projektem

W pierwszym tygodniu prac (KALENDARZ_DERP) zakupiliśmy wszystkie elementy niezbędne do wykonania sterownika, wyłączając potencjometry, wykonaliśmy schemat elektryczny układu oraz zlutowaliśmy układ. Dzięki obfitości forów czy blogów zajmujących się tematem układów z mikroprocesorami AVR, zaprojektowanie i wykonanie naszego sterownika nie nastręczało problemów, linia zasilania została wykonana w sposób bezpieczny, także i wszystkie pozostałe elementy zostały połączone poprawnie. Kolejnym etapem prac było dokładne zapoznanie się z datasheet'em mikrokontrolera oraz pogłębienie naszej wiedzy na temat programowania mikrokontrolerów AVR w języku C. Po kilku dniach zaprogramowano układ tak, by pracował w podstawowej formie - za pomocą przycisków pozwalał na akceptowalnie płynne poruszanie dwoma wypożyczonymi serwomechanizmami, wtenczas jeszcze zupełnie innymi niż użyte później, pomiędzy mechanicznymi granicami zasięgu pracy serwomechanizmów. Granice te zostały również dla bezpieczeństwa uwzględnione w kodzie programu. Jest to o tyle ważne, że poza ochroną samych serwomechanizmów, uniemożliwiało to nadmierną inkrementację odpowiednich rejestrów, co powodowałoby niepożądany efekt jałowej pracy sterownika, nim stan rejestrów powróciłby po ich uprzednim przekroczeniu, do przedziału, wewnątrz którego operują serwomechanizmy. Na tym etapie prac napotkaliśmy znaczne trudności z obsługą sterowania serwomechanizmów ze pomocą przycisków, zapoznaliśmy się również z szeregiem zalet i ograniczeń użytego przez nas mikrokontrolera. Wiele czasu zajęło wyskalowanie wielkości, jakimi w obrębie samego programu posługują się poszczególne elementy układu (czy też dokładniej - rejestry związane z poszczególnymi elementami układu) - chociażby z powodu niemożności używania liczb innych niż całkowite (int). Zmuszało nas to do używania sporych liczb zastępując ułamki dziesiętne, proceder ten jednakże posiadał i ograniczenia z drugiej strony - mikroprocesor niezbyt dobrze radzi sobie z bardzo dużymi ( > 100k) liczbami w ogóle, a z dzieleniem ich w szczególności, próby kalibracji prędkości obrotu serwomechanizmów przy stale wciśniętym jednym z przycisków poprzez swobodne dzielenie i mnożenie sporych liczb wewnątrz kody sprawiało, że praca sterownika stawała się czasem niestabilna. Na omawianym etapie prac uznaliśmy, że spróbujemy wykorzystać potencjometry nie jak pierwotnie zakładaliśmy - jako alternatywna forma sterowania, lecz do kalibracji prędkości obrotu serwomechanizmów przy sterowaniu przyciskami wychodząc z założenia, że zbliża się data planowanego ukończenia projektu, a obsługa potencjometru i przetworników ADC wydawała nam się trudniejsza niż zwyczajnych przycisków, jako że na laboratoriach przedmiotu Systemy Mikroprocesorowe nie używaliśmy w ogóle wspomnianych funkcji mikroprocesora. Jednakże po zapoznaniu się ze szczegółami obsługi przetworników i równocześnie nowymi możliwościami jakie nam one oferują, oraz w świetle przesunięcia się terminów zakończenia projektów niemalże o miesiąc, zdecydowaliśmy się powrócić do pierwotnego zamysłu wykorzystania potencjometrów do sterowania układem wykonawczym. W ostatecznym rozrachunku - potencjometry są znacznie wygodniejsze i dokładniejsze od przycisków. Podczas pracy z przyciskami układ porusza się skokowo, wykonując krótkie ruchy ze stosunkowo dużą prędkością obrotową, co z powodu niekorzystnego stosunku masy elementów manipulatora do masy własnej serwomechanizmów sprawia, że ruch układu jest po prostu wizualnie brzydkim jednakże niestety próby zmniejszenia prędkości obrotowej serwomechanizmów mają jeszcze gorsze konsekwencje dla pracy układu. Przy sterowaniu potencjometrami ruch układu jest znacznie płynniejszy. Użycie potencjometrów również ma niestety pewną wadę - nie jesteśmy w stanie wykorzystać całego zakresu pracy potencjometrów, ponieważ przy bardzo niewielkich prądach, jakie płyną w całym układzie, potencjometr około połowy zakresu jest już widziany z perspektywy mikroprocesora jako przerwa.



Wyszukiwarka

Podobne podstrony:
SM RAPORTcz2
Pawicki, Serafiniak RAPORT SM
Pedagogika ekologiczna z uwzględnieniem tez raportów ekologicznych
Prezentacja Raport
bph pbk raport roczny 2001
No Home, No Homeland raport
Dzieci recesji Raport UNICEF
Pełnia szczęścia raport
Program studiów SM IE
2015 06 podst SM
DiW 3 raport lifting
Centrum Zielonych technologii raport
EMP7700 ASM E B SM
06 Raporty finansowe
Lab 3 Draft forms raport
1 Sprawko, Raport wytrzymałość 1b stal sila

więcej podobnych podstron