Caricare il bootloader da un nano a un nano.

Una buona serata a tuti
Come da titolo ho provato a caricare il bootloader sul nano ma non va,
solitamente per far questo usavo l’Arduino uno e tutto andava benissimo, seguendo un tutorial trovato qui,
come al solito o fatto i seguenti collegamenti:
(per comodità chiamiamo A il nano che fa da programmatore B quello da programmare)
A B
GND GDN
Vcc Vcc
D13 D13
D10 RST
D11 D11
D12 D12

A questo punto seleziono come programmatore Arduino as ISP
Programmo il bootloader
E lui mi da questa risposta

Arduino:1.8.1 (Windows 7), Scheda:"Arduino Nano, ATmega328"

C:\Users\Toni\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Toni\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM4 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Toni\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
Errore durante la scrittura del bootloader
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          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
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
         Hardware Version: 4728160
         Firmware Version: 0.4598883
         Topcard         : STK502
         Vtarget         : 1.8 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

Qualcuno cortesemente mi può dare qualche dritta su come risolvere il problema.

Prima di selezionare Arduino as ISP devi caricare sul nano A il programma 11 dagli esempi, cioè ArduinoISP.

Stilita:
Prima di selezionare Arduino as ISP devi caricare sul nano A il programma 11 dagli esempi, cioè ArduinoISP.

hai provato con un piccolo condensatore sul reset ?

Buona giornata ragazzi
grazie di avermi risposto

@Stilita
scusa mi sono dimenticato di precisare che il nano A l'ho programmato come ArduinoISP

@mixmax122

hai provato con un piccolo condensatore sul reset ?

No non ho provato
ma il condensatore 100nF lo metto reset verso massa o Vcc

prova cosi

pin reset arduino programmatore --------> Condensatore ceramico ----> pin reset arduino da programmare;

non so nemmeno io dire il perche preciso ma ho avuto lo stesso problemaleggi qui
e ho risolto con un condensatore ceramico da 1mF

Allora ho provato

pin reset arduino programmatore --------> Condensatore ceramico ----> pin reset arduino da programmare;

ma non va

mi sono un po incavolato, ed ho provato cosi:
tengo premuto il pulsante di reset del nano programmatore gli do via il scrivi il bootloader attendo qualche secondo prima di rilasciare il pulsante di reset a questo punto parte la programmazione correttamente,

il bello e che ora se provo nuovamente a scrivere il bootloader senza premere il reset questo ora va

ma non capisco il perché di sta cosa

in realta il condensatore serviva prorpio a questo.. ritardare l'impulso del reset di qualche istante..

Il condensatore serve sui programmatori seriali per evitare che il segnale DTR mantenga la MCU sempre in stato di reset. Se usi ARDUINO ISP non serve perché il pin di reset è tenuto basso solo per il tempo necessario

doppiozero:
Il condensatore serve sui programmatori seriali per evitare che il segnale DTR mantenga la MCU sempre in stato di reset. Se usi ARDUINO ISP non serve perché il pin di reset è tenuto basso solo per il tempo necessario

esattamente…

però guardando l’errore… ho pensato a quello…

Ieri ho programmato un Tiny 85 vergine, prima gli ho scritto il bootloader, poi il programma
usando come programmatore un Nano,e senza condensatore, tutto liscio.

@ Stilita
scusami ma non capisco

Ieri ho programmato un Tiny 85 vergine, prima gli ho scritto il bootloader,

con un nano?

io sono testardo, preso l'Arduino uno programmato come programmatore,
poi ho scritto il bootloader suo nano, tutto ok senza premere il reset,

allora mi chiedevo che non ci sia qualcosa di diverso sulle schede,
guardando lo schema del uno

(non capisco a cosa serve) le due piazzole RESET EN cosi come da schema, sia che siano aperte o chiuse non vedo differenze

mentre sul nano

sul reset c'è un condensatore da 100nF in serie,
forse e questo che impedisce la programmazione?

perché come dice doppiozero il pin del reset e pilotato dal software

cortesemente mi potete dare qualche spiegazione?
mille grazie

mi sa che la spiegazione te la sei data da solo;

se non ricordo male, dalla giuda di minniti si deduceva che dopo il reset il micro ascolta sulla seriale per vedere se sta arrvando qualcosa(flash), altrimenti fa partire lo sketch

se i due impulsi non arrivano con i tempi giusti la risposta sara sempre "not in sync":

premendo manualmente il reset mi sa che "caricavi" quel condensatore e una volta rilasciato dava il segnale reset col tempo giusto

@mixmax122
scusa la mia ignoranza, ma intendi che premendo il reset del nano programmatore o allungato il tempo di carica del condensatore del nano ba scrivere?

perché premendo il reset il condensatore dovrebbe scaricarsi?

milefori:
allora mi chiedevo che non ci sia qualcosa di diverso sulle schede,
guardando lo schema del uno
https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
(non capisco a cosa serve) le due piazzole RESET EN cosi come da schema, sia che siano aperte o chiuse non vedo differenze

mentre sul nano
https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf
sul reset c'è un condensatore da 100nF in serie,
forse e questo che impedisce la programmazione?

se guardi bene, il condensatore da 100nF c'è in entrambe le schede, ed è tra il segnale DTR e il segnale RESET e viene utilizzato quando programmi normalmente la UNO o il NANO. Quando programmi via ISP però metti a massa direttamente il pin di reset e quindi bypassi il condensatore.

Per le piazzoline RESET-EN hai ragione, messe così non serve a nulla. Ma se immagini di tagliare la pista che hanno in parallelo per disabilitare il reset, le puoi usare per riabilitarlo saldandole con un punto di stagno.

Comunque non mi spiego perchè abbia funzionato tenendo premuto il reset del nano programmatore :-\

Ciao doppiozero

se guardi bene, il condensatore da 100nF c'è in entrambe le schede

si questo lo avevo visto,

Quando programmi via ISP però metti a massa direttamente il pin di reset e quindi bypassi il condensatore.

ma allora quando io scrivendo il bootloader tengo premuto il reset porto a massa il pin?

comunque questa prova di scrivere i bootloader col nano premendo il reset l'ho provata diversa volte e funziona,
senza premere il reset non va,

forse nel programma ArduinoISP a dei tempi troppo brevi?

milefori:
ma allora quando io scrivendo il bootloader tengo premuto il reset porto a massa il pin?

quando premi reset sul nano programmatore resetti il nano programmatore, fine. Il reset sul nano da programmare viene pilotato direttamente dal pin 10 del nano programmatore, senza condensatori.

comunque questa prova di scrivere i bootloader col nano premendo il reset l’ho provata diversa volte e funziona,
senza premere il reset non va

premi il reset di quale? perchè prima hai detto

tengo premuto il pulsante di reset del nano programmatore gli do via il scrivi il bootloader attendo qualche secondo prima di rilasciare il pulsante di reset a questo punto parte la programmazione correttamente,

il bello e che ora se provo nuovamente a scrivere il bootloader senza premere il reset questo ora va

e ho inteso che il problema si è risolto dopo il primo reset del nano programmatore.

Faccio i miei migliori auguri buone feste a tutti

@doppiozero

premi il reset di quale?

del nano programmatore

e ho inteso che il problema si è risolto dopo il primo reset del nano programmatore.

si si cosi carico il bootloader

problema risolto