Elektroda.pl
Elektroda.pl
X
Banner Multimetr Fluke 87VBanner Multimetr Fluke 87V
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

KIT AVT3500 - problemy: montaż, programowanie

14 Sie 2008 22:32 9330 96
  • Poziom 14  
    Witam
    Postanowiłem przenieść dyskusje do nowego odpowiedniego działu z tematu Hamowni silników rakietowych, który tylko zaśmiecam pytaniami o montaż zestawu. A może temat pomoże innym początkującym

    Pierwsze moje pytanie.
    W książce "Mikrokontrolery dla początkujacych" P. Góreckiego czytamy: "Przed rozpoczęciem pracy z zestawem uruchomieniowym należy ustawić wieloobrotowym potencjometrem PR2 napięcie o wartości 2,56V w punkcie oznaczonym Vref na schemiacie i na płytce"
    "+" miernika przykładam do punku Vref, natomiast "-" do masy. Gdzie jest ta masa na tej płytce?

    Drugie pytanie.
    Do zestawu kupiłem nowy programator USB ISP pod Viste. Wszystkie wejścia już popodłączałem, mam tylko problem z VCC. W instrukcji programatora jest napisane:
    Cytat:
    VCC – jeśli zworka (7 rys.1) jest zdjęta to do tego pinu doprowadzamy napięcie zasilania z
    programowanego mikrokontrolera (1,8V – 6V), jeśli zworka jest założona wtedy z pinu VCC
    możemy zasilać programowany mikrokontroler (ok. 5V max. 400 mA).


    Do którego gniazda w płytce mam podłaczyć VCC? Będzie to oznaczone +5V? Jeżeli zastaw zasilam osobnym zasilaczem 4,5V, to mogę tego kabelka nie podłączać?

    Dziękuje za pomoc w pytaniach, na które odpowiedzi nie znalazłem na forum.
    Pozdrawiam
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Banner Multimetr Fluke 87VBanner Multimetr Fluke 87V
  • Poziom 18  
    Masa to GND. Vcc to +5V. Na płytce jest kilka miejsc w których możesz podpiąć GND i Vcc, są one fizycznie połączone więc nie robi różnicy gdzie podpinasz zasilanie, byle dobrą polaryzacją.
    Zestaw zasilaj albo z USB albo z oddzielnego zasilacza. Nie podłączaj dwóch zasilań na raz. Btw przerażające pytania...
  • Poziom 14  
    Po podłączeniu zasilacza nie świeci się zielona dioda, która miała wskazywać poprawne podłączenie.
    Zasilacz napewno dobrze jest podłączony - wyświetlacze LED migają...

    Czemu ta dioda nie świeci się?
  • Poziom 18  
    a dobrze jest wlutowana, anodą do +5V? Ew. sprawdź jakimś miernikiem czy nie jest przepalona.
  • Poziom 14  
    Podłączyłem tak:
    VCC - +5V
    GND - GND
    MISIO - MISO
    MOSI - MOSI
    RST - RST

    Na programatorze zostały nie podłączone: GEN, GND, GND, GND
    Na płytce: GND, N.C.

    Po podłączeniu płytki do programatora, nie świeci się zielona dioda (wlutowałem ponownie odwrotnie, ale nadal się nie świeci), natomiast miga wyświetlacz.

    Jakie wprowadzić ustawienia w Bascomie AVR, aby działał programator STK500v2?
  • Banner Multimetr Fluke 87VBanner Multimetr Fluke 87V
  • Poziom 18  
    Dla ustalenia uwagi w linku jest schemat płytki:
    http://mikrokontrolery.net/img_avr/avr_sch.gif

    Co do podłączeń to podłącz GND programatora z GND na płytce. Ustawienia Bascomowe w menu Options->Programmer wybierasz STK500 oraz numer portu COM do którego jest podłączony (ew. który port jest emulowany). Powinno działać.
  • Poziom 42  
    Zapamiętaj sobie kolego raz na zawsze - to trzeba pamiętać nawet gdy ktoś cię przebudzi w środku nocy i błyśnie lampą błyskową w oczy, że sygnały do programowania ISP to:

    Cytat:
    MOSI
    MISO
    SCK
    RST


    a do tego trzeba oczywiście podłaczyć VCC i GND do programatora. A tymczasem ty "zjadłeś" gdzieś po drodze jak widać z twojego opisu sygnał SCK więc nie dziw się, że choćby dlatego nic ci nie działa

    różnie ten sygnał SCK bywa oznaczany , czasem jako CLK czasem jak na twoim programatorze (tak podejrzewam) GEN - więc jak zwał tak zwał ale musisz połączyć jeszcze SCK w programatorze do SCK na płytce testowej

    a czemu ci się dioda nie świeci ?? - no naprawdę tu już nie przesadzaj że nie wiesz czemu? - w końcu ona jak widać na schemacie, który ci tu ktoś nawet pokazał ale chyba sam też go masz, że ona jest podłączona wprost do +5V i GND. Więc tak trudno ci ją sprawdzić byle jakim miernikiem czy jest dobrze wlutowana i sprawna??? A jak nie masz miernika to weź w rączki rezystor ok 300R do 400R i podłącz ją sobie jedną i drugą stroną do innego źródła zasilania ok +5V. Jak ani razu się nie zaświeci to masz "nieżywą diodę"
  • Specjalista - Mikrokontrolery
    mirekk36 napisał:
    różnie ten sygnał SCK bywa oznaczany , czasem jako CLK czasem jak na twoim programatorze (tak podejrzewam) GEN - więc jak zwał tak zwał ale musisz połączyć jeszcze SCK w programatorze do SCK na płytce testowej

    GEN jest do zupelnie czego innego - w programatorze do ktorego user podal linka, jest jasno i wyraznie opisany sygnal SCK.

    4\/3!!
  • Poziom 14  
    GND połączone jest z GND. Tylko, że na płytce mam dwa wejścia GND a w programatorze 4. Wziąłem jeden kabelek z programatora i jeden z płytki i połaczyłem. Z resztą GND nic nie robiłem, poprostu kabelki sa do niczego nie podłączone. Tak doradził mi kolega - "masę wystarczy podłączyć tylko do jednego gniazdka".

    SCK połączone z CLK.

    Cytat:
    A jak nie masz miernika

    Mam miernika, ale nie umiem sprawdzić :)

    Cytat:
    Ustawienia Bascomowe w menu Options->Programmer wybierasz STK500 oraz numer portu COM do którego jest podłączony (ew. który port jest emulowany). Powinno działać.

    Ok, wybrałem STK500, port COM2:
    KIT AVT3500 - problemy: montaż, programowanie

    COM2 mam ustawiony w Menadżerze urządzeń.

    Po napisaniu programu i skompilowaniu. Próbuje go wgrać na płytkę (klikam run programmer) i wyświetla się takie okno:
    KIT AVT3500 - problemy: montaż, programowanie

    O co chodzi? Tak powinno być?
  • Poziom 18  
    Btw ustawiasz w kodzie Bascomowy rodzaj mikrokontrolera? np.
    Code:
    $regfile = "2313def.dat"


    W STK500 EXE powinieneś wprowadzić ścieżkę dostępu do programu obsługi programatora i wtedy powinno działać.

    I jeszcze w kwestii wyjaśnienia, zazwyczaj jeśli jakieś wyprowadzone piny mają tą samą nazwę to zazwyczaj są fizycznie połączone ze sobą. Czyli wszystkie piny GND programatora i wszystkie piny GND na płytce testowej są połączone etc. (prościej nie umiałem).
  • Poziom 14  
    Cytat:
    W STK500 EXE powinieneś wprowadzić ścieżkę dostępu do programu obsługi programatora i wtedy powinno działać.

    Dzięki! Właśnie dlatego nie działało. Nie miałem wgranego AVR Studio.

    Teraz już programator wysyła program do mikrokontrolera (wskazuje to zielona dioda na prog).
    Jednak po przesłaniu, na wyświetlaczu nic się nie dzieje.
    Kod jest taki:
    Code:

    Config Portb = Output
    Config Portd = Output
    Portd = 2
    Do
    If Portd = 64 Then Portd = 1
    Portd = 2 * Portd
    Waitms 250
    Loop


    Udało mi się wychwycić okno, które pojawia się przy przesyłaniu programu:
    KIT AVT3500 - problemy: montaż, programowanie

    Dlaczego program nie wykonuje się na płytce?
  • Poziom 18  
    Program nie wykonuje się iż nie został wgrany do pamięci FLASH mikrokontrolera. No tu może być kilka powodów.
    1. Sprawdź czy 90S2313 jest właściwie zasilane.
    2. Sprawdź czy podłączenie z programatorem jest właściwe.
    3. Sprawdź czy oby na pewno STK500 jest podłączony do COM2.
    4. Czy ustawiłeś w Bascomie rodzaj mikrokontrolera na 90S2313 ?
    5. Możesz wkleić loga którego generuje STK500 ułatwi to znalezienie przyczyny.
    6. No i napisz jak w końcu zasilasz to cudo. Via USB, czy przez zasilacz ? Przypominam, że zasilacz musi być dobrze stabilizowany.
  • Poziom 14  
    Cytat:
    1. Sprawdź czy 90S2313 jest właściwie zasilane.

    Jak mam to sprawdzić?

    Cytat:
    2. Sprawdź czy podłączenie z programatorem jest właściw.e

    j.w.

    Cytat:
    3. Sprawdź czy oby na pewno STK500 jest podłączony do COM2.

    Napewno.

    Cytat:
    4. Czy ustawiłeś w Bascomie rodzaj mikrokontrolera na 90S2313 ?

    Tak.

    Cytat:
    5. Możesz wkleić loga którego generuje STK500 ułatwi to znalezienie przyczyny.

    Gdzie znajde te loga?

    Cytat:
    6. No i napisz jak w końcu zasilasz to cudo. Via USB, czy przez zasilacz ? Przypominam, że zasilacz musi być dobrze stabilizowany.

    Zasilam przez USB (VCC - +5V). Ale zasilacz stabilizowany 4,5V też mam (nie podłączony oczywiście).
  • Poziom 18  
    Ad 1,2. Tylko woltomierz pomoże. Niestety językiem nie da rady :)
    Ad 4. Powinien być w katalogu w którym znajduje się STK500 EXE

    I jeszcze jedno może nie ustawiasz częstotliwości kwarca z jaką pracuje 90S2313. Robi się to w kodzie programu np.
    Code:
    $crystal = 4000000 
  • Poziom 14  
    Cytat:
    Ad 4. Powinien być w katalogu w którym znajduje się STK500 EXE

    Jak nazywa się ten plik?

    Cytat:
    I jeszcze jedno może nie ustawiasz częstotliwości kwarca z jaką pracuje 90S2313. Robi się to w kodzie programu np.

    W książce nic nie jest napisane, aby takie kody wpisywać. Jednak wpisałem jak radziłeś i nic nie pomogło.

    W zakładce options-programmer-serial powinno być pole BAUD aby ustawić 115200? Ja nic takiego nie mam.

    Cytat:
    Ad 1,2. Tylko woltomierz pomoże. Niestety językiem nie da rady

    '+" do +5V, "-" do GND = pokazuje 4,82V

    Co dalej?


    EDIT:
    Przy diodzie nie pokazuje żadnego napięcie (na jej nóżkach).
  • Poziom 18  
    Zasilanie zatem ok, plik nie wiem jak się nazywa, nie korzystam z STK500, ale z wyświetlonych informacji wnioskuje, że istnieje ten plik. Co do BAUD to wprowadzasz w zakładce Options->Communications.
    Dziwne, że na diodzie nie ma napięcia. Typuje brak połączenia pomiędzy obwodem diody z rezystorem a zasilaniem.
  • Poziom 14  
    Cytat:
    Dziwne, że na diodzie nie ma napięcia. Typuje brak połączenia pomiędzy obwodem diody z rezystorem a zasilaniem.

    Aż wstyd się przyznać, ale przez nieuwage nie wlutowałem tego rezystora. Teraz dioda świeci. Zastanawiam się jednak, czy nic się nie uszkodziło...

    Nadal ten sam błąd przy przesyłaniu programu do plytki.

    Poszukuje tych logów.
    Plik stk500:
    Code:
    stk500.exe -dAT90S2313 -ms -ccom2 -pf -if"E:\mikrokontroler\programy\PROBA1.HEX">stk500.log
    


    Plik STK500:
    Code:
    ; STK500.INI
    
    ; ==========
    ;
    ; The STK500 software reads this file on startup.
    ;
    ; The [Communication] section contains communication parameters.
    ;
    ; The [Revisions] section describes the revisions of the hardware and uC SW
    ; that the STK500 front end will be able to recognize and name.
    ;
    ; The [Oscillator] section lists ocillator values that can be picked from the
    ; 'Oscillator Settings' combo-box.
    ;


    [Communication]
    TimeOut=2500 ; Milliseconds


    [Revisions]
    Rev1=0x01,0x01,0x07,AVRISP ver 1.20
    Rev2=0x01,0x01,0x0A,AVRISP ver 1.30
    Rev3=0x01,0x01,0x0D,AVRISP ver 1.40
    Rev4=0x01,0x01,0x0E,AVRISP ver 1.41
    Rev5=0x01,0x01,0x0F,AVRISP ver 1.47
    Rev6=0x01,0x01,0x11,AVRISP ver 1.48
    Rev7=0x01,0x01,0x12,AVRISP ver 1.53
    Rev8=0x02,0x01,0x05,STK500 ver 1.00
    Rev9=0x02,0x01,0x06,STK500 ver 1.06
    Rev10=0x02,0x01,0x07,STK500 ver 1.20
    Rev11=0x02,0x01,0x0A,STK500 ver 1.30
    Rev12=0x02,0x01,0x0C,STK500 ver 1.31
    Rev13=0x02,0x01,0x0D,STK500 ver 1.40
    Rev14=0x02,0x01,0x0E,STK500 ver 1.41
    Rev15=0x02,0x01,0x0F,STK500 ver 1.47
    Rev16=0x02,0x01,0x11,STK500 ver 1.48
    Rev17=0x02,0x01,0x12,STK500 ver 1.53
    Rev18=0xc0,0x66,0x00,JTAGICE ver 1.0
    Rev19=0xc0,0x67,0x00,JTAGICE ver 1.1
    Rev20=0xc0,0x69,0x00,JTAGICE ver 1.2
    Rev21=0xc0,0x70,0x00,JTAGICE ver 1.3
    Rev22=0xc0,0x75,0x00,JTAGICE ver 1.4



    [Oscillator]
    OscVal1=0.0,Stopped
    OscVal2=3.6864e06,3.69 MHz
    OscVal3=1.8432e06,1.84 MHz
    OscVal4=1.2284e06,1.23 MHz
    OscVal5=32.768e03,32.7 kHz


    Któryś z tych?
  • Poziom 18  
    a taki plik jest gdzieś: stk500.log
  • Poziom 18  
    Szczerze mówiąc to przyczyn nie działania może być bardzo dużo. Począwszy od poprawności złożenia płytki. Pisałeś, że wyświetlacze migają, tzn. że w zestawie był już zaprogramowany ATtiny2313 ? Brak wlutowanego rezystora nie uszkodzi Ci płytki - rezystor służy jedynie do ograniczenia prądu diody. Celem sprawdzenia płytki powinieneś wziąć schemat i przepatrzyć dokładnie na której nóżce mikrokontrolera jest zasilanie (+5V, GND) i pomierzyć w odniesieniu do masy. Sprawdź też nóżkę RESET jaki poziom tam normalnie występuje. A o do pliku loga to powinien on tak wyglądać:
    http://www.mikrocontroller.net/attachment/16310/stk500-log.txt
    Nie wiem, czy dokładnie ma mieć nazwę stk500-log.txt ale tego typu pliku szukamy.
  • Poziom 14  
    Próbowałem również wgrać program bezpośrednio z AVR Studio. Wyskakuje taki komunikat:
    KIT AVT3500 - problemy: montaż, programowanie

    Jak widać na dole ekranu także pokazują się takie informacje:
    Code:


    Setting mode and device parameters.. OK!
    Entering programming mode.. FAILED!
    Leaving programming mode.. FAILED!
  • Poziom 18  
    Informacje te nie wnoszą nic nowego. Po prostu mikrokontroler się nie odzywa. Sprawdź napięcia, na płytce, zobacz czy odpowiednie zworki powkładane są.
  • Poziom 14  
    Napięcia:
    1 (RESET) - 1,81V
    2 - 0,17V
    3 - 0,17V
    4 - 2,34V
    5 - 1,17V
    6 - 4,78V
    7 - 4,78V
    8 - 4,78V
    9 - 0V
    10 - 0V
    11 - 4,78V
    12 - 0,03V
    13 - 0,03V
    14 - 0,03V
    15 - 0,03V
    16 - 0,03V
    17 - 4,78V
    18 - 0,03V
    19 - 0,03V
    20 - 4,81V
  • Poziom 18  
    Obejrzałem dokładnie schemat tej płytki testowej i zauważyłem rezystory w linii programowania (4x330R). I okazuje się, że płytkę przewidziano pod programator na LPT. Dokumentacja:
    http://www.cyfronika.com.pl/kityavt3/avt3500pdf.pdf
    Jeśli masz możliwość to podłącz bezpośrednio:
    PROG -- PŁYTKA
    RST -- RST
    SCK -- PB.7
    MISO -- PB.6
    MOSI -- PB.5
    Na płytce wyprowadzone są w postaci golpinów odpowiednie piny mikrokontrolera.
  • Poziom 18  
    Możesz wylutować te rezystory i dać zworki w ich miejsca. Co do płytki którą oferują, to według mnie trochę za dużo za nią wołają. A płytka nie wygląda na profejsonalnie wykonaną - jednostronna, soldermaski to raczej nie widać. Koszt wykonania takiej płytki to koszt_laminatu+koszt_podstawek=7zł, a programator łudząco przypomina USBasp...
  • Poziom 14  
    Cytat:
    Koszt wykonania takiej płytki to koszt_laminatu+koszt_podstawek=7zł

    Ale jeszcze trzeba ją umieć wykonać :)

    W książce P. Góreckiego (książka do zestawu) znalazłem taką informację:
    "(...)Innym rozwiązaniem jest zastosowanie programatora ISP (np. ZL2PRG). Do współpracy z takim programatorem przewidziano 10-pinowe gniazdo JP3 na płytce uruchumieniowej."

    ?????
  • Poziom 14  
    Sprzedawca od którego kupiłem programator, powiedział, że rezystory nie mają większego znaczenia...

    Kierując się tematem:
    http://forums.obdev.at/viewtopic.php?t=226

    Zaintalowałem sobie również program AVRDUDE, oto co mi wyszło:
    Code:


    avrdude: Version 5.5, compiled on Apr  7 2008 at 17:09:42
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             System wide configuration file is "E:\Program Files\WinAVR-20080411\bin\avrdude.conf"

    avrdude: WARNING: -E option not supported by this programmer type
             Using Port            : com2
             Using Programmer      : stk500
    avrdude: stk500_getsync(): not in sync: resp=0xd8
    avrdude: successfully opened stk500v2 device -- please use -c stk500v2
             AVR Part              : AT90S2313
             Chip Erase delay      : 20000 us
             PAGEL                 : P00
             BS2                   : P00
             RESET disposition     : dedicated
             RETRY pulse           : SCK
             serial program mode   : yes
             parallel program mode : yes
             Timeout               : 200
             StabDelay             : 100
             CmdexeDelay           : 25
             SyncLoops             : 32
             ByteDelay             : 0
             PollIndex             : 3
             PollValue             : 0x53
             Memory Detail         :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom         4    12    64    0 no        128    0      0  4000  9000 0x80 0x7f
               flash          4    12   128    0 no       2048    0      0  4000  9000 0x7f 0x7f
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               fuse           0     0     0    0 no          1    0      0     0     0 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

             Programmer Type : STK500V2
             Description     : Atmel STK500
             Programmer Model: AVRISP
             Hardware Version: 2
             Firmware Version: 2.10
             Vtarget         : 0.0 V
             SCK period      : 1.1 us

    avrdude: stk500v2_command(): command failed
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


    avrdude done.  Thank you.


    Na samym końcu tematu gościu rozwiązał taki problem jak ja mam. Jeżeli dobrze zrozumiełem spowodowany jest on starszymi procesorami. Trzeba zmienić jakąś prędkość, tylko zabardzo nie wiem o co chodzi :|
  • Poziom 18  
    Hmm... z tego co patrzę na opis avt3500 to nie widzę żadnego 10-pinowego złącza, a J3 służy jedynie do wyboru połączenia z pinem PB.3. Masz jakieś 10-pinowe złącze na tej płytce (2x5) ?
    Co do linka, który wrzuciłeś, to koleś miał programator który miał opcję SLOW SCK, pozwalającą zaprogramować nowy, fabryczny układ (z wewnętrzny oscylatorem 1MHz). Rezystory mają znaczenie w wypadku programowania innym programatorem niż prosty programator na LPT.
    Zresztą jak Ci Avrdude wyświetla informacje "Double check connections" to ma to znaczenie.
  • Poziom 14  
    Cytat:
    Hmm... z tego co patrzę na opis avt3500 to nie widzę żadnego 10-pinowego złącza, a J3 służy jedynie do wyboru połączenia z pinem PB.3. Masz jakieś 10-pinowe złącze na tej płytce (2x5) ?

    nic własnie takiego nie ma...

    Cytat:
    Zresztą jak Ci Avrdude wyświetla informacje "Double check connections" to ma to znaczenie.

    Skorzystałem jeszcze z AVRDUDE w wersjo dosowej.

    Po wpisaniu polecenie na wykrycie programatora (bez podłączania płytki):
    Code:
    avrdude -c stk500v2 -p 2313 -P com2


    Programator zostaje wykryty, pokazuje się komunikat, że nie wykrył procesroa, czyli wszystko ok.
    Natomiast po podłączeniu procesora i wpisaniu tego polecenia wyświetla się nadal komunikat:
    KIT AVT3500 - problemy: montaż, programowanie

    Zastanawiające jest to, że po wpisaniu stk500 wogóle nie wykrywa programatora. A przecież w BASCOMIE ustawiam własnie stk500 a nie stk500v2...

    EDIT:
    Po wpisaniu polecenia "-F" wyświetla się taki komunikat:
    KIT AVT3500 - problemy: montaż, programowanie

    EDIT2:
    Może ktoś mi jeszcze wyjaśni, dlaczego po wyłączeniu zasilania i zdjęcia zworki z programatora na płytce nadal świeci się zielona dioda? Napięcie wynosi 3,30V:?: