AVR Transistor Tester - problemi con atmega328 smd

Salve a tutti, volevo chiedere il vostro aiuto su un problema che mi sta facendo letteralmente impazzire.

Ho iniziato a a seguire da qualche tempo il progetto di Markus Frejek e Karl-Heinz Kubbeler, su un tester di componenti molto interessante (https://www.mikrocontroller.net/articles/AVR_Transistortester ) che ho sperimentato con successo e con varie opzioni e display.
Tutti i prototipi che ho realizzato erano su breadboard, con atmega328p in formato dip, e con collegamenti volanti e jumper vari. Il prototipo ha sempre funzionato bene, e non ha mai mostrato problemi durante le varie riprogrammazioni che facevo via connettore ISP sempre collegato su breadboard, senza rimuovere l’atmega dallo zoccolo e quindi collegato agli altri componenti (vedi schema).

I risultati sono stati talmente soddisfacenti che ho deciso di realizzare una versione definitiva su stampato realizzato sul sito Easyeda e con Atmega in formato smd (mega328p-au) .

Da questo punto in poi sono iniziati i miei guai!!!

Ho realizzato ben 3 versioni definitive (easyeda produce minimo 5 pcb per volta) e tutti e tre hanno mandato al creatore l’atmega.

Prendendo precauzioni sempre più attente nell’esecuzione del montaggio, ho fatto attenzione ai seguenti punti per preservare la vita del chip, in particolare temperatura del saldatore max 350 gradi, pinzette antistatiche, pulizia accurata del pcb dopo il montaggio per eliminare residui di flussante etc.

Per tutti e tre i casi, a montaggio finito, ho collegato il programmatore usbasp al connettore ISP e caricato positivamente il firmware con avrdude, successivamente ho programmato i fuses con gli stessi valori usati per il formato dip e cioè lfuse=f7 - hfuse=d9 - efuse=04 e al successivo riavvio l’atmega era morto, o comunque non dava più segni di vita.

Ho ripassato il libro del prof Menniti, provato a riprogrammarlo con la tecnica del bitbang ed ft232, e in ultimo ho provato a resettare i fuses con il programmatore HV sempre del prof Menniti e relativo software con chip saldato, ma niente da fare, nessun segnale di vita dall’atmega.

Ho ricontrollato schemi e collegamenti e proprio non riesco a capire come mai nel prototipo va tutto bene e con la versione smd si inchioda sempre alla stessa maniera, non alla programmazione ma al settaggio dei fuse.

Cambia qualcosa nelle caratteristiche dell’atmega a parte la piedinatura che ho scrupolosamente modificato e ricontrollato?
Sulla sigla del chip è stampigliato mega328p-au 1628, ha qualche caratteristica particolare da rispettare???

Lo schema è a posto, bisogna vedere se layout e componenti rispecchiano lo schema , alcuni potenziali errori apparentemente banali possono essere fatali, ad esempio se il pin2 di U4 non è collegati il micro si può rompere

Suggerimento prezioso Icio,

ricontrollando il pcb mi sono accorto che nella conversione dello schema elettrico il software di Easyeda ha invertito il pinout di Q2 e Q3, pertanto su questi due transistor collettore ed emettitore sono invertiti!

Appena possibile provo a dissaldarli e metterne un paio nel verso giusto, che danni avrà potuto subire l’Atmega???

Se inverti collettore e emettitore non dovrebbe succedere niente al Atmega che pilota il transistore attraverso una resistenza sulla base.
Ciao Uwe

Ora in maniera casuale il chip risponde e riesco a leggere i fuses che sono quelli che avevo impostato. Ma non riesco a leggere o riscrivere il contenuto della flash o della eprom perché ritorna in errore rc-1. Sul pin di reste trovo stranamente 1,1v, anche se sulla pull up sono regolarmente applicati 5.04v, così come sui tre pin del chip, per cui escluderei l'intervento del bod impostato a 4,2v.
Pensate che con l'inversione di Q2 e Q3 l'Atmega si siano bruciati??

Scusa, quale case stai usando ?

  1. 28 pin MLF
  2. 32pin TQFP
  3. 32pin MLF

Perché le versioni 32 pin hanno dei pin in più della versione DIP (… su cui avevi sviluppato il prototipo). In particolar modo hanno due pin VCC che devono obbligatoriamente essere connessi … lo hai fatto ?

Guglielmo

Sto usando il case 32 tqfp, si ho collegato tre pin di alimentazione e tre g di, come da schema allegato.