Re: arduino - měření intervalu (frekvence)
Glajc Pavel
pavel.glajc na del.cz
Neděle Září 22 19:36:30 CEST 2013
Jen jsem si letem prošel datasheet, není to čidlo příliš citlivé. Udávaná citlivost je v jednotkách až desítkách mT, někde v tabulkách jsem viděl, že magnetické pole Země na 50 rovnoběžce má 20mT. Nehraje Vám tam roli právě onen zemský magnetismus? Nešlo by použít pole magnetů vzhledem k čidlu, tak aby jej neovlivňoval zemský magnetismus?
Pavel Glajc
P.S.
Pokud byste chtěl experimentovat s tesláckými čidly MH1SS1, pošlete analogovou adresu, pár Vám jich zdarma pošlu.
----- Původní zpráva -----
> Odesilatel: "Petr Zapadlo" <zapik na email.cz>
> Příjemce: HW-news <hw-list na list.hw.cz>
> Datum: 22.09.2013 17:20
> Předmět: arduino - měření intervalu (frekvence)
>
> Přeji pěknou neděli,
>
> řeším anemometr (už jsem na toto téma sem psal)
> Vlastní čidlo jsem udělal nakonec z vybrakovaného modelářského motoru -
> oběžky.
> krásný domek s ložisky, vybrakoval jsem cívku s jádrem, takže zbyl rotor
> osazený magnety velmi lehce se točící kolem dokola. Dovnitř hallovu sondu.
> Zdánlivě hotovo.
>
> Ocejchoval jsem v autě - měřil jsem multimetrem frekvenci. (85Hz pro 100km/h)
>
> Arduino jsem ověřil jednoduchým multivibrátorem, vše OK.
> Nicméně při spojení anemometru s arduinem se mi objevují velmi vysoké
> rychlosti větru - přes 330m/s (a to asi pravda nebude :-)
>
> Navíc je to zarovnané nahoře (změna barvy byla chyba v konfiguraci RRD tools)
>
> http://zapik.brunda.name/wind.png
>
> Když se dívám na anemometr, tak se chvíli lehce točí a když fouká jen málo,
> tak se třeba lehounce chvěje.
> předpokládám, že to je ten problém.
> V arduinu měřím interval v přerušení:
>
> attachInterrupt(1,citac, FALLING);
>
> //mereni vetru v preruseni
>
> void citac () {
> rychlost = millis() - poc;
> if (rychlost == 0) rychlost++;
> poc = millis();
> vysl= k0*(1000/rychlost)/3.6; //vypocet rychlosti v m/s z doby
> prumer=(prumer+vysl)/2;
>
> V dalším kodu mám ještě zachycování minim a maxim:
> if (maxr < vysl ) maxr=vysl; //v grafu červena(puvodně žlutá)
> if (minr > vysl ) minr=vysl;
>
> Jak vyřešit tento problém?
> - pokud budu více průměrovat, tak mi bude dlouho trvat, než to dokonverguje k
> rozumné hodnotě
> - pokud budu povolovat preruseni az po nějaké době, jaká je ta správná doba?
> Poukud problém opravdu dělá kývaní kolem zlomu, bude to generovat nesmysly i
> když dovolím přerušovat s delšími intervaly.
>
>
> Napadá Vás jak to řešit? matematicky, obvodově?
>
> Díky
>
> Zapik
>
>
> --
>
>
> Petr "Zapik" Zapadlo
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list