Home
Accesso / Registrazione
 di 

Problema con programmatore AVR

26 risposte [Ultimo post]
ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20

Un saluto a tutti.

Ho costruito questo programmatore AVR :

AVR Programmer

Perché volgio realizzare questo adattore usb per vecchi joystick:

JoyAdapter - USB Adapter for Gameport Joysticks and Atari, C64, Amiga Joysticks, Copyright (C) 2005 Andreas Dittrich

Ho un microcontrollore AVR ATmega8-16PU (non PI, che differenza c'é?).

Una volta montato il programmatore, installo Ponyprog e quando clickko su Probe mi dice: OK! Ma qualsiasi tentativo di scrittura/lettura faccia, mi dice:

device missing or unknown device (-24) e poi Write fail!

Ho qualche problema con il quarzo? Ho utilizzato uno da 4 mhz come indicato dalle istruzioni dei programmatore, montato tra Xtal 1 e Xtal2 senza aggiungere condensatori (dalla spiegazione sta scritto che se il quarzo é di 4 mhz non c'é bisogno di utilizzare i condensatori).

L'impressione é che "giocando" con il setup di Ponyprog abbia chiuso (Locked) l'atmega, come si fa sbloccarlo? (non ho altra strumentazione che il tester)
Come si fa a verificare che l'ATmega 8 non sia danneggiato (sempre con il tester)?

saluti

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
hai fatto

Hai fatto cross-post, non so se è permesso nel forum, ma dove hai letto che non sono necessari i condensatori?
L'articolo che ho trovato nel sito dove hai fatto copia e incolla del tuo post, e che riporta all'articolo dove hai preso lo schema, afferma che non sono necessari i condensatori se utilizzi un risuonatore ceramico da 4 Mhz, non quello che affermi tu, ovvero che con quarzi da 4 MHz i condensatori non sono necessari.

Mi spieghi come oscilla sto benedetto quarzo senza condensatori?

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
4 min 5 sec fa
Utente dal: 28/07/2007
Messaggi: 1009
Utente PREMIUM
cross post

Non sarebbe permesso per ovvie problematiche di contenuti duplicati, comunque è sempre molto difficile accorgersene, se non me lo avessi fatto notare tu....

Comunque OK, cerchiamo di dargli comunque una mano.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
risposta a Linus

1) che significa cross-post?
2) Effettivamente il quarzo é quello normale, non quello ceramico, va bene il 4 mhz una volta che ho montato i condensatori?
3) Su questo forum é possibile linkare delle pagine?

saluti

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
il cross-post

1) Il cross-post o cross-posting vuol dire che hai inviato lo stesso messaggio in diversi siti (almeno potevi correggerlo).

2) Devi necessariamente mettere i condensatori, oppure sostituirlo con un risuonatore ceramico della stessa frequenza e poi successivamente vedere se funziona, non so se potrebbero esserci altri errori.

3) Si è possibile, fai copia e incolla dell'indirizzo del sito.

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
4 min 6 sec fa
Utente dal: 28/07/2007
Messaggi: 1009
Utente PREMIUM
Concordo con Linus

Concordo con Linus,
inoltre i programmatori fai-da-te spesso fanno perdere una marea di tempo, ti consiglio sempre di acquistarne uno originale, garantito a vita!

Comunque dovresti entrare in programming mode e poi entrare nei bit di configurazione (fuse) dell'avr per verificarne lo stato.

Con il tester vedi poco, giusto se è tutto in corto circuito :)

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Avevo diverse resistenze e

Avevo diverse resistenze e diodi da parte e l'ho montato...praticamente non mi é costato nulla (solo il quarzo).

saluti

Giulio

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Emanuele programming mode e

Emanuele programming mode e bit di configurazione sono funzioni di avr studio? Non so se il programmatorte che ho costruito sia compatibile con avr studio 5, con ponyprog sicuramente.

ciao

Giulio

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
4 min 6 sec fa
Utente dal: 28/07/2007
Messaggi: 1009
Utente PREMIUM
AVRStudio

Si, vengono utilizzate da AVR Studio, non mi ricordo se in PonyProg è possibile programmare i Fuses o Bit di configurazione.... ormai sono anni che non lo uso.

Prova a verificare.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Emanuele stai parlando di Avr

Emanuele stai parlando di Avr studio 5? Non so se il programmatore che ho costruito si compatibile con avr studio, di certo lo é con Ponyprog (e lo vede, mi dà OK).

ciao

Giulio

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
4 min 7 sec fa
Utente dal: 28/07/2007
Messaggi: 1009
Utente PREMIUM
Si, di AVR Studio, credo

Si, di AVR Studio, credo tutte le versioni abbiano il programming mode.

Verifica se con il Pony Prog si possono programmare i fuse

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Il programmatore Avr che ho

Il programmatore Avr che ho costruisco é questo qua, abbastanza semplice:

http://electronics-diy.com/avr_programmer.php

Mi serve per questo adattore usb:

http://www.student.uni-kl.de/~dittrich/joyadapter/index.html

ciao

Giulio

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Allora oggi ho montato i cond

Allora oggi ho montato i cond da 22pf e non é cambiato nulla...ponyprog continua a dirmi write failed!!!! Ho controllato il circuito e mi sembra tutto a posto, ho utilizzato un alimentatore di 5volt 1ampere, ho mandato in VCC i 5v e in GND ho collegato ovviamente il negativo dell'alimentatore.

l'Atmega8 che ho in mio possesso non é nuovo, lo usai tempo fa (e funzionava con altro programmatore che gentilmente mi prestarono) e mi ricordo che cambiando impostazioni per sbaglio da Ponyprog probabilmente l'ho chiuso e poi non me ne sono interessatro più. Per questo vorrei verificare prima il funzionamento del mega8...come si fa a sboccarlo quand'é locked?

saluti

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
il circuito

Il circuito utilizzato che hai postato preleva l'alimentazione dall'uscita RS232 del computer, c'è qualcosa che non torna in ciò che affermi.

Posto l'immagine del circuito per chiarimenti:

Inoltre, oltre le indacazioni che ti ha dato Emanuele, prima di scrivere devi provare a leggere il microcontrollore.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Linus, nell'altra immagine,

Linus, nell'altra immagine, quella del chip atmega8 dice: EXTERNAL POWER per VCC. Evidentemente questo mi ha mandato in confusione, perché io ho montato tutto su una sola basetta multifori. Comunque ho controllato con il tester diodi e resistenze, dissaldandole da un capo: sono a posto. Come transistor ho usato al posto del BC459 il BC457 che spinge anche di più e certo non sono 5v in più ad impensierirlo, resta appunto da verificare l'atmega. In modalità read il ponyprog funziona: mi dice successful solo che prima mi dice sempre: device missing or unknown device (-24), anche se questo forse non deve preoccuparmi molto, visto che nella guida sta scritto:

domanda: I can't read or write AT90S1200 device. I receive the error message:
"Device missing or unknown device -24"

rispsota: Select "Ignore" button, if the final message is "Write succesful" you have a sample that doesn't reply to the identify command. It seems that early devices don't reply to this command. Il problema é che write é sempre failed.
Ho installato AVR studio 4 ma non riesco a trovare programming mode e fuse, dove sono? (avrt studio 5 é MOLTO complesso ed é un pacchetto con diversi sotto programmi, vi é anche avr qtouch studio, etc.)

Vi ringrazio che mi state aiutando e vi prego di avere tanta pazienza con me, so usare il tester e il saldatore, ma non sono un perito elettronico!!!

saluti

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
vedi questo

Vedi questo articolo che spiega come settare i fuse con il Ponyprog in merito alle impostazioni dell'oscillatore utilizzato.

http://www.scienceprog.com/programming-avr-fuse-bits-oscillator-settings/

Per vedere se vi sono blocchi, puoi seguire la guida del Ponyprog,

http://www.lancos.com/e2p/ponyprog2000.html leggendoti il paragrafo 2.2.2.

se ti appaiono delle caselle grige, vuol dire che non sono programmabili.

Nel caso che tu hai bloccato il microcontrollore per la comunicazione SPI, c'è poco da fare, dovresti costruirti una interfaccia parallela ISP sperando che anch'essa non risulti bloccata e utilizzare altri programmi.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Linus non c'é nulla da fare,

Linus non c'é nulla da fare, quando vado a scansionare il security and configuration bits di ponyprong mi esce la finesta con tutte le opzioni spuntate (i vari bootlock,cksel 1/2/3,SUT1, SUT 0 etc. ).
Qualsiasi modifica che io faccia con 'write' (solo spien e rstdbl non posso modificare) non viene accettata, perché poi quando vado in read riappaiono tutte le spunte nonostante le avessi disattivate prima, e se ho ben capito dal link che mi hai postato, la modalità normale dell'atmega8 é senza spunte. A questo punto non mi conviene perdere più tempo per un chip che costa due caffé e propendo di acquistarne uno nuovo. Quello che mi interessa sapere, quando si programma un atmega, bisogna modificare i parametri del security and configuration o non bisogna toccarli? Io devo programmare un atmega8 che dallo schema del joyadapter deve oscillare con un quarzo a 12 mhz e 2 cond a 22pf, devo modificare qualcosa nel ponyprog hpo basta caricare il file hex e scriverlo?

ciao

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
sui fuse

Ciao Giulio,

le uniche impostazioni che devi fare sono quelle relative al quarzo poichè ti è permesso scegliere l'oscillatore interno, il risuonatore ceramico o il quarzo esterno.

In merito alle impostazioni puoi utilizzare il programma fuse calculator che trovi qui:
http://www.engbedded.com/fusecalc/ in modo tale da cambiarti le tue impostazioni secondo le esigenze.

In merito dovresti spuntare:
- CKOPT Oscillator Options
- CKSEL0, 1 e 2 :Select Clock Source

mentre gli altri li dovresti lasciare così come si trovano, facendo attenzione che

che SPIEN e RSTDISBL non siano disabilitati.

Inoltre se ti interessa, nel mentre che tu facevi le prove ho trovato un particolare programmatore che dovrebbe togliere i blocchi del microcontrollore, nel sito vi è allegato anche lo schema elettrico e il relativo circuito stampato, magari un domani lo vorrai realizzare.

http://www.scienceprog.com/avr-serial-and-parallel-high-voltage-programmer/

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Oggi un mio amico mi ha

Oggi un mio amico mi ha portato un altro avr (un mega16) e mi ha confermato che il programmatore costruito da me funziona. Quindi setto tutto come mi hai scritto monto un nuovo atmega8-16pu lasciando il quarzo 4 mhz, carico il file *.hex, poi writing flash e se appare ok dopo la verify il chip é bello e pronto per essere montato sul mio circuito. Una curiosità, nel file zip del firmware oltre al file hex ci sono anche files con altre estensioni tipo asm, obj, map etc. etc. cosa sono, files sorgenti? Nel file zippato c'é anche un file batch per il funzionamento con Avrdude sotto dos, ma a questo punto mi conviene usare ponyprog senza righe di comando.
Riguardo il circuito di sblocco, lo farò se dovessi bloccare tanti altri AVR....

ciao

Giulio

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
Esatto

I file ASM sono scritti in linguaggio assembler, insieme all' hex che è in esadecimale, il programmatore ti ha fornito tutti i file nel caso tu vorresti modificare il programma che gira sul microcontrollore, ovviamente ti devi procurare il relativo programma e conoscere il linguaggio.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Grazie di tutto Linus, appena

Grazie di tutto Linus, appena finito di costruire l'adattore ti farò sapere se é andato tutto OK.

saluti

Giulio

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Aggiorno la situazione... Con

Aggiorno la situazione...

Con il programmatore avr del quale ho postato il link ho avuto solo problemi, pertanto

mi sono costruito quello consigliato dal vostro sito:

http://it.emcelettronica.com/programmatore-seriale-avr-atmel

che é senza quarzo e non ho avuto più problemi, sempre write e verify ok con Ponyprog. Ho montato il circuito, ma alla connessione windows rileva la periferica ma mi dice: "periferica USB non riconosciuta" e quando vado in gestione periferiche mi dice : "il dispositivo ha riportato un problema ed è stato interrotto. (Codice 43)" Dalle istruzioni riportate dal link joyadapter sta scritto che l'adattore, basato su un firmware di Igor Chesko, non richiede l'installazione di driver: é plug and play.
Prima di imbarcamenarmi nel registro di configurazione di windows ho voluto sincerarmi della validità dell'atmega8, e allora ne ho preso un altro (ne ho acquistati 2) e stavolta l'ho programmato con l'avrdude con la seguente riga di comando:

C:\avrdude\giveio>avrdude.exe -p m8 -c ponyser -P com1 -U flash:w:joyadapter.hex

m8 ovviamente sta per atmega8, avr dude mi ha rispsosto così:

avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude.exe: Device signature = 0x1e9307
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "joyadapter.hex"
avrdude.exe: input file joyadapter.hex auto detected as Intel Hex
avrdude.exe: writing flash (2698 bytes):
Writing | ################################################## | 100% 2.81s
avrdude.exe: 2698 bytes of flash written
avrdude.exe: verifying flash memory against joyadapter.hex:
avrdude.exe: load data flash data from input file joyadapter.hex:
avrdude.exe: input file joyadapter.hex auto detected as Intel Hex
avrdude.exe: input file joyadapter.hex contains 2698 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 2.55s
avrdude.exe: verifying ...
avrdude.exe: 2698 bytes of flash verified
avrdude.exe: safemode: Fuses OK
avrdude.exe done. Thank you.

Ho montato il mega8 programmato con l'avr dude sull'adattatore ma windows mi risponde sempre allo stesso modo.

Il configuration and security bits di ponyprog mi dà spuntate le seguenti voci che io non ho modificato (sia per il chip programamto con pony che quello con avrdude) :
spien; sut0; bootsz1; bootsz0;cksel;cksel2;cksel1

Perché non mi funziona? Sbaglio qualcosa nella programmazione dell'atmega8 che deve funzionare nell'adattore con un quarzo a 12 mhz o é un problema di windows?

Sono disperato, Linus aiutami tu!!!!

Giulio

stefania (non verificato)
ritratto di stefania
Ho visto questo programmatore

Ho visto questo programmatore su ebay,perché non comprare uno già fatto?
http://www.ebay.it/itm/USB-ISP-Programmer-for-ATMEL-AVR-ATMega-ATTiny-51-Development-Board...

ritratto di Emanuele
Online
Titolo: Moderator
Moderatore
Ultima visita:
4 min 8 sec fa
Utente dal: 28/07/2007
Messaggi: 1009
Utente PREMIUM
Programmatori ATMEL

Concordo, inoltre, a parte Ebay, consiglio di acquistare i programmatori/debugger dalla casa madre, spesso sono garantiti a vita. Fate la spesa una volta, non perdete tempo e funzionano al primo colpo.... per sempre ;)

ritratto di linus
Offline
Titolo: PowerUser
Utente Power
Ultima visita:
1 anno 25 settimane fa
Utente dal: 12/11/2009
Messaggi: 195
Utente PREMIUM
se le connessioni

Se le connessioni sono corrette e il file hex è corretto prova con un altro pc.

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
Le connessioni le avrò

Le connessioni le avrò verificate non so quante volte...d'altronde il circuito é molto semplice (sono pochi componenti), su un altro pc posso provare...anche se sarebbe più utile sapere se chi ha montato questo programmatore ha avuto i miei stessi problemi.

saluti

ritratto di orsa99
Offline
Titolo: User+
Utente+
Ultima visita:
47 settimane 3 giorni fa
Utente dal: 15/11/2011
Messaggi: 20
perché no?

Stefania, il problema credo sia proprio il programmatore seriale avr
presentato su questo sito.
Quando vado a scrivere in Ponyprog i fuse bits (dovendo il circuito funzionare con quarzo esterno a 12 mhz, ho bisogno di settare CKSEL=3:0), il programma mi blocca l'atmega8 e allo stesso modo fa avrdude sotto dos, mi diventa impossibile scirvere il file *.hex, invece se non modifico il fusebits riesco tranquillamente a scrivere l'*.hex.

Ma chi mi assicura che il programmatore avr di 10 euro non abbia lo stesso problema?

saluti

Giulio

 

 

Visita il sito EOS-Book con centinaia di progetti ed articoli!

Visita il nuovo sito di EOS-Book
Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti