Náhodné resety procesoru

Ahoj,

rád bych nadhodil téma o problematice, kterou řeším nějaký ten pátek. Jde o náhodný restart microchipu PIC a to různých rodin, především jsem problém sledoval u rodiny16F628,877. Jde o jednoduché aplikace, spínání relátek, triaků, nebo jen ovládání modelářských serv.

Jsou dodrženy veškeré zásady napájení, tedy napájecí cesty vedeny pod pouzdrem, blokační kondíky hned u napájecích pinů, filtrovací kondíky na trase cest.

Nastává mi tento problém:
Aplikace je schopná fungovat i nekolik hodin, nebo taky jen 1minutu. Nastávají náhodné restarty procesoru.

Neřešil někdo podobný problém? Díky

Já jsem tento problém řešil hodně dlouho než jsem vyřešil.
Nepoužívat interní MCLR, dát na napájení co nejblíž MCU zenerku 5V6, piny co uvládají nějakou výkonovou záležitost mám opět ochráněnou 5V6 zenerkou a odporem cca 560R.
Měl jsem s tím obrovský problém na PIC16F1936. Od té doby nevím o žádných problémech. Je hlavně potřeba mít natáhané dobře země.

Díky za radu z praxe, prováděl jsem různé měření, tyto náhodné jevy jsem však nikdy pořádně nevystopoval. Vyzkouším tvůj poznatek, opravdu děkuji za radu

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Billy ty rušivé impulsy vznikají i když se relé ošetří ochrannými diodami?

Ochranná dioda u cívky relé zabrání nárustu napětí na cívce při odpojení a tím průrazu tranzistoru. Ovšem jiná zkutečnost jistě nastává tehdy, pokud toto relé spíná třeba zátěž 2kW. Domnívám se, že přitažením, či odpojením kotvy relátka nastává prostor pro jiskření a ten shodí procesor. Přesná obrana proti tomu mi není známá, respektive ji nemám prakticky otestovanou

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Jo tak, indukce ze silnoproudých rozvodů. Tak pak jsou asi ty zenerky skutečně nutností. A asi ještě tlumivka s kondíkem, protože záporný resetovací impuls by to neodstranilo.

Já jsem na zenerky došel ve stavu zoufalosti kdy jsem prostě na osciloskopu vůbec nic nenašel. Náhodně jsem vyzkoušel a osvědčilo se.
PIC řídila měnič z 12 na sinusových 230VAC. Vcelku hodně zarušené prostědí. V mojí aplikaci naprosto neosvědčila rozlitá zem.
Ještě jestli je použit krystalový oscilátor, tak se mi osvědčilo dát mírně vyšší kapacity pro krystal. Používám 33p na 20MHz šutr. Stávalo se mi, že když se z měniče potáhl vyšší proud tak chcípl oscilátor.

mrknete do datasheetu od PIC. Myslim, ze od “novejsi” rady 16F19xx maji doporuceny C 100n na pinu MCRL proti GND. U PIC16F1939 jsem mel tentyz problem a vyresil to onen 100n kondenzator.

To tam davam automaticky. Ale tie zenerky vyskusam.

Stínit a stínit a stínít, oddělení na všechny piny a na napájení T-článek (klidně i zdvojený). Pokud má zařízení i analogovou zem, tak důsledně oddělit od digitální a spojit jen v jednom místě přes tlumivku (ale to je myslím samozřejmost).

Jednou mi kamarád popisoval problém, kdy řídící jednotka v autě (teda přesněji v Alfě :unamused: :smiley: ) za určitých podmínek vypovídala službu, ale poškozená nebyla a po zmizení podmínky zase vesele fungovala. Ta podmínka byla rychlost > 180km/h - jednotka prostě vyplivla jako by ji někdo vypnul, a až do vypnutí klíčkem nechtěla fungovat. Že prý si užili spoustu legrace při testování s osciloskopem v autě (podmínka musela platit aby se dalo něco zjistit :smiley: ), nakonec jediný co pomohlo po mnoha pokusech bylo právě to, že milou řj oddělili od kostry a ukostřili přes tlumivku. Technicky velmi zajímavé, ale hledat tu závadu bych teda nechtěl :laughing:

Dobrý den pánové,
chtěl bych vás požádat i o schéma zapojení uvedených ochranných prostředků a hodnot předřazených odporů před zenerkami typy a zapojení tlumivek atd.
Děkuji

amatér: Googluj, listuj knížkama, navrhuj, počítej. Pokud si i přesto neporadíš, předhoď zapojení a návrhy a pak se ptej. Nikdo neví co přesně řešíš, takže takhle obecně ti nikdo neporadí, věštecké koule tu vlastní málokdo.

Ale abys neřekl že jsme tě odbyli, tak začít můžeš třeba zde (Netýká se to jen plošných spojů, dají se z toho odvodit i obecné zásady. Vyber si z toho co se tě týká):
tzb-info.cz/download.py?file … _spoju.pdf

:arrow_right: administrator: přiloženy externí soubory
000107_odruseni_plosnych_spoju.pdf (143 KB)

Nechci zakládat nové téma, a tady se mě to zdá nejvýhodnější. Taky jsem už podle tohoto vlákna částečně svůj problém vyřešil.
Doposud jsem programoval jen 12Fxx, a teď potřebuji hodně portů, tak dělám s 16F877A. A on se mě nechtěl rozběhnout. Vůbec. Původně jsem chtěl taktovat jen s RC a nešlo to, tak jsem dodělal krystal, ale zase nic. Tady jsem se dozvěděl o připojení kondíku na mclr. To už se rozběhl, ale musí být připojený k plusu. Je to normální? Ještě nevím jak je to stabilní, ale aspoň se rozběhl. Ale stejně nepracuje úplně přesně co jsem naprogramoval, tak jako PICsimulátor.
Mám krystal 4M a kondíky jsem zkoušel různé 15-33p. A v konfiguraci XT, taky jsem zkusil i HS.
Děkuji za nějakou odpověď od místních profesionálů.

V prv9m rade musis s toho MCLR dat odpor na plus pol. A kondik na gnd.
Moja vestecka gula sa diva do tvojej dielne a ten odpor tam nemas.
Citat cita citat hlavne datasheet.

Odpor tam nemám. Dám ho tam. Moc děkuju.

Ahoj. Souhlasím se vším, co je tady řečeno a přidám poznatek z praxe. Dělal jsem řídící jednotku pro závoru na 24V, napájenou ze dvou seriově zapojených aku 12V/200Ah, které jsou dobíjeny ze solárních panelů. Původní, originální jednotka se 2 x totálně rozstřelila (origo celá závora, včetně ŘJ), protože ačkoliv zde byl nějaký rozběh, tak akumulátory ani nevěděly, že je něco připojeno. Ty aku jsou neskutečně tvrdý zdroj. Zapojení s tranzistorovým budičem mosfetů a vstupů s odporovými děliči ani mě nevydrželo. Proto jsem poté oddělil výstupy PWM přes optočleny, které budily přímo mosfety a vstupy byly přes odpory 4K7 a paralelně zenerky 5V1 a 100nF kondenzátory (neměl jsem už další optočleny, jinak bych oddělil i vstupy). Poté již vše bez problémů. Ale u velmi rychlých PWM v H-můstku budou optočleny již vnášet zpoždění a může nastat i překročení ochranných dead time. Ještě jsem teď koukal na tu desku pro závoru a napájení mám 12V z jedné aku, ale motor budí 24V. Analogové země pro nastavovací trimry jsem nijak neodděloval. Se zemněmi a spojem GND v jednom bodě to mám správně :slight_smile:

A hlavně si uvědomte, že krátký impuls obeně představuje širokospektrální balík energie který může obsahovat kmitočty i řádu desítek MHz. Ty se dokážou šířit po desce - dlouhé dráhy = antény. Při nevhodně navržené desce to nemusí jít vůbec vyřešit. Zkušenosti se silovinou poblíž MCU mám, měli jsme zařízení se spoustou kabelů instalované v tramvaji. Taky jsme měli jednu instalaci v drtičce kovového odpadu, příkon 750KW, spousta rele a stykačů.