Stránka 1 z 1

Rušení NANO? * vyřešeno *

Napsal: 22 čer 2025, 17:27
od hafca
Mám na jedné DPS Arduino NANO, driver A4899, step-down LM2596 a BT ovladač ze selfie tyče. Celé to napájí adaptér 12V s lineárním stabilizátorem.
A4899 pohání step NEMA17, LM2596 snižuje napětí pro LED a BT spouští foto mobilu. Program je jednoduchý, má po stisku tlačítka spustit motor, udělat daný počet kroků, zastavit, poslat impuls do BT a celé to automaticky opakovat dokud nevypnu napájení.
Všechno je funkční jen když přiblížím dlaň k NANO. Jinak to udělá jen první krok a zůstane to stát do té doby, než přiblížím ruku. Dokud jí tam mám, funguje to.
Na desce jsou blokovací kondenzátory, na vodičích od tlačítka, pro motor a pro LED jsou feritové prstýnky. Zkusil jsem to odstínit plechem spojeným s mínus pólem, ale nic. Zkusil jsem i úplně jiné NANO a taky nic.
Nemá někdo nápad co to je a jak to vyřešit? Stát u toho několik hodin nevydržím. :(

Napsal: 22 čer 2025, 18:07
od Valdano
Zkuste najít konkrétní místo v programu, na kterém se to bez přiblížení dlaně seká nebo část programu, která se neprovádí třeba kvůli nějaké nesplněné podmínce v programu. Vložte si tam textové výpisy na sériový port mezi různé části programu v sekci loop() a jeden textový výpis "START" si dejte i před koncem sekce setup() a pak to můžete sledovat v Serial monitoru z Arduino IDE.

Napsal: 22 čer 2025, 19:38
od Ruprecht
U indukčních věcí s procesorem mi kdysi pomohla sériová dioda (+) a antiparalelení dioda (mezi + a gnd) v napájení procesoru, jinak se to kousalo, špička vždycky někudy prolezla.

Napsal: 22 čer 2025, 19:55
od samec
Tým, že je rýchly, má ostré výstupné hrany, tak vyžaruje do okolia celkom dosť. Už som s tým mal problém. Potreboval som dosku s TTL logikou doplniť o nejakú funkcionalitu. Jeden výstup dával cca 1kHz výstup pre ovládanie napájania (HW watchdog). Kompletne to rozhodilo TTL dosku vzdialenú niekoľko cm.

Napsal: 22 čer 2025, 20:14
od HF_Tech
Hoď sem fotku. Takhle je to věštění z koule.

Napsal: 22 čer 2025, 20:41
od martinkopp
Musíš postupovat vylučovací metodou, postupně připojuj jednotlivé bloky, jak hw, tak i v sw, dokud nezjistíš co problém způsobuje a pak zjistit příčinu. takhle je to tipovačka a strávíš s tím 10x tolik času, pokud nebudeš mít štěstí.

Napsal: 23 čer 2025, 10:00
od hafca
Ruší to A4899. Když ho vyndám, smyčka funguje jak má. U napájení je 100nF a 100µF.
Zajímavé je, že když to mám na stole vedle klávesnice pod kterou je PC tak to funguje komplet i se spínaným zdrojem 12V. Stačí to přenést o 2-3m dál a už to nefunguje.

Napsal: 23 čer 2025, 10:26
od HF_Tech
Tohle hodně bolí...

1) Když máš tlačítka takhle blízko rušivých přívodů k motoru, tak je potřeba dát co nejblíže ke vstupu do procesoru RC článek. Jinak se na velkém vstupním odporu indukuje všechno možné a projevuje se to jako náhodné mačkání tlačítka.
2) Anténu nemůžeš mít hned vedle cívky spínaného zdroje. Zahlcuje to vstupní obvod rf jako prase.
3) Silové napájení - je potřeba přivést nejdříve na velký elyt hned u budiče krokáče a z něj si udělat přes filtr odbočku na stabilizátor pro řídící obvody.

Napsal: 23 čer 2025, 11:17
od hafca
Chápu, že to není úplně košer, příště to snad udělám líp. BT funguje a nic mu nevadí, možná je to tím, že je to na minimální vzdálenost.
S těmi tlačítky máš pravdu. Zkusil jsem vodiče stočit a dát co nejdál od A4899 a funguje to jak má.
Legrační je, že před tím opravdu stačil prst nad jeho chladičem aby to fungovalo.
Dík všem za rady.

Napsal: 23 čer 2025, 12:06
od Celeron
Já mám z jinýho zařízení zkušenost, že jedno prostrčení drátů skrz odrušovací ferit je jako kdyby tam nic nebylo. Chce to minimálně dva celý, lépe tři až čtyři závity. Můžeš zkusit i DRV8825?

Napsal: 23 čer 2025, 12:32
od hafca
Zkusit jsem to chtěl už dřív. Hodil by se mi ten krok 32, ale chtělo to upravit program a to se mi nepovedlo.

Napsal: 23 čer 2025, 12:57
od HF_Tech
Vono použití feritového korálku adhoc je spíš ukázka konstruktérova dilentantismu. Většinou sám o sobě moc velký smysl nemá.
U digitálních a analogových vstupů je vhodně navržený RC článek několikanásobně účinnější.

Dole je ukázka, jaxe to má zhruba dělat. Je to narychlo spíchnutý udělátor do auta - svazek drátu jde pod palubkou do multipřepínače.

Napsal: 23 čer 2025, 14:13
od martinkopp
Feritove kroužky mají význam buď u velkých proudů nebo velmi rychlých signálů, v tvém případě a provedení bude přínos nevalný.

Podstatné je u takové konstrukce nespoléhat u tlačítek na pull-upy v ATmega, ale dát tam externí, v případě konstrukce jako je tvoje klidně 100R. Pokud tam dáš kondík, časem se ti může naindukovaným napětím nabít a budeš tam kdes byl. Odporem zvětšíš proud a šum nebude hrát takovou roli. Samozřejmě se taky musíš nevysrat na softwarovou dolní propust na vstupech tlačítek někde v řádu nízkých desítek Hz, to je naprostý základ. Aby ti nespínal kdejaký mikrosekundový peak nachytaný kdovíodkud. Pak ti to bude chodit spolehlivě i při takové drátařině. Posunutím drátů o kousek vedle si moc nepomůžeš, někdo se na to špatně podívá a bude to blbnout zas.

A4988 je opravdu extrémně mizerný a starý driver, použij nějaké soudobé modely od Trinamicu kterých je všude plno a jež mají zabudovanou interpolaci kroků na 8bitovou sinusovku a uvidíš jak krásně tiše a plynule ti motor pojede.