Zahada s termistorem a referenci

Pavel Hudecek edizon na seznam.cz
Sobota Březen 3 18:52:13 CET 2018


Dobrý den všem,

v jednom zařízení mám externí kalibraci reference při výrobě. Při zpracování 
dat z ADC se pak provádí se všemi kanály následující výpočet:

adPrum[n] = (((ADt[n] * eCalConst[n]) / ADC_kroku) * AD_intDiv) / eRefKor;

(hodně závorek je tam proto, aby mi optimalizátor výpočty neprohodil a 
nepřetekl celočíselný výpočet)

Přičemž eRefKor je korekce reference, číslo něco kolem 1000, např. 1005, 
kdyby byla o 5 promile vyšší.

Takhle to dobře funguje.

Tedy až na teplotu (přesněji tisícinásobek poměru aktuálního a nominálního R 
termistoru) . Ta je z děliče z termistoru a referenčního odporu, které dělí 
referenci. Výsledek by tedy neměl na referenci záviset.

Tak jsem tam ještě přidal:

AD_T = (AD_T * eRefKor) / 1000;

(AD_T je nadefinováno jako adPrum[TEMP_ind])

A myslel jsem si, že se tím prostě zbavím vlivu eRefKor. Realita je ovšem 
taková, že hodnota se při kalibraci změní. Např. z 1200 na 1080.

Co jsem přehlédl?

Díky,
PH 



Další informace o konferenci Hw-list