snímač otáček motoru přes programátor AT89S8252
Moderátor: Moderátoři
-
borek97
snímač otáček motoru přes programátor AT89S8252
-
borek97
Otáčky můžeš měřit například takto:
1. měřením času mezi dvěma impulsy z optočlenu, tedy dobu jedné otáčky. Pokud nemusíš měřit každou otáčku, bude mít procesor dost času načítaný čas přepočítat do podoby stravitelné displejem a, až bude mít hotovo, zase si osahat port, počkat na první impuls, začít měřit čas až do dalšího impulsu.
Nevýhody: rozlišení je dané frekvencí, jakou poběží časovací smyčka - do kolika stihne napočítat při nejnižších otáčkách, abys to ještě výpočetně zvádl. Naopak při pomalejším čítání vysokých otáček může dojít k tomu, že během jedné otáčky načítáš víc, než jeden impuls, ale méně, než dva, a nebudeš vědět, o kolik méně. Navíc, pokud se budou otáčky měnit, bude údaj výrazně skákat.
2. počítáním impulsů ze snímače otáček po pevně danou dobu, na to je ale zpravidla jeden impuls na otáčku málo, jinak bude načítání trvat dlouho. Zato údaj na displeji bude zobrazovat průměrné otáčky za delší dobu a bude líp čitelný, pokud pomalejší obnovování není ovšem na závadu. Výhodou je snadnější přepočet na zobrazovaný údaj.
Nevýhody: maximum závisí na nejvyšších uvažovaných otáčkách motoru, zvoleném rozlišení (do kolika můžeš čítat) a rychlosti, jakou příslušným bitem portu zvládneš. Obvykle se musíš rozhodnout, který z parametrů bude omezujícím, případně, od jaké hodnoty přejdeš na jiný algoritmus vyhodnocení, třeba podle 1.
3. načítáním impulsů do vnějšího binárního čítače, jehož stav po pevně stanovené době přečteš do procesoru a čítač vynuluješ. Zatím, co čítá, můžeš zpracovávat údaj pro displej. A nejsi omezený rychlostí čtení portu.
Na obsluhu displejů (ať už portem nebo pomocí vnějšího řadiče) existují knihovny rutin. Pohledej.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
1. Při sestupné hraně spustíš interní čítač T1,kterej počítů impulsy z vnitřního oscilátoru a při další ho přečteš a resetneš (pomocí přerušení, např. INT0). Výsledek přepočítáš na reálný čas a zobrazíš - na to je většinou dost času mezi dvěma pulsy, protože tohle je vhodný spíš pro nižší otáčky. Refresh displeje můžeš opět řešit přes vnitřní přerušení.
2. Impulsy posíláš do vnitřního čítače a pomocí přerušení s pevně nastavenou dobou, např. 1s, čteš jeho obsah a resetuješ.
Aby displej tolik neskákal, dá se použít např. plovoucí průměr apod.
Napiš, jakej bude rozsah otáček a co tam bude za displej.
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Hill píše:Hezká odpověď, ještě nemáš změřené ty otáčky a už je chceš zobrazovat.
Jsem zapomněl dodat - já mám rád kompletní zadání a pokud by to chtěl např. hnat po RS232 do PC, tak bych volil úplně jinej algoritmus než při přímým zobrazování. Tudíž ten dotaz
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
-
borek97
-
Návštěvník