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

Odpovědět
honza_81
Příspěvky: 9
Registrován: 14 čer 2018, 14:01
Reputation: 0

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

Příspěvek od honza_81 » 14 čer 2018, 14:14

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...

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

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

Příspěvek od jankop » 14 čer 2018, 14:44

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ě.

honza_81
Příspěvky: 9
Registrován: 14 čer 2018, 14:01
Reputation: 0

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

Příspěvek od honza_81 » 14 čer 2018, 15:02

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ů.

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

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

Příspěvek od gilhad » 14 čer 2018, 16:11

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)

honza_81
Příspěvky: 9
Registrován: 14 čer 2018, 14:01
Reputation: 0

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

Příspěvek od honza_81 » 14 čer 2018, 16:30

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ů.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti