Il microcontrollore STM brucia ogni volta


22

Ho una certa esperienza di lavoro con stm32 ma li ho sempre e solo usati su schede di sviluppo.

Di recente ho provato a saldare stm32 e stm8 su una semplice scheda break-out e programmarli con il mio clone st-linkv2. stm32 saldato su scheda break-out

Alla prima accensione, l'MCU emette alcuni piccoli rumori come bruciare dopo alcuni secondi e 2 minuti dopo disegna 100 mA e fuma.

Penso che ci siano alcuni dettagli importanti che mi mancano. Cosa potrebbe andare storto in una semplice configurazione come questa? (solo vdd, vss, disaccoppiamento cap e st-link)

Ho provato più di 20 volte con stm8 e stm32.

Ho ottenuto il tappo di disaccoppiamento il più vicino possibile e ho fornito loro 3.3v.

Alcune volte sono stato in grado di programmare e verificare il flash, ma ha mostrato un comportamento strano * e sono tornato a fumare pochi minuti dopo.

Ho provato la saldatura a trascinamento, la saldatura regolare con punta smd e temperatura a partire da 260 ° C e tempo di ricarica dopo ogni pad. Ho anche provato la pistola ad aria calda su 270C e sono sicuro che il problema non sia la saldatura.

Ho anche provato con NRST pull-up e BOOT0 pull-down.

* comportamento strano: "casuale" come il tempismo su un semplice lampeggiante a led o un segnale pwm che scende solo a circa 2,8 v invece che a 0 v. nel complesso funziona "kinda" ma solo per 1 minuto.

** il problema non è st-link. sta lampeggiando bene la scheda di sviluppo

EDIT 1: Ecco lo schema (per stm32) (Collegamenti a ST-Link contrassegnati con etichette):

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

non c'è niente sotto. solo un'altra impronta (non popolata) collegata ai pin.

EDIT 2: test di continuità: nessun cortocircuito, tutti i contatti dei pin sono OK

EDIT 3: collegato VDDA e VDD e aggiunto un altro 4.7uF su VDD. ancora fritto. VDD misurato direttamente sul dispositivo: 3,36 v

EDIT 4: comportamento corrente di assorbimento: in tutti i casi quando il chip viene fritto, si attira intorno a 20-40 mA e talvolta aumenta improvvisamente fino a 100-240 mA per alcuni secondi e quindi si azzera (meno di 10 mA). e rimane a zero per qualche tempo prima di ricominciare.

AGGIORNAMENTO: ho saldato un altro STM8S003F3P6,1uF su VCAP e 2x100nF e 10uF su VDD. e ha usato una batteria come sorgente e ha creato un piccolo moltiplicatore di capacità e un seguace di emettitori per realizzare 3.3 v con un sacco di tappi in ceramica e a basso ESR e un limite di corrente impostato su 15 mA. la tensione aveva un rumore inferiore a 30 mV su 50 MHz. quindi ho collegato l'MCU (appena saldato). l'assorbimento di corrente era inferiore a 4 mA e la tensione era stabile. l'ho lasciato essere. dopo un minuto o due, ha iniziato improvvisamente a superare il limite di 15 mA e ad attivare il PDR. e ora inizia a farlo immediatamente (anche con la NRST affermata). sembra che anche questo sia sparito ...


6
Se si misura la continuità / resistenza tra i pin e il PCB di breakout nudo , non ci sono connessioni nascoste? (Misurare il pin 1 contro 2 ... 20, il pin 2 contro 3..20, ecc.)
Huisman il

13
La mia ipotesi migliore è che applichi la tensione di alimentazione nel punto sbagliato del tuo microcontrollore.
Marcus Müller,

4
Mostraci le foto della configurazione del tuo cablaggio.
DKNguyen,

9
Con l' assurdo numero di chip che hai saltato, c'è qualcosa di fondamentalmente sbagliato qui. Prova una fonte di alimentazione completamente diversa, come prendere in prestito il 3v3 dalla scheda di sviluppo.
Chris Stratton, il

3
Come stai collegando tutto a queste schede breakout? Pubblicare una foto sarebbe utile. Se è una breadboard, è danneggiata o difettosa? Per confermare che non si dispone di un lotto di chip difettoso o contraffatto, è possibile sostituire il chip sulla scheda di sviluppo con uno di questi e vedere se funziona lì.
eco il

Risposte:


32

V DDA non è collegato.

Nota applicativa AN4325 Per iniziare con lo sviluppo hardware della serie STM32F030xx e STM32F070xx , si dice:

L' alimentazione V DDA può essere uguale o superiore a V DD . Ciò consente a V DD di rimanere basso pur continuando a fornire le prestazioni complete per i blocchi analogici.

Quando viene utilizzata una singola alimentazione, V DDA deve essere collegato esternamente a V DD .

Quindi, collegare il pin 5 al pin 16 prima di riprovare.


1
Notato questo in quella nota applicativa - "Il livello di tensione VDDA deve essere sempre maggiore o uguale al livello di tensione VDD e deve essere fornito per primo."
HandyHowie,

5
Semplicemente collegandoli funziona bene.
berendi - protestando il

2
@berendi non ero a conoscenza di questa necessità. Molte grazie. ma ho legato VDDA e VDD insieme e la stessa cosa è successa. VDDA deve effettivamente arrivare "Prima" VDD? il documento dice che possono essere legati insieme
Niko.

1
@Niko. L'ho visto funzionare con entrambi i pin di alimentazione semplicemente collegati tra loro. Prestare attenzione ai requisiti di capacità indicati in altre risposte.
berendi - protesta il

17

Hai osservato la forma d'onda dell'alimentatore con un oscilloscopio?

Il regolatore di tensione lineare a bassa caduta di tensione LF33 che sembra utilizzare richiede un minimo di 2µF di capacità di uscita aggiuntiva per la stabilità, lo schema mostra solo 100nF. Inoltre, non vedo alcuna capacità di ingresso prima del regolatore.

Se il regolatore oscilla, potrebbe applicare in modo intermittente i 5 V completi ai pin di alimentazione dell'MCU. Ciò supererebbe il valore massimo di 4 V per l'STM32.


10

Se non si è a conoscenza del CMOS "effetto di blocco SCR interrato" con effetti di dispersione del calore provocati dagli ingressi che aumentano più della tensione di alimentazione di 0,3 V, non si dimenticherà mai ora.

Ciò equivale ad applicare segnali analogici prima di collegare VddA.

La nota applicativa p11 indica chiaramente cosa si deve fare, ma non il motivo.

"• Il POR monitora solo la tensione di alimentazione VDD. Durante la fase di avvio, VDDA deve arrivare per primo ed essere maggiore o uguale a VDD.
• Il PDR controlla sia le tensioni di alimentazione VDD che VDDA.
• Tuttavia, il supervisore dell'alimentazione VDDA può essere disabilitato (programmando un bit di opzione dedicato VDDA_MONITOR) per ridurre il consumo di energia se il design dell'applicazione garantisce che VDDA sia superiore o uguale a VDD "


non lo ero, grazie !. ma quali segnali arrivano prima del VDDA? nella mia sequenza di potenza sto collegando VDD e VDDA (legati insieme) a 3.3, quindi collegando ST-Link. la nota applicativa dice che puoi legare insieme VDD e VDDA.
Niko.

OK, ESD è un'altra causa di ciò
Tony Stewart Sunnyskyguy EE75,

vedi Modifica 4. questo tipo di comportamento di estrazione attuale è dovuto al chip danneggiato?
Niko.

Dipende da quanto fa caldo> 200'C per> 10s ?? ma 1W dubito .. Causa sconosciuta
Tony Stewart Sunnyskyguy EE75

9

Nella mia esperienza professionale ho trovato l'STM32 a tensioni transitorie estremamente sensibili sulle barre di alimentazione e GPIO. Assicurati che i tuoi alimentatori non siano sovra-riprese all'avvio. La cosa che puoi fare per mitigare questo è aggiungere tra 10uF e 100uF sull'uscita del tuo regolatore di tensione. Buona fortuna e facci sapere come va.


7

Diamo un'occhiata al foglio dati LF33: https://www.st.com/resource/en/datheet/cd00000546.pdf

Output bypass capacitance:
ESR = 0.1 to 10 Ω
Io = 0 to 500 mA
Minimum: 2μF, Typical: 10μF

Una capacità di 100nF, lontana da LDO non farà il lavoro. Prova a controllare la linea di alimentazione con l'oscilloscopio. E non friggere il prossimo MCU senza aggiungere condensatore elettrolitico LOW ESR 10-47uF vicino ai pin LF33.


6

Dove hai preso l'UC? Sono genuini?

Ho lavorato con un sacco di stmf1 e non ho avuto problemi con la saldatura esd né a temperature più elevate

Hai provato a non lampeggiare dispositivo? Lascialo acceso per qualche tempo.

Dove stai ottenendo energia a 5v? Forse è una perdita da questo. Prova ad alimentarlo da USB dallo stesso PC che stai utilizzando il lampeggiatore. Prova a ottenere un convertitore ftdi per il debug seriale e alimentalo direttamente con l'uscita 3v3

Da quello che ho ottenuto, il tuo semplice test è led lampeggiante. Destra? Che corrente stai usando? Il perno è fissato sul lato superiore o inferiore? Prova a usare un npn o un feto simile sul lato inferiore per attivare questo led. Forse la corrente la sta danneggiando. Anche se l'ho visto bruciare IO, non un dispositivo come questo.

La tua scuola non mostra vdda, non è sicuro se alimenta qualcosa di diverso da adc, ma non dovrebbe bruciare anche il dispositivo.

La mia ipotesi migliore è il riferimento da diversi dispositivi come alimentatore e usb


gli Stati Uniti erano autentici. ho provato a non lampeggiare il dispositivo (ultima modifica post) i led erano collegati con 1K di lato basso
Niko.

5

Controlla la scheda tecnica per la massima corrente assorbita dall'F030 e imposta il limite di corrente sulla tua alimentazione da banco per erogare un po 'meno di tale importo per proteggere il micro. Non ho controllato la scheda tecnica per il tuo LDO (LF33) ma per stabilità avrai bisogno di un condensatore di massa sul lato alimentazione e di un condensatore di valore inferiore sul lato micro. Quest'ultimo non deve essere confuso con il cappuccio di disaccoppiamento per VDDD e VDDA sul micro. Finalmente qualcun altro ha già menzionato fornendo lo schema della scheda. Molte di queste schede di terze parti assumono potenza e massa sui perni d'angolo. Questo non è il caso qui. Beneficerai anche dell'utilizzo dell'STM32CubeMx gratuito per aiutarti a impostare i tuoi pin e generare il codice di configurazione.


3

La stabilità del regolatore è il trucco qui. I carichi leggeri sono più difficili da mantenere stabili, senza capacità aggiuntiva.

Una cosa simile è successa una volta con un LM317. La tensione in quel circuito è andata verso 12v. Il controllo in serie può andare storto.

Ho lavorato con processori NXP Arm7 che avevano un problema di accensione, sui pin I / o. Sospetto però che il tuo problema sia quello della stabilità, non il latchup.


3

Alla fine ho scoperto cosa stava causando tutto ciò. Sembra che avessi dei problemi con i miei circuiti di messa a terra e che durante il processo di saldatura e accensione apparissero alcuni AC ad alta tensione e non fosse presente un collegamento a terra comune. Sebbene il percorso fosse piuttosto alto nell'impedenza, ma apparentemente ha causato molti danni ... Ho un STM8 che lampeggia un LED per più di 5 minuti ora !!! (Che risultato :)) ma non ho nemmeno usato il flusso di saldatura su questa scheda, poiché sospettavo che anche i residui di flusso stessero causando alcuni problemi ...


2

Mikołaj Tutak lo ha colpito alla testa. Solo un paio di note.

L'ESR richiesto sarà soddisfatto praticamente da qualsiasi limite. Lancia un paio di elettrolitici economici 10uF o 4.7uF in parallelo sull'uscita e andrà tutto bene. Il foglio dati richiede solo 2.2uF, ma extra non farà male.

Ho usato esattamente questo MCU (e il K6 e CC per quella materia) in almeno 4 diversi design. Mai fritto. Ho usato cappucci MLCC economici per bypass, ma sul mio input avevo tappi AL massicci da 10uf a 22uF; Tranne un caso, avevo 10uF tantalio invece di AL. Tutti questi disegni erano a strato singolo sopra un piano terra. Nessun regolatore a bordo.

In tutti i miei test il mio alimentatore era identico, 13,8 V (da una radio PS) -> uno switcher da 12 V a 5 V (budella di un dongle di alimentazione USB economico, da un negozio di dollari non meno) -> 3,3 V PS usando un LM1084 . Circa 120 uF in totale sull'uscita. 47uF economici x 2 e 10uF x 2.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.