skusenost: takto moze dopadnut AD prevod z "plavajuceho" pinu

Jan Waclawek konfera@efton.sk
Pondělí Únor 16 19:49:24 CET 2009


Napisal som takyto program: zo 4-vstupoveho AD prevodnika citam hodnotu 1. vstupu, potom 2., znova 1., potom 3., znova 1. potom 4. a tak dokolecka. Hodnotu 1. vstupu vypisujem na display - samozrejme len tak sem-tam, asi 10x za sekundu; ale citanie z AD prevodnika bezi stale v tempe prevodu, takze ten vypis je "asynchronny" voci tomu citaniu prevodnika, proste sa z dlheho radu nacitanych hodnot vypise len niektora sem-tam (je to len taky predbezny testovaci programcek pre novy hardware).

Na 1. vstupe je zapojeny potenciometer, takze si na nom mozem nastavit nejake napatie; ostatne vstupy su v "lufte" (OK, viem, ze nemaju byt; to je len tak zatial).

Urobil som chybu, a do premennej pre 1. vstup som zapisoval aj hodnotu citanu z 2. vstupu - klasicky copy-paste problem.

Ale fungovalo to. A este ako zaujimavo: hodnota na displeji poskakovala, ale nielen o 1, ako byva pri AD prevodnikoch dobrym zvykom, ale o viac. Tak som krutil potenciometrom a zistil som, ze to poskakuje takmer presne o 1% hodnoty, t.j. ked malo byt zobrazene 840, tak to z 840 preskakovalo na 832 (plusminus jeden).

Ten 2. vstup je vedeny pozdlz 1. vstupu asi 2 cm, potom to konci na konektore a uz nikam inam to nejde. Siroko-daleko od toho 2. vstupu nic nie je pripojene ani vedene. 3. vstup vedie inam, a to na konstantne napatie.

Chvilu mi to trvalo, kym som tu chybu nasiel...

wek





Další informace o konferenci Hw-list