Stránka 1 z 1

Připojený FTDI převodník ovlivňuje chod programu

Napsal: 14 čer 2018, 14:14
od honza_81
Zdravím,
tvořím solární pulzní PWM nabíječku s vybíjecími pulzy na autobaterii. Vše mi tak nějak už funguje, jen jsem se snažil rozjet PWM na vyšší frekvenci aby mi RC filtry na vstupu ADC lépe vyhladily napětí a zjistil jsem jednu věc. Naměřené hodnoty nabíjecího proudu, napětí a tím pádem i šířka PWM celkem dost lítájí (PWM třeba 0-60), pokud mám ale v programu Serial.begin(9600) a připojím samotný FTDI převodník k procesoru, vše se rázem krásně uklidní a naměřené hodnoty jsou stabilní, PWM se mění cca 27-32. Nevíte někdo kam směřovat mé pátrání? Nevím co se po připojení děje, jestli se FTDI pravidelně dotazuje CPU a vyvolává se přerušení, které zpomaluje chod celého CPU a uklidní AD převodníky? Je to pro mě záhada...

Re: Připojený FTDI převodník ovlivňuje chod programu

Napsal: 14 čer 2018, 14:44
od jankop
Já bych řekl, že se projevuje vliv rušení na nepoužitý vstup RX.
Platí zásada, že každý i nepoužitý I/O vstup procesoru musí být nějak ošetřen. Buď vnitřním nebo vnějším pullup/pulldown rezistorem, nebo musí být programově nastaven jako výstup, pokud to hw konfigurace dovoluje. Jeden neošetřený digitální vstup dokáže způsobit naprostý kolaps mikroprocesoru, to mi můžeš věřit. V těchto případech mnohdy stačí přiblížení ruky k desce, nemusíš ani nic připojovat.
Jako první krok zkus na Rx připojit rezistor cca 4k7 z Vcc a dohlédni, aby žádný z nepoužitých pinů nezůstal neošetřen softwarově nebo hardwarově.

Re: Připojený FTDI převodník ovlivňuje chod programu

Napsal: 14 čer 2018, 15:02
od honza_81
Díky, vyzkouším k večeru. Mám tam konektor samici, tak to bude hračka. Každopádně hodnoty lítají i když Serial.begin vymažu a nemám FTDI připojen. Zapnu rovnou i pullup u všech nevyužitých pinů.

Re: Připojený FTDI převodník ovlivňuje chod programu

Napsal: 14 čer 2018, 16:11
od gilhad
Ono asi nejde az tak o ten Serial (jako SW komponentu), ale o to, ze ma nepripojeny vstup. Vstup se snazi hodnotu na nem zmerit a VZDYCKY neco nameri a diky velkemu odporu (a dratum nenulove delky(vcetne tev v procesoru)) meri v podstate jen naindukovany sum, nicmene se ho snazi "dotahnout" k nejake logicke hodnote - coz u prazdneho dratu muze byt dost nahodile cokoli, kdyz se tam nahodou naindukuje napeti velke, nebo male, tak to jeste jde, protoze to sice zurive kmita mezi nulou a jednickou, ale to aspon jsou definovane stavy a dal uz si to uvnitr nejak poradi. Horsi je, kdyz se to strefi do toho sedeho pasma mezi, kdy se vstupni tranzistor ani neotevre, nini nezavre, ale neco mezi, takze hodne zere a navic ten za nim se muze taky ocitnout v sedem pasmu a to uz vubec neni hezke, kdyz se digitalni obvody dostanou do analogovych stavu.

Protoze i kdyz na to v programu koukas jako na nejake abstrakce typu konstant LOW a HIGH, tak je to sice hezke zjednoduseni, ale ve skutecnosti jsou mikroprocesory slozene z tranzistoru, ktere jsou jsou podstatou analogove a jenom diky zapojeni, kde se nasobi zesileni to ma v normalnim stavu byt prevazne v jednom z krejnich stavu, kdy tim bud netece proud, nebo je to otevrene a neni na to skoro zadne napeti. Ale v analogove casti mas naraz proud i napeti = jejich souci je vykon a tak to hreje i tam, kde by nemelo a navic to velice citlive (cti divoce) reaguje i na nepatrne zmeny, cimz to uspesne vyrabi sum UVNITR procesoru, v tesne blizkosti ostatnich analogovych soucastek, ktere se snazime presvedcit, aby se co nejrychleji zvahly bud na jednu, nebo druhou stranu. (jinymi slovy neosetreny vstup ti v mikropocesoru udela lokane bordel na koleckach i v obvodech, kterych se to udajne netyka. Zvlast kdyz tam pak chces neco analogove merit, tak te zdroj sumu ve vzdalenosti par mikrometru vylozene potesi)

Re: Připojený FTDI převodník ovlivňuje chod programu

Napsal: 14 čer 2018, 16:30
od honza_81
Tak jsem na to kouknul hned a odpor nepomohl. Zkusil jsem tedy postupně odpojovat piny FTDI a stačilo mít připojené napájení modulu a bylo to v klidu. Takže jsem zkusil 100nF, ten nepomohl, tak jsme našel 100uF elyt a dal ho na napájení nezapojeného konektoru pro FTDI a už to jede na výbornou. Je to blízko toho spínacího MOSFETu, tak se tam asi něco indukovalo. Ještě ošetřím ty nezapojený piny a bude to snad v pořádku to vypadá. Ještě vyřešit proč mi občas přestává zobrazovat proud a napětí, ale to už bude SW malina :-D.
Každopádně díky moc za rychlý rady a reakce. Pokud to dám to funkčního celku a krabičky, tak to pak šoupnu do hotových projektů.