debrick atmega328p

Ciao a tutti, quale programmatore è necessario per una "formattazione completa" di un micro che non risponde più? Non mi restituisce neppure l'ID del micro.. più tardi provo a postare maggiori dettagli ma intanto volevo sapere quanto bisogna spendere per un programmatore con questa abilità o se si può resettare con altri metodi meno ortodossi

Ciao

Puoi costruire un programmatore chìome quello che ha presentato Michele Menitti su elettronica in il mese scorso, dovrebbe esserti sufficente. Ad ogni modo so che aveva costruito anche un circuitino per debrikkare i micro ma vedrai che lui saprà darti più informazioni :slight_smile:

Per prima cosa puoi cercare di programmarlo facendo l'upload di un piccolo sketch, ad esempio il blink, tenendo premuto il pulsante di reset. Al momento giusto, quando ti appare nell'IDE la scritta "Upload", rilasci il pulsante e incroci le dita. Potrebbero servire anche una decina di tentativi.

Se invece ha modificato fuse o se proprio non risponde gli serve una scossettina con un programmatore HV (High Voltage), come quello del Prof. già indicato.

Ragazzi sapete su che numero posso trovarlo? Non sono ancora abbonato alla rivista ma spero di abbonarmi presto

Ciao

flz47655:
Ragazzi sapete su che numero posso trovarlo? Non sono ancora abbonato alla rivista ma spero di abbonarmi presto

E' il numero di Aprile ma mi sa' che' non lo trovi piu'
L'articolo e questo http://www.elettronicain.it/MyMain/ScienzaTecno/contenuti/PROG-HV.pdf

flz47655:
Ciao a tutti, quale programmatore è necessario per una "formattazione completa" di un micro che non risponde più?

Devi usare la programmazione HV per "cancellare" i fuse e settarli ai valori di default, o quelli che ti servono.
Il tool ideale è l'AVR Dragon, originale di Atmel, lo trovi da RS per meno di 50 Euro, da notare che oltre ad essere un programmatore per AVR (ISP, JTAG, HV) permette anche il debug hardware.
Non esiste nessun altro modo alternativo alla programmazione HV per resettare i fuse, è applicabile solo se il micro è su zoccolo perché vanno collegati molti pin per utilizzare questo metodo ed è praticamente impossibile farlo con il micro montato sul circuito.

Eccomi qui, mi avete "evocato" :grin:?
Il Programmatore HV che ho progettato è in pubblicazione su diversi numeri della Rivista: sul 165 (aprile) è stata presentata la sezione principale, sul 166 (maggio) è stata pesentata la sezione display e montaggio nel contenitore, sul prossimo numero sarà presentato il firmware principale con le interpretazioni rispetto alle istruzioni presenti sul datasheet ed una serie di importanti ed utili informazioni tecniche, e sul successivo tutta una serie di esempi d'uso dell'apparecchio completo. Oltretutto come ho scritto in altro Topic, mi hanno comunicato che a brevissimo sarà chiuso l'accordo per la fornitura a prezzi umani dei PCB necessari alla realizzazione.
Quindi diciamo che allo stato attuale non potresti realizzarlo subito, in quanto serve almeno il numero che deve uscire tra un paio di settimane.
La soluzione proposta da Astrobeed ovviamente è immediata e ti permette di fare questo e molto altro, ed il prezzo è accettabile, tenendo presente però che, così come arriva, devi lavoralo un po', aggiungendo uno zoccolo ZIF, facendo tutta una serie di collegamenti, oppure, tramite un cavo ISP puoi interfacciarti direttamente con Arduino.
Io aggiungo che poi la questione diventa anche di "divertimento" nel realizzarsi da soli qualcosa di comunque valido, chiarendo che comunque non ho alcun interesse economico a che qualcuno realizzi questo apparecchio, tutto diventa soggettivo. A me piace da morire l'autocostruzione e non ci penserei due volte, tant'è che partendo dallo stesso problema (ma è ancora da capire se è davvero un bricked) alla fine sono arrivato a progettare questo strumento piuttosto complesso.
Una buona alternativa, realizzabile rapidamente su millefori, è quella di Mightyohm; è stata la prima cosa che ho costruito dopo che avevo brickato 5-6 micro in una mattinata :disappointed_relieved:. Quando ho visto che funzionava alla grande mi sono appassionato all'argomento e l'ho approfondito fino ad arrivare a questo strumento che oggi permette di leggere e/o programmare signature, fuse, lock bits e chip erase. Se hai bisogno di aiuto ora sono afferrato in materia :wink:

Grazie a tutti per le risposte, penso che proverò a costruire un HV programmer su breadboard http://www.societyofrobots.com/member_tutorials/node/239 per sbriccare il chip, con 60 e passa euro di spese complessive per l'AVR Dragon ci compro più di 25 atmega328p nuovi di zecca :slight_smile: che non uso neanche in due vite.
Certo si fanno tante altre cose col Dragon ma per il momento la soluzione su breadboard andrà più che bene :smiley:

Ciao e grazie a tutti

Chip de-brickato! Al secondo tentativo (al primo avevo sbagliato due collegamenti XD) sono riuscito a resettare i fuse, col fido programmatore cinese di cui ho parlato qualche tempo fa (http://arduino.cc/forum/index.php/topic,100968.0.html) assieme al programma "progisp" ho messo finalmente dei nuovi fuse per andare ad 8 MHz senza oscillatori esterni.
E tutto è bene quel che finisce bene

Ciao

Giusto per capire, qualche anima pia :slight_smile: mi potrebbe spiegare come fa un micro a "brickarsi" ed essenzialmente cosa vuol dire?
Grazie

critical:
Giusto per capire, qualche anima pia :slight_smile: mi potrebbe spiegare come fa un micro a "brickarsi" ed essenzialmente cosa vuol dire?
Grazie

il termine è usato per indicare la condizione di un micro che non è più utilizzabile in quanto "qualcuno" ha programmato i fuse in maniera sballata, tale da non corrispondere ad alcuna configurazione valida; in questi casi il micro non risponde e non accetta la programmazione. La tecnica HV (high voltage) è l'unica in grado di sbloccarli, applicando una tensione di 12V al pin reset e permettendo di agire sui fuse per via diversa da quella normale. In questo modo il malcapitato di turno riesce a recuperare il micro e vive felice e contento.
Ciao.

Grazie Michele!!! Chiaro come sempre :):slight_smile:
Ciao e grazie

critical:
mi potrebbe spiegare come fa un micro a "brickarsi" ed essenzialmente cosa vuol dire?

Brickarsi è l'italianizzazione del termine inglese bricked, tradotto letteralmente significa mattonato, è un modo gergale di indicare un oggetto tecnologico che ha subito un danno tale da renderlo utile quanto un mattone.
Gli AVR hanno un errore congenito di progettazione, se sbagli a programmare i fuse puoi renderli bricked, ovvero diventano inutilizzabile anche se in realtà non sono guasti, e questo è uno dei motivi per cui preferisco i pic.
Per risolvere tocca ricorrere al citato programmatore HV che ha la simpatica caratteristica di impegnare un numero esagerato di pin rendendo impossibile l'operazione direttamente sul circuito, ovvero devi smontare il micro dal pcb e la cosa non è detto che sia semplice da fare.

Astro, secondo te perché Banzi & C hanno usato un ATmegaxx8 invece dell'equivalente PIC che da quanto ho imparato a forza di parlarne con te, è decisamente più flessibile e potente come microcontrollore? Per non parlare della stradiffusione che c'era comunque fino a quel momento e dei costi che mi sembrano decisamente più bassi a pari caratteristiche.

Spesso me lo chiedo anche io (ma non pensate che sia una critica nelle scelte del team!!!)

A parte che la scheda originale è stata progettata da uno studente dell'istituto che ha fatto delle precise scelte tecniche, ma questo credo influisca il giusto perché avrebbero potuto cambiare HW adattando le librerie, credo che sia tutto una questione di marketing, ossia di accordi commerciali. Arrivo a pensare ciò constatando come sulla UNO sia sparito il mitico e performante FT232 per lasciare il posto all'8/16U2, chip Atmel che non pochi problemi ha dato agli utenti Linux e non solo. Vedi poi anche l'arrivo del SAMxxx sulla Due o del 32U2 sulla Leonardo, sempre chip Atmel.

A questa domanda posso rispondere con dati di fatto perché è stata posta direttamente a Banzi da me, e non solo da me, in occasione del suo intervento alla Rome Cup lo scorso anno.
La risposta è stata articolata in due punti, il primo sul quale non posso fare altro che dargli ragione, è che al momento della realizzazione di Arduino per il PIC non esisteva una toolchain utilizzabile con Linux e MAC, mentre per AVR era possibile utilizzare gcc per tutti e tre i sistemi operativi.
Il secondo punto è puramente ideologico perché Banzi e C. preferiscono gli AVR perché li ritengono superiori dei PIC, evito volontariamente di commentare questa cosa per non innescare il classico flame PIC vs AVR che non può avere ne vinti ne vincitori.
Non ho mai fatto mistero che sebbene utilizzo professionalmente tutte e due le mcu preferisco di gran lunga i PIC agli AVR, i primi rappresentano quasi l'80% dei miei progetti basati su mcu a 8 bit.
Forse, e dico forse, se Arduino nasceva oggi con Microchip che ha reso disponibile il suo ottimo ambiente di sviluppo, compilatori inclusi, per tutti e tre i sistemi operativi la storia potrebbe andare in modo diverso :smiley:

astrobeed:

critical:
mi potrebbe spiegare come fa un micro a "brickarsi" ed essenzialmente cosa vuol dire?

Brickarsi è l'italianizzazione del termine inglese bricked, tradotto letteralmente significa mattonato, è un modo gergale di indicare un oggetto tecnologico che ha subito un danno tale da renderlo utile quanto un mattone.
Gli AVR hanno un errore congenito di progettazione, se sbagli a programmare i fuse puoi renderli bricked, ovvero diventano inutilizzabile anche se in realtà non sono guasti, e questo è uno dei motivi per cui preferisco i pic.
Per risolvere tocca ricorrere al citato programmatore HV che ha la simpatica caratteristica di impegnare un numero esagerato di pin rendendo impossibile l'operazione direttamente sul circuito, ovvero devi smontare il micro dal pcb e la cosa non è detto che sia semplice da fare.

Grazie Astro :slight_smile:

astrobeed:
PIC vs AVR che non può avere ne vinti ne vincitori.

Sto tizio mi fa morire....!

Giusto per dovere di cronaca, ecco un'immagine del ginespraio di fili per ripristinare il chip..

Ed è una foto del primo tentativo a cui c'è da aggiungere un altro paio di collegamenti.. :smiley:
Mi sa che il prossimo lo lascio briccato..