Programmare il ATTiny85

Ho un problema nella programmazione di un ATTiny85.
Per programmarlo uso un Arduino NANO con installato l'esempio Arduino ISP.
Ho verificato i collegamenti (6) e sono corretti.
Prima programmo il NANO e qui carico lo sketch correttamente.
Poi collego il ATTiny85 e cerco di caricare un semplice sketch:

void setup()
{
//PIN0 = PIN5 led 
pinMode(0, OUTPUT);
}
void loop()
{
delay(500);
digitalWrite(0, HIGH);
delay(500);
digitalWrite(0, LOW);
}

Ma mi da un errore di collegamento tipo:

Arduino:1.8.11 (Mac OS X), Scheda:"ATtiny25/45/85, ATtiny85, External 8 MHz"
Lo sketch usa 682 byte (8%) dello spazio disponibile per i programmi. Il massimo è 8192 byte.


Le variabili globali usano 9 byte (1%) di memoria dinamica, lasciando altri 503 byte liberi per le variabili locali. Il massimo è 512 byte.


avrdude: stk500_recv(): programmer is not responding


avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00


avrdude: stk500_recv(): programmer is not responding


avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00


avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00


avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe0


avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00


Problema di caricamento sulla scheda. Guarda http://www.arduino.cc/en/Guide/Troubleshooting#upload per suggerimenti

Ho seguito la procedura che ho trovato su un sito internet.
Saluti
LelloGi

Con attiny85 intendi il chip standalone o la schedina già fatta?

Dando per scontato che hai caricato il giusto programma (Arduino as ISP) sul nano, che hai scelto come target il ATtiny85 e che usi il caricamneto del programma via programmatore ... ha impostato correttamente i FUSE del ATtiny85?

Perché, di fabbrica, escono con il divisore per 8 attivo e quindi con il clock ad 1 MHz.

Guglielmo

Il condensatore sul reset l'hai messo?

Ciao, Ale.

ilguargua:
Il condensatore sul reset l'hai messo?

Per fare cosa ? ? ? :o

Sta caricando da connessione ICSP ... il pin di reset lo gestisce il programmatore.

Guglielmo

Sta caricando da connessione ICSP ... il pin di reset lo gestisce il programmatore.

Si, ma se non blocchi il reset del nano quando vuoi caricare lo sketch dell'atttiny la seriale resetta il nano, e parte il suo bootloader...

Ciao, Ale.

Mmmm ... non so se la cosa è influente ... effettivamente potrebbe accadere ... ::slight_smile:
... comunque QUI una guida molto ben fatta (... anche se un po' datata) e lungamente collaudata su come realizzare la cosa. Se LelloGi la segue pedissequamente, cambiando ovviamente il target (ATtiny85), NON può avere problemi.

Guglielmo

P.S.: Personalemente sono comunque contrario a quest'uso anomalo di Arduino ... oggi un VERO programmatore ISP costa pochi € ed è molto più affidabile e controllabile di quest'accrocchio.
P.P.S. Del problema del "bootloader" ne parla anche la guida ... pare che in alcuni specifici casi possa effettivamente essere un problema. :wink: Vedi la nota 8 a pag. 21 :slight_smile:

Mmmm ... non so se la cosa è influente ...

:o !

Ciao, Ale.

ilguargua:
:o !

E di che ti meravigli ? ? ? :grin: ... Menniti, che ha provato decine e decine di schede dice chiaramente:

... ho potuto constatare che tale problema si verifica o non si verifica indifferentemente, su qualsiasi Arduino, per cui Vi assicuro che non è “legge” il fatto che su 2009 non si debba disabilitare l’autoreset e su UNO sì, o viceversa. Semplicemente, se l’operazione non va a buon fine bisogna disabilitare l’autoreset, a prescindere dall’hardware che si sta usando; questo mi hanno insegnato le decine e decine di prove che ho dovuto fare per poter produrre questo lavoro.

... quindi ... è cosa che dipende da vari fattori. ::slight_smile:

Naturalmente disabilitarlo sempre durante l'uso come programmatore, sicuramente male non fa .... :smiley:

Guglielmo

gpb01:
Dando per scontato che hai caricato il giusto programma (Arduino as ISP) sul nano, che hai scelto come target il ATtiny85 e che usi il caricamneto del programma via programmatore ... ha impostato correttamente i FUSE del ATtiny85?

Perché, di fabbrica, escono con il divisore per 8 attivo e quindi con il clock ad 1 MHz.

Guglielmo

Non avevo previsto i FUSE, quindi devo impostare il clock a 1Mhz.
Grazie

fratt:
Con attiny85 intendi il chip standalone o la schedina già fatta?

Cip Standalone

ilguargua:
Il condensatore sul reset l'hai messo?

Ciao, Ale.

No, non l'ho letto da nessuna parte.
Da quanto deve essere?
Saluti

gpb01:
Mmmm ... non so se la cosa è influente ... effettivamente potrebbe accadere ... ::slight_smile:
... comunque QUI una guida molto ben fatta (... anche se un po' datata) e lungamente collaudata su come realizzare la cosa. Se LelloGi la segue pedissequamente, cambiando ovviamente il target (ATtiny85), NON può avere problemi.

Guglielmo

P.S.: Personalemente sono comunque contrario a quest'uso anomalo di Arduino ... oggi un VERO programmatore ISP costa pochi € ed è molto più affidabile e controllabile di quest'accrocchio.
P.P.S. Del problema del "bootloader" ne parla anche la guida ... pare che in alcuni specifici casi possa effettivamente essere un problema. :wink: Vedi la nota 8 a pag. 21 :slight_smile:

Scaricata la guida.
Saluti

LelloGi:
Non avevo previsto i FUSE, quindi devo impostare il clock a 1Mhz.

No, devi disabilitare il divisore per 8, che è di base, così da avere il clock interno a 8MHz :wink:

Guglielmo

No, non l'ho letto da nessuna parte.
Da quanto deve essere?

Da 10 uF (ma il valore non è critico) messo tra il reset e il gnd dell'arduino che usi come ISP.
Non so quale guida tu abbia letto, comunque i passi da compiere sono :

  • Caricare lo sketch "arduino_isp" sull'arduino da usare.
  • Montare il condensatore come sopra
  • Caricare sull'IDE lo sketch per il tiny
  • Scegliere le varie opzioni che il core mette a dispozione (Clock,BOD,etc.)
  • Sempre dal menu strumenti usare la voce "Scrivi il bootloader" (serve a settare i fuse scelti sopra)
  • Caricare lo sketch
  • Togliere il condensatore se si vuole caricare un nuovo sketch nell'arduino

Perlomeno, io faccio sempre così e funziona.

Ciao, Ale.

Grazie dei consigli.
Ho trovato su internet questo affare per programmare:
[/img]https://www.ebay.it/itm/323056168306[/img]
Si collega alla porta USB ma ho il dubbio se devo prima installare un bootloader sul Tiny o posso caricare direttamente lo sketch dal'IDE di Arduino.
Saluti
LelloGi

ilguargua:
Da 10 uF (ma il valore non è critico) messo tra il reset e il gnd dell'arduino che usi come ISP.
Non so quale guida tu abbia letto, comunque i passi da compiere sono :

  • Caricare lo sketch "arduino_isp" sull'arduino da usare.
  • Montare il condensatore come sopra
  • Caricare sull'IDE lo sketch per il tiny
  • Scegliere le varie opzioni che il core mette a dispozione (Clock,BOD,etc.)
  • Sempre dal menu strumenti usare la voce "Scrivi il bootloader" (serve a settare i fuse scelti sopra)
  • Caricare lo sketch
  • Togliere il condensatore se si vuole caricare un nuovo sketch nell'arduino

Perlomeno, io faccio sempre così e funziona.

Ciao, Ale.

Ottimo, questa sera riprovo.
Grazie
LelloGi

Lascia stare queste "monnezze" cinesi senza documentazione che non si sa se e come funzionano e ... dimentica di caricare un bootloader sul ATtiny85 che ti mangerebbe memoria programma preziosa (... se dal IDE fai carica bootloader, NON viene caricato nessun bootloader, ma SOLO impostati i FUSE con la configurazione scelta).

Prenditi un programmatore decente tipo QUESTO con cui programmi tutti gli AVR via ISP.

Guglielmo

Ho visto il programmatore che mi consigli, non lo conoscevo.
Il mio dubbio è: collegato alla porta USB del Mac e con IDE di Arduino usata con l'opzione "Carica tramite programmatore" riesco a installare lo sketch sul ATTiny85?
Naturalmente non ho idea di come configurare tutte le altre opzioni sotto "Strumenti".
Sto leggendo anche "Guida alle tecniche di programmazione dei microcontrollori ATMEL", del prof. Menniti ma a parte come eseguire i collegamenti tra programmatore e standalone, mi ha creato ulteriori dubbi, forse perché mi manca l'esperienza di questo tipo di programmazione.
Saluti

LelloGi

LelloGi:
... Il mio dubbio è: collegato alla porta USB del Mac e con IDE di Arduino usata con l'opzione "Carica tramite programmatore" riesco a installare lo sketch sul ATTiny85?

... è un programmatore ISP per AVR ... quindi ... ;D

Trovi QUI tutti i dettagli di quell'oggetto ... ed anche parecchia documentazione.

Guglielmo

P.S.: ... come ben sai anche io uso macOS (10.14.6 Mojave ... mi rifiuto di aggiornare a 10.15 e oltre) :wink: