Neceločíselné násobení frekvence

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
dj-bobr
Příspěvky: 12
Registrován: 06 bře 2010, 00:00

Neceločíselné násobení frekvence

#1 Příspěvek od dj-bobr »

Ahoj,

mám potřebu zvýšit frekvenci digitálního signálu v neceločíselném poměru. Vstupem je klasický 1:1 obdélník o frekvencích do 150Hz, výstupem by mělo být totéž s možností jemné regulace poměru výstup/vstup od 1/1 do 2/1, pravděpodobně trimrem.

Použití: adaptace signálu pro tachometr, po výměně "budíku" tachometru (nemá možnost kalibrace) za budík se stupnicí v mílích místo kilometrů, a potřeba možnosti jemné kalibrace (kvůli proměřování).

Pamatuji si z kroužků elektroniky v DDM :) , že by se k tomuto mohlo hodit nějaké zapojení využívající fázový závěs, avšak nikdy jsem s ním nepracoval a téma mám načteno pouze teoreticky.

Dále si nejsem jistý, jestli využití PLL bude dostatečně rychlé pro toto použití. Frekvence signálu budou i dost nízké - zkoušel jsem do tachometru pouštět různé kmitočty a sledovat reakce, ukazuje lineárně 69Hz=100km/h, 138Hz=200km/h atd. (viz video)

Budu rád za každou radu, díky předem :)[/url]
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#2 Příspěvek od MetalGod »

Jenom čistě teoreticky:

Násobička frekvence

Lin. převodník f/U (možná LM2907)

Lin. OZ s odporovým trimrem v záporný zpětný vazbě (regulace nap. zesílení 0× - 2×)

Lin. převodník U/f

Na násobičce záleží hodně, hlavně jak se bude chovat při nízkých frekvencích. Jestli to bude možný, zdroj signálu (snímač otáček) bych upravil tak, aby i při nízkých otáčkách z něj lezlo něco použitelnějšího. Teď nevím, z čeho jsem to vybrakoval, ale byl tam hliníkovej talířek se 4ma dírama, jež snímala optická závora. Stačilo by děr víc.

Nejsem si ale moc jistej, jak to celý bude použitelný, záleží hodně na linearitě celýho zapojení. Ale bude to s nízkou latencí a jemně nastavitelný.
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Uživatelský avatar
dj-bobr
Příspěvky: 12
Registrován: 06 bře 2010, 00:00

#3 Příspěvek od dj-bobr »

Dobrý nápad s tou konverzí f/U a U/f, napětí se přece jen násobí o dost jednodušeji, než frekvence :)

Zdroj signálu (snímač) bohužel upravit asi nepůjde, je umístěn v převodovce (magnetický princip s Hallovým senzorem) a jeho signál používá více systémů v celém autě, určitě vím o ECU a ABS.. to bylo první, co mě napadlo, aby nebyl problém s nízkými frekvencemi.
Snad leda někde přidělat další snímač, třeba na poloosu, jen si pak nedovedu představit vedení kabeláže, to by bylo docela divoký :) raději bych toto celé řešil elektronickou cestou.

edit: tak jsem ještě zjistil, že tento konkrétní signál v příslušném autě (Honda Civic r.v.1992) má deklarováno 4000 impulzů za jednu ujetou míli - tak jsem se s tím měřením moc neseknul :) 4000imp/míle => 69,056Hz/100km/hod.
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#4 Příspěvek od MetalGod »

Furt lepší, než snímat otáčky motoru a měnit zesílení OZ podle kvaltu; musel bys znát převodový poměry v převodovce a pro každej kvalt ladit, nehledě na spolehlivý řešení, jak zjistit aktuální kvalt a přitom aby na neutrálu ručička nevystřelila na nulu (z druhý strany).

Kdyby se frekvence ze snímače vynásobila alespoň čtyřkou, (2.76Hz/1km/h) mohlo by to bohatě stačit, i když by to třeba do 10km/h měřilo nepřesně.

P. S.: To maj japani míle?
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Uživatelský avatar
dj-bobr
Příspěvky: 12
Registrován: 06 bře 2010, 00:00

#5 Příspěvek od dj-bobr »

Což o to, snímat otáčky motoru je otázkou použití jiného drátu ze stejného kabelového svazku :) převodové poměry znám přesně a řešení zjištění aktuálního kvaltu taky není problém (to by uměly řešit mikrospínače na kulise řadičky). Ale byl by to teda pěknej narovnávák na vohejbák :)

Do 15km/h absolutně nevyžaduju a ani neočekávám přesnost..

Japani přímo míle nemají, ale zrovna Hondy byly ve verzích JDM (Japan Domestic Market), EDM (European .. zpravidla angličani) a USDM (USA), tam pak byl důvod k tachometru cejchovaného v mílích. Stejnětak i mnoho tuningových a designových budíků (neoriginálních, samozřejmě) má třeba jiné cejchování - ale ty "dražší" mají kalibrační trimr, a ty "levnější" vlastně vůbec nevím jak by člověk měl nastavovat, no, to je dobrá otázka :)

Asi nějak v týdnu zaběhnu do GESu a koupím LM2907 (f/U konverze) a LM331 (U/f konverze), k tomu 4040 (nejsnažší řešení binární děličky) a operáky doma najdu.. a zaexperimentuju.
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#6 Příspěvek od MetalGod »

Násobič, ne dělič!
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 00:00
Bydliště: Kadaň
Kontaktovat uživatele:

#7 Příspěvek od Jenda_KL »

Co MCU? třeba (Tiny13) je to minimum součástek.
1. pin vstupní frekvence čtená
2. pin výstupní frekvence převedená podle tabulky
Uživatelský avatar
Zmije
Příspěvky: 1691
Registrován: 30 čer 2005, 00:00
Bydliště: Pardubický kraj

#8 Příspěvek od Zmije »

V digitálním zpracování signálu se to dělá pomocí decimace a interpolace. Decimace znamená vypuštění každého druhého (zvýšení f na dvojnásobek), třetího (zvýšení 3x), čtvrtého ...vzorku. Interpolace je pravý opak, tzn že vzorky se doplňují mezi původní a jejich hodnota se vypočítá aproximační funkcí, v nejjednodušším případě je to průměr mezi posledním a následujícím vzorkem.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#9 Příspěvek od procesor »

...vypúšťanie impulzov odkedy zvyšuje frekvenciu?
Uživatelský avatar
MiloshCZ
Příspěvky: 74
Registrován: 11 lis 2011, 00:00

#10 Příspěvek od MiloshCZ »

procesor píše:...vypúšťanie impulzov odkedy zvyšuje frekvenciu?

Jo to je správně, přehlédl jsi "v digitálním zpracování signálu". Když ti na jednu periodu vstupního signálu vyjde 10 vzorků, ty pak 5 vypustíš (např. každý sudý) a to co ti zbyde zase pustíš ven (se stejným rozestupem mezi jednotlivými vzorky) tak máš signál s dvojnásobnou frekvencí.
Tohle by šlo využít v problému, který má dj-bobr. Vstupní signál samplovat s nějakou vhodnou frekvencí a pak vypouštět vždycky x-tý vzorek (např. pro vynásobení 1.6 z 16 vzorků 6 zahodit - zbyde jich 10 takže jestli dobře počítám....)
Uživatelský avatar
dj-bobr
Příspěvky: 12
Registrován: 06 bře 2010, 00:00

#11 Příspěvek od dj-bobr »

No dobrý, a já čekal, že vezmu 4046, nějak šikovně ji zapojím a pojede to :) jo jo, Hurvínek a válka mají cosi společného, vím vím..
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#12 Příspěvek od MetalGod »

Taky by to šlo zcela bez násobičky, ale potřeboval bys na to tak 12-bitovej čítač dekrementálně počítající impulzy a 12-bitovej D/A převodník.

Vysvětlím- pomocí signálu z astabilního mulťáku o frekvenci třeba 1130.5Hz bys přerušoval impuls ze snímače otáček, přičemž při rychlosti 0.2km/h by byl každej pulz přerušen 4096× (a mezera by zůstala na log. 0; 1130.5Hz=8192Hz×0.69×0.2; max. rychlost skoro 205km/h), při vzrůstající rychlosti by počet impulzů klesal. To by se přivedlo do dekrementálního čítače (aby počítal sestupně, tj. od 4095 do nuly, od 0xFFF do 0x000) a z něj do D/A převodníku, signálem reset by pro ně byl počátek log. nuly z výstupu snímače otáček, čítač by navíc měl do dalšího signálu reset přestat čítat při 0x000 na jeho výstupu. No a dál by se to vedlo přes integrační článek (pro zamezení aliasingu) do OZ a z něj do U/f převodníku.
12 bitů je proto, že se vzrůstající rychlosti klesá přesnost měření, kdybys použil osmibit s rozsahem 1-255 km/h, už při stovce by to mohlo dělat paseku.
Výhodou tohohle by byla vysoká přesnost, zejména při nízkých rychlostech.
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#13 Příspěvek od mtajovsky »

A nešlo by to udělat v mikrokontroléru čistě SW prostředky? Na vstupu by se měřila perioda, což je u frekvencí do 150 Hz asi lepší. Prioda se dělí potřebným číslem a výsledný počet mikrosekund slouží pro generaci výstupních impulsů.
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#14 Příspěvek od MetalGod »

I to by bylo možný, jenom kdyby nepotřeboval onu jemnou kalibraci.
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#15 Příspěvek od mtajovsky »

Předpokládám, že takových 20 převodů/s by na tachometr stačilo. 150 Hz je 6,67 ms perioda, budu-li měřit se vzorkováním 10 us 3 periody, dostanu se na přesnost 1/2000 = 0,05% nejméně. Při nižsích rychlostech více. Za 50 ms by nějaký AVR snad zvládl i jednu floating point operaci dělení a převod na celé číslo se zaokrouhlením. Na výstupu to stejné, dekrementace výstupní periody po 10 us, při nule hrana impulsu. Celkem by přesnost mohla dosáhnout 0,2% a je teď otázkou, jestli je to dostatečné.
Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“