Skocz do zawartości

[Kurs] Przepis na robota - Minisumo dla każdego - część 3


Pomocna odpowiedź

  • 1 rok później...

Dlaczego w projekcie płytki w złączu programatora AVR nie ma żadnego pinu podłączonego do VCC, tylko 1 (pierwszy) pin wtyczki ISP jest podłączony również do masy?

IMG_593094cf2e8f3549.jpg

Bo ogólnie mam taki problem, że w SinaProg znajdowało mi przez pewien czas Atmegę, a po pewnym czasie przestało i nie bardzo wiem dlaczego, wszystkie ścieżki przewodzą, zwarć nie ma, posprawdzałem właśnie piny od tej wtyczki programatora i są dwie opcje:

1. Gdy bzęczykiem sprawdzam czy RST z wtyczki jest podłączony z 1 pinem Atmegi jest OK, ale gdy już włożę wtyczkę od programatora do tego złącza, to RST od wtyczki z 1 pinem Atmegi nie przewodzi czy tak powinno być? Zastanawiam się jak było gdy wyszukiwało Atmegę.

2. To co napisałem, żaden pin wtyczki ISP nie jest podłączony do VCC, czy to jakiś błąd projektowy, czy 1 pin złącza ISP od programatora nie powinien być połączony z VCC oraz 7 pinem Atmegi, a nie masą i 8 pinem Atmegi tj. czy powinienem wylutować ten pin i zmostkować go z Vcc ??????????

3. Może programator się popsuł da się jakoś to sprawdzić? Czy jak wyskakuje taki błąd jak opisałem, czyli rc=-1 'target doesn't answer' nie ma takiej opcji, żeby programator (UsbAsp) był popsuty?

Jakieś rady?

____________________________________________________

Czy autor mógłby opisać jak docelowo miał działać ostateczny program po włączeniu zasilania. Bo przed tym zanim popsuło wyszukiwanie Atmegi wgrywałem każdy program testowy i czujnik Sharp działa, transoptory również jak i silniki i ostatecznie został wgrany ostateczny program.

I u mnie działa tak, że po włączeniu zasilania, robot czeka z 2-5 sekund, potem kręci się tylko jedno koło (robot kręci się w kółko) bardzo bardzo długo, jak macha mu się ręką przed Sharpem nie reaguje, potem jak mu się nagle zachce uruchamia się drugi silnik (robot nadal kręci się w kółko, szybciej) i gdy przysunie się coś do Sharpa to nie bardzo reaguje, tylko jak "mu się zachce" to zauważa przeszkodę zaczyna w nią wjeżdzać i potem cofa się do tyłu przez jakieś 8 sekund. A na czarną linię też nie bardzo reaguje.

PS: Czy ten switch powinien resetować jakby Atmegę/program?

EasyPeasy_, poradnik ten jest już bardzo, bardzo starty, więc ciężko będzie złapać autora. Jednak postaram się coś doradzić. Po pierwsze, pin nr 1 nie jest podłączony do masy. Zaznaczyłeś zły sygnał na swoim rysunku. Zwróć uwagę, że pin po przeciwnej stronie "wisi" w powietrzu. To jest nasze Vcc. Nie zostało ono zapewne do niczego podłączone, ponieważ programator zasilany jest najczęściej z komputera, a programowany układ z baterii. Nie ma potrzeby łączenia więc Vcc, wystarczy samo połączenie mas (komputera i robota).

W zdecydowanej większości przypadków, gdy układ nie odpowiada winne jest błędne podłączenie lub zasilania. Uszkodzenie programatora jest raczej bardzo rzadką przypadłością 🙂

  • 1 rok później...

Super. Minisumo to mój kolejny cel, z tym że będę chciał samemu zrobić płytkę. Pewnie zrobię małe ścieżki lutownicą. Arduino Uno posłuży mi jako programator. Na pewno będę opisywał jak zacznę robić :)

  • 5 miesiące później...

Witam, moja Atmega w robocie nie jest wykrywana, pojawia się komunikat  "target doesn't answer". Sprawdziłem napięcie pomiędzy pinami, zwarć oraz przerw raczej też nie ma. W czym jeszcze może być problem?

Z góry dziękuję za pomoc 

@eriq9 raczej nie powinno to generować żadnych problemów. Może dla testu warto złożyć układ na płytce stykowej? Podłącz Atmegę + niezbędne elementy dodatkowe, do tego programator i spróbuj zaprogramować mikrokontroler. Wykluczysz ewentualne problemy z PCB, którą masz w robocie 😉

  • 4 tygodnie później...

Problemem może się okazać odpowiednie ustawienie fuse bitów. Jeśli uC jest ustawiony na jakąś tam częstotliwość to w sinaprogu lub innym programie musisz ustawić taką samą inaczej uC nie zostanie wykryty, to samo z prędkością programowania. Popróbuj z prędkościami taktowania i komunikacji i dopiero po wykryciu uC zmień sobie na tę, której chcesz używać. Jeśli podczas wcześniejszego programowania lub od nowości fusy są ustawione na wewnętrzny rezonator to musisz przeprogramować procka na takich właśnie ustawieniach tak w programie jak sprzętowo, czyli bez kwarcu i dopiero po przeprogramowaniu fusów podłączyć kwarc i powinno śmigać.

Przyczyną mogą też być zaprogramowane lockbity. Wtedy jedynym rozwiązaniem jest przeprogramowanie wysokonapięciowe, możesz poczytać o tym w DS avr.

Nie ma znaczenia czy do samego flashowania wybierzesz 8A czy tylko 8 ważne, że ilość pamięci jest taka sama i początki segmentów są w tym samym miejscu. Różnica natomiast może mieć znaczenie podczas pisania softu, różne odmiany mogą mieć różne możliwości i ograniczenia więc warto i na to rzucić okiem w DS, na ogół różnice nie są radykalne ale zdarzają się wyjątki.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...