Zahada s termistorem a referenci

Jan Waclawek konfera na efton.sk
Neděle Březen 4 00:55:08 CET 2018


No dajte tie konkretne cisla (s povodnym kodom samozrejme).

wek


----- Original Message ---------------

Subject: Re: Zahada s termistorem a referenci
   From: "Pavel Hudecek" <edizon at seznam.cz>
   Date: Sat, 3 Mar 2018 23:24:10 +0100
     To: "HW-news" <hw-list at list.hw.cz>

>Ne. eCalConst je sice taky v EEPROM, ale jen ze zvyku, ve skuteènosti 
>program neobsahuje nic, co by tam zapisovalo.
>
>Nakonec jsem do foru, co provádí pøepoèet tìch kanálù, dal if, kde pøi 
>n==TEMP_ind je výpoèet lišící se tím, že na konci je /1000 místo /eRefKor. 
>Je to o kousek rychlejší, ale žere to o pár wordù z flashky víc, což mì, 
>vzhledem k obsazení 99 %, moc netìší. Ale rozdíl zmizel.
>
>Ale víc mi vadí, že mi stále není jasné, proè pùvodní øešení nefungovalo, 
>resp. to vypadalo, jakoby se tím vliv eRefKor naopak umocnil na 2.
>
>PH
>
>-----Pùvodní zpráva----- 
>From: Jan Waclawek
>A nemeni sa pri kalibracii aj nieco ine? Napr. eCalConst[TEMP_ind] vyzera
>ako kandidat. Ale to vidim len tak matne v tej mojej krystalovej guli.
>
>Ja to robim tak, ze si vsetky cisla pocas debugovania zistim, a potom sa
>pokusam ten vypocet urobit ja sam, rucne. Niekedy ten "aha!" moment pride
>uplne z necakanej strany, aj ked samozrejme dodatocne to vyzera ako "no
>jasne, ako si mohol taku sprostost vobec napisat".
>
>(chcel som sem dat link na moj posledny blogovy prispevok na uzone
>(popisujuci podobny trapas), ale ten je momentalne down)
>
>----- Original Message ---------------
>   From: "Pavel Hudecek" <edizon at seznam.cz>
>>v jednom zaoízení mám externí kalibraci reference poi výrobi. Poi 
>>zpracování
>>dat z ADC se pak provádí se všemi kanály následující výpoeet:
>>
>>adPrum[n] = (((ADt[n] * eCalConst[n]) / ADC_kroku) * AD_intDiv) / eRefKor;
>>
>>(hodni závorek je tam proto, aby mi optimalizátor výpoety neprohodil a
>>nepoetekl celoeíselný výpoeet)
>>
>>Poieemž eRefKor je korekce reference, eíslo nico kolem 1000, napo. 1005,
>>kdyby byla o 5 promile vyšší.
>>
>>Takhle to doboe funguje.
>>
>>Tedy až na teplotu (poesniji tisícinásobek pomiru aktuálního a nominálního 
>>R
>>termistoru) . Ta je z diliee z termistoru a refereneního odporu, které dilí
>>referenci. Výsledek by tedy nemil na referenci záviset.
>>
>>Tak jsem tam ješti poidal:
>>
>>AD_T = (AD_T * eRefKor) / 1000;
>>
>>(AD_T je nadefinováno jako adPrum[TEMP_ind])
>>
>>A myslel jsem si, že se tím prosti zbavím vlivu eRefKor. Realita je ovšem
>>taková, že hodnota se poi kalibraci zminí. Napo. z 1200 na 1080. 
>




Další informace o konferenci Hw-list