Rušení

Chcete si postavit robota, ale tak nějak nevíte kudy do toho?
Odpovědět
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Rušení

Příspěvek od jrt »

Nic nezahazujte, procházíte si prostě tím samým obdobím, kterým si musí projít každý začátečník. Ty potíže vypadají na problém v programu a pak jsem stále přesvědčen, že někde nemáte zapojenu zem nebo napájení a část obvodů se napájí jen přes vnitřní ochranné diody v integrovaných obvodech.
Řekněte si, že spojení mikroprocesoru a L293D (SN754410) a ovládání motorů realizovaly tisíce lidí před vámi, takže se to jednou musí povést i vám.

Zapojte na výstupy mikrokontroléru LED a podle jejich rozsvěcení se ujistěte, že váš program pracuje správně. Pak je taky šikovné do hlavní smyčky programu zabudovat blikání LEDkou, připojenou na některý nepoužitý výstup a blikající při každém průchodu smyčkou. Jak přestane pravidelně blikat, hned vidíte, že se program zasekl nebo někde bloudí...
A na ten lineární stabilizátor dejte pořádný chladič, má vnitřní tepelnou pojistku, která sice zabrání jeho poškození, ale na výstupu se pak dějí divné věci.
jrt
haas

Re: Rušení

Příspěvek od haas »

tak jsem místo diod využil lcd.v prvním řádku se zobrazuje směr jízdy(vpred, stop, vzad) na druhém řádku je číslo smyčky.po vykonání "vzad" se přičte jednička a pak se jede zase od začátku.Lineární stabilizátor má malý chladič, větší jsem teď nenašel.Do stabilizátoru jsem dal 10V z baterií a pak 10V z pořádného zdroje.
Chybu v programu nevidím, ale vkládám sem i program.
Po zanutí to někdy po 16 někdy 5 smyčkách zůstane viset třeba na "vzad" a pořád couvá čísla na lcd jsou pořád stejná viz foto.Nebo se taky často zasekne v některé části programu a po chvíli se to opravdu resetuje, smyčky začnou běžet od nuly.
Že byto bylo přehřátým stabilizátorem se mi nechce věřit, vždyť se sotva zahřeje a už se někde sekne.Na prvním robotovi mám stejný stabilizátor i chladič a ten peče mnohem víc a nic se neděje.
Co ten odpor 10kohm na reset jak jsem minule psal.Pomohlo by ho zmenšit?
Zapojení napájení obvodů jsem kontroloval a napětí jsem měřil na všech napájecích pinech přímo na paticích.
Ještě budu pokračovat v testech.

testovací program

int c=0;
#include <LiquidCrystal.h>

LiquidCrystal lcd(11, 12, 10, 9, 8, 7);
void setup()
{

pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
lcd.begin(16, 2);

}

void loop()
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("VPRED");
lcd.setCursor(0, 1);
lcd.print(c,DEC);

analogWrite(3,130);
digitalWrite(4,HIGH);
analogWrite(5,130);
digitalWrite(6,HIGH);

delay(3000);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("STOP");
lcd.setCursor(0, 1);
lcd.print(c,DEC);

digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);

delay(3000);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("VZAD");
lcd.setCursor(0, 1);
lcd.print(c,DEC);

analogWrite(3,130);
digitalWrite(4,LOW);
analogWrite(5,130);
digitalWrite(6,LOW);
delay(3000);
c=c+1;


}
Přílohy
úplně vpravo je zdroj a úplně vlevo stabilizátor s chladičem
úplně vpravo je zdroj a úplně vlevo stabilizátor s chladičem
zde zachycena 5 smyčka a zůstalo viset na příkazu vzad.stále couvá.
zde zachycena 5 smyčka a zůstalo viset na příkazu vzad.stále couvá.
haas

Re: Rušení

Příspěvek od haas »

nyní jsem dlouhodobě měřil napětí na resetu, kyž motory stojí je tam 4.9V při rozběhu nebo prudké změně otáček tam je 4.83 někdy tam je i 4.77V, pokud motory běží pohybuje se to na 4.85V.Tyto hodnoty pro napájení ze zdroje, ale na bateriích se je to horší, napětí na bateriích je 9.5V bez motorů a při rozjezdu 9V, na resetu je bez motorů 4.87V a při rozjezdu to letí chvilkama na 4.7 až 4.6V.zkoušel dát keramický kondenzátor 100nF mezi zem a přívod k napájení motorů paralelně s elektrolytem 1000uF nepomohlo.Všechno jsem měřil se zapojeným lcd který způsobuje pokles napětí, ale když tam v budoucny zapojím další části tak tak to napětí tam bude kolísat daleko víc :-)
Jak to napětí zvýšit lépe stabilizovat na 5V i při větších odběrech?
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Rušení

Příspěvek od jrt »

Tím kolísáním napětí na resetu myslíte kolísání celého napájecího napětí 5 V? Protože pokud ano, pak je buď vadný stabilizátor, nebo jeho vstupní napětí kolísá mnohem víc, než napětí na baterii (studený spoj, přechodový odpor v konektoru?) Mimochodem, předpokládám, že napětí měříte nejakým digitálním multimetrem, který ovšem nedokáže zachytit krátkodobé výpadky napájení.
Zkuste odpojit ten LCD displej - není to náhodou typ, určený pro 3,3V logiku, který nemá vstupy kompatibilní s úrovněmi TTL? Případně může být ten displej vadný, i když něco zobrazuje.
Při hledání poruchy se většinou postupuje tak, že nahrazujete nebo vyřazujete jednotlivé součásti či konstrukční bloky tak dlouho, dokud nepřijdete na ten, který dělá neplechu.
Začněte stabilizátorem - zatěžte jeho výstup rezistorem takové hodnoty, aby z něj tekl jmenovitý proud ( pro 5 V a 1 A je to 5 ohmů), nechte ho chvilku žhavit a pak změřte napětí na vstupu a na výstupu. Pokud je to OK, připojte jen mikrokontrolér a nechte běžet nějaký testovací program - třeba blikání LEDkou. Připojte můstek pro řízení motorů, nahrajte testovací program pro jeho obsluhu a spusťe. Pak připojte LCD, nahrajte testovací program který bude řídit můstek a na displeji vypisujte třeba abecedu. Pokud je vše pořád OK, tak připojte motory a hned uvidíte, kde je háček...
jrt
haas

Re: Rušení

Příspěvek od haas »

Tak jsem postupoval dle vašich rad.Multimetr je digitální.
Lcd je primárně na 5V, ale lze to nějak zkobinovat i se 3V logikou. http://pdf.datasheetarchive.com/indexer ... 010638.pdf
Zatížil jsem stabilizátor proudem 700mA neměl jsem dostatečně malý a výkonný odpor(5ohm) tak jsem dal co jsem našel.Na bateriích bylo bez zátěže 10.57 V a na výstupu 5.01V po chvíli žhavení se zátěží bylo na bateriích 9.77 a na výstupu 4.92V.Což je dobré ne?
Tak jsem dal diodu bez lcd a můstku.Blikala bez problémů.Tak jsem tam vrznul můstek (BEZ LCD) a po zapnutí se to zase resetovalo
JENŽE náhodou jsem si všiml, že pokud DRŽÍM PLOŠNÝ SPOJ V RUCE VE VĚTŠÍ VZDÁLENOSTI OD PODVOZKU(MOTORKŮ) TAK TO ŠLAPE LÍP.jAK JSEM HO POLOŽIL NA PODVOZEK TAK PO CHVICLE SE OPĚT RESETOVAT PROGRAM.

Hlavně byl evedintní rozdíl v čase běhu motorů.Vždy měl běžet 3s na dopředu a pak dozadu.V ruce to běželo fakt 3s a jak jsem to položil OKAMŽITĚ se to zmenšilo cca 1.5 s.Rozdíl je naprosto znatelný.Tak mě napadlo celou spodní stranu od motorků podlepit papírem a na něj na každou stranu alobal a spojil to s kostrou.
No rozdíl taktéž o 70 procent LEPŠÍ.Ale i tak se jednou za minutu( někdy to jede bez probémů) sekne.Možná to bude chtít sinlnější vrstvu alobalu.
Nebo by pomohlo vaměnit motorky na 6V za motorky na 3V? Čím menší napětí tím by mohlo to "záření" kolem nich klesnout.??

bez lcd je napětí 4.97V při stojících motorech a při běhu motorů 4.91V s lcd je to stejné.I tak se to sem tam resetuje( třeba teď to udělalo 30 smyček a najednou reset a jede zas od nuly, přitom napětí napájení měřím nejméně 4.91V( je možné že ten průdký pokles měřák nezměří. :-(((
problém určitě souvisí s motory a jejich rušením.
S tím kolísáním napětí nevím, teď se to drží , přiznám že jsem baterie nabil.
Jaký na to máte na tento jev názor?

Každopádně je to o trochu lepší.Ještě budu pokračovat v testech.
Zatím moc díky za všechny rady.Napište jestli se vám taky něco takového stalo.
Přílohy
alobal.jpg
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Rušení

Příspěvek od jrt »

Hlavně byl evedintní rozdíl v čase běhu motorů.Vždy měl běžet 3s na dopředu a pak dozadu.V ruce to běželo fakt 3s a jak jsem to položil OKAMŽITĚ se to zmenšilo cca 1.5 s
Tak tohle vypadá, že jsou problémy s krystalem. Koukal jsem na fotky a vy ho máte dost daleko od procesoru, měl by být těsně u vývodů.
Zkuste:
1. uzemnit pouzdro krystalu. Pájejte rychle, pozor na přehřátí!
2. vyměnit krystal (jsou občas poruchové...)
3. zkontrolovat kondenzátory u krystalu. Jsou opravdu 22p? Vyměnte je za jiné stejné hodnoty. Zkuste použít hodnoty 18p nebo 27p.
Napište jestli se vám taky něco takového stalo.
Popis všech chyb, které jsem v elektronice udělal a všech záhadných závad, které jsem musel hledat, by vydal na celou knížku. :)
jrt
haas

Re: Rušení

Příspěvek od haas »

Když už jsme u těch krystalů.Je nějak důležitá i vzdálenost mezi krystalem a kondenzátorem?Co všechno ten kondenzátor u krystalu ovlivňuje?
Jak se tak dívám na DPS tak pod kondenzátoy tedy mezi jejich výdody jdou ještě dvě cestičky od jednočipu k h můstku.Jsou to vstupy pro určování směru motorů a pwm.
Je to nějaká fatální chyba?

Těžko se mi to říká, ale ten plošný spoj bude asi úplně špatně navrhnutý. :-( ??
V krajním případě bych byl ochotný zaplatit někomu nějakou částku za návrh správného a nějak ověřeného zapojení a hlavně rozvržení součástek.
Ten krystal zkusím vyměnit.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Rušení

Příspěvek od jrt »

Když už jsme u těch krystalů.Je nějak důležitá i vzdálenost mezi krystalem a kondenzátorem?Co všechno ten kondenzátor u krystalu ovlivňuje?
Jak se tak dívám na DPS tak pod kondenzátoy tedy mezi jejich výdody jdou ještě dvě cestičky od jednočipu k h můstku.Jsou to vstupy pro určování směru motorů a pwm. Je to nějaká fatální chyba?
Velmi fatální. Krystalový oscilátor je choulostivý na rušení a měl by - pokud možno - být obklopen zemním spojem, ale rozhodně vzdálen od všech zdrojů rušení. Koukal jsem na spoj kolegy Navrátila a tam by to mohlo být OK.
Ten krystal zkusím vyměnit.
Než budete měnit krystal, zkuste ho připájet ze strany spoje přímo na piny mikrokontroléru. Kondenzátory samozřejmě taky.
Těžko se mi to říká, ale ten plošný spoj bude asi úplně špatně navrhnutý. :-( ??
No, řekněme to asi tak, že žádný zázrak to není, ale viděl jsem už i mnohem horší.
TV krajním případě bych byl ochotný zaplatit někomu nějakou částku za návrh správného a nějak ověřeného zapojení a hlavně rozvržení součástek.
Použijte Arduino a k němu Motor Shield a máte po starostech.
jrt
haas

Re: Rušení

Příspěvek od haas »

No před samotnou stavbou jsem chtěl něco takového koupit, ale stejně bych musel udělat další desku pro druhý jednočip a lcd.Hlavně jsem viděl nevýhodu v malém maximálním odběru proudu z arduina.
Asi skusím udělat přesně stejnou desku jako kolega Navrátil.
Už jsem mu několíkrát psal a on s tím žádný problém nemá.

Ikdyž i on má cestičky od h můstku hodně blízko oscilátoru.Jen bych tam raděj viděl spínaný zdroj.Lineární zdroj při spínání motorů neudrží napětí(kolísá to třeba o 0.14V) ten spínaný je pořád 4.94V ať to zatěžuju jak chci.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Rušení

Příspěvek od jrt »

Nejdřív zkuste to, co jsem vám radil s krystalem (přímo na piny), abyste se přesvědčil, zda závada spočívá opravdu v tomhle.
Ten spínaný zdroj je dobrá myšlenka, ale rozdělte si celou konstrukci na více částí - modulů (můstek, zdroj, procesorová deska), které snadněji oživíte, můžete je nahradit nebo upravit v případě, že budou fungovat nesprávně a mohou se vám hodit i do dalších konstrukcí.
jrt
Odpovědět