Skocz do zawartości

sarnecki

Użytkownicy
  • Zawartość

    17
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

sarnecki wygrał w ostatnim dniu 5 lipca 2012

sarnecki ma najbardziej lubianą zawartość!

Reputacja

15 Dobra

O sarnecki

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kraków
  1. Cześć, mam problem z ustawieniem przerwania od przepełnienia Timer2 na ATmedze324P. Rejestry ustawiłem zgodnie z datasheetem jednak licznik nie kręci. Sprawdzałem w debugerze i także nie działa. void ustawienia_TIMERA2(void){ TCCR2B |= (1<<CS20); TIMSK2 |= (1<<TOIE0); TCNT2=0; sei(); } ISR(TIMER2_OVF_vect) { PORTA^=0xff; }
  2. Wiem , że na jednym ze zdjęć widać analogowego sharpa lecz w ostateczności nie został on zastosowany i wszystkimi czujnikami były szybkie cyfrówki. Nie sądzę więc ,że 8ms czasu propagacji było głównym problemem...
  3. Powrzechnie wiadomo ,ze to co działa w domu nie zadziała w pełni na zawodach (przybajmniej tyczy to konstrukcji amatorskich). Dzień przed zawodami czujnik odmowił posłuszeństwa, wymiana go pół godziny przed startem wprowadziła chaos i z programu zaczęły znikac kolejne linie kodu ponieważ nie mogliśmy zlokalizować przyczyny nieprawidłowego działania. W ostateczności wystartowaliśmy jedynie na bocznych czujnikach (10cm)... Po drugie testując robota na tekturowym ringu nie zdawaliśmy sobie sprawy ,że problemem może być nadmierna prędkość , więc wogóle nie wzięliśmy pod uwagę stosowania PWMa. Kolejny problem to częstotliwość taktowania... także nie potraktowaliśmy tego poważnie wykorzystując wewnętrzny 1MHz,co zaskutkowało tym, że robot czasem nie widział szybkich obiektów ( oczywiście to także wina nie zastosowania przerwań) . No i główny problem- stosowanie funkcji delay, która oślepia robota.
  4. Z powodu braku dostępu do ciężkich narzędzi (frezarka, tokarka, szlifierka, a nawet dobra wiertarka) od samego początku zdawaliśmy sobie sprawę , że nie uda nam się zrobić czegoś "niewidocznego" . Dlatego wybraliśmy najbardziej jaskrawy spray metalic jaki udało na się dostać. Poza tym ,jak to juz ktoś kiedys pisał o swoim robocie, ma "lansiarski wygląd" A co do jednego mostka... Konstrukcja w pierwotnym zamyśle miała bazować na dwóch kołach i jakoś tak wyszło
  5. Przedstawiamy naszego pierwszego robota. Przygodę z robotyką zaczęliśmy 1 marca z zerową wiedzą na temat elektroniki i programowania. Po niespełna dwóch miesiącach wystartowaliśmy na pierwszych zawodach w Gdańsku (TTR 2012). W przerwie między zawodami (Gdańsk-Poznań) robot został wyposażony w nową płytkę oraz pakiet Li-pol. Wykorzystując zaoszczędzone miejsce po bateriach R6 i płytce DIP udało się zamknąć wszystko pod daszkiem. Mechanika: -Korpus wykonany z laminatu, zlutowany i polakierowany, wszystko w kuchni studenckiego mieszkania. -Silniki: 4x Pololu 50:1 HP. -Koła: 4x Solarbotics RW2i, aktualnie silikonowe odlewy. Elektronika: -Czujniki 4x Sharp GP2Y0D810Z0F (10cm), 1x Sharp GP2Y0D340K (40cm). 3x TCRT7000 (czujniki linii). -Mikrokontroler Atmega 32 -Mostek L298 -Komparator LM339 -Zasilanie pakiet Li-pol Dualsky 7,4V 800mAh 20C. Wnioski: -Koła Solarbotics... Nędza. -Konstrukcja z opadającym grawitacyjnie klinem - bez szans na zwycięstwo z szybkimi przeciwnikami. -Zbyt wysoko położony środek ciężkości (w drugiej wersji poprawione). -Jeden mostek L298 to zbyt mało na cztery silniki. -Słaby program. -Plątanina kabli ujmuje wizualnie i praktycznie. Pomimo wielu niedociągnięć jesteśmy dumni ze swojej konstrukcji. W kwietniu wystartowaliśmy w zawodach, gdy na początku marca nie mieliśmy kompletnie pojęcia o podstawach elektroniki i programowaniu mikrokontrolerów. Z pewnością największym sukcesem robota jest masa wiedzy i doświadczenia, które pozwolił nam zdobyć. Mamy nadzieję, że następny zawodnik minisumo dostarczy również radości z wyników na zawodach. __________ Komentarz dodany przez: Treker Poprawiłem post zgodnie z wymogami działu (zdjęcie jako załącznik, brak grafik na początku, proszę o tym pamiętać następnym razem).
  6. Plytke wykonam w Satlandzie, dlatego postanowiłem upewnić się na forum co do jej poprawności. Poza tym nie porwał bym się na tak cienkie ścieżki z żelazkiem
  7. Autorouter :/ Faktycznie, źle to wygląda... Postaram się zrobić to ręcznie. Wiem, że warto zwrócić na to uwagę by z powodu sygnałowych "śmieci" robot nie atakował powietrza...
  8. Jeśli chodzi o programowanie, nigdy nie miałem żadnych problemów a podpinam tak reset za każdym razem. Ścieżki od mostka do silników oraz od źródła zasilania do mostka zostaną pogrubione. Dobrze ,juz rozumiem. Do przycisku szeregowo wpinam rezystor 100-330 ohm.
  9. 1.Ajjj.. niedopatrzenie. 2.Nie bardzo rozumiem. Podłączenie prosto z kursu AVR z Diody. 3.Miał być kwarc, ale zrezygnowałem. Pomyślałem że kondensatory nie zaszkodzą... no chyba ,że zaszkodzą ?! Już poprawiam. A co do płytki, grzejący się mostek o szybko zmiennych sygnałach PWM nie będzie szkodził ATMedze?
  10. Witam, zasadniczo jestem pewien poprawności schematu, lecz chciałbym się upewnić co do płytki. Z góry dziekuję za wytknięcie mi błędów Schemat: Płytka: __________ Komentarz dodany przez: Treker
  11. Witam! Potrzebuję kontakt do konstruktorów poduszkowca przedstawionego na poniższym zdjęciu. Wystawiali swój projekt w kategorii FST właśnie na zawodach w Poznaniu. Z góry dziękuje za pomoc.
  12. Szczerze mówiąc, trudno mi sobie wyobrazić skuteczny i niezawodny sposób napędy jednego koła dwoma silnikami a przynajmniej w MS. A co do materiału pod klin... obawiam się że papier ścierny w kontakcie z dohyo może być przyczyna dyskwalifikacji Twojego robota...
  13. Witam, na wstępie chciałbym prosić o cierpliwość i wyrozumiałość... Od jakiegoś czasu zmagam się z programem wykorzystującym przetwornik ADC w Atmedze16. Głównym i prawdopodobnie jedynym problemem jest konfiguracja ADC, nie moge poradzić sobie stosując note katalogową Atmegi. Chce osiągnąć następujący efekt: pomiar z ADC zapisywany jest jako np.: "pomiar" abym dalej mógł wykorzystać tę wartość if(pomiar<100) PORTC=0x42; else PORTC=0x81; Czujnik analogowy Sharpa podpięty jest pod ADC0 (PA0). Napisałem coś takiego lecz jak się można domyślić nie działa... #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000L unsigned int pomiar; //////////////////////////////////////////////////// SIGNAL(SIG_ADC) { pomiar=ADCH; } int main( void ) { ADMUX = (1<<REFS1) | (1<<REFS0) | (1<<MUX0) | (1<<ADLAR); ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0) | (1<<ADATE) | (1<< ADIE); sei(); ADCSRA |= _BV(ADSC); while(1) { char LPPP, LTPT; DDRC=0xff; LPPP=0x42;//przod LTPT=0x81;//tyl if(pomiar<100) PORTC=LPPP; else PORTC=LTPT; } } Z góry dziękuje za pomoc. Pozdrawiam
  14. Dziękuje za pomoc czli większych błedów nie widać i mogę trawić? Mam jeszcze jedno pytanie... Chce zastosować czujniki koloru tcrt7000 i juz je posiadam i nigdzie nie mogę znaleźć ich dokumentacji lub schematu podłączenia... poza tym , jeśli umieszczę je od spodu płytki muszę zaprojektowac ich podłączenie w lustrzanym odbiciu?
  15. Poprawione, czekam na dalsze komentarze i uwagi . Czy konieczny jest rezystor przy switchu?
×
×
  • Utwórz nowe...