Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Otáčkoměr s AT89C2051

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: čt květen 11 2006, 13:29    Předmět: Otáčkoměr s AT89C2051 Citovat

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?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
anonym






PříspěvekZaslal: čt květen 11 2006, 14:00    Předmět: Citovat

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..Sad(
Návrat nahoru
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: čt květen 11 2006, 21:08    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Hill
Administrátor


Založen: Sep 10, 2004
Příspěvky: 19534
Bydliště: Jičín, Český ráj

PříspěvekZaslal: pá květen 12 2006, 10:22    Předmět: Citovat

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
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: po květen 15 2006, 7:44    Předmět: Citovat

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.

Budu rád za každý další nápad.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Hill
Administrátor


Založen: Sep 10, 2004
Příspěvky: 19534
Bydliště: Jičín, Český ráj

PříspěvekZaslal: po květen 15 2006, 9:18    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ViPali



Založen: Nov 21, 2005
Příspěvky: 524
Bydliště: Bratislava

PříspěvekZaslal: po květen 15 2006, 10:57    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: po květen 15 2006, 15:56    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
datam
Neregistrovaný





PříspěvekZaslal: st květen 17 2006, 8:26    Předmět: načo? Citovat

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 Wink 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 Smile

Načo si komplikovať živoť?

PS: kto má doma páva riadeného AT89C4051?

Zdar inštrukcii NOP Very Happy
Návrat nahoru
ViPali



Založen: Nov 21, 2005
Příspěvky: 524
Bydliště: Bratislava

PříspěvekZaslal: st květen 17 2006, 11:54    Předmět: Citovat

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é.

Pohraj sa s časovaním.

netreba používť NOP, dá sa aj cyklus wait.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: čt květen 18 2006, 16:21    Předmět: Citovat

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
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Hill
Administrátor


Založen: Sep 10, 2004
Příspěvky: 19534
Bydliště: Jičín, Český ráj

PříspěvekZaslal: čt květen 18 2006, 19:06    Předmět: Citovat

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í.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
GeorgeB



Založen: Nov 21, 2005
Příspěvky: 1213
Bydliště: Pardubice

PříspěvekZaslal: čt květen 18 2006, 19:56    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ViPali



Založen: Nov 21, 2005
Příspěvky: 524
Bydliště: Bratislava

PříspěvekZaslal: pá květen 19 2006, 8:06    Předmět: Citovat

OK.

Operák od 5V: asi všetky OP, LF od 5V, LM od 3V, TL od 5V (pravdepodobne).

Ja som v jednom zapojení na bastl. doske použil TL082 (nemal som iný) a bezpečne pracoval s TTL logikou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund