Close

Nahrání bootloaderu do atmega328

Úvodní stránka Fórum Hardware Arduino Nahrání bootloaderu do atmega328

  • Toto téma obsahuje celkem 59 odpovědí. Do diskuze (6 diskutujících) se naposledy zapojil uživatel marcino a poslední změna proběhla před 6 roky a 3 měsíci.
Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 60)
  • Autor
    Příspěvky
  • #7958
    bot
    Účastník

    Prosím můžete mi pomoc s nahráním bootlaoderu do atmegy328?

    Prošel jsem si nespočet tutoriálů, ale pořád sem i to nedaří…

    Hlásí mi to chybu:

    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    Chyba při vypalování zavaděče.

    Děkuji

    #7959
    Vojtěch Vosáhlo
    Účastník

    Co používáte za programátor na nahrání bootloaderu?
    Pak můžem něco vymyslet 😉

    #7960
    bot
    Účastník

    Mám k dispozici funkční arduino UNO (s smd čipem). To používám jako arduino as ISP, tedy jsem do něj nahrál sketch arduinoISP, připojil i externí LEDky na piny 7, 8, 9 pro signalizaci. Při zapojení arduina do PC mi pulzuje led na pinu 9, když dám vypálit bootlaoder, tak mi jednou blikne led na pinu 7 a v IDE vypíše chyba viz. výše. Zapojení s prázdným čipem používám co je na oficiálním webu s 16mhz krystalem.

    Ještě takový poznatek, zapojení mám realizované na bezkontaktním poli, pokud vyjmu prázdný čip ze zapojení hlásí to stejnou chybu.

    #7961
    Vojtěch Vosáhlo
    Účastník

    Tahle chyba skáče většinou když je opravdu nějaký problém se zapojením (aspoň z mé zkušenosti). 1 krok určitě znovu zkontrolovat všechna připojení jako popsáno.
    Důležité je nezapomenout spojit země procesoru a arduina. Poté by měly být zapojeny VCC a AVCC na napájení a OBĚ GND na zem. Pokud máte multimetr, prospělo by každé spojení přezkoušet. Taky je možné, stává se mi to občas při programování přes usbasp, že je clock moc vysoký, zkuste ho v programu nadefinovat třeba na 500Hz. Předpokládám že máte nastavený v Nástroje -> programátor Arduino as ISP.
    A nakonec mohl by to být problém i toho že tam máte krystal, můžete ho zkusit dát pryč a uvidíte. Pokud nic nepomůže tak zkuste poslat třeba pár fotek aby bylo dobře vidět zapojení na obou stranách.

    Jen tak naokraj, byl čip už používán? A kde jste ho kupoval?

    #7962
    bot
    Účastník

    Ano jako programátor mám nastaveno arduino as ISP.
    Zkoušej sem to i bez krystalu.
    Postupoval jsem dle několika návodů např: (https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard, http://www.itnetwork.cz/hardware-pc/arduino/arduino-samostatny-cip-atmega328p, https://bastlirna.hwkitchen.cz/nas-prvni-klon-arduina/)

    Zítra bych udělal nějakou dokumentaci a hodím ji sem.

    Čipy jsou nové ani jednou použité. Koupil jsem je na ebayi.

    Ještě dotaz jakou desku mám mít nastavenou při vypalování?

    Jelikož dle návodu na ITnetwork mám mít „Atmega328 on breadbord (8Mhz internal clock)“ a když tak učiním vyhodí to chybu :
    Chyba při vypalování zavaděče.
    processing.app.debug.RunnerException: Please select a programmer from Tools->Programmer menu
    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:261)
    at processing.app.Editor$47.run(Editor.java:2564)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    #7963
    Vojtěch Vosáhlo
    Účastník

    Pokud máte připojený externí krystal 16mhz, stačí vybrat desku arduino uno. Kdyby jste měl čip bez externího krystalu, vyberete Arduino on breadboard 8mhz. Mohlo se stát taky to že se vám zavaděč už vypálil, prakticky nevědomky, a nastavilu se nějak fuse a kvůli tomu se k čipu nemůžete dostat, ale to bych prakticky vyloučil. Nebýy čipy od dodavatele nějak nastavené? Předvypálené nebo nastavené na nějakou frekvenci? Když jsem tohle naposledy dělal měl jsem taky hodně problémů a myslím že tenkrát pomohl kondenzátor (4,7uF) ale netuším jestli mezi GND a VCC nebo reset pinem a buď zemí nebo VCC (všechny kombinace na arduinu a na JEHO pinech, né na těch simulovaných pro spi). Budu čekat na tu dokumentaci, určitě to někam posunem…

    #7973
    posjirka
    Účastník

    Ten konenzátor patří mezi GND a RESET. právě zabraňuje svévolnému resetu arduina při programování ..

    #7974
    bot
    Účastník

    Zkusil jsem přidat i kondenzátor, ale bez úspěchu.

    Také jsem zkusil stáhnout nový arduino IDE (1.6.11), ale to nefunguje, už při kompilaci – nemůžu mít něco špatně nastavené?

    Jinak používám arduino IDE 1.5.8

    Udělal jsem foto zapojení s krystalem a kondíkem.

    Link na foto: https://postimg.org/image/z3eu1yhnt/

    #7976
    Vojtěch Vosáhlo
    Účastník

    Zkusíme jednu věc, stáhněte si tento program http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ a nainstalujte. Vše nechte zapojené tak jak je a v arduinu nechte Arduino as ISP program.
    Až to bude stažené a nainstalované, vyberte jako programmer Atmel AVR ISP, jako port, port na kterém arduino běží, a do baud rate dejte 19200. Po nastavení toho všeho, pokud jste si jistý že je vše zapojené, klikněte v pravo v záložce MCU na Detect.
    Dole v konzoli by vám to mělo něco vypsat, tuto zprávu sem potom vložte.
    Držím palce

    EDIT: Co píše arduino IDE při kompilaci?

    #7979
    Vojtěch Vosáhlo
    Účastník

    Co píše arduino IDE při kompilaci?

    Myslím arduino ide (1.6.11)

    #7980
    bot
    Účastník

    Když chci jakýkoliv sketch zkompilovat (IDE 1.6.11) nastane chyba:

    exec: „C:\\Users\\matej\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.9.2-atmel3.5.3-arduino2/bin/avr-g++“: file does not exist
    Nastala chyba při kompilaci u desky Arduino/Genuino Uno.

    Podařilo sem i nainstalovat avrdudess a při detekci se mi vypsalo v konzoli toto:

    Unknown signature 000000(retrying)

    #7981
    Vojtěch Vosáhlo
    Účastník

    Zkuste to stejné akorát bez krystalu, kondíku a rezistoru…

    #7982
    bot
    Účastník

    Stejný výsledek.

    #7983
    Vojtěch Vosáhlo
    Účastník

    Zkusím se do toho podívat hlouběji a něco zkusit. Ještě 2 věci:
    1. Je arduino oficiální nebo „klon“
    2 Je procesor opravdu Atmega328P-PU a né jen 328?

    #7984
    bot
    Účastník

    1. Měl by být asi oficiální (kupoval jsem ho na ebayi, na desce je napsáno pouze UNO)

    2. Ano na čipu je napsáno Atmega328P-PU

    A nejde bootloader nahrát jiným způsobem – mám sériový port na pc, tak jestli nejde udělat jednoduchý programátor (koukal jsem na nějaký schémata, kde využili pár odporů a jeden tranzistor – to bych doma našel), ale moc tomu nerozumím…

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 60)
  • Pro reakci na toto téma se musíte přihlásit.