Měření špičky signálu na způsob "sample and hold"

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

Měření špičky signálu na způsob "sample and hold"

#1 Příspěvek od juxav001 »

Vážená skupino,

mohl by mi někdo prosím poradit se součástkou, která by dokázala na vstupu kontinuálně měřit napětí v rozsahu 0 až 5V, zaznamenat špičku (tj. nejvyšší dosaženou hodnotu) a tu podržet na výstupu tak dlouho, dokud ji nezresetuji?

Signál může mít rozsah 0 až 5V. Součástka by měla být schopná interně samplovat vstupní signál alespoň 1x za milisekundu a uložit nejvyšší hodnotu. Přes jiný vstup bych mikrokontrolérem prováděl reset zaznamenané hodnoty, respektive spustil nové měření.

V nejhorším případě by to šlo vytvořit zapojením kondenzátoru a tranzistoru (možná dvou, pro funkci reset). Toto zapojení mi ale není moc jasné, proto bych uvítal spíše nějaký IO obvod.

Děkuji.
Uživatelský avatar
rnbw
Příspěvky: 37418
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#2 Příspěvek od rnbw »

A nemozes rovno tym MCU merat?
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#3 Příspěvek od juxav001 »

Mikrokontrolér je Arduino. Tak rychlé meření s ním nelze zaznamenávat.
Uživatelský avatar
Milan121
Příspěvky: 726
Registrován: 07 pro 2005, 00:00

#4 Příspěvek od Milan121 »

V Amaterském radiu kolem roku 1990 bylo toto meření i s konstrukcí publikováno.
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#5 Příspěvek od juxav001 »

V roce 1990 jsem ještě nechodil ani do školy. :)
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#6 Příspěvek od juxav001 »

Zpět k tématu. Nenapadá mě ani jaký název by takováto součástka měla mít. Nějaký napěťový komparátor? ... uvítám jakoukoliv tip.

Děkuji.
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#7 Příspěvek od termit256 »

Jsi si opravdu jisty ze ta atmega co je v arduinu nezvladne vzorkovat 1kHz? Pokud ne (nemam tu ted datasheety) tak bych pouzil nejaky externi AD prevodnik.
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#8 Příspěvek od juxav001 »

Nemyslím si, že Arduino bude schopné vzorkovat signál 0 až 5V frekvencí 1kHz tak aby nebyla měřená hodnota zkreslená. Použitím externího AD převodníku se naopak obávám omezené rychlosti sériové sběrnice. Proto se mi jevil IO s poptávanou funkcí jako řešení.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#9 Příspěvek od procesor »

Špičku zachytí toto, samozrejme vznikne skreslenie narastajúce s frekvenčnými vlastnosťami meraného signálu.
Edit2:
V starých časoch sa v Rožnove robil S/H obvod MAC198. Ten vzorkuje na povel. Kedy..., to by mohol vedieť iný obvod na báze komparátora uloženej hodnoty a aktuálnej.
Pri resete sa môže stať, že ti ujde to maximum.
Naposledy upravil(a) procesor dne 27 lis 2017, 11:12, celkem upraveno 2 x.
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#10 Příspěvek od termit256 »

Jaky konkretne mcu mas v tom tvem arduinu? Pokud pouzijes prevodnik treba po i2c kde je frekvence sbernice minimalne 400kHz, musi to s prehledem stihat.
Uživatelský avatar
MetalGod
Příspěvky: 6560
Registrován: 30 kvě 2006, 00:00
Bydliště: Seč

#11 Příspěvek od MetalGod »

Kdyby sis laskavě vygůglil "Sample and hold", našel bys toho mraky. Jsou to zpravidla zapojení s OZ.

P. S.: Na takovou kravinu tahat Ardchujíno?! 8O
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#12 Příspěvek od FHonza »

juxav001 píše:Mikrokontrolér je Arduino. Tak rychlé meření s ním nelze zaznamenávat.


A na to si přišel jak ? Např. ATmega16 s krystalem 16MHz má 15k vzorků za sekundu. A když ti bude stačit menší než 10ti bitové rozlišení, tak ještě víc.
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#13 Příspěvek od juxav001 »

procesor: děkuji za odkaz. Zapojení s tranzistorem je přesně to co potřebuji. Změřím a resetuji. Maximální délka měření i s resetem bude 100ms a chyba vzniklá v tomto čase je pro mě nedůležitá.

termit256: jaký externí AD převodník dokáže vzorkovat s takovou frekvencí a komunikovat přes I2C?

MetalGod: to jsem samozřejmě zkoušel googlit, ale klasický princip "samle and hold" je trochu jiný než potřebuji. Arduino v tomto případě slouží jen jako komunikační můstek mezi zařízením a počítačem.
Uživatelský avatar
juxav001
Příspěvky: 18
Registrován: 27 lis 2017, 00:00

#14 Příspěvek od juxav001 »

FHonza píše:
juxav001 píše:Mikrokontrolér je Arduino. Tak rychlé meření s ním nelze zaznamenávat.


A na to si přišel jak ? Např. ATmega16 s krystalem 16MHz má 15k vzorků za sekundu. A když ti bude stačit menší než 10ti bitové rozlišení, tak ještě víc.


Když si vezmu plný rozsah 0 až 5 voltů a způsob jakým Arduino využívá AD převodník. Za jak dlouho bude AD převodník schopný provést nové měření na vstupu, tak aby nebyla hodnota zkreslená z předchozího měření?
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#15 Příspěvek od FHonza »

Když vezmu třeba tu ATmega16 (u té si to pamatuji z hlavy, u 328 to bude podobné):
První rozšířený převod trvá 25 hodinových cyklů převodníku, normální 13 cyklů. Takže při hodinovém kmitočtu 200kHz převodníku a volném běhu převodu je to těch cca 15k vzorků za sekundu. Pro každý zvlášť spouštěný převod s úplnou inicializací je to 8k vzorků.

Jinak externí A/D s I²C sběrnicí 1kHz vzorkování zvládají snad všechny. Namátkou ADS101x, nebo INA219 (tam lze měřit i proud)
Odpovědět

Zpět na „Poradna“