AIUTOOO: PERCHE' IL PIC SI RESETTA DA SOLO ?????

Jul 15, 2004 19 Replies

Salve a tutti, ho uno stranissimo problema col pic18f452, in pratica si verificano dei reset aleatori del mio firmware (a volte dopo qualche minuto, a volte dopo quasi un'ora) sebbene ho disabilitato il WDT, lo stack full/undeflow reset, il Brown-out. Il firmware è di sicuro OK perchè sulla precedente scheda di sviluppo non avevo problemi di questo tipo. Adesso ho realizzato una nuova scheda e l'unica differenza che coinvolge il microcontrollore ( a parte un diverso layout ) è l'assenza del circuito di reset, ovvero mentre precedentemente l'MCLR era collegato alla +5V tramite un resistore di pullup da 10k ed un pulsantino per resettarlo, adesso, avendo eliminato il pulsantino, ho tolto anche la resistenza di pullup ed ho collegato il pin MCLR direttamente alla +5V. Che idea vi siete fatti di questa storia ? dove potrebbe essere l'inghippo ?



Grazie anticipatamente per i suggerimenti.


"Antonio" ha scritto nel messaggio news:tEyJc.3992$ snipped-for-privacy@news4.tin.it...

?

Magari il pic va resettato all'accensione, non avresti dovuto collegare direttamente il reset a +Vcc. Prova a rimettere il condensatore e la resistenza di pull-up. Magari mi sbaglio, vediamo il parere degli altri...

Ciao, Igor.

...stavo per associarmi al discorso, ma ho appena letto sul datasheet del

18C452 che il MCLR puo` essere collegato direttamente a Vdd, dato che il reset interno viene generato da altra circuiteria e mandato in OR insieme al pin sopracitato... pero` tentare non nuoce!

Io guarderei pero` anche e soprattutto l'alimentazione, soprattutto i classici condensatori du bypass da 0.1, vicini ai pin di alimentazione del micro, sono sacrosanti.

Ciao!

In effetti ho aggiunto anche la resistenza di pullup sul pin MCLR ma nulla è cambiato. Il condensatore di bypass sull'alimentazione non c'è. Potrebbe essere questo il problema ?

"Alessandro" ha scritto nel messaggio news:OfCJc.54722$c snipped-for-privacy@twister1.libero.it...

al

Anche io uso ogni tanto questo dispositivo e ti posso assicuare che poi mettere il pin MCLR direttamente a VDD senza problemi. Prova a verificare che la tensione VDD non scenda sotto i 4.2 V.

L'ho monitorata con l'oscilloscopio: anche quando si resetta, la tensione rimane sempre sui +5V.

"-=hans=-" ha scritto nel messaggio news:w3KJc.6019$ snipped-for-privacy@news4.tin.it...

è

ASSOLUTAMENTE SI! Mettilo subito, anzi se non ricordo male ci sono piu` pin di alimentazione, metti un condensatore vicino ad ogni coppia di pin di alimentazione, e` fondamentale.

Ciao!

Ci sono due pins per la Vdd e due per la massa: ho cortocircuitato le due coppie e faccio giungere l'alimentazione alla sinistra del chip per poi propagarla sulla destra, per cui penso che per come è stato fatto il layout dovrebbe bastare un solo condensatore di bypass posto sulla sinistra, ovvero sul lato dal quale giunge l'alimentazione esterna. Vi ritrovate ?

"Proboscide99" ha scritto nel messaggio news:tbMJc.53286$ snipped-for-privacy@twister2.libero.it...

nulla

pin

formatting link

guarda il capitolo "Perché un condensatore ai capi del motore ?" c'è una possibile soluzione

La regola vuole che ci sia un condensatore di bypass presso ogni coppia di pin di alimentazione, con collegamenti il piu` vicini possibile ai pin di alimentazione stessi. Di conseguenza, anche se ti sembra inutile, metti due condensatori, uno per lato.

Lo scopo del condensatore e` quello di ridurre l'effetto induttivo delle piste. Se non lo metti anche a destra, i pin di destra avranno un'alimentazione peggiore.

layout

ovvero

Potrebbe

Secondo me è il firmware che inchioda. Se vuoi essere sicuro che la causa dipende o meno dal'hardware fai un firmware semplicissimo, senza intrpt che al restart accende un LED. Poi con un tasto, o in qualche modo dagli il comando di spegnerlo. Lascialo girare in un loop stretto tutta la notte. Se al mattino il LED è acceso significa che il PIC si è resettato e la causa non può che essere hardware. (layout, condensatori, PIC rotto...) Altrimenti il problema è nel firmware.

Ciao

Ho già fatto un test analogo e posso dirti con certezza che il problema non è nel firmware.

"Overkill" ha scritto nel messaggio news:IA2Kc.85158$G%. snipped-for-privacy@tornado.fastwebnet.it...

Ho aggiunto il condensatore di bypass al pic e adesso non si riavvia più....comunque la cosa strana è che la tensione di alimentazione è "pulita", non vedo come possa far riavviare il uc.

La tensione di alimentazione puo` essere pulita finche` vuoi, ma senza i condensatori di bypass non sara` mai affidabile, fidati. :-)

Ciao!

Pestando alacremente sulla tastiera "Antonio" ebbe l'ardire di profferire:

Io sono impazzito su un 12c508. Non ne voleva sapere di funzionare fino a che non mi sono reso conto di non aver messo il condensatore di bypass...

Is reading in the bathroom considered Multi-Tasking? News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com Akapulce portal: http://www.akapulce.net

Quanto deve essere grande questo condensatore di bypass ? Io ho usato un comune ceramico SMD 0805 da 100nF....

"Antonio" ha scritto nel messaggio news:tEyJc.3992$ snipped-for-privacy@news4.tin.it...

reset,

pullup

?

Pestando alacremente sulla tastiera "Antonio" ebbe l'ardire di profferire:

Va bene.

A)bort, R)etry, P)ee in drive door News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com Akapulce portal: http://www.akapulce.net

Due di Picche ha scritto:

10nF sono sufficienti?

Pestando alacremente sulla tastiera Yelram ebbe l'ardire di profferire:

Solitamente i condensatori di disaccoppiamento vanno da 47nF a 100nF, quasi sempre 100nF

IBM: Incredibly Boring Manuals News 2000 [v 2.06] / StopDialer / PopDuster - http://www.socket2000.com Akapulce portal: http://www.akapulce.net

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required