Skocz do zawartości

Inżynier


Stonka

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Jakim kwarcem taktujecie mege? Jak rozwiazaliscie sprawe z enkoderami? Podpieliscie pod zewnetrzne przerwania czy wejscia licznika? Jeżeli to drugie, to jak rozwiązaliście sterowanie PWM? Jak mega się wam wyrabia? Nie próbowaliście go puszczać na większej prędkości?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

No to pora na serię pytań 😃

W jaki sposób komunikujecie ATtiny z ATmegą? Po SPI? I jak mniej więcej wygląda cała procedura? Czujniki z AS mają po 256/512 impulsów na obrót więc chyba powinny być składowane w zmiennej 16-bitowej i zerowane po każdym odbiorze. A do jazdy powinien wystarczyć sygnał z jednego kanału enkodera, bo kierunek obrotów zawsze będzie znany.

Te zatrzymania w każdej komórce wynikają z niewydolności ATmegi? Czy są specjalnie zrobione, żeby mieć pewność, że robot się zatrzymał i nie gubić się w labiryncie?

A co do debugowania - na tym LCD wyświetlacie współrzędne i widoczne aktualnie ściany, czy staracie się rysować dwa rzędy mapki? I czy jest podłączone bezpośrednio do pinów IO, czy może przez jakieś TWI/SPI?

Imo do debugowania najwygodniejszy by był jednak moduł bluetooth po uarcie i program na PC z pełną wizualizacją i zadawaniem wartości i różnymi bajerami. Ale znowu jest problem z niedozwoloną komunikacją w trakcie zawodów.

Możecie udostępnić jakiś schemat ideowy?

Jaką ocenę dostaliście z inżynierki?

Link do komentarza
Share on other sites

Jakim kwarcem taktujecie mege?

16MHz.

Jak rozwiazaliscie sprawe z enkoderami? Podpięliście pod zewnetrzne przerwania czy wejscia licznika? Jeżeli to drugie, to jak rozwiązaliście sterowanie PWM?

Zewnętrzne przerwania. Po to jest ATtiny - spina 2 sygnały z enkodera w jeden i wylicza kierunek obrotów. A więc w ATmedze32 potrzebujemy tylko 2 zewnętrznych przerwań na inkrementację zmiennych odpowiadających impulsom z kół(oraz dwa sygnały cyfrowe mówiące o kierunku obrotu). O niebo lepiej byłoby to podpiąć pod układ ze wsparciem dla Motor Control.

Jak mega się wam wyrabia? Nie próbowaliście go puszczać na większej prędkości?

W sumie żeby zwiększyć prędkość, musiałbym mieć lepszy pomysł na korekcję, albo bardziej ją dopracować. Przy większej prędkości zbyt często nie wyrabiał(spotkania ze ścianką). No a z tą ilością czasu to po prostu nie było kiedy tego zrobić, więc woleliśmy jechać powoli, ale pewnie.

ATmega na razie się wyrabia. Nie wiem czy po mocnym przyspieszeniu robota przerwania nie zaczęłyby zbyt dużo czasu zajmować. Następna mysz będzie miała prawdopodobnie inne rozwiązanie;-)

Link do komentarza
Share on other sites

Enkodery z AS mają tryb LNB czy jakoś tak, że dają 1 wyjście kwadraturowe i wyjście DIR z kierunkiem. Wtedy to ATtiny było by niepotrzebne. Mi się wydawało, że jego rolą jest liczenie przerwań od enkodera, żeby atmega nie musiała ich zbierać za dużo, chociaż jeśli macie magnes na kole to i tak tych przerwań nie ma aż tyle.

Następną wersję będziecie robić dalej na AVRach, czy zmieniacie proca? Widziałem, że się interesowałeś płytką ZL31ARM do STM32. Ja właśnie próbuję ją ogarnąć pod kątem micromouse.

Link do komentarza
Share on other sites

W jaki sposób komunikujecie ATtiny z ATmegą? Po SPI? I jak mniej więcej wygląda cała procedura?

Bardzo prosto. Wyjście ATtiny jest podpięte do wejścia ATmegi. Czyli tak jakby ATmega była bezpośrednio pod enkoder podpięta.

Czujniki z AS mają po 256/512 impulsów na obrót więc chyba powinny być składowane w zmiennej 16-bitowej i zerowane po każdym odbiorze. A do jazdy powinien wystarczyć sygnał z jednego kanału enkodera, bo kierunek obrotów zawsze będzie znany.

1024 impulsy na wyjście, mają dwa wyjścia, wykrywając oba zbocza = 4096 impulsów na obrót.

Co do kierunku obrotów - nie jest znany. Wyobraź sobie zadanie pozycji. Jeśli robot przejdzie poza nią, to zacznie hamować. Czyli wg niego silniki kręcą się do tyłu, ale tak naprawdę zanim zahamują, będą kręcić się do przodu. Nie jest tak różowo jakby się chciało. Testowałem:P

Kontroler nie będzie wiedział, w którym momencie koła zaczęły się kręcić w przeciwnym kierunku. Bo skąd? To, że mu dasz taki PWM nie znaczy, że koło się tak kręci.

Te zatrzymania w każdej komórce wynikają z niewydolności ATmegi? Czy są specjalnie zrobione, żeby mieć pewność, że robot się zatrzymał i nie gubić się w labiryncie?

Generalnie z niewydolności softu:D Jakbym miał dość czasu i pomysł, to by się tak nie zatrzymywał.

A co do debugowania - na tym LCD wyświetlacie współrzędne i widoczne aktualnie ściany, czy staracie się rysować dwa rzędy mapki? I czy jest podłączone bezpośrednio do pinów IO, czy może przez jakieś TWI/SPI?

Podłączone bezpośrednio, a wyświetlam różne rzeczy w zależności od potrzeb. Pozycja, orientacja, jakie ściany, jaki następny ruch, itd., itp.

Imo do debugowania najwygodniejszy by był jednak moduł bluetooth po uarcie i program na PC z pełną wizualizacją i zadawaniem wartości i różnymi bajerami. Ale znowu jest problem z niedozwoloną komunikacją w trakcie zawodów.

W 3 tygodnie? 😃 Szczerze, to chciałbym takie coś jak piszesz zrobić, a moduł w myszy mógłby być odłączany na czas zawodów. W sumie musiałbym jeszcze program na PC napisać.

Możecie udostępnić jakiś schemat ideowy?

Jaką ocenę dostaliście z inżynierki?

Co do schematu nie mam pewności, więc na razie się wstrzymujemy. Ocena dopiero będzie, trzeba napisać sprawozdanie z projektu:D

Link do komentarza
Share on other sites

Enkodery z AS mają tryb LNB czy jakoś tak, że dają 1 wyjście kwadraturowe i wyjście DIR z kierunkiem. Wtedy to ATtiny było by niepotrzebne. Mi się wydawało, że jego rolą jest liczenie przerwań od enkodera, żeby atmega nie musiała ich zbierać za dużo, chociaż jeśli macie magnes na kole to i tak tych przerwań nie ma aż tyle.

Nie kojarzę takiego trybu. Ta wersja, którą mamy, jest zaprogramowana na sztywno na tryb enkodera inkrementalnego. Na dwóch wyjściach jest sygnał przesunięty w fazie, a dodatkowo trzecie wyjście sygnalizuje pozycję zerową.

Po co ATtiny? Bo mamy 2x2 sygnałów z enkodera(2 enkodery po 2 wyjścia). A ta ATmega nie ma 4 portów z przerwaniami zewnętrznymi wykrywającymi zmianę stanu.

2x ATtiny13A (do obsługi enkodera - dorabiane na szybko i nieelegancko);

No nie przesadzaj Krzysiek 😋, żeby tak od razu "nieelegancko"

Lepiej?😃

Link do komentarza
Share on other sites

No faktycznie taki tryb nie musi być koniecznie we wszystkich modelach. Na pewno jest w tym modelu.

Ja zakładałem, że koła kręcą się tylko w jedną stronę albo stoją. Skręty można wtedy wykonywać płynnie jeżeli oba koła kręcą się w tą samą stronę, ale jedno znacznie szybciej. Można też się zatrzymywać, czekać aż z enkodera przestaną dochodzić impulsy aby mieć pewność, że się zatrzymaliśmy, i potem zrobić skręt w miejscu gdzie koła się kręcą w różne strony. Oczywiście to tylko "theorycrafting" i zdaję sobie sprawę, że w praktyce mogło to wyglądać inaczej.

Co do tego modułu BT i programu na PC to może przerobię trochę swoją aplikację z projektu na uczelnię i zamieszczę w dziale projekty. Ale to dopiero za jakiś czas. Moja aplikacja miała dostawać sygnały z bluetootha w mindstormsach i rysować na komputerze labirynt. W sumie jeszcze musiał bym nad nią mocno popracować, żeby się do czegoś nadawała. Na razie co najwyżej fajnie wygląda:

Link do komentarza
Share on other sites

GAndaLF, fajny program:). Mi by się takie coś przydało, tylko nigdy nic takiego nie pisałem. Nawet nie próbowałem na PC nic pisać. Więc musiałbym się trochę nauczyć😉.

Link do komentarza
Share on other sites

Miałem okazję oglądać na żywo, naprawdę fajny projekt - super, że pojawiają się nowe mm, z tak rozwiązaną konstrukcją mechaniczną raczej nie ma co liczyć na zbyt wiele (choć w sumie można by jeszcze wprowadzić system wag i wyeliminować to zatrzymywanie się co komórkę podczas przeszukiwania labiryntu) - kolejna mysz będzie lepsza 🙂 , przez wysoko umieszczony środek ciężkości i ogólnie "wahliwą" konstrukcje - właśnie, teraz tak sobie o tym pomyślałem, to wahanie robota w trakcie ruszania/hamowania nie wpływało w znaczący sposób na odczyty z czujników? Ogólnie bardzo fajna konstrukcja, na żywo imo wygląda lepiej niż na zdjęciach 🙂 TERMOGLUT TO NIE ZŁO 😃

Link do komentarza
Share on other sites

W sumie mechanicznie wcale nie jest źle... Program jest ok, ale jest ubogi - podczas badania trzeba wyeliminować te zatrzymania, zakręty płynne zrobić, wagi, itd., itp... A przede wszystkim, trzeba mieć na to czas:) Wahania nie przeszkadzały, normalnie nie miał czegoś takiego, ale sytuacja na RA wymusiła podniesienie jednej diody - inaczej czasem się zawieszał na taśmie łączącej płyty.

Generalnie to był prototyp. W sumie nawet nieźle sobie radzi jak na prototyp:D

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.