logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zablokowany Atmega 16 / Atmega 328 [USBASP]

rakso1313 04 Lut 2012 03:09 5250 16
REKLAMA
  • #1 10492261
    rakso1313
    Poziom 13  
    Witam próbowałem zrobić to co pisze na tej stronie http://sites.google.com/site/welcome2robozaa/home/projects/project-4 czyli mrugająca dioda na układzie atmega 16 chciałem to wszystko zaprogramować usbasp wiec na początek zrobiłem .hex itd i kiedy chciałem zaprogramować sprawdziłem czy atmega się komunikuje z usbasp i dalem read fuses wszystko działało na eXtreme Burner i MKAVR Calculator wiec ustawiłem Fusebity tak jak na tej stronie czyli:LOW FUSE : 0xFF HIGH FUSE : 0xC9 LOCK FUSE : 0xFF Calibration: 0xA5A5A5A7 i wszystko dobrze się zrobiło ale jak chciałem zaprogramować atmege 16 to w eXtreme Burner wyświetlił mi się taki komunikat: Jest może jakiś sposób aby sprawdzić czy zablokowałem atmege?

    eXtreme Burner

    Zablokowany Atmega 16 / Atmega 328 [USBASP]

    AVR8 Burn-O-Mat v2

    C:\Program Files\avrdude\avrdude.exe -C C:\Program Files\avrdude\avrdude.conf -p m16 -P usb -c usbasp  -U hfuse:r:C:\Users\OSA\AppData\Local\Temp\hfuse5666814044844792043.hex:r -U lfuse:r:C:\Users\OSA\AppData\Local\Temp\lfuse4916193633001777029.hex:r 
    
    avrdude.exe: error: programm enable: target doesn't answer. 1 
    avrdude.exe: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.01s
    
    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.



    MKAVR Calculator


    avrdude.exe: set SCK frequency to 187500 Hz
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: error: programm enable: target doesn't answer. 1 
    avrdude.exe: initialization failed, rc=-1
    avrdude.exe: AVR device initialized and ready to accept instructions
    avrdude.exe: Device signature = 0x000000
    avrdude.exe: Yikes!  Invalid device signature.
    avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
    
    avrdude.exe done.  Thank you.
    
    
  • REKLAMA
  • #2 10492314
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #3 10492353
    mirekk36
    Poziom 42  
    Ja się zawsze mocno i intensywnie zastanawiam - jak to jest?

    Że początkujący mając tyle stron z przykładami pierwszego programowania na stronach polskich, nawet na elektrodzie - znajdują jakieś tak (sorki za określenie) mega durne stronki jak autor podał w linku :(

    Przecież "to coś" (tzn ta stronka):

    1. nie uczy co to jest filtrowanie zasilania
    2. uczy z kolei złych nawyków programowania
    3. zawiera błędy !!! jak z tymi fusami

    Nawet na dole strony jest taka notka na czerwono aż daje po oczach:

    Cytat:
    It is very dangerous to play around with fuse-bits and it is recommended to use the above fuse-bits always unless stated. The MCU may get damaged if wrong Fuse-Bits settings are choosen.


    A głupota z tego jeszcze bardziej razi w oczy - szok!.

    Żeby więc kolega wiedział co zbabolił - oczywiście robiąc wszystko w pełni zgodnie z tą kocią stronką:

    - Ano podłączył kolega procka zgodnie z tym pseudo schematem
    - (na schemacie przecież nie ma kwarca to skąd kolega miałby się domyśleć żeby go dodać?)
    - tymczasem ten ktoś - poleca, wręcz nakazuje ustawić FUSY zgodnie z podanymi wartościami ostrzegając, że to bardzo niebezpieczne bo można uszkodzić procka (bzdura z tym uszkodzeniem)

    a właśnie te wartości FUSÓW zamiast ustawić wewn. oscylator RC - załączają zewnętrzny kwarc - więc gdzie tu logika w tym pseudo kursie ???? SZOK!

    Więc tak jak poradził kolega wyżej - wystarczy teraz że dodasz do nóżek XTAL1 oraz XTAL2 jakiś rezonator kwarcowy 8MHz albo nieco większy - i już będziesz mógł znowu przeprogramować procka. Najlepiej wtedy do pierwszych prób ustawić sobie taktowanie na wewn. oscylator 8MHz. Możesz to super prosto zrobić właśnie w programie MkAvrCalculator w zakładce "Fusy uproszczone" skoro go posiadasz dla tego procka.

    Ale moja porada - opuść jak najszybciej tą mega kocią stronę i przenieś się na taką, która podaje tą wiedzę w dużo lepszy i czytelniejszy sposób. Albo rozważ zakup dobrej książki bo masz teraz na rynku wybór.
  • REKLAMA
  • #4 10492970
    rakso1313
    Poziom 13  
    Dziękuję za szybka odpowiedz, zasilanie filtrowałem tak jak na tej stronce piszą http://www.sparkfun.com/tutorials/57 oraz mam kwarc tylko on jest 16MHz czy taki mogę użyć?
    Co do MkAvrCalculator to nie mam pełnej wersji bo w nim tylko sprawdziłem czy ten program mi wykryje procka i wykrył tylko nic więcej nie da rady zrobić bo to jest FREE.
    Jest możliwość kupienia tego programu przez internet np. PAY PAL ponieważ ja mieszkam w UK ?
    Oraz jak kupie ten program to jak wyjdą nowe aktualizacje to ja mogę update robić ?


    (W jakiej formie jest ta twoja książka sprzedawana ?)
  • REKLAMA
  • #5 10493307
    Konto nie istnieje
    Konto nie istnieje  
  • #6 10493377
    rakso1313
    Poziom 13  
    Nie atmega jest zwykła 16
  • #7 10493658
    Bartek.k.k
    Poziom 21  
    majeranek53 napisał:
    Możliwe, że kondensatorków przy kwarcu nie potrzeba. Jeśli już to nie więcej niż 18pF.


    Dziwne, zawsze stosuje 22 pF przy kwarcach i jest w porządku. Czasami z pośpiechu ich nie dam i też jest ok. Schematy również nakazują 22 pF. Jak to w końcu jest, 18 czy 22(Są to wartości krytyczne?)?

    Zablokowany Atmega 16 / Atmega 328 [USBASP]
  • #8 10493690
    gaskoin
    Poziom 38  
    Nie są jakoś krytyczne te wielkości, można dawać 18-27. To powinno zależeć od prędkości i parametrów kwarców, ale że z reguły kupujemy go w warzywniaku to tak się przyjmuje :P

    Nie wiem czy AVR coś takiego ma, ale niektóre procesory mają nawet podane wzory jak policzyć ten kondensator. Albo tabela tych kondków w zależności od producenta i typu kwarcu (niektóre mają nawet zbudowane kondensatory)
  • #9 10493809
    Konto nie istnieje
    Konto nie istnieje  
  • #10 10493829
    rakso1313
    Poziom 13  
    Ma ktoś może stronkę z której mógł bym wgrać kod do atmega16 aby dioda Led mrugała i schemacik.

    Oraz jaki kwarc zastosować przy atmega328 i jakim programem zaprogramować ponieważ wszędzie jest atmega328p ale nie ma atmega328 ?





    KOD z tej stronki
    
    // Program to blink LED using AVR Microcontroller (ATmega16)
    #include<avr/io.h>
    #include<util/delay.h>
    int main(void)
    {
    DDRA=0xFF;
    while(1)
    {
    PORTA=~PORTA;
    _delay_ms(1000);
    }
    }




    Schemat

    http://www.engineersgarage.com/contentprotect...20interface%20LEDs%20with%20AVR%20circuit.gif
  • REKLAMA
  • #11 10494811
    Matejkos
    Poziom 20  
    Jeśli masz tylko te 2 kondensatory do filtracji zasilania to trochę mało dodaj jeszcze jakieś mniejsze ceramiczne 220n oraz dobrze dodać podobny kondensator przy samym procesorze bo niekiedy się dziwne rzeczy dzieją a nie wiadomo dlaczego. Co do darmowego oprogramowanie możesz użyć burn-o-mat-a do programowania jest to graficzna nakładka na avrdude i jest całkowiecie bezpłatny.

    Pozdrawiam Matejkos
  • #12 10494863
    rakso1313
    Poziom 13  
    Tak właśnie używam Burn o Mat tylko tam nie ma Atmega328 ?
  • #13 10494923
    gaskoin
    Poziom 38  
    Musiałbyś sobie przekompilować avrdude z obsługą M328.
  • #14 10495429
    rakso1313
    Poziom 13  
    A jak to można zrobić ?
  • #15 10495595
    Konto nie istnieje
    Konto nie istnieje  
  • #16 10495663
    rakso1313
    Poziom 13  
    W tym problem ze ja tylko mam usbasp jest może inny sposób próbowałem w Programmers Notepad ale mam błąd: Ze atmega328 nie może być znaleziona. Może ktoś zrobić schemat połączeń albo wysłać mi linka jak sprawdzić układ ?

    Taki kod mi wyświetla Programmers Notepad kiedy próbuje programować:

    > "make.exe" program
    avrdude -p atmega328 -P usb -c usbasp    -U flash:w:led.hex
    avrdude: AVR Part "atmega328" not found.
    
    Valid parts are:
      t10  = ATtiny10        [D:\Program Files\winAVR\bin\avrdude.conf:15443]
      t8   = ATtiny9         [D:\Program Files\winAVR\bin\avrdude.conf:15403]
      t5   = ATtiny5         [D:\Program Files\winAVR\bin\avrdude.conf:15363]
      t4   = ATtiny4         [D:\Program Files\winAVR\bin\avrdude.conf:15323]
      ucr2 = 32UC3A0512      [D:\Program Files\winAVR\bin\avrdude.conf:15302]
      x128a4 = ATXMEGA128A4    [D:\Program Files\winAVR\bin\avrdude.conf:15204]
      x64a4 = ATXMEGA64A4     [D:\Program Files\winAVR\bin\avrdude.conf:15107]
      x32a4 = ATXMEGA32A4     [D:\Program Files\winAVR\bin\avrdude.conf:15010]
      x16a4 = ATXMEGA16A4     [D:\Program Files\winAVR\bin\avrdude.conf:14913]
      x256a3b = ATXMEGA256A3B   [D:\Program Files\winAVR\bin\avrdude.conf:14816]
      x256a3 = ATXMEGA256A3    [D:\Program Files\winAVR\bin\avrdude.conf:14719]
      x192a3 = ATXMEGA192A3    [D:\Program Files\winAVR\bin\avrdude.conf:14622]
      x128a3 = ATXMEGA128A3    [D:\Program Files\winAVR\bin\avrdude.conf:14525]
      x64a3 = ATXMEGA64A3     [D:\Program Files\winAVR\bin\avrdude.conf:14428]
      x256a1 = ATXMEGA256A1    [D:\Program Files\winAVR\bin\avrdude.conf:14331]
      x192a1 = ATXMEGA192A1    [D:\Program Files\winAVR\bin\avrdude.conf:14234]
      x128a1d = ATXMEGA128A1REVD [D:\Program Files\winAVR\bin\avrdude.conf:14137]
      x128a1 = ATXMEGA128A1    [D:\Program Files\winAVR\bin\avrdude.conf:14040]
      x64a1 = ATXMEGA64A1     [D:\Program Files\winAVR\bin\avrdude.conf:13943]
      m6450 = ATMEGA6450      [D:\Program Files\winAVR\bin\avrdude.conf:13754]
      m3250 = ATMEGA3250      [D:\Program Files\winAVR\bin\avrdude.conf:13565]
      m645 = ATMEGA645       [D:\Program Files\winAVR\bin\avrdude.conf:13376]
      m325 = ATMEGA325       [D:\Program Files\winAVR\bin\avrdude.conf:13187]
      usb82 = AT90USB82       [D:\Program Files\winAVR\bin\avrdude.conf:13007]
      usb162 = AT90USB162      [D:\Program Files\winAVR\bin\avrdude.conf:12823]
      usb1287 = AT90USB1287     [D:\Program Files\winAVR\bin\avrdude.conf:12634]
      usb1286 = AT90USB1286     [D:\Program Files\winAVR\bin\avrdude.conf:12445]
      usb647 = AT90USB647      [D:\Program Files\winAVR\bin\avrdude.conf:12257]
      usb646 = AT90USB646      [D:\Program Files\winAVR\bin\avrdude.conf:12068]
      m32u4 = ATmega32U4      [D:\Program Files\winAVR\bin\avrdude.conf:11880]
      t84  = ATtiny84        [D:\Program Files\winAVR\bin\avrdude.conf:11697]
      t44  = ATtiny44        [D:\Program Files\winAVR\bin\avrdude.conf:11515]
      t24  = ATtiny24        [D:\Program Files\winAVR\bin\avrdude.conf:11333]
      m128rfa1 = ATMEGA128RFA1   [D:\Program Files\winAVR\bin\avrdude.conf:11145]
      m2561 = ATMEGA2561      [D:\Program Files\winAVR\bin\avrdude.conf:10951]
      m2560 = ATMEGA2560      [D:\Program Files\winAVR\bin\avrdude.conf:10758]
      m1281 = ATMEGA1281      [D:\Program Files\winAVR\bin\avrdude.conf:10570]
      m1280 = ATMEGA1280      [D:\Program Files\winAVR\bin\avrdude.conf:10381]
      m640 = ATMEGA640       [D:\Program Files\winAVR\bin\avrdude.conf:10193]
      t85  = ATtiny85        [D:\Program Files\winAVR\bin\avrdude.conf:10012]
      t45  = ATtiny45        [D:\Program Files\winAVR\bin\avrdude.conf:9833]
      t25  = ATtiny25        [D:\Program Files\winAVR\bin\avrdude.conf:9653]
      pwm3b = AT90PWM3B       [D:\Program Files\winAVR\bin\avrdude.conf:9472]
      pwm2b = AT90PWM2B       [D:\Program Files\winAVR\bin\avrdude.conf:9289]
      pwm3 = AT90PWM3        [D:\Program Files\winAVR\bin\avrdude.conf:9106]
      pwm2 = AT90PWM2        [D:\Program Files\winAVR\bin\avrdude.conf:8922]
      t2313 = ATtiny2313      [D:\Program Files\winAVR\bin\avrdude.conf:8735]
      m328p = ATMEGA328P      [D:\Program Files\winAVR\bin\avrdude.conf:8547]
      t88  = attiny88        [D:\Program Files\winAVR\bin\avrdude.conf:8361]
      m168 = ATMEGA168       [D:\Program Files\winAVR\bin\avrdude.conf:8173]
      m88  = ATMEGA88        [D:\Program Files\winAVR\bin\avrdude.conf:7987]
      m48  = ATMEGA48        [D:\Program Files\winAVR\bin\avrdude.conf:7800]
      t861 = ATTINY861       [D:\Program Files\winAVR\bin\avrdude.conf:7612]
      t461 = ATTINY461       [D:\Program Files\winAVR\bin\avrdude.conf:7423]
      t261 = ATTINY261       [D:\Program Files\winAVR\bin\avrdude.conf:7234]
      t26  = ATTINY26        [D:\Program Files\winAVR\bin\avrdude.conf:7077]
      m8535 = ATMEGA8535      [D:\Program Files\winAVR\bin\avrdude.conf:6919]
      m8515 = ATMEGA8515      [D:\Program Files\winAVR\bin\avrdude.conf:6761]
      m8   = ATMEGA8         [D:\Program Files\winAVR\bin\avrdude.conf:6600]
      m161 = ATMEGA161       [D:\Program Files\winAVR\bin\avrdude.conf:6460]
      m32  = ATMEGA32        [D:\Program Files\winAVR\bin\avrdude.conf:6285]
      m6490 = ATMEGA6490      [D:\Program Files\winAVR\bin\avrdude.conf:6092]
      m649 = ATMEGA649       [D:\Program Files\winAVR\bin\avrdude.conf:5907]
      m3290p = ATMEGA3290P     [D:\Program Files\winAVR\bin\avrdude.conf:5724]
      m3290 = ATMEGA3290      [D:\Program Files\winAVR\bin\avrdude.conf:5539]
      m329p = ATMEGA329P      [D:\Program Files\winAVR\bin\avrdude.conf:5354]
      m329 = ATMEGA329       [D:\Program Files\winAVR\bin\avrdude.conf:5170]
      m169 = ATMEGA169       [D:\Program Files\winAVR\bin\avrdude.conf:4990]
      m163 = ATMEGA163       [D:\Program Files\winAVR\bin\avrdude.conf:4832]
      m162 = ATMEGA162       [D:\Program Files\winAVR\bin\avrdude.conf:4636]
      m1284p = ATMEGA1284P     [D:\Program Files\winAVR\bin\avrdude.conf:4446]
      m644p = ATMEGA644P      [D:\Program Files\winAVR\bin\avrdude.conf:4254]
      m644 = ATMEGA644       [D:\Program Files\winAVR\bin\avrdude.conf:4064]
      m324p = ATMEGA324P      [D:\Program Files\winAVR\bin\avrdude.conf:3873]
      m164p = ATMEGA164P      [D:\Program Files\winAVR\bin\avrdude.conf:3682]
      m16  = ATMEGA16        [D:\Program Files\winAVR\bin\avrdude.conf:3504]
      c32  = AT90CAN32       [D:\Program Files\winAVR\bin\avrdude.conf:3313]
      c64  = AT90CAN64       [D:\Program Files\winAVR\bin\avrdude.conf:3123]
      c128 = AT90CAN128      [D:\Program Files\winAVR\bin\avrdude.conf:2933]
      m128 = ATMEGA128       [D:\Program Files\winAVR\bin\avrdude.conf:2755]
      m64  = ATMEGA64        [D:\Program Files\winAVR\bin\avrdude.conf:2574]
      m103 = ATMEGA103       [D:\Program Files\winAVR\bin\avrdude.conf:2434]
      8535 = AT90S8535       [D:\Program Files\winAVR\bin\avrdude.conf:2313]
      8515 = AT90S8515       [D:\Program Files\winAVR\bin\avrdude.conf:2199]
      4434 = AT90S4434       [D:\Program Files\winAVR\bin\avrdude.conf:2116]
      4433 = AT90S4433       [D:\Program Files\winAVR\bin\avrdude.conf:1992]
      2343 = AT90S2343       [D:\Program Files\winAVR\bin\avrdude.conf:1868]
      2333 = AT90S2333       [D:\Program Files\winAVR\bin\avrdude.conf:1740]
      2313 = AT90S2313       [D:\Program Files\winAVR\bin\avrdude.conf:1627]
      4414 = AT90S4414       [D:\Program Files\winAVR\bin\avrdude.conf:1514]
      1200 = AT90S1200       [D:\Program Files\winAVR\bin\avrdude.conf:1399]
      t15  = ATtiny15        [D:\Program Files\winAVR\bin\avrdude.conf:1266]
      t13  = ATtiny13        [D:\Program Files\winAVR\bin\avrdude.conf:1093]
      t12  = ATtiny12        [D:\Program Files\winAVR\bin\avrdude.conf:960]
      t11  = ATtiny11        [D:\Program Files\winAVR\bin\avrdude.conf:896]
    
    make.exe: *** [program] Error 1
    
    > Process Exit Code: 2
    > Time Taken: 00:00
  • #17 10533877
    rakso1313
    Poziom 13  
    TEMAT ZAMYKAM Problem rozwiązałem dzięki paru fachowcom z innego forum jeżeli ktoś tez będzie miał taki problem na priv spróbuje pomóc ;)
REKLAMA