Domanda:
Programming Chinese Arduinos
AndyD273
2017-03-24 23:38:03 UTC
view on stackexchange narkive permalink

Ho un Arduino UNO autentico, ma non volevo pagare il prezzo intero per uno nuovo per costruire progetti semi-permanenti, quindi ho comprato alcuni chip ATMEGA328P-PU da AliExpress:

https://www.aliexpress.com/item/1pcs-lot-ATMEGA328P-PU-CHIP-ATMEGA328-Microcontroller-MCU-AVR-32K-20MHz-FLASH-DIP-28/32346944696.html

Ma quando provo a utilizzare l'IDE di Arduino per caricare lo sketch sui nuovi chip, ottengo questi errori:

avrdude: stk500_recv (): il programmatore non risponde avrdude: stk500_getsync () tentativo 1 di 10: non sincronizzato: resp = 0x00

Succede 10 volte e si chiude.

Funziona bene quando rimetto il chip originale.

Se qualcuno ha esperienza con questo, gliene sarei molto grato!

EDIT:

Sto provando i passaggi del bootloader di masterizzazione e ricevo un nuovo errore.

Passaggi che ho eseguito:

Sto facendo l'opzione 8MHz, e così ho scaricato il file breadboard-1-6-x.zip. (Sto usando Arduino IDE 1.6.5 su Mac).

Ho caricato l'esempio di ArduinoISP sul mio chip funzionante, poi l'ho collegato alla breadboard come da immagine.

Ho cambiato il programmatore su Arduino come ISP e ho impostato la scheda su ATMEGA328 sulla breadboard (clock 8MHz)

Sono andato su strumenti> masterizza bootloader e ho ricevuto questo errore:

Arduino: 1.6.5 (Mac OS X), Scheda: "ATmega328 su una breadboard (clock interno 8 MHz)"

/Users/andy/Desktop/Arduino.app/ Contenuti / Java / hardware / tools / avr / bin / avrdude -C / Users / andy / Desktop / Arduino.app / Contents / Java / hardware / tools / avr / etc / avrdude.conf -v -patmega328p -cstk500v1 -P / dev / cu.usbmodem411 -b19200 -e -Ulock: w: 0x3F: m -Uefuse: w: 0x05: m -Uhfuse: w: 0xDA: m -Ulfuse: w: 0xE2: m

avrdude: Versione 6.0.1, compilata il 14 aprile 2015 alle 16:30:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

  Il file di configurazione dell'intero sistema è "/Users/andy/Desktop/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" Il file di configurazione dell'utente è "/ Users / andy /. avrduderc "Il file di configurazione utente non esiste o non è un file normale, viene ignorato Utilizzo della porta: /dev/cu.usbmodem411 Utilizzo del programmatore: stk500v1 Sovrascrittura della velocità in baud: 19200 avrdude: stk500_getsync () tentativo 1 di 10: non sincronizzato: resp = 0x15 AVR Part: ATmega328P Chip Erase delay: 9000 us PAGEL: PD7 BS2: PC2 RESET disposition: dedicato 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 Polling Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- - ---- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6128 0 sì 32768128256 4500 4500 0xff 0xff lfusibile 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfusibile 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 blocco 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibrazione 0 0 0 0 no 1 0 0 0 0 0x00 0x00 firma 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Tipo di programmatore: STK500 Descrizione: Atmel STK500 Versione 1.x firmware  

avrdude: stk500_getparm (): (a) errore di protocollo, si aspetta = 0x14, resp = 0x14

avrdude: stk500_getparm (): (a) errore di protocollo, si aspetta = 0x14, resp = 0x02

avrdude: stk500_getparm (): (a) errore di protocollo, si aspetta = 0x14, resp = 0x10 Versione hardware: -1543397124 Versione firmware: 2165568.-1543397124 Scheda superiore: STK502 Vtarget: 1,8 V Varef: 0,0 V Oscillatore: spento Periodo SCK: 0.1 us

avrdude: stk500_initialize (): (b) errore di protocollo, si aspetta = 0x10, resp = 0x01 avrdude: inizializzazione fallita, rc = -1 Controlla due volte le connessioni e riprova, o usa -F per sovrascrivere questo controllo.

avrdude: stk 500_disable (): errore di protocollo, si aspetta = 0x14, resp = 0x10

avrdude done. Grazie.

Problema durante il caricamento a bordo. Vedi http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti.

Fare almeno un piccolo progresso ...

Soluzione:

stavo usando questo layout:

enter image description here

Dato che non funzionava, ho deciso di provare a utilizzare il nano che ho ricevuto nello stesso momento e dopo molte ricerche ho trovato questo video:

https://www.youtube.com / watch? v = 94KCYqS3 - A

Ho collegato i pin mostrati al segno 1:30 alla porta ICSP, e ho provato a masterizzare il bootloader due volte per chip, e poi il secondo tentativo ha funzionato! Non so perché è stato necessario provarlo due volte.

Potrei tornare a provare il metodo breadboard, solo per vedere se funziona se provo a masterizzarlo due volte.

Parte di un autentico Arduino è un bootloader preesistente sul chip.
Hai bisogno anche di un programmatore cinese, poiché i chip cinesi non capiscono la nostra lingua. Ho avuto fortuna con le serie avr USB / ASP o USB / isp. http://r.ebay.com/lALcjc
^ Soluzione vera, ma spiegazione non corretta, Ben Heck copre molto bene la differenza all'inizio di questo video: "crea una scheda di sviluppo avr" (https://youtu.be/ncobWc61wL4)
Come è collegato? E puoi aggiungere -F al comando avrdude?
Due risposte:
JRobert
2017-03-25 00:21:25 UTC
view on stackexchange narkive permalink

È perché si tratta di chip non programmati, il che significa che non hanno ancora programmato un bootloader. Ecco un tutorial per usare la tua scheda Arduino per programmare un bootloader (ci sono molti di questi tutorial disponibili).

Deve essere fatto solo una volta per chip, quindi sarà vale la pena programmarli tutti, una volta che ne hai impostato uno. Questo è un modo molto economico per costruire "home-brew-duinos".

Non ho il cristallo, quindi dovrò ordinarne alcuni suppongo ... Ho visto in [questo Instructible] (https://www.instructables.com/id/Atmega-Standalone-Running-without- crystal-oscillat /) che puoi eseguire almeno alcuni di essi senza il cristallo. Tuttavia, ho anche un Arduino Nano che funziona ... Posso mettere il 328P-PU nell'UNO e poi programmarlo con il Nano?
@AndyD273: Certo, usa la connessione ISP vicino all'MCU principale, non la connessione ISP vicino al connettore USB.
puoi eseguirli a 8 mhz senza un cristallo, 16 con uno.
Ok, l'ho cablato usando l'orologio interno da 8 mhz come nel tuo link, ma ricevo un nuovo errore. L'ho postato sopra.
dannyf
2017-03-25 00:15:05 UTC
view on stackexchange narkive permalink

Assicurati di avere il driver giusto per le schede cinesi e la porta com giusta scelta nell'ide.

Questi sono chip nudi. Nessuna connessione USB.
L'autore della domanda stava usando un altro Arduino, che ha una connessione USB e ha bisogno della porta giusta scelta.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...