[elektro] PIC AD - gond
Pogáts Árpád
pogats.arpad at kabelszat2002.hu
Mon Apr 1 18:04:01 CEST 2013
Nos.
A hiba az AD beállításában volt.
A történet a következő.
Ez a kontroller eléggé tempósan jár (64MHZ PLL-el), ez amúgy azért kell,
mert egy 3 csatornás 10 bites felbontású szoftveres PWM-et kell
kiszolgálnia,
még "megpúpozva" egy grafikus LCD-re írogatással.
Induló állapotként 2 AD bemenet Li-Po akkucellák feszültségét mérte,
valamint egy termisztor
által szolgáltatott értéket. Alapvetően az akkucellák (még fesz.osztóval
is) viszonylag kis impedanciás források,
a termisztor meg nem kalibrált, csak egy egyszerű ablak komparátor
funkcióhoz kell. (hővédelem ventillátorral)
Az induló állapotban ezek a mérések hibátlanul mentek az alábbi AD
beállítással:
setup_adc(ADC_CLOCK_DIV_BY_8 | VSS_VDD) | ADC_TAD_MUL_20);
Az utólag ráakasztott HALL szenzor ráadásul, mivel már szabad AD bemenet
(port) nem volt,
egy piezo-csipogót meghajtó FET gate-el közösen lett megoldva. Önmagában
ez nem gond,
de el kellett választanom egy soros ellenállással a FET-et meghajtó
kimeneti állapotot és a szenzor
kimenetét, hogy ne akadjanak egymásba. Méréskor a port bemenet, a FET
gate-je nem terhel.
De.
Úgy tűnik, hogy az S/H kapacitás töltés-kisütés ezzel az AD órajellel,
illetve a bemenet impedanciájával,
már hibás méréseket produkált, bizonyos fesz. tartományokban, de nem
mindenhol. Sajna ezt nem vettem észre
először.
A megoldás roppant egyszerű, az AD órajelet felezve a hiba megszűnt.
Máshol ez nem okoz problémát,
mivel nincs szükség gyors mérésekre.
Történet vége. (happy end)
Mindenkinek köszi az ötleteket!
üdv:pogi
2013.04.01. 11:01 keltezéssel, Horvath Janos írta:
> Szia!
>
> Nekem pont most kellene szenvednem vágott gyűrűbe hasonlóval.
> Én +-670Gaus érzékenységű SS49-et vettem (az TP kimenetű).
> Kérdés:
> A gyűrűn átmenő 1 vezeték esetén, kb 200A áramhoz
> milyen mágneses permeabilitású vas kell kb. 20mm közepes vasátmérőnél?
> Vágott vasat meg nem találtam boltban...marad a nyiszálás.
> JAni
> 11:01
>
>
>> Ehhez is, csak írok marhaságokat össze-vissza.
>> Természetesen a "sourcing output"-ra pozitív logika esetén
>> terhelést kell tenni, testre kötve.
>> De. Érdekesen alakul a helyzet.
>> Próbaképpen ráakasztottam egy 2k2 ellenállást, nos onnantól kezdve
>> szépen mutatta a fél-tápot de nem mozdult semerre.
>> Olyan érzésem van, hogy a szenzor kimenete "túlterhelődik" az AD
>> bemenet rákapcsolásakor, amit meg még pluszban rátettem, azzal meg is
>> szűnt a szenzor
>> kimenetének működése. Nagyon fura.
>> A szenzor egyébként: Honeywell SS39ET.
>>
>> Persze én is úgy szoktam csinálni, hogy teszek egy követő erősítőt az AD
>> elé,
>> de ez a mérés sajnos utólagosan került bele a kacatba, nem volt
>> tervezve. Kényszerből.
>> Az a baj, hogy nem vettem észre a próbák alatt ezt a fura viselkedést.
>>
>> Vizsgálódom még az AD beállításokban is, lehet, hogy le kell lassítanom,
>> illetve a beállási idővel szórakozni, meglátjuk.
>>
>> Köszönöm a tippeket mindenkinek!
>> Na küszködöm tovább.
>>
>> üdv:pogi!
>>
>> 2013.03.30. 9:22 keltezéssel, Horvath Janos írta:
>>> Szia!
>>> Nincs mit...
>>> Mert szerinted én nem szívtam meg ezzel?
>>> Azé vagyok ám ilyen nagyokos.
>>> De amit én használtam, ahhoz nem felhúzó, hanem terhelés kellett.
>>>
>>> Ja, és persze az átlagoló algoritmusok is szoktak néha érdekes dolgokat
>>> csinálni.
>>>
>>> CSLAxxx-t használsz?
>>> JAni
>>> 09:22
>>>
>>>
>>>> Átrágtam az adatlapot és TÉNYLEG!
>>>> Eddig rendben is.
>>>>
>>>> Trükkös a dolog.
>>>> Valószínűleg az lehet, hogy az AD egy bizonyos feszültség alatt
>>>> megrángatja a szenzor kimenetet. Nagyon nehezen találtam rá a pici kis
>>>> impulzusra a
>>>> szkópon, most hogy felhívtad a figyelmemet erre a figyelmetlenségemre!
>>>> :-))))
>>>> Na akkor valami felhúzókát kell fabrikálnom rá.
>>>> Az a siralom, hogy ez már késztermék és eddig nem vettem észre ezt a bibit.
>>>>
>>>> Na talán egy ellenállást be bírok utólag farigcsálni.
>>>> Köszönöm a tippet!
>>>>
>>>> üdv:pogi
>>>>
>>>>
>>>> 2013.03.29. 20:26 keltezéssel, Horvath Janos írta:
>>>>> Szia!
>>>>> Véletlenül nem forrás kimenetű az áramszenzorod?
>>>>> JAni
>>>>> 20:26
>>>>>
>>>>>
>>>>>> Üdv a nagyérdeműnek!
>>>>>>
>>>>>> Ötletet keresek a felmerült probléma megoldásának ügyében.
>>>>>> Az elkövető: PIC18F46K22.
>>>>>> Adott egy AD csatorna, melyen érdekes jelenséget produkál, több példány
>>>>>> is. (mindegyik)
>>>>>> Egy lineáris HALL szenzor jelét méri, mely szenzor nyugalomban táp/2
>>>>>> feszültségen van.
>>>>>> Ha olyan polaritású mágnessel közelítem, ami a szenzor kimeneti
>>>>>> feszültségét csökkenti,
>>>>>> akkor minden tökéletesen működik, a mért érték teljesen pontosan követi
>>>>>> a feszültség
>>>>>> változását.
>>>>>> Viszont.
>>>>>> Ha megfordítom a mágnes polaritását, akkor a mágnes közeli állapotában a
>>>>>> feszültséget megfelelően
>>>>>> méri, majd a mágnes óvatos távolításával hirtelen a mért érték
>>>>>> visszaugrik középértéknek
>>>>>> megfelelő bináris értékre. (AD-ból kiolvasott adat) Ezzel párhuzamosan
>>>>>> folyamatosan mérem műszerrel
>>>>>> a szenzor feszültségét és az analóg jel NEM ugrik, szépen folyamatosan
>>>>>> csökken.
>>>>>> Tápfeszből veszem az AD referenciáját: 3,0 V
>>>>>> Mérendő jel változásának tartománya: 1,5-1,2V egyik irányban.
>>>>>> Mérendő jel változásának tartománya: 1,5-1,75V másik irányban.
>>>>>> A hibás mérés esetén a feszültséggel arányos mért érték 1,65V-ig jól
>>>>>> követi a bemenetet,
>>>>>> majd ezt a küszöbértéket lefelé elhagyva (bin.: 580) az AD kimenete
>>>>>> hirtelen "fél tápra" (bin.: 511) ugrik.
>>>>>>
>>>>>> Baromira nem értem a dolgot.
>>>>>>
>>>>>> Ezen kívül több analóg mérés is van az eszközben azokkal semmi gond.
>>>>>>
>>>>>> Mi ez?????
>>>>>>
>>>>>> Tudna valaki ötlete adni? Mit nem látok?
>>>>>>
>>>>>> Előre is köszönettel!
>>>>>>
>>>>>> üdv:pogi
>>>>>>
>>>>>> -----------------------------------------
>>>>>> elektro[-flame|-etc]
>>>>>>
>>>>> -----------------------------------------
>>>>> elektro[-flame|-etc]
>>>>>
>>>> -----------------------------------------
>>>> elektro[-flame|-etc]
>>>>
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list