Problema programmazione Attiny85

salve a tutti,
rieccomi dopo un periodo di pausa( nel quale mi sono laureato in effetti ihihihih)
ieri cercavo di costruire un piccolo controller per una ventola, precisamente questo ma non riesco a programmare il piccolo attiny85

ho provato sia con Usbasp che con la mia mega e arduinoasISP

Arduino:1.8.16 (Windows Store 1.8.51.0) (Windows 10), Scheda:"ATtiny25/45/85 (No bootloader), Enabled, CPU (CPU frequency), ATtiny85, 8 MHz (internal), EEPROM retained, B.O.D. Disabled (saves power), Enabled"

Lo sketch usa 2606 byte (31%) dello spazio disponibile per i programmi. Il massimo è 8192 byte.

Le variabili globali usano 21 byte (4%) di memoria dinamica, lasciando altri 491 byte liberi per le variabili locali. Il massimo è 512 byte.

C:\Users\crist\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18/bin/avrdude -CC:\Users\crist\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM3 -b19200 -Uflash:w:C:\Users\crist\AppData\Local\Temp\arduino_build_553405/Smart_Fan_Controller.ino.hex:i 



avrdude: Version 6.3-20201216

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch



         System wide configuration file is "C:\Users\crist\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf"



         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         Setting bit clk period        : 5.0

         AVR Part                      : ATtiny85

         Chip Erase delay              : 400000 us

         PAGEL                         : P00

         BS2                           : P00

         RESET disposition             : possible i/o

         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    12     4    0 no        512    4      0  4000  4500 0xff 0xff

           flash         65    12    32    0 yes      8192   64    128 30000 30000 0xff 0xff

           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00



         Programmer Type : STK500

         Description     : Atmel STK500 Version 1.x firmware

         Hardware Version: 2

         Firmware Version: 1.18

         Topcard         : Unknown

         Vtarget         : 0.0 V

         Varef           : 0.0 V

         Oscillator      : Off

         SCK period      : 0.1 us



avrdude: AVR device initialized and ready to accept instructions



Reading | ################################################## | 100% 0.02s



avrdude: Device signature = 0x000000 (retrying)



Reading | ################################################## | 100% 0.02s



avrdude: Device signature = 0x000000 (retrying)



Reading | ################################################## | 100% 0.03s



avrdude: Device signature = 0x000000

avrdude: Yikes!  Invalid device signature.

         Double check connections and try again, or use -F to override

         this check.





avrdude done.  Thank you.



Errore durante il caricamento dello sketch

Trovata libreria non valida in C:\Users\crist\Documents\Arduino\libraries\esp32EXAMPLE: Nessun header file (.h) trovato in C:\Users\crist\Documents\Arduino\libraries\esp32EXAMPLE





il problema è "Device signature = 0x000000" tipico di quando non si cabla bene il micro target, ma ho fatto e rifatto i collegamenti piu volte e anche la usbasp non ha dato esisto positivo...
idee ? suggerimenti ?

Sarebbe interessante vedere questi collegamenti, posta uno schema o una foto. Se, ad esempio, hai seguito le istruzioni del link che hai postato non potrà funzionare sul Mega, perchè i pin da usare sono altri. Inoltre, che 'core' hai usato? Hai provato come prima operazione (prima del caricamento sketch) a impostare i fuse correttamente (voce del menu "scrivi bootloader")?

Ciao, Ale.

come sono altri ? se ti riferisci al pin del reset al 53 questa cosa è stata rettificata; ho usato il pin 10 per il reset anche con la mega...

ho usato prima un core trovato in rete, poi disinstallato e usato quello consigliato da Arduino playground e cioè questo :https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

ho provato a scrivere il bootloader ma l'esito è sempre lo stesso: Device signature = 0x000000

Gli ATtiny85, come tutti gli AVR, escono di fabbrica con il clock impostato ad 1 MHz ...
... io che uso veri programmatori (e non schede Arduino usate come programmatori), con gli ATtiny85 ho avuto a volte questi tuoi stessi problemi dovuti al "Bit Clock" (parametro -B di avrdude) e, ho risolto, semplicemente rallentando, ovvero passando come parametro ad avrdude il -B 100

−B bitclock

Specify the bit clock period for the JTAG interface or the ISP clock (JTAG ICE only). The value is a floating point number in microseconds. The default value of the JTAG ICE results in about 1 microsecond bit clock period, suitable for target MCUs running at 4 MHz clock and above. Unlike certain parameters in the STK500, the JTAG ICE resets all its parameters to default values when the programming software signs off from the ICE, so for MCUs running at lower clock speeds, this parameter must be specified on the command‐line. You can use the ’default_bitclock’ keyword in your ${HOME}/.avrduderc file to assign a default value to keep from having to specify this option on every invocation.

Guglielmo

ho provato questa riga

avrdude -CC:\Users\crist\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM3 -b19200 -Uflash:w:C:\Users\crist\AppData\Local\Temp\arduino_build_874831/Smart_Fan_Controller.ino.hex:i

ma restituisce questo errore

avrdude: Version 5.6, compiled on Mar  5 2009 at 09:59:30
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "C:\Users\crist\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf"
error at C:\Users\crist\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf:332 unrecognized character: "d"

che significa ?

Ci hai messo le mani dentro?

Perché indica che alla linea 332 c'è, da qualche parte, un carattere 'd' che non dovrebbe esserci ...

Ora, io in quel file, a partire dalla linea 327 ho:

#
# Overall avrdude defaults; suitable for ~/.avrduderc
#
default_parallel   = "lpt1";
default_serial     = "com1";
default_bitclock = 5;

verifica e facci sapere.

Guglielmo

non ho smanettato niente ma ho questo (327 in poi..):


# There are several extended versions of AVR910 implementations around
# in the Internet.  These add the following codes (only devices that
# actually exist are listed):

# ATmega8515  0x3A
# ATmega128 0x43
# ATmega64  0x45
# ATtiny26  0x5E
# ATmega8535  0x69
# ATmega32  0x72
# ATmega16  0x74
# ATmega8 0x76
# ATmega169 0x78

#
# Overall avrdude defaults; suitable for ~/.avrduderc
#
default_parallel   = "lpt1";
default_serial     = "com1";
default_bitclock = 5;


...la 327 è una riga vuota, ma a 332 nn c'è nessuna 'd' !

... io quello ce l'ho dalla 313 in poi ... :roll_eyes:

Sicuro di aver aggiornato sia l'IDE all'ultima versione che i vari "cores" ?

Guglielmo

Non so se hai usato il chip o una schedina già montata con il chip e altro, ma è indispensabile almeno un condensatore da 100nF vicino ai piedini di alimentazione, altrimenti non si riesce a programmarlo!

che intendi con "vicino ai piedini di alimentazione ? tra il positivo e e il negativo dell'attiny?

@gpb01: ho intallato l'IDE su un portatile appena formattato.. dovrebbe essere tutto pulito... ho dato il comando come da te suggerito ma nulla.. allora ho provato a "forzare ( - F) questa è la risposta:

C:\Users\Windows\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino18\bin>avrdude -CC:\Users\Windows\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM3 -b19200 -B 100 -F -Uflash:w:C:\Users\Windows\AppData\Local\Temp\arduino_build_942579/Smart_Fan_Controller.ino.hex:i

avrdude: Version 6.3-20201216
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Windows\Documents\ArduinoData\packages\ATTinyCore\hardware\avr\1.5.2/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         Setting bit clk period        : 100.0
         AVR Part                      : ATtiny85
         Chip Erase delay              : 400000 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         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    12     4    0 no        512    4      0  4000  4500 0xff 0xff
           flash         65    12    32    0 yes      8192   64    128 30000 30000 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATtiny85 is 1E 93 0B
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Users\Windows\AppData\Local\Temp\arduino_build_942579/Smart_Fan_Controller.ino.hex"
avrdude: writing flash (2608 bytes):

Writing | ################################################## | 100% 4.49s

avrdude: 2608 bytes of flash written
avrdude: verifying flash memory against C:\Users\Windows\AppData\Local\Temp\arduino_build_942579/Smart_Fan_Controller.ino.hex:
avrdude: load data flash data from input file C:\Users\Windows\AppData\Local\Temp\arduino_build_942579/Smart_Fan_Controller.ino.hex:
avrdude: input file C:\Users\Windows\AppData\Local\Temp\arduino_build_942579/Smart_Fan_Controller.ino.hex contains 2608 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 2.63s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x00 != 0x3b
avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

Sì, vicino ai piedini di alimentazione.

niente da fare :confused:

possibile che sia la mega il problema ?

Io ho programmato il mio microGeiger con il solito USBasp.

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         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 : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

La porta seriale selezionata 
 non esiste o la scheda non è connessa

sempre piu perplesso :face_with_raised_eyebrow: :worried:

ho letto i qualcuno che ha risolto con un quarzo interno e vorrei provare anche io: ma di che valore lo prendo ?? 1Mhz ?

Senti, io è una vita che programmo gli ATtiny85 e non ho mai avuto i problemi che segnali tu, quindi ... c'è qualche cosa che stai facendo errata.

Hai un vero programmatore (e NON un giocattolo o un Arduino usato come programmatore)? Un qualche cosa tipo QUESTO? Ecco, i collegamenti per la programmazione ISP credo tu li conosca:

... usa un interfaccia grafica ad avrdude, tipo avrdudess, programma prima correttamente i FUSE per la configurazione che ti serve e poi carica il programma.

Facci sapere ...

Guglielmo

P.S.: il quarzo esterno non ti serve, con i fuse correttamente programmati hai il clock interno a 8MHz. Ovvio che se giocando con detti FUSE hai "brickato" il chip, con un normale programmatore NON lo programmi più, ti serve un programmatore HV per resettarlo.

mah non so che dire, ho un normalissimo USBASP con il quale ho gia programmato gli attiny, che appunto sono di una facilità tale da essere a prova d'errore;
il punto è che nemmeno piu l'usbasp mi riconosce piu (dice che la scheda non esiste :confused: ) e allora mi chiedo: ci sta aver brickato l'attiny, ma l'asp che c'entra ?
percio avevo usato la mega;
intanto sto ordinando questo che dovrebbe essere gia compatibile con l'IDE e finire sta schedina
il dubbio cmq rimane...

... l'asp NON c'entra nulla, se sbagli la programmazione dei fuse puoi creare una condizione in cui con nessun normale programmatore programmi più. Per ripristinare la situazione iniziale occorre uno speciale programmatore HV (High Voltage) ... un oggetto come QUESTO (che funziona benissimo).

Oppure, non so come, hai semplicemente danneggiato gli ATtiny85 ... :roll_eyes:

Guglielmo

ri-salve a tutti,
forse sn un po off-topic ma volevo farvi una domanda :
sec voi questo è un programmatore x l'attiny85?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.