Indikace přeplnění u ADC převodu.

jovi
Příspěvky: 5
Registrován: 29 dub 2016, 15:07

Indikace přeplnění u ADC převodu.

Příspěvek od jovi » 01 kvě 2016, 09:46

08M2. Například READADC10 a interní reference 4,096V. Po překročení napětí na vstupu např 4,1V je v proměnné výsledek odpovídající 0,004V. To v mé aplikaci může být nebezpečný stav. Marně hledám metodu jak SW indikovat překročení napětí reference. Jednoduchá metoda IF W1>1023 samozřejmě nefunguje. Použití dalšího vstupu není SW metoda a navíc jsou všechny obsazené a na DPS již není místo.

pgerla
Příspěvky: 349
Registrován: 11 dub 2013, 00:17

Re: Indikace přeplnění u ADC převodu.

Příspěvek od pgerla » 01 kvě 2016, 11:01

? Nerozuměl jsem už nadpisu. O to méně rozumím dotazu. Co to máte za převodník? Při postupné aproximaci neexistuje žádné přetečení z 1023 na "nulovou" malou hodnotu.

Uživatelský avatar
Dex
Administrátor
Příspěvky: 922
Registrován: 16 úno 2013, 14:26

Re: Indikace přeplnění u ADC převodu.

Příspěvek od Dex » 01 kvě 2016, 11:16

Proč to prostě nemáte udělané tak, aby k "přetečení" nedošlo? Neznám konkrétní aplikaci, ale u 10bit převodníku máte spoustu "prostoru".

V neposlední řadě si dejte pozor, protože to Vaše "přetékání" může převodník odpálit. Pochopitelně záleží na konkrétním zapojení, které neznáme.
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

jovi
Příspěvky: 5
Registrován: 29 dub 2016, 15:07

Re: Indikace přeplnění u ADC převodu.

Příspěvek od jovi » 01 kvě 2016, 21:31

No domnívám se že je to fórum Picaxe. Typ jsem napsal. Příkaz který převod činí také. Jedná se o měření napětí. Pokud napětí člověk měří, obvykle proto že neví jaké je. Tudíž překročení rozsahu těžko může předcházet. Stačilo by mi najít nějaký způsob indikace že k tomu došlo.
V Turbo Pascalu by problém nebyl ale v Picaxe Basic jaksi nemohu nic najít.

Uživatelský avatar
Dex
Administrátor
Příspěvky: 922
Registrován: 16 úno 2013, 14:26

Re: Indikace přeplnění u ADC převodu.

Příspěvek od Dex » 01 kvě 2016, 22:00

Pokud se domníváte, že můžete pomocí PICAXE jen tak změřit libovolně velké napětí, tak se obávám, že tak to prostě není (a třeba u Arduina je to stejné). Můžete měřit maximálně do hodnoty referenčního napětí (to bývá často stejné jako napájecí napětí PICAXE). Jinak reálně hrozí zničení PICAXE (nebo třeba Arduina).

Zkusím to vysvětlit na příkladu. Mám 12 V akumulátor a chci pomocí PICAXE napájeného 5 V měřit jeho napětí. Ten akumulátor může mít plně nabitý klidně i 14,2 V. Postavím tedy dělič napětí (dva rezistory), které mi rozdělí teoretické maximum 15 V (ať se to dobře počítá) na jednu a dvě třetiny. Jedna třetina nikdy nebude více jak 5 V. To v klidu změřím pomocí PICAXE a výsledek vynásobím třemi (měřil jsem jen jednu třetinu).

Musíte to správně ošetřit na úrovni hardware nikoliv software.

Už je to jasnější?
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

DavidO
Příspěvky: 604
Registrován: 01 kvě 2013, 21:27

Re: Indikace přeplnění u ADC převodu.

Příspěvek od DavidO » 01 kvě 2016, 23:20

jovi píše:Pokud napětí člověk měří, obvykle proto že neví jaké je.
Obvykle. Přesto ...
jovi píše:Tudíž překročení rozsahu těžko může předcházet.
... tohle NE!!! Bacha! Tohle je zásadní a fatální CHYBA v úvaze!

Pro mikrokontrolery (a nejen pro ně) je překročení parametrů pro napětí obvykle destrukční. Netřeba se obávat, prostě je. Překročíte -> fyzická likvidace. Možná to někdy jednou ustojí, ale to je spíše náhoda.

Je naprosto nezbytné vědět, v jakém rozsahu se měřená veličina může pohybovat. Podle toho se volí způsob měření. Pokud nemáte zaručeno nějaké definované maximální napětí, tak je potřeba to ošetřit na úrovni zapojení třeba tak, že v případě přepětí se "elektrony přesměrují jinam". Pokud chcete měřit něco, co je v principu v jiném rozsahu, než co umí měřit měřák, tak je potřeba to tomu měřáku přizpůsobit, třeba v některých jednoduchých případech tím odporovým děličem.

Kdybych vzal Vaše tvrzení do důsledku, tak tím říkáte něco jako že by mělo jít mikrokontrolerem napájeným 5 volty měřit cokoli od pidivoltů po dálkové vedení ČEZu.

pgerla
Příspěvky: 349
Registrován: 11 dub 2013, 00:17

Re: Indikace přeplnění u ADC převodu.

Příspěvek od pgerla » 02 kvě 2016, 01:26

Obvykle se u MCU měří napětí mezi PINEM a GND. Dle 0,004 V se u PICAXE měří mezi AREF a PINEM. No já dělám do včel.

daton
Příspěvky: 479
Registrován: 16 bře 2013, 16:12

Re: Indikace přeplnění u ADC převodu.

Příspěvek od daton » 02 kvě 2016, 20:49

Zdravím
no jedna možnost by tu byla, něco podobného jsem řešil na svém projektu solárního regulátoru když jsem chtěl indikovat poruchový stav. Jedná se o to že není možné nechávat přetížit vstup picaxe napětím vyšším jak 5V, to ale neznamená že to přepětí nelze zjistit . Toho se dá dosáhnout různými způsoby já jsem použil zenerovu diodu na 0,5W která má ostřejší koleno než 1,3W. To koleno je celkem zásadní samozřejmě musí být na vstupu ještě zařazen odpor na kterém zenerka v případě poruchy vytvoří úbytek napětí a nedovolí na vstupu přesáhnout zmíněných 5V.
Ten způsob tkví ve využití toho kolena zenerky. Tam je dobré si udělat laboratorní měření protože každá zenerka má trošičku odlišné parametry v kolenu. Funguje to takto, 10bitový převodník by měřil správně až do, ted odhad asi 900 - 950, což je tak 4,8V . Dál už začne fungovat omezení zenerky a napětí již nebude lineární s tím naměřeným (zenerka začne omezovat) ale právě toho se dá využít a nakalibrovat si tento nelineární konec křivky tak aby jsi například věděl že když ti převodník dá 1000 tak už je na vstupu (toho předřazeného odporu) kolem 8V což značí velké přesah v měřeném napětí. Nebo jen pro indikaci že je tam víc než 5V což bude právě v okolí těch 950. Tu nelineární část protaženého měřícího rozsahu musíš ošetřit softwarově. Já to mám jako indikaci poruchy v případě proražení výkonového polovodiče , že se má vyvolat poplach - parametry jsou mimo normální rozsah hodnot.

jovi
Příspěvky: 5
Registrován: 29 dub 2016, 15:07

Re: Indikace přeplnění u ADC převodu.

Příspěvek od jovi » 03 kvě 2016, 10:22

Vidím že se tu nedočkám rozumné odpovědi na SW problém. Nejvíce se všichni zabývají triviálními problémy na něž jsem se neptal. Dostalo se mi mnoha varování které nepotřebuji a moudra od začátečníků. Pro ně tedy podrobněji. Je to jednoduchý voltmetr pro slepce se zvukovým výstupem.
Na vstupu má dělič 1:10. Při použití vnitřní refrence 08M2 4,096V je rozsah měření do 40Vdc. Nejsem břídil takže samozřejmě vstupní obvody obahují ochrany které ochrání vnitřnosti voltmetru až do napětí 300Vac omylem připojených na vstup i když se nedá předpokládat že by se slepec v něčem takovém hrabal. Voltmetr je určen pro kontrolu různých baterii a zdrojů bezpečného napětí. Funkce je již vyzkoušena i v praxi nevidomého. Ověřená přesnost měření napětí je lepší než 1%.
Pouze při nepatrné pravděpodobnosti může dojít k tomu že měřené napětí bude větší než 40V. Pak vlivem přeplnění ADC převodník 08M2 počítá zas od nuly a voltmetr místo třeba 45V hlásí 5V. Není to sice drama ale rád bych to ošetřil. Přidání dalších obvodů není problém jen to výrobek dále zdraží a nevidomí nemívají moc peněz. Proto jsem se tu zeptal nemá li někdo nápad na řešení čistě programové v 08M2.
Nemá. Dík.

DavidO
Příspěvky: 604
Registrován: 01 kvě 2013, 21:27

Re: Indikace přeplnění u ADC převodu.

Příspěvek od DavidO » 03 kvě 2016, 10:39

jovi píše:Vidím že se tu nedočkám rozumné odpovědi
Možná by pomohlo dávat rozumné dotazy. Tohle kdybyste napsal hned na začátku, ušetřili jsme si nedorozumění. Původní dotaz zněl velmi zavádějícím způsobem.
Nicméně i s takovýmto vysvětlením bych odpověděl obdobně, možná jen ne tak polopaticky. Stále se domnívám, že je nezbytné ošetřit zapojením, aby do AD převodníku za všech okolností šlo jen výrobcem AD převodníku povolené napětí. Řešit to až v SW je jednoduše pozdě a ani slepej se z toho nevylže.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host