Re: arduino - měření intervalu (frekvence)

Pavel Kutina hw na prelude.cz
Neděle Září 22 18:23:29 CEST 2013


Jestli to mechanicky zakmitava, jak pomuze vic sond? Vcelku pravdepodobne 
nameri vsechny totez. Mozna by pomohlo oddloubat nektere magnety, takze by 
pulsy nechodily tak casto a byl by prostor na to mechanicke zakmitnuti.

Pavel Kutina



----- Original Message ----- 
From: Jan Hovorka
To: HW-news
Sent: Sunday, September 22, 2013 6:14 PM
Subject: Re: arduino - měření intervalu (frekvence)


zdravím,

dát tam víc hallových sond a sledovat, že se to skutečně otáčí,

Honza



---------- Původní zpráva ----------
Od: Petr Zapadlo <zapik na email.cz>
Datum: 22. 9. 2013
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
=



_______________________________________________
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