Restartující se robot :(
Moderátor: Moderátoři
Restartující se robot :(
Chtěl jsem si postavit vlastního jednoduchého robota. Vše funguje bez problémů, až na to, že se Robot sám od sebe restartuje Měřil jsem napětí na procesoru -> OK, ladil jsem SW -> OK, dal jsem diodu před napajení H můstku -> Bez efektu. Ale zjistil jsem, že když jsem místo napězí z 7806 připojil H-můstek rovnou na baterie (8x Ni-HM 1,2V) tak nefungují čidla pro detekci překážek. Nevím, kde je zakopaný pes. Skuste se prosím podívat jestli na přiložených schématech nevidíte chyby. Případně Vám rád poskytnu zdrojový kod procesoru (Jestli to pomůže). Předem děkuji za každý postřeh (btw chybějící kondík za 7806 byl již přidán, ale stále dochází k restartů. WatchDog je zakázán)
Hlavní deska
Napájecí zdroj
Hlavní deska
Napájecí zdroj
metalgod :ty vývody nejdou na zdroj ale na motory dva motory v mustku a ty diody jsou blokační !
Mica: no tak na pohled se to zdá v pořádku ! ale z toho co píšeš ti asi někde ujedou potenciály chtěloby to asi regulovaný zdroj a skusit tím přejít z těch 6V na to napětí co mají pak ty baterie ! ono se něco asi rozhasí ! jinak píšeš jestli tomu dobře rozumím že stab. to funguje vše ok ! jen když ty motory dáš na přímo tak se to zblázní ?! je tu otázka blokování samotných procesoru a jejich resetovacích vývodů ! ten stab.5v je sice blokovaný ale co přímo procesor ?! ten neblokuješ ?
Mica: no tak na pohled se to zdá v pořádku ! ale z toho co píšeš ti asi někde ujedou potenciály chtěloby to asi regulovaný zdroj a skusit tím přejít z těch 6V na to napětí co mají pak ty baterie ! ono se něco asi rozhasí ! jinak píšeš jestli tomu dobře rozumím že stab. to funguje vše ok ! jen když ty motory dáš na přímo tak se to zblázní ?! je tu otázka blokování samotných procesoru a jejich resetovacích vývodů ! ten stab.5v je sice blokovaný ale co přímo procesor ?! ten neblokuješ ?
To jsem vyvýjej sám. V podstatě to funguje na 100%, akorát se to vobčas samo zrestartuje což je krapet nevýhodné
Narychlo jsem kvůli tobě spíchnul z DOCu stránku, tak se můžeš kochat. Jetom jenom hodně stručnej a nic neříkající popis. Čase stránky dodělám a přidám všechny schémata a zdrojáky
http://mica.ic.cz/robotv11.htm
Narychlo jsem kvůli tobě spíchnul z DOCu stránku, tak se můžeš kochat. Jetom jenom hodně stručnej a nic neříkající popis. Čase stránky dodělám a přidám všechny schémata a zdrojáky
http://mica.ic.cz/robotv11.htm
Ak to nie je sw a hovoríš, že wdt máš ošetrený, tak to skús lepšie odrušiť. Presne ako píše eljaro, pri pohľade na tú konštrukciu tam vidím málo kondíkov. Skús na napájanie (čo najbližšie) k procesoru dať nejaký elyt (tantal) 10uF/10V. Taktiež pri všetkých IO.
Motory odruš RC členom (100ohm, 10pF seriovo, paralerne k motoru).
A skús simulovať činnosť motorov, nahraď ich žiarovkami (čistý R) a uvidíš, či to resetne.
Motory odruš RC členom (100ohm, 10pF seriovo, paralerne k motoru).
A skús simulovať činnosť motorov, nahraď ich žiarovkami (čistý R) a uvidíš, či to resetne.
Myslíš, že by to mohlo bejt motorama?? Von se totiž restartuje nezávysle na tom, jestli motory stojí, jedou nebo se rozjíždìj. Nemohl by ten L298 nìco náhodou pouštìt pøes ty vstupy do procesoru?
A možná, že to bude nejspíš softwarem, ale neni dinvý, že by chybka v softwaru mohla z restartovat celej procesor? :-/
A možná, že to bude nejspíš softwarem, ale neni dinvý, že by chybka v softwaru mohla z restartovat celej procesor? :-/
Rozhodně to není divný. Podíváme-li se do datasheetu MCU najdeme tam větu:
An internal reset can be caused by an illegal address, illegal opcode, COP time out, LVI, or POR (see Figure 13-5).
Odhaduji, že program tohoto robota nebude žádný "prdítko" a jistě je možné, že se chybička vloudila. Co např. nezakázaný vnější RST nebo nezakázaný či neošetřený IRQ, chyba v tabulce vektorů nebo dokonce nedodělaný podprogram či přetečení zásobníku při nějakém výpočtu nebo přetečení nějakého časovače atd. atd.
An internal reset can be caused by an illegal address, illegal opcode, COP time out, LVI, or POR (see Figure 13-5).
Odhaduji, že program tohoto robota nebude žádný "prdítko" a jistě je možné, že se chybička vloudila. Co např. nezakázaný vnější RST nebo nezakázaný či neošetřený IRQ, chyba v tabulce vektorů nebo dokonce nedodělaný podprogram či přetečení zásobníku při nějakém výpočtu nebo přetečení nějakého časovače atd. atd.
masar: Tak jsem všechnoprošel a vypadá to, že to softwarem neni
Ale zjistil jsem, že když místo motorù pøipojim ledky, tak se robot neResne, a proto jsem skusil prdnout k motorùm ten RC èlánek podle ViPaliho, ale zdá se, že 100Ohmù je moc protože se Servomotorky (Pøekokaný aby se otáèeli poøád dokola) se ani nerozbìhli. Jak dál?
Ale zjistil jsem, že když místo motorù pøipojim ledky, tak se robot neResne, a proto jsem skusil prdnout k motorùm ten RC èlánek podle ViPaliho, ale zdá se, že 100Ohmù je moc protože se Servomotorky (Pøekokaný aby se otáèeli poøád dokola) se ani nerozbìhli. Jak dál?