Re: arduino - měření intervalu (frekvence)
Martin Záruba
swz na volny.cz
Neděle Září 22 18:26:08 CEST 2013
S jednou sondou to vyřešit nejde. Není jak rozeznat, zda jen kýve tam a zpět
nebo zda se rychle otáčí.. Sepne jedna - začátek intervalu. Sepne druhá -
konec intervalu. Pokud druhá nesepne - nefouká.
Martin Záruba
----- Original Message -----
From: "Petr Zapadlo" <zapik na email.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Sunday, September 22, 2013 5:19 PM
Subject: 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