Problemi ATTiny85

Salve a tutti...Poco tempo fa ho ordinato qualche ATmega e qualche ATTiny per cominciare ad esplorare il mondo dei circuiti stand alone...ho fatto un po di prove con l'ATmega e, grazie all'aiuto di Mennitti (che ringrazio ancora) e della sua guida sono riuscito ad ottenere buoni risultati...ora stavo tentando anche di utilizzare gli ATTiny seguendo la guida di LEO72...ho letto come installare il core nell'ide e stavo tentando di impostare i fuse in modo da far lavorare il micro a 8MHZ...vi descrivo un po il mio hardware e software:

Arduino R2 con ArduinoISP caricato sopra il tutto collegato alla COM21 ATTINY85V-10PU ide 0023 core per ATtiny: arduino-tiny-0022-0008 scaricabile da qui:http://code.google.com/p/arduino-tiny/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount (non so se questo puo' essere un problema ma ho visto che per la 0023 non vi erano core e i successivi erano tutti per la 1.0)

Per settare i fuse ho scelto l'opzione di usare avr incluso nell'ide quindi, seguendo la guida, mi sono posizionato in “arduino-23 /hardware/tools/avr/bin” e da terminale ho digitato il comando: avrdude -P \.\COM21 -C avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 –b 19200

Riporto qui sotto l'immagine:

Come si nota dall' immagine non mi sembra che la procedura sia andata a buon fine; da quello che ho capito prima legge i fuse e si aspetta 1E 93 0B mentre sul mio ATtiny trova 1E 95 0F; la procedura quindi si blocca.

Possibile che la procedura sia valida solo per quseto ATTiny: ATTINY85-20PU e quindi con la versione V non funzioni, il problema è nel core che ho scaricato non valido per la 0023 e quindi conviene passare alla 1.0, oppure sto sbagliando qualcosa???

Vi ringrazio. Paolo.

Scusa ma la signature 1E 95 0F non è degli Atmega328? Non è che stai programmando il chip sull'Arduino?

uhm! sotto win cambiano un po di parametri!

vediamo se riesco di nuovo!

prova scrivendo questo:

c:\Users\Paolo\Desktop\arduino-0023\hardware\tools\avr\bin\avrdude -P COM21 -C c:\Users\Paolo\Desktop\arduino-0023\hardware\tools\avr\etc\avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200

dovrebbe andare!

fammi sapere!

Ringrazio entrambi per la risposta...

uhm! sotto win cambiano un po di parametri!

vediamo se riesco di nuovo!

prova scrivendo questo:

c:\Users\Paolo\Desktop\arduino-0023\hardware\tools\avr\bin\avrdude -P COM21 -C c:\Users\Paolo\Desktop\arduino-0023\hardware\tools\avr\etc\avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b 19200

dovrebbe andare!

fammi sapere!

ho provato la tua soluzione mettendo al posto di -P COM21 -P \.\COM21 e il risultato è stato questo :

direi quindi che ha funzionato... L'unica differenza nel comando è il percorso assoluto di avrdude.conf che però io nn avevo messo perchè avevo spostato avrdude.conf nella cartella arduino-0023\hardware\tools\avr\bin\ secondo te perchè ora funziona e invece con il file in bin non funziona???

Scusa ma la signature 1E 95 0F non è degli Atmega328? Non è che stai programmando il chip sull'Arduino?

non lo sapevo...non credo però che stessi tentando di scrivere l'arduino...ti descrivo cio che ho fatto:

Caricato arduinoISP sull'arduino Collegato i fili per la comunicazione ISP entrato nel terminal e digitato il comando

Cmq ora ha funzionato...Scrivo qui il comando finale che ho usato

 avrdude -P \\.\COM21 -C c:\Users\Paolo\Desktop\arduino-0023\hardware\tools\avr\etc\avrdude.conf -U lfuse:w:0xe2:m -p t85 -c stk500v1 -b
19200

Chiedo anche a te LEO,vista la tua esperienza,secondo te a cosa erano dovuti i primi insuccessi??? Ora proseguo nella lettura della guida per inserire uno sketch... Vi faccio una domanda prima di continuare però: Nel caso in cui io lasci il clock interno a 1 MHz i problemi che ho sono riguardo a tutte quelle librerie che si basano sui TIMER come ad esempio delay() e NewSoftwareSerial() o invece non ho nessun tipo di problema???

Grazie ancora a entrambi. Spero di non avere altri problemi altrimenti scriverò ancora qui

Semplicemente non hai alcun problema, l'importante è usare la corrretta board impostata col clock che avrà il chip; questo vale solo per alcune frequenze, 1MHz è tra queste ;)

Ciao, ti elenco qui in seguito i passi che ho eseguito per la configurazione a 8MHz e per l'upload dello sketch sull'ATtiny85

Hw/Sw usato Windows XP Arduino UNO R2 IDE 1.0

Innantitutto ho aggiunto tra le "board" gli ATtiny:

attiny85.name=ATtiny85 (internal 1 MHz clock) attiny85.bootloader.low_fuses=0x62 attiny85.bootloader.high_fuses=0xdf attiny85.bootloader.extended_fuses=0xff attiny85.upload.maximum_size=8192 attiny85.build.mcu=attiny85 attiny85.build.f_cpu=1000000L attiny85.build.core=arduino:arduino attiny85.build.variant=tiny8

attiny85-8.name=ATtiny85 (internal 8 MHz clock) attiny85-8.bootloader.low_fuses=0xe2 attiny85-8.bootloader.high_fuses=0xdf attiny85-8.bootloader.extended_fuses=0xff attiny85-8.upload.maximum_size=8192 attiny85-8.build.mcu=attiny85 attiny85-8.build.f_cpu=8000000L attiny85-8.build.core=arduino:arduino attiny85-8.build.variant=tiny8

attiny85-20.name=ATtiny85 (external 20 MHz clock) attiny85-20.bootloader.low_fuses=0xfe attiny85-20.bootloader.high_fuses=0xdf attiny85-20.bootloader.extended_fuses=0xff attiny85-20.upload.maximum_size=8192 attiny85-20.build.mcu=attiny85 attiny85-20.build.f_cpu=20000000L attiny85-20.build.core=arduino:arduino attiny85-20.build.variant=tiny8

In seguito: Si carica su Arduino lo sketch "TinyISP"

A upload avvenuto: Si sceglie: Tools - Board - Attiny85 8MHz Si sceglie: Programmer - Arduino as ISP ---> Burn Bootloader (in modo da far girare l'attiny a 8 MHz)

A questo punto l'ATtiny gira a 8MHz, personamente l'ho impostato così perchè ho letto che è compatibile con più librerie (ma non ho fatto dei tests)

Per caricare uno sketch: Si carica su Arduino lo sketch "TinyISP"

A upload avvenuto: - Load dello sketch che deve girare sull'ATtiny - Si sceglie: Tools - Board - Attiny85 8MHz - Si sceglie: Programmer - Arduino as ISP - Upload sketch

Con la mia configurazione non ho dovuto utilizzare alcun condensatore per l'autoreset.

Errori tipici che appaiono dopo aver fatto l'upload (ma che non comportano nulla, funziona tutto perfettamente):

Binary sketch size: 774 bytes (of a 8192 byte maximum) avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

Un saluto, Tredipunta.

Semplicemente non hai alcun problema, l'importante è usare la corrretta board impostata col clock che avrà il chip; questo vale solo per alcune frequenze, 1MHz è tra queste

Quindi le librerie non sono influenzate...buono a sapersi...in sostanza quindi è sufficiente scegliere dal menu boards se programmare quello a 1MHz o a 8MHz...oggi pome provo...cosi verifico se la programmazione dei fuse è andata realmente a buon fine...Con l'ATmega è andata benissimo fino ad ora...tra poco volevo presentare un progettino a tutti voi del forum realizzato in stand alone grazie ai tuoi consigli..

EDIT: @ tredipunta...postato in contemporanea...ora guardo anche ai passaggi da te scritti...ti ringrazio...

@paolo: ogni micro ha la sua firma elettronica, o signature, in modo da essere riconoscibile e distinguibile da avrdude. Probabilmente usando la porta sbagliata avrdude non comunicava con l'Attiny ma tentava proprio con l'Atmega.

PS: per le altre domande ti hanno già risposto, mi pare.

@paolo: ogni micro ha la sua firma elettronica, o signature, in modo da essere riconoscibile e distinguibile da avrdude. Probabilmente usando la porta sbagliata avrdude non comunicava con l'Attiny ma tentava proprio con l'Atmega.

Probabilmente è cosi ...grazie mille LEO...una volta settati i fuse ho provato a caricare il primo programma (un semplice blink) e funzionava...

Grazie a tutti per la disponibilità!!!

Paolo

paolo_fiorini3:

@paolo:
ogni micro ha la sua firma elettronica, o signature, in modo da essere riconoscibile e distinguibile da avrdude.
Probabilmente usando la porta sbagliata avrdude non comunicava con l’Attiny ma tentava proprio con l’Atmega.

Probabilmente è cosi
…grazie mille LEO…una volta settati i fuse ho provato a caricare il primo programma (un semplice blink) e funzionava…

Grazie a tutti per la disponibilità!!!

Paolo

Paolo, in un solo giorno sei riuscito a fare ciò che a noi è costato settimane di fatica :sweat_smile:
Complimentissimi!! XD

Paolo, in un solo giorno sei riuscito a fare ciò che a noi è costato settimane di fatica Complimentissimi!!

ahahah...facile sfruttando la fatica, le nottate altrui :P...Avete fatto un gran lavoro (tu LEO e tutti quelli che hanno contribuito), per tutta la comunità, con quelle guide...sono davvero fondamentali per qualcuno che voglia iniziare a lavorare con i diversi tipi di micro in stand alone...in fondo i miei piccoli "successi" sono soprattutto vostri...spero di poter recuperare terreno anche io magari e contribuire in futuro :P

paolo_fiorini3:

Paolo, in un solo giorno sei riuscito a fare ciò che a noi è costato settimane di fatica Complimentissimi!!

ahahah...facile sfruttando la fatica, le nottate altrui :P...Avete fatto un gran lavoro (tu LEO e tutti quelli che hanno contribuito), per tutta la comunità, con quelle guide...sono davvero fondamentali per qualcuno che voglia iniziare a lavorare con i diversi tipi di micro in stand alone...in fondo i miei piccoli "successi" sono soprattutto vostri...spero di poter recuperare terreno anche io magari e contribuire in futuro :P

Certamente sarà così, una volta che si parte ognuno prende una propria strada e scova cose nuove, la bellezza di questo Forum è questa; l'importante è non ingelosirsi del proprio lavoro e condividerlo, se si cresce, si cresce tutti, altrimenti non si va da nessuna parte. Per fortuna questo Forum è frequentato, per la stragrande maggioranza dei casi, da gente disponibilissima ad aiutare chi ha bisogno. Benvenuto tra gli Standalonisti XD