Měření špičky sinusovky AVRkem

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
DavidChlup
Příspěvky: 69
Registrován: 03 zář 2019, 00:00
Bydliště: Karlovy Vary

Měření špičky sinusovky AVRkem

#1 Příspěvek od DavidChlup »

Ahoj, už pár dní řeším, jka měřit vrchol sinusovky u AVR (mega16) při frekvenci, která se může měnit 40Hz - 1kHz.

Nejdřív jsem zkusik usměrnit, ale na diodě mám úbytek, tak jsem postavil usměrňovač z OZ, na kterým úbytek není, ale zase je tam zvlnění, které mi ovlivňuje výsledek (ADC je v režimu runtime).

Tak jsem zkusil přímo ten průběh napálit do ADC a vždy porovnávat naměřenou hodnotu s tou předchozí, ve chvíli, kdy je naměřená hodnota menší, tak je ta předchozí nejvyšší. Porovnával jsem takhle 10bit číslo pomocí CP a CPI. No ani to mi nefungovalo, nevím proč (šum ADC nebo něco jinýho tomu asi vadilo)...

Ještě jsem zkoušel pár zapojení s Oz (něco jako peak indikátor), kdy by ve chvíli vybuzení (u vrcholu) vyslal impuls do procesoru a spustil jednorázový měření. Ale tam byl problém, že tam bylo i pár diod a ty se otevřeli až při 0,7V, a to u ADC, co měří do 2,56V značí problém.

Měřený napětí je 0-100V(špička), který se opatří patřičným odporovým děličem.

Jakýkoliv nápad, buď už na samotné měření v AVR nebo na nějaký indikátor špiček budu moc rád.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#2 Příspěvek od ZdenekHQ »

Usměrňovače s OZ sice fungují naprosto spolehlivě, pokud zrovna nekmitají, ale u sinusovky je usměrnění stejně nanic, pokud je teda symetrická kolem nuly. Pokud by byla DC ujetá, je logický, že nejvyšší hodnota bude na té straně, na které je ujetá.

Stoprocentní maximum se u sinusovky s proměnným kmitočtem jen pomocí převodníku hledá blbě, ale matematicky stačí derivace, tj. kondenzátor v serii se signálem a komparátor.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Uživatelský avatar
PavelFF
Příspěvky: 5328
Registrován: 18 úno 2008, 00:00
Bydliště: Brno

#3 Příspěvek od PavelFF »

DavidChlup píše:...Ještě jsem zkoušel pár zapojení s Oz (něco jako peak indikátor), kdy by ve chvíli vybuzení (u vrcholu) vyslal impuls do procesoru a spustil jednorázový měření. Ale tam byl problém, že tam bylo i pár diod a ty se otevřeli až při 0,7V, a to u ADC, co měří do 2,56V značí problém....
To se mi moc nezdá. U obvodů s operákem je vliv úbytku na diodě principiálně značně potlačen. Rozhodně nejde o 0,7V.

http://sound-au.com/appnotes/an014.htm
Uživatelský avatar
DavidChlup
Příspěvky: 69
Registrován: 03 zář 2019, 00:00
Bydliště: Karlovy Vary

#4 Příspěvek od DavidChlup »

To jsem mymslel tak, že jsem zapojil usmerňovač s OZ abych dostal na výstupu ss napětí o patřičné úrovni. Tuhle ss uroveň jsem pustil do komparátoru, kde na druhém vstupu byla sinusovka o stejném Umax, jako je usměrněná složka. Ve chvíli, kdy se sinusovka blíží vrcholu, dorovná ss složku a pokud onu ss složku o kousek uberu, tak mi na okamžik ta stř složka dosáhne větší úrovně a vystup komparátoru se v tomto vrcholu překlopí. Teoreticky to zní dobře. Ale prakticky mi to prostě nejelo. Při průběhu nulou až do cca 0,7V se mi komparátor překlopil taky.

Zkusím ještě udělat nějaký zapojení s OZ, aby byla sinusovka vždy jen kladná. Tj posunu pracovní bod někam nahoru k 5V a od něj se to bude odrážet o 1,28V. Rozdíl bude 2,56V a když to oddělim kondenzátorem, tak budu mít průběh, kde se mi nebude otáčet polarita. Ale to je asi stejnak slepá ulička.

Jako poslední (a asi nejlepší) možnost je měřit trueRMS a z toho si vše v procesoru dopočítat. Navíc by to bylo asi nejpřesnější, protože RMS bych taky potřeboval měřit. Jen nevím, jak vzrokovat měření u frekvence, co se mění. Tuhle možnost jsem ještě moc nezkoumal.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#5 Příspěvek od ZdenekHQ »

DavidChlup píše:Jako poslední (a asi nejlepší) možnost je měřit trueRMS a z toho si vše v procesoru dopočítat. Navíc by to bylo asi nejpřesnější, protože RMS bych taky potřeboval měřit.

A ona efektivní hodnota má nějaký minima a maxima, že pomocí trueRMS zjistíš maximum sinusovky? 8O
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#6 Příspěvek od termit256 »

Nevim jakou presnost potrebujes, ale pokud ti nestaci ten mizerny integrovany AD prevodnik, pouzij nejaky lepsi externi. Taky nezapomen, ze AD prevodnik ma nenulovou kapacitu vstupu, coz muze ve spojitosti s nejakym silenym delicem u takoveho signalu pusobit problem.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#7 Příspěvek od ZdenekHQ »

Mimochodem, ta amplituda 1-100V a kmitočet 40Hz-1kHz se mění jak rychle?
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#8 Příspěvek od rnbw »

Preco vadi ubytok na diode? Zmeraj ho a v programe pripocitaj. Ked diodu zapojis pred delic, vplyv diody na nameranu hodnotu sa este zmensi.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#9 Příspěvek od ZdenekHQ »

Snad umí zapojit "elektronickou diodu" bez úbytku, když po ní touží, ne? OZ + dioda. Na tom není co pokazit, kompenzovat to pevnou hodnotou je nesmysl.

Obrázek

A tohle chodí jako usměrňovač spolehlivě.

Obrázek
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Uživatelský avatar
lesana87
Příspěvky: 4397
Registrován: 20 zář 2014, 00:00

#10 Příspěvek od lesana87 »

Přijde mi jako nejlepší ten vylepšený špičkový detektor, místo reset tlačítka malej MOSFET. Sinus prohnat komparátorem, průchodem nulou dolu spustit A/D převod a poté sepnout MOSFET, průchodem nulou nahoru MOSFET rozepnout.
Obrázek
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#11 Příspěvek od ZdenekHQ »

Jestli jde čistě o peak-detector, tak jsem to špatně pochopil, nějak jsem usoudil, že chce i detekovat průchod maximem...
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#12 Příspěvek od Crifodo »

Proměnný kmitočet, detektorem nuly odstartovat měření doby periody, další nulou ho stopnout, se znalostí délky periody pak vzorkovat hodnoty tak aby počet měření odpovídal času mezi minimu a maximu?
Některé IO pro fázové řízení měly detektor průchodu nulou obsažený.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#13 Příspěvek od ZdenekHQ »

Jo, tak nakonec čtyřnásobnej OZ, třeba TLC274, jeden na detekci nuly (nemusí být přesná), dva na usměrňovač a peak-detector, a AVR to jen slavnostně navzorkuje a resetne. :)
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Uživatelský avatar
DavidChlup
Příspěvky: 69
Registrován: 03 zář 2019, 00:00
Bydliště: Karlovy Vary

#14 Příspěvek od DavidChlup »

Zdeňku, přesně ten druhý usměrňovač jsem zkoušel, kmital mi při každé druhé půlvlně a měl jsem tak úbytek, já ho zkusím ještě s jinými OZ.

RMS by mi stačilo, protože z toho bych max hodnotu dopocital. Při snímání se frekvence nemění. Jen úroveň napětí. Frekvenci pak měním mimo měření.

Já to upresnim, má to fungovat jako voltmetr do 100V při různých frekvencích. Kde potřebuju měřit napětí ve špičce.

Večer, až budu doma, vyzkouším vaše návrhy s OZ :)
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#15 Příspěvek od ZdenekHQ »

Nebude to tím, že potřebuje záporný napájení?

Všechno se dá upravit.
Pro moje oslovení klidně použijte jméno Zdeněk
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[?
]
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“