Jak zaprogramować pierwszy AVR?


10
Ocena: None Średnia: 10 (5 głosujących)

Ten artykuł ma na celu pomóc wszystkim tym, którzą pragną rozpocząć swoją przygodę z programowaniem lub zrobić układ mikroprocesorowy na podstawie gotowego schematu. Zawarta tutaj wiedza umożliwi każdemu zaprogramowanie mikrokontrolera gotowym programem i pozwoli cieszyć się z działającego układu. Nie trzeba przy tym nawet znać się na budowie procesorów, można je traktować jak specjalistyczne układy scalone, spełnąjące określone programowo funkcje.

Do zaprogramowania mikrokontrolera gotowym programem potrzebujemy komputer PC z płytą główną wyposarzoną w port równoległy (drukarkowy/LPT) i zainstalowany program BASCOM AVR (W pełni funkcjonalną do naszych potrzeb wersję demo można pobrać tutaj). Port równoległy (Parallel Port) powinien być ustawiony w biosie na tryb ECP, w większości przypadków standardowo jest SPP, a na tym trybie nie chciał u mnie działać ten programator.

Drugim krokiem jest wykonanie prostego programatora a właściwie kabelka programującego składającoego się z gniazda DB25M, czterech rezystorów i kawałka dowolnego kabla. Odpowiedni schemat znajduje się na rysunku poniżej:

Zalecam zastosowanie obudowy do wtyku DB25M i umieszczenie w niej rezystorów R1 - R4 (330R). Z wtyku można wyprowadzić ok. 1m kabla wielożyłowego i przylutować na końcu jakieś złącze uniwersalne. Wykonany w taki sposób programator z pewnością przyda się jeszcze wiele razy (programowanie mikrokontrolerów jest bardzo wciągające). Do zasilania mikrokontrolera podczas programowania konieczne jest napięcie +5V. Można je uzyskać na wiele sposobów: Zasilacz zewnętrzny zbudowany na układzie 7805, Port USB, Gameport lub Bezpośrednio z zasilacza komputerowego (Kabel czerwony w złączu od dysku).

Gdy mamy już wykonany kabelek to po uprzednim dokładnym sprawdzeniu poprawności montażu możemy podłączyć go do portu LPT (Dla bezpieczeństwa i w trosce o płytę główną zalecam zrobić to przy wyłączonym komputerze).

Dalsze czynności zależą od tego czy mamy już płytkę na której mikrokontroler będzie pracował. Jeśli tak to podłączamy odpowiednie piny naszego programatora do płytki z mikroprocesorem, w przeciwnym wypadku musimy zrobić prosty układzik (np na płytce uniwersalnej) wyposażony w podstawkę i kwarc z kondensatorami. Na rysunku poniżej przedstawiony jest schemat podłączenia programatora do mikrokontrolera na przykładzie ATTINY2313:

Pozostałe procesory z rodziny AVR można zaprogramować w analogiczny sposób, różnią się one tylko rozkładem wyprowadzeń i typem obudowy. Wszelkich informacji najlepiej jest szukać w kartach katalogowych poszczególnych Chipów. Znajdziemy tam między innym które piny to MISO, MOSI, SCK i RST oraz gdzie podłączyć zasilanie i jakie ono powinno być.

UWAGA!! Mikrokontroler wymaga zasilania podczas programowania, pamiętaj jednak aby podłączyć je tylko z jednego źródła. Gdy płytka ma swoje zasilanie to nie podłączaj już napięcia z komputera lub innego zasilacza.

Gdy programator został już złożony i podłączony do odpowiednich pinów mikrokontrolera (nie zapominamy o podłączeniu masy - GND) możemy przystąpić do uruchomienia BASCOMA i włączenia zasilania mikrokontrolera.

Na samym początku należy sprawdzić jaki typ programatora mamy ustawiony w preferencjach BASCOM'a. W tym celu wybieramy z górnego menu "Options->Programmer". Poprawna konfiguracja powinna wyglądać jak na rysunku poniżej:

Gdy jesteśmy już pewni że wszystko jest dobrze ustawione możemy uruchomić programator. W tym celu tworzymy nowy projekt za pomocą "File->New", nie jest on do niczego potrzebny ale bez otwartego jakiegokolwiek pliku BASCOM ma nieaktywne okno programatora.

Wybieramy teraz "Program Chip" (ikonka w kształcie zielonej podstawki, Klawisz F4 lub Program->Send to Chip->Program). Mogą się po tym pojawić następujące komunikaty:

Pierwszym, widocznym poniżej, nie należy się w ogóle przejmować gdyż mówi o tym że brakuje pliku *.bin co nie jest dziwne bo nic nie kompilowaliśmy a jedynie chcemy zaprogramować gotowym programem.

Drugi komunikat może oznaczać potencjalne problemy, mówi o problemie komunikacji z mikrokontrolerem:

Trzeci natomiast mówi o niezgodności podłączonego mikrokontrolera z tym ustawionym w programie. Nie należy się tym przejmować bo jest to ważne gdy kompilujemy program a nie gdy chcemy zaprogramować gotowym programem:

Po przebrnięciu przez te dziwne komunikaty dochodzimy w końcu do okna które można zobaczyć na rysunku poniżej:

Jako pierwsze sprawdzimy czy mikrokontroler jest prawidłowo rozpoznawany przez BASCOM'a. Możemy to zrobić wybierając z górnego menu "Chip->Identify" lub klikając ikonkę "Identify Chip" obok listy z wyborem mikrokontrolera. Jeżeli wszystko jest poprawnie to w rozwijanej liście powinien pojawić się wybrany odpowiedni typ procesora (taki jak podłączyliśmy) a dane o producencie i rozmiarach pamięci powinny przyjąć poprawne wartości. Nie powinien wystąpić także żaden komunikat w stylu "Could not identify...." bo inaczej oznacza to że komunikacja z procesorem jest niepoprawna i musimy dokładnie sprawdzić programator i jego połączenie z procesorem oraz poprawność napięcia zasilającego (+5V względem GND).

Gdy BASCOM poprawnie identyfikuje procesor czas na jego zaprogramowanie. W tym celu do bufora ładujemy plik *.bin lub *.hex z programem za pomocą "Buffer->Load From File" a następnie wybieramy "Chip->Autoprogram" lub klikamy ikonkę "Autoprogram chip". Po zaprogramowaniu nie powinien wystąpić komunikat "Difference at...", jeśli wystąpi to znaczy że wystąpił błąd w programowaniu i należy je powtórzyć ponownie wybierając "Autoprogram". Jeśli nie wystąpi komunikat o błędzie wybieramy "Chip->Verify" aby porównać zawartść bufora z zawartością pamięci procesora i dodatkowo upewnić się że wszystko ok. Powinien pojawić się napis "Bufer and Chip are identicall" na pasku statusu u dołu okna programowania.

Kolejną bardzo ważną czynnością jest ustawienie FUSE BITÓW mikrokontrolera na zakładce "Lock and Fuse bits" ale o tym wkrótce będzie osobny artykuł. Wspomnę tylko że najczęstrzym ustawieniem jest wyłączenie dzielenia częstotliwości zegara, czyli ustawienie "Divide clock by x disabled" i ustawienie współpracy z zewnętrznym rezonatorem kwarcowym, czyli "External Crystal Oscilator"




Portret użytkownika gosc

atmega8

Witam.
Chcę zaprogramować atmega8 tym programatorem i pojawia mi sie po naciśnieciu identyfikaji chipa "Could not indentifity chip with ID:535353" Co moze byc nie tak? połączenia sprawdziłem i jest wszystko OK.
Z góry dzieki za pomoc.

Portret użytkownika mirley

atmega8

Przede wszystkim sprawdź czy linie MOSI, MISO, SCK i RESET są podłączone do odpowiednich wyprowadzeń mikrokontrolera (Jeżeli komunikat ma ID rozne od FFFFFF to może byc to spowodowane złym stykiem jednego z pinow). Wyprowadzenia znajdziesz w karcie katalogowej. Czy mikrokontroler jest zasilany napięciem +5V (Atmega ma dwie końcowki VCC i dwie GND, połącz dwie GND razem i dwie VCC razem)?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Wszystko jest podłączone 1

Wszystko jest podłączone
1 pin atmegi RES - 4 pin db25
17pin MOSI - 2 pin db25
19pin SCK - 19 pin DB25
18pin MISO - 11 pin DB25
7 i 20 pin +5V
8i 22pin GND

Wszystko przemierzone od pinów we wtyczce po nóżki atmegi

Portret użytkownika gosc

19 pin atmegi SCK - 5 pin

19 pin atmegi SCK - 5 pin db25
wyżej jest bład

Portret użytkownika mirley

Atmega 8

Sprawdz czy coś nie Zwiera (jakaś mała zaplątana kuleczka cyny między nózkami procesora.). W bascomie podałeś typ programatora? Probój kilkakrotnie programować bo czasami programatory na LPT tak mają. Spotkalem się z tym kilkakrotnie ale zawsze po kilku kliknięciach przeszło. Dokładnie używałem tego samego programatorka co jest opisany.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

programator mam wybrany:

programator mam wybrany: "sample electronics programmer" a jak chodzi o zwracia to przemoerzyłem wszystko kilka razy. Moze jeszcze trzeba cos ustawic w bascomie?

Portret użytkownika mirley

Zakładam że rezystory

Zakładam że rezystory dałeś? Do pinów gdzie jest podpięty programator nie ma podłączonych żadnych innych elementów dodatkowych wymuszających stany logiczne? W bascomie trzeba tylko ustawić typ programatora i powinno smigać. Możesz też wymienić procesor w ostateczności

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

rezystory sa. Jaki ma być

rezystory sa. Jaki ma być typ programatora?

Portret użytkownika mirley

Taki jak napisałeś i jaki

Taki jak napisałeś i jaki jest w opisie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

mam pytanie, jakiej

mam pytanie, jakiej wartości jest kwarc na schemacie podłączenia programatora do mikrokontrolera na przykładzie ATTINY2313?

Portret użytkownika mirley

Kwarc

Kwarc na schemacie może być dowolny (zalecam 4MHz - 16MHz), najlepiej taki jak w docelowym układzie ale nie jest to wymagane. Zamiast robić dodatkową podstawkę wystarczy podłączyć przewody do płytki z urządzeniem w ktorym będzie pracował ATTINY2313

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mirley

może to głupie pytanie ale

może to głupie pytanie ale czy na tym schemacie: http://mirley.firlej.org/files/Art_PierwszeProg_01.gif to jest port LPT tak jak się na niego patrzy z tyłu komputera czy np jest to widok od strony lutowania wtyczki do LPT.

[Wpis Przeniesiony w poprawne miejsce]

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mirley

To nie ma znaczenia. Ważna

To nie ma znaczenia. Ważna jest tylko numeracja pinów. Pin numer 1 złącza DB25-M odpowiada pinowi 1 złącza DB25-F. Numeracja na schemacie jest zgodna z numeracją pinów widocznych na wtyczce DB25-M. Trzeba tylko popatrzeć na wtyczkę i tam jest napisane wszystko

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Michał

Co zrobic jezeli za kazdym

Co zrobic jezeli za kazdym razem pojawia mi sie Difference at. i jakas cyfra??

Portret użytkownika mirley

Jedyne co mi przychodzi na

Jedyne co mi przychodzi na myśl to kiepski styk programatora z komputerem lub mikrokontrolerem. Może masz za długi kabel od portu LPT. Jakiego kabla używasz? Na tym programatorze czasami też mi się tak pojawiało ale zawsze po kilkukrotnym zaprogramowaniu wszystko było ok

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Michał

Juz sobie poradziłem po

Juz sobie poradziłem po zaprogramowaniu około 50 razy bład ustapił
Dzięki za odp.
Pozdrawiam Michał

Portret użytkownika mirley

Wymień kabel na inny,

Wymień kabel na inny, najlepiej kawałek takiego orginalnego ekranowanego pochodzącego z drukarki, powinno się poprawić i pewnie się jeszcze przyda w przyszłości :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Cyka

Witam Złożyłem

Witam
Złożyłem programator tak jak opisano wyżej, jednak dalej wyskakuje mi ten błąd. nie wiem co może byc przyczyną, ponieważ próbowałem już wszystkiego. Zasilanie jest doprowadzone, wszystkie kable podłączone dobrze. Porty lpt odblokowane. Kabel skróciłem do 80 cm. Próbowałem już na dwóch procesorach i niestety dalej to samo. Jesteś w stanie coś poradzić ?

Portret użytkownika Cyka

edit

Oczywiście chodzi mi o błąd id FFFFFF

Portret użytkownika mirley

Po co probujesz otwierać

Po co probujesz otwierać port? Bascom sam się tym zajmuje i nie trzeba nic kombinować. Zawsze pojawiają Ci się same FF czy był kiedyś coś innego. Może port LPT nie działa prawidłowo? Jeśli schemat jest poprawny i nie ma żadnych zwarć, to musi działać bo jest to za proste aby mogło sprawiać problemy. Uruchom komputer ponownie, wyciąg i włoz wtyczke do lpt, może zacznie stykać.

Sam ostatnio wywaliłem przypadkiem sterowniki od LPT, instalując jakiś genialny program z internetu?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Cyka

Okazało się że mam źle

Okazało się że mam źle piny podłączone. Ale dalej nie działa. Wyskakuje błąd id 000000. Co może być tego przyczyną ?

Portret użytkownika mirley

Programowanie

Zwarcie zapewne masz między liniami programatora. Zanim zaczniesz dalej się bawić przeczytaj dokładnie jeszcze raz ten opis, sprawdź czy wszystko jest w porządku i napewno zgodne ze schematem, czy nie ma żadnych zwarć i czy masz podłączone zasilanie 5V do mikrokontrolera podczas programowania

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sharky

a co jezeli...

a co w przypadku, jezeli wyskakuje blad, ze plik ladowany do bufora jest za duzy?:/ wszytsko jest podlaczone ok, tylko ze plik za duzy. nie wiem co teraz zrobic, bo raczej programu nie bede usuwal, zeby wszytsko ok bylo.
plik zajmuje 8kB.
prosil bym o w miare szyka odpowiedz bo ida świeta a ja chcialbym to max jutro skonczyc:)

pozdrawiam

Portret użytkownika mirley

Re: Plik za duży

Do jakiego mikrokontrolera probujesz załadować plik 8kB. Chyba nie do ATTiny2313 ? Plik Hex zajmuje 8kB?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

No a jeżeli w laptopie mam

No a jeżeli w laptopie mam same porty USB...
To mogę sobie zastosować taką przejściówkę? [url=http://www.allegro.pl/item509220721_adapter_usb_na_lpt_przejsciowka_zenska_db25_x118.html]

Nic się wtedy nie stanie?

Portret użytkownika mirley

Re: Programowanie/Laptop

Muszę powiedzieć że nie korzystałem z takiej przejściówki do programowania ale słyszałem że jest problem aby działały one z programatorem. Przeważnie instalują się one jako drukarka a nie wirtualny port i wtedy są problemy. Osobiście zalecał bym rozglądnąć się za jakimś replikatorem portów na USB ale będzie to napewno dużo droższe rozwiązanie. Mozna tez kupić tą przejściówkę bo jest niedroga i potstować coś.

Jest jeszcze inna droga a mianowicie zrobienie programatora na USB. Polecam USBAsp gdyz sam taki wykonałem i teraz tylko takiego używam. Mozna go skonfigurować w BASCOMIE, jednak fusebity będzie trzeba ustawiać np. w BUrn-O-Mat. Jedyna wadą to jest konieczność dostępu do komputera z portem LPT aby zaprogramować procesor do tego programatora :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika zajac

Difference at 00000

Difference at 00000 mamtaki bład jak wciskam veryfical czemu prosze o pomoc

Portret użytkownika mirley

Re: Programowanie

Czy taki błąd występuje tylko podczas weryfikacji? Jak klikasz identifychip to wszystko jest ok? Pojawia się w ramce typ mikrokontrolera czy musisz sam wybrać jego model? Czy podczas programowania nie występuje ten błąd?

Jeśli występuje zawsze ten sam błąd z ID:00000 to jest to prawie napewno zwarcie jednej z programowanych linii do masy. Proszę dokładnie pooględać sposób podłączenia mikrokontrolera do komputera i ewentualnie sprawdzić zwarcia. Proszę tez przeczytać dokładnie odpowiedzi wcześniejsze, bo takie problemy były już opisywane.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

AVR ISP

Czy miałeś styczność z tym programatorem?
Mam płyteczke z AVT o symbolu AVT-988 jest to programator z interfejsem na USB ale płyteczka podejrzanie mała... Czy jest to dobry programator?

I może temat z innej beczki
Jak sobie poradzić z USami o maleńkim rastrze mając lutownicę na gorące powietrze i mierne doświadczenie w pracy z nia? :]

Pozdrawiam

Portret użytkownika mirley

Re: Programator

Programatora tego nigdy nie widziałem wcześniej. Dawniej używałem takiego prostego na LPT jak tutaj opisuje. Obecnie używam USBAsp i jestem zadowolony. USBAsp ma przewagę nad tym z AVT bo jest prostszy (mniej kłopotów przy montażu) i obsługuje port USB bezpośrednio a nie przez konwerter USB<->RS-232

Z drugiej strony jeśli już masz ten programator a jego mikrokontroler jest zaprogramowany to jest inna sprawa. Odpowiedż na pytanie czy jest on dobry zawiera się w tym czy działa, nie sprawia problemów, jak szybko programuje i czy nie ma błądów podczas programowania itp. a na to nie dam rady odpowiedzieć bo nie używałem nigdy tego układu.

Odnośnie lutowania to raz udało mię się przylutować 28 nóżkowy układ SMD sa pomocą transformatorówki (do drugiego razu bo pierwszy spaliłem). Pozostaje tylko próba lutowania a wtedy się okaże czy jest to trudne albo raczej jak bardzo trudne. Napewno należy uważać aby jak najmniej nagrzewać układy scalone.

W swoich projektach staram się narazie unikać układów SMD, godząc sie na większe wymiary urządzeń

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

00000

kolego no ale nie mam zadnego zwarcia i wykrywa mi atmege 8 wszytsko ok.. i gdy wciskam werifical ten włąsnie bład 00000:( co moge robic źle bo nie zawarica na 100%

Portret użytkownika mirley

Re: 00000

Ze mikrokontroler jest poprawnie wykrywany to dobrze. Nigdy jednak nie wywalało mi błędów w weryfikacji o takim samym ID. Jak występowały błędy podczas programowania to zawsze był ID inny niż 00000. Może to być wina programu do programowania. Używasz BASCOMA? Przeinstaluj program, może pomoże bo nie mam pojęcia co się dzieje

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

00000

no włąsnie.. przeinstalowałem.. ale przeinstaluje jeszcze raz moze to byc wina ze niemam kwarcu??

Portret użytkownika gosc

W atmege 8 za pomocą tego

W atmege 8 za pomocą tego programatorka wrzuciłem program do timera foto. I w jednym miroklocku jest wszystko w porządku natomiast drugi który programowany był tym samym sposobem działa ze strasznie dużymi opóźnieniami. Uszkodzony scalak czy inna przyczyna?

Portret użytkownika mirley

Re: Błąd 00000

Jeżeli podczas programowania zmienisz też fusbity na kwarc zewnętrzny to potem juz nie pójdzie weryfikacja (jeśli nie ma kwarcu) a nawet wogóle nie powinno wykrywać mikrokontrolera bez kwarcu jeśli jest ustawiony na działanie z kwarcem. Innego pomysłu niestety nie mam.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mirley

Re: 2 Atmega 8

Przyczyną jest prawie napewno brak ustawień fusebitów. Timer foto działa na zewnętrznym kwarcu a jeśli kupiłeś nowy atmega8 to on ma fabryczne ustawienia na wewnetrzny rezonator 1MHz. Skontroluj i porównaj ustawienia fusebitów w dwóch mikrokontrolerach i ustaw tak jak jest w opisie do Timera

Ps. Proszę jak to możliwe napisać kto zadaje pytanie (w polu nazwisko wpisać jakis pseudonim) bo w pewnym momencie trudno mi się zorientować czy pytanie zadał "gość" czy może "gość" albo ewntualnie "gość" :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Bartłomiej Kobiałka

ID:FFFFFF

Wczoraj programator mi śmigał znakomicie natomiat dziś wywala mi błąd FFFFFF...
Nic nigdzie nie zmieniałem...
Czy powodem moga być rezystory 2,98k wrzucone zamiast 3,3k (pomimo że wcześniej na nich znakomicie śmigał)?

Pozdrawiam!

Portret użytkownika mirley

Re: Błąd FFFFFF

Też tak kiedys miałem. Za żadne skarby bascom nie chciał zobaczyć programatora. Po Długiej walce z ruszaniem kablem i sprawdzaniu wszystkich połączeń i uruchamianiu ponownie kompa wkońcu zaczęło działać. Sam nie wiem co się działo, windows to windows.

Tak na marginesie to zasilanie mikrokontrolera masz włączone? Sprobuj wtyczkę LPT odpiąc i wpiąć spowrotem a także uruchomić ponownie kompa (ew. tylko bascoma)

Rezystory powinny być 300R (300 omów) w tym opisywanym tutaj prostym programatorze (kablu programującym). Nigdy nie stosowałem większych wartości. Może twój LPT miał lepszy dzień wczoraj i temu działało na 2,98k :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Bartłomiej Kobiałka

Re: Błąd FFFFFF

Jestem w trakcie próbowania uruchomienia układu na innym komputerze z WIN98.
Niestety efektów nie ma :(

Pomierzyłem coś nie coś... Ale nie mam pojęcia jak to zinterpretować...
Podaję swoje pomiary:
Z podłączonym LPT:
SCK:0V
MISO:5,37V
MOSI:0V
RES:5,76V

Z podłączonym LPT i zewnętrznym zasilaniem 5V:

SCK:0V
MISO:5,46V
MOSI:0V
RES:5,86V

Pomiary dokonywane na sucho, bez mikroprocka.
Jeśli ktoś ma możliwość to miałbym wielką prośbę o porównanie tych danych ze swoim programatorem.

Pozdrawiam!

Portret użytkownika Mostal

Witam, mam podobny problem.

Witam, mam podobny problem. Zaprogramowałem bez problemu Attine2313, weryfikacja przeszła bez problemu. Później podczas ustawiania FuseBitów klikając write wyskoczył błąd i od tego czasu nic z tym procesorem nie mogę zrobić. ID FFFFFF. co może być tego przyczyną. Ponowne próby dostępu do procesora nie przynoszą skutku.

Portret użytkownika mirley

Re: Fusebity w ATTINY2313

To oczywiste że wyskoczył błąd FFFFF gdy przestawiłeś fusebity. Jeśli nie masz rezonatora kwarcowego przy procesorze a przestwiłeś fusebity na rezonator kwarcowy to logiczne że procesor nie działa. Dołącz kwarc i wszystko powinno ruszyć. Jeśli natomiast masz rezonator kwarcowy to może oznaczać że ustawiłeś wartość 0000 w mikrokontrolerze, co oznacza zewnętrzny generator zegarowy i teraz musisz taki podłączyć aby mikrokontroler ruszył i dał się znowu zaprogramować.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Bartłomiej Kobiałka

Błąd LPT

Witam!

Podczas ustawiania parametrów programatora wyskakuje błąd "There is no default printer currently selected"
Jest to Win 98SE.

Portret użytkownika mirley

Re: Błąd LPT

Nigdy nie programowałem pod Win98 ale na elektrodzie wyczytałem kiedyś że czasami pojawia się ten błąd jak sie nie ma żadnej drukarki w systemie zainstalowanej. U mnie ten problem nie występuje. Jak programowanie przebiega bez błędu to wystarczy kliknąć ok i po problemie :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Dominik

Witam serdecznie, jestem pod

Witam serdecznie,
jestem pod wielkim wrażeniem Twoich projektów, i tego że dzielisz się nimi z innymi.
Jak zauważyłem korzystasz z programatora usbasp i bascom-avr + avr-dude. Niedawno postanowiłem nauczyć się programowania uP i postanowiłem zacząć od Bascoma i uP Atmel. Kupiłem juz programator, jest już zainstalowany w systemie (XP sp3). Nie moge sobie jednak poradzić z konfiguracją bascom-avr i avr-dude. Mam więc prośbę: czy mógłbyś mi pokazać jak to zrobić żeby zadziałało?
Pozdrawiam,
Dominik

Portret użytkownika mirley

Re: Konfiguracja Bascom..

Jaki typ programatora kupiłeś? Jest to coś na podstawie USBAsp czy coś orginalnego jakiejś firmy?

Pod avrdude wiem tylko jak ustawić usbaspa, ale możemy pokombinować tak aby zadziałalo :). W Bascomie konfiguracja przeważnie polega na wybraniu odpowiedniego typu programatora, lub w przypadku USBAsp'a trzeba jedną komędę wpisać i będzie działać.

Polecam jeszcze zainstalowanie Burn-O-Mat, to znakomita nakładka na avrdude, umozliwia łatwe programowanie gotowym plikiem hex a także ustawianie fusebitów (obecnie coraz częściej zamieszczam zrzuty z tego programu jako pomoc w ustawianiu fusebitów)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Dominik

Re: konfiguracja bascom

kupiłem konkretnie ten programator: http://allegro.pl/item519792714_nowosc_programator_isp_avr_usb_rohs_atmel_fv.html
w systemie jest wykrywany właśnie jako usb asp.
Jesli dobrze rozumiem, w bascom-avr jako programator ustawiam external programmer i wybieram ścieżkę do avr dude. Nie wiem w jakiej kolejności instalować oprogramowanie.
moge sie domyslac ze jakos tak: bascom-avr, avr-dude (nie wymaga instalacji) i na koncu polecana przez ciebie nakladka (Burn-O-Mat).
Czy miejsce Burn-O-Mat jest dowolne?
czy wystarczy podac sciezke do avrdude i pliku confg?
Czy sciezka do avrdude to ma byc sciezka do avrdude.exe czy do wersji okienkowej avrdude-gui.exe?
Pozdrawiam

Portret użytkownika mirley

R: Konfiguracja

To bardzo dobrze że jest to USBASP. Zalecam następujące czynności:

1. Robimy folder w "Program Files" dla avrdude i do niego kopiujemy pliki avrdude.exe i conf
2. podobnie postepujemy z Burn-O-Mat (tylko kopiujemy bo sie nie instaluje)
3. Instalujemy Bascom AVR w najnowszej wersji (ze strony producenta)
ps. taka kolejnośc wcale nie jest obowiązkowa

Gdy już to zrobimy to otwieramy jako pierwsze Burn-O-Mat (Plik start.bat)
4. Z menu górnego wybieramy Settings->AVRDUDE
5. W nowym oknie ustawiamy scieżki dostępu do plików avrdude.exe (C:\Program Files\avrdude\avrdude.exe) i conf po czym klikamy apply i ok
6. Uruchamiamy ponownie program i znowu wchodzimy do tych ustawień Settings->AVRDUDE, będzie teraz można wybrać typ programatora
7. W polu Programmer z listy wybieramy USBASP, reszta bez zmian po czym klikamy apply i ok
8. Program jest gotowy do pracy, po podłączeniu do procesora możesz wybrać w oknie głównym jego typ, kliknąć fuses a następnie read fuses. Powinien pojawić się komunikat że wszystko ok

teraz zajmujemy się bascomem. Wystarczy zrobić tak jak opisalem w moim artykule http://mirley.firlej.org/programator_na_usb_usbasp w dziale obsługa

Ps. nakłatki graficznej avrdude-gui tylko raz użyłem i nigdy więcej tego nie zrobię. Jeśli odpalisz Burn-o-mata to bardzo łatwo będę mógł pomóc w ustawieniach jakby co bo sam go używam

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Dominik

Re: konfiguracja bascom

Kurcze, zrobiłem tak jak napisałeś i po próbie odczytu fuse bitów otrzymałem taki komunikat:

C:\Program Files\avrdude\avrdude.exe -q -u -C C:\Program Files\avrdude\avrdude.conf -p t2313 -P /dev/parport0 -c usbasp -D -E noreset,novcc -U efuse:r:C:\DOCUME~1\Dominik\USTAWI~1\Temp\efuse782.hex:r -U hfuse:r:C:\DOCUME~1\Dominik\USTAWI~1\Temp\hfuse781.hex:r -U lfuse:r:C:\DOCUME~1\Dominik\USTAWI~1\Temp\lfuse780.hex:r
avrdude.exe: WARNING: -E option not supported by this programmer type

avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

avrdude.exe done. Thank you.

Zaznaczam, że zworka podająca na zasilanie uP z portu USB jest rozwarta, Attiny2313 jest zasilany z 7805, natomiast zworka obniżająca prędkość programatora jest na swoim miejscu.

Z tego co rozumiem po angielsku, to:
1. cel nie odpowiada (prawdopodobnie chodzi o mojego attiny2313)
2. urządzenie zainicjowane i gotowe do akceptacji instrukcji (tu pewnie chodzi o programator)
3. sygnatura urządzenia = ... (czy tu chodzi o to że uP jest niewykrywany?)

Na płytce z uP znajduje się tylko zasilanie (7805 + 2 kondensatorki filtrujące), dioda szeregowo z opornikiem i mikroswitch. Nie ma żadnego kwarcu, ani żadnych innych elementów. W attiny powinien siedzieć Twój program z lampki RGB. Ale teoretycznie nie powinno mieć to wpływu na odczyt fuse bitów.

Masz może jakiś pomysł co może być powodem mojego kłopotu?
Pozdrawiam

Portret użytkownika Dominik

Re: konfiguracja bascom

Ciemna masa ze mnie!!!
W uP jest program lampki i fusy są ustawione pod kwarc 16 Mhz, teraz go nie ma więc procek chyba nie ma prawa ruszyć. Dolutuje i zobacze.

Portret użytkownika Dominik

Re: konfiguracja bascom

Wreszcie się udało.
Mam dobrą radę dla wszystkich: urządzenia elektryczne lepiej działają podłączone do prądu.
To po pierwsze. Po drugie: należy używać przewodu USB 2.0, najlepiej sprawdzonego, bo mój nie do końca chciał współpracować z programatorem.

Dziękuje za pomoc i cierpliwość,
Pozdrawiam.