Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: čt květen 11 2006, 13:29 Předmět: Otáčkoměr s AT89C2051
Mám problém jak co nejjednodušeji měřit otáčky motoru.Požadavky jsou,aby byla dostatečná přesnost a rychlá odezva. Jde mi o to,aby byly změřeny otáčky a pomocí 8bit PWM a pasivního integračního článku byly zobrazeny na analogovém voltmetru(150 Ohm).
Dosud jsem dělal otáčkoměr s monostabilním klopným obvodem,který vyslal na náběžnou hranu vst. sig. impuls s definovanou šířkou a pasivní integ.čl. převáděl tuto PWM na napětí.Jenže při této metodě měření jsou velké nároky na výstupní hradlo,co spíná PWM, a na integrační článek,terý zas při malých kmitočtech není lineární.
Asi bych dokázal měřit periodu a výpočtem převést na frekvenci,ale toto řešení zabírá hodne výpočetního výkonu a ten já potřebuji na další věci co procesor provádí.
Řešil jste někdo podobný problém?
Zkus citac co odcita smerem k nule tak dlouho, dokud nedostane impuls (nabezna hrana pulzu) potom se resetuje zpet na 11111111 a odcita znovu....
Hodnotu citace bys precetl vzdy po zastaveni citace s nabeznou hranou pulzu, mohl bys ji prevest odporovym D/A prevodnikem pak to staci zesilit a je to.
Nevyhoda je ze se musi dost blbe kalibrovat ten citac..(
Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: čt květen 11 2006, 21:08 Předmět:
To je výborný nápad.Kalibrace je možná pak provést třeba trimrem už na analogové části.Samozřejmě je třeba nastavit rychlost čítání tak,aby bylo do těch 250Hz využito co nejvíce hodnot z 8bitového čísla.Díky za nápad.O víkendu to zkusím.
Založen: Sep 10,
2004 Příspěvky: 19766 Bydliště: Jičín, Český ráj
Zaslal: pá květen 12 2006, 10:22 Předmět:
Ptáš se, kdo se tím už zabýval: nerozumím tomu, proč by to mělo jít přes analogový integrátor. A, když už, tak proč nepoužít snímač s více impulsy na otáčku? Tím se zmenší nároky na časovou konstantu integrátoru i při malých otáčkách.
Další možnost je použít například snímač s 256 impulsy na otáčku a impulsy z něj načítat třeba v čítači 4020. A ten stav 16x za sekundu přečíst do latche (nebo procesoru) a čítač vynulovat. Vlastně na to ani není procesor třeba, stačí generátor hodinových impulsů.
Samozřejmě bys nepoužil bity D0...D3: do paměti latch by se přenášela informace bitů D4 až D11, vlastně binární vyjádření aktuálních otáček za sekundu. Bity 12 a 13 by bylo možné použít také přímo nebo jen k indikaci přetečení, resp. překročení rychlosti přes 255 ot/s, tedy nějakých 15 300/min.
Ale zato ten údaj bude 16x za sekundu aktuální a vše, co tam bude analogové, bude odporová matice na výstupu, když už to chceš indikovat ručkovým měřidlem. Rozlišení je 0,4%, tak přesné ručkové měřidlo pravděpodobně nemáš. Čili 2% chyba hodnoty odporů v matici asi nezpůsobí významnou chybu měření. A bude to rychlejší i přesnější, než jakýkoli analogový systém.
Jinak analogovou inspiraci můžeš čerpat i tady: http://www.ebastlirna.cz/modules.php?name=News&file=article&sid=199&mode=&order=0&thold=0
Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: po květen 15 2006, 7:44 Předmět:
Hill:Bohužel chci použít otáčkoměr na motorku,kde jdou impulsy ze zapalování.Tedy otáčkoměr se připojuje pouze třemi vodiči k elektroinstalaci vozu a nemusí se nic na motorce upravovat.Pokud bych chtěl použít například optickou závoru s více pulsy za otáčku,tak by se vše muselo složitě zamontovat na kliku a citlivost na znečištění by byla značná.
Mě šlo o jednu věc:máme doma stroboskopický paltest,který snímá impulsy indukčním snímačem z jednoho zapalovacího kabelu(benzin) nebo piezoelektrickým snímačem z jedné vysokotlaké trubky(diesel) a z techto ipmulsů dokáže s přesností na 10 ot/min zobrazovat otáčky motoru se slušnou odezvou na změnu otáček. A to oproti mému případu dostává paltest 4x méně impulsů za otáčku. Proto vím,že je možné mikroprocesorem nějak měřit otáčky s rychlou odezvou,protože paltest je řízen mikroprpcesorem.
Jinak o víkendu jsem přemýšlel nad variantou s vnitřním čítačem a hradlovat to impulsem z čidla otáček a narazil jsem na problém,že frekvence je 1/T a toto je hyperbolická funkce. Tudíž nejde jednoduše změřit periodu v untervalu 0-255 a převést D/A převodníkem na hodnotu frekvence.
Založen: Sep 10,
2004 Příspěvky: 19766 Bydliště: Jičín, Český ráj
Zaslal: po květen 15 2006, 9:18 Předmět:
Neříkej, že při nějakých volnoběžných 600 otáčkách/min (teda 10/s) potřebuješ rychlejší odezvu, než asi 1s. Ani otáčkoměry v autech nejsou tak rychlé.
Ono i na digitálu PALtestu či stroboskopu to vypadá na rychlejší reakci, ale řekl bych, že skutečná doba integrace je podstatně delší, než zmíněnou 1s. Ale to klame tím problikáváním číslic na digitálu.
Je fakt, že počítat periody mezi dvěma impulsy můžeš. Na výpočet převrácené hodnoty existuje přece rutina. Ale chvíli to trvá, než tu 0FFh podělí načítanými impulsy - a mezitím nestihne znovu měřit čas. A to je to, co potřebuješ, jinak je přesnost v háji: jestli vystačíš s údajem od 600 ot/min., kdy za 100ms načítáš 255 impulsů, při 6000 ot./min. jich ještě načteš 25, pokud budeš točit 9000 otáček, už jich bude jen 16. Takže, jak vidíš, moc času na výpočet ti nezbývá. A, samozřejmě, ten čas musíš přičíst k počtu skutečně napočítaných impulsů z doby, kdy na to měl procesor čas.
Nebo ti nezbude, než externí čítač, externí hodiny, externí hradlování a přenos načteného údaje do procesoru, pak nulování čítače. Procesor se pak samotným čítáním nemusí zabývat a má čas ta čísla přežvýkat do použitelného tvaru. Vzniká nám z toho ale lokomotiva.
Pokládám si (i tobě) proto otázku:
Jakému speciálnímu účelu má ten otáčkoměr sloužit, čím je ta tvá motorka tak vyjímečná, že do toho tak nutně musí přijít procesor a že musí reagovat rychleji, než je obvyklé?
Jako dosud téměř všichni ostatní, se přikloním k čistě analogovému řešení: Jedna 555 spouštěná impulsem ze zapalování, doba kyvu řekněme 5ms, to stačí do 12000 otáček/min, jestli válec pálí při každé. Za to dvojitý integrační člen 500ms+500ms, sledovač pro zajištění minimálního výstupního odporu, který současně bude tlumit měřidlo, a je to.
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: po květen 15 2006, 10:57 Předmět:
Taktiež sa pýtam aké zložité výpočty bude robiť ten procesor?
Pamätám sa na svoj prvý program v asembleri 8080, po naštartovaní programu som nevidel žiadnu odozvu a tápal som a tápal, až som na to zobral logický analyzátor, a opäť som nič nevidel. Až keď som prepol na krokovanie 1us som videl beh programu. Vtedy som si uvedomil rozdiel medzi analogom a digitalom. Ja som dal opakovanie po sekunde a program dllllllllho nič nerobil, potom preletel inštrukcie (a to mal asi 1k) a opäť čakal.
Hill tu vypočítal, že najnižšie otáčky sú 10/s, to je 100ms, tak obetuj jednu periodu na výpočet otáčok, daj to na výstup pomocou 8bit D/A R2R prevodníka a najbližšie 4 periody počítaj tie ostatné veci. A budeš mať odozvu 0,5s (bez tlmenia meráku).
Ale aj tak som presvedčený že to bude stíhať a väčšinu času čakať na "udalosti".
Len pre zaujímavosť rutina 8x8bit trvá asi 100us (6MHz), (25us - 2051/24MHz). Som presvedčený, že to procesor bezpečne zvládne, máš zbytočné obavy.
Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: po květen 15 2006, 15:56 Předmět:
Nechtěl jsem tady rozepisovat co další ten procesor má zvládat,ale napíšu to. Ještě musí multiplexně ovládat bodový displej 5x7,který ukazuje aktuální zařazenou rychlost. Frekvence multiplexu je okolo 150Hz chvilka času zbývala,tak jsem chtěl udělat měření otáček.
Dosud jsem dělal otáčkoměr, jak píše Hill, s 555kou,ale jen jedním integračním článkem a bez sledovače.Funguje taky,ale je dost nelineární. http://www.georgeb.wz.cz/eaot.htm Funkci monostabilního klopného obvodu přenechám procesoru(to bude bez problémů stíhat) a za to tedy dám dvojitý IČ a sledovač s nějakým operákem.
Nechtěl jsem tady rejpat jako,že chci ten nejlepší a nejpřesnější a nejrychlejší otáčkoměr na světě,ale samotného mě nenapadaly metody jak to měřit,tak se ptám.
Stále nechápem načo je niekomu otáčkomer na motorku s presnostou cca 2%. Jedine ak by ta už nebavil život a chcel by si pri plne rýchlosti pozerať na otáčkomer Ale k veci. Niekde som našiel zapojenie jednoduchého prevodníka f/U pomocou 555. Fungovalo to fakt krásne a rýchlosť vzorkovania bola plne postačujúca okolnostiam (zotrvačnosť motora, rotrvačnosť meracieho prístroja) vtip je v tom že tam bolo pár súčiastok (jednoduchosť, spolahlivosť) Problém je v tom že nemám to zapojenie ale myslím že spojenie výrazov "f/I" alebo "f/U prevodník" a "555" dá v google dobrý výsledok
Založen: Nov 21, 2005 Příspěvky: 524 Bydliště: Bratislava
Zaslal: st květen 17 2006, 11:54 Předmět:
Len teoreticky (s 2051 som už dlho nerobil) použiješ 7bitP1 na LEDriadky, 5bit P3 na LEDstlpce, 7bitP1 na R2R D/A, 8.bit P1 na pripínanie (6. stlpecLED)D/A, a 6.bitP3 vstup otáčok, 8.bitP3 vstup rýchlosti.
Svietenie LED to je iba inštrukcia: zapni1. -> cakaj5ms -> vypni1. -> zapni2. -> cakaj5ms -> vypni2. -> zapni3. -> ... -> vypni 5. -> zapni1. --> a stále dokola. V tom čase čakania môžeš urobiť 200 násobení 8x8bit. Ty budeš robiť len jedno násobenie, takže ti zostane spústa času na čokoľvek iné.
Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: čt květen 18 2006, 16:21 Předmět:
Je mi líto,že pár lidí nepochopilo můj záměr.
ViPali:ukazatel zařazené rychlosti mám už hotový a jelikož procesor není zcela zaneprázdněn,tak jsem se chtěl pokusi měrit s ním otáčky. www.georgeb.wz.cz/gearindicator.htm zde jsou fotky ještě s doma dělaným multiplexním displejem.
Datam:Právě dle tvého návrhu již mám na motocyklu otáčkoměr asi 3 roky a vím,že nejsou splněny podmínky pro linearitu integračního článku a že 555ka nenakrmí tento untegrační článek čistě obdélníkovým signálem. Poznámka s PAVem nebyla moc vtipná. Uvědom si,že se chci naučit neco a když se to učím,tak pořádně a nespokojím se s přesností 10%.Ono to jde vždy "nějak nabastlit",ale to já nedělám.
Jestli tato diskuse nepovede k dalším zlepšujícím návrhům,tak chci na závěr poděkovat hlavně Hillovi, který mě navedl na zapojení s dvojitým IČ a nějakým sledovačem pro posílení výstupu.
Na závěr bych měl dotaz jaký vhodný operační zesilovač použít,který bude pracovat na napětí 5V nesymterické. Děkuji
Založen: Sep 10,
2004 Příspěvky: 19766 Bydliště: Jičín, Český ráj
Zaslal: čt květen 18 2006, 19:06 Předmět:
Třeba UA3503, to je čtyřnásobný operák pro jedno napájecí napětí 5V, nebo jednoduchý AD8051R8, ale určitě se jich najde víc.
Ale, jestli to nebudeš měřit deprézem, ale zobrazovat procesorem, tak tam zase sledovač tak nezbytně nutný není.
Založen: Nov 21, 2005 Příspěvky: 1219 Bydliště: Pardubice
Zaslal: čt květen 18 2006, 19:56 Předmět:
Hill:Právě že to chci zobrazovat 270° V-metrem. Prostě to bude takhle: budík o průměru 80mm, ve kterém je 270° analogový oráčkoměr a ve slepých 90° je umístěn jeden bodový 5x7 LED segment,na kterém se zobrazuje aktuální zařazená rychlost. A použil bych dvojitý operák.Přičemž jedna jeho část by sloužila jako sledovač a druhá jako schmittův KO,který by upravoval vstupní signál z indukčního čidla.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.