Stránka 1 z 2
Měření špičky sinusovky AVRkem
Napsal: 12 říj 2019, 12:00
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.
Napsal: 12 říj 2019, 12:11
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.
Napsal: 12 říj 2019, 12:37
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
Napsal: 12 říj 2019, 12:50
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.
Napsal: 12 říj 2019, 13:45
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?

Napsal: 12 říj 2019, 13:47
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.
Napsal: 12 říj 2019, 14:05
od ZdenekHQ
Mimochodem, ta amplituda 1-100V a kmitočet 40Hz-1kHz se mění jak rychle?
Napsal: 12 říj 2019, 14:08
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.
Napsal: 12 říj 2019, 14:19
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.
A tohle chodí jako usměrňovač spolehlivě.

Napsal: 12 říj 2019, 14:26
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.

Napsal: 12 říj 2019, 15:00
od ZdenekHQ
Jestli jde čistě o peak-detector, tak jsem to špatně pochopil, nějak jsem usoudil, že chce i detekovat průchod maximem...
Napsal: 12 říj 2019, 15:29
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ý.
Napsal: 12 říj 2019, 15:49
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.

Napsal: 12 říj 2019, 17:45
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

Napsal: 12 říj 2019, 17:57
od ZdenekHQ
Nebude to tím, že potřebuje záporný napájení?
Všechno se dá upravit.