ATTINY1626 mereni teploty
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Červen 25 19:26:42 CEST 2022
Jinak SIGROW.TEMPSENSE1 je -4 a SIGROW.TEMPSENSE0 140 u kusu ktery
testuju, uvidime u dalsich. Udelam v nastaveni korekci, je to jen na
orientacni mereni (balancer lifepo) ale prekvapi to.
Horsi je jen STM32, tam to je ujete o desitky stupnu v zakladu, co jsem
obcas zkusil ;-)
Dne 25.06.2022 v 18:39 Jaroslav Buchta napsal(a):
> No, napeti koukam vliv ma, ale tak velky ne, realna teplota je tak 24 st.
>
> >adm
> MCU Voltage: 0x06c4 2.733 V, Cycles: 869
> >adt
> Temperature: 0x08c0 +35.2 stC, Cycles: 883
> >adt
> Temperature: 0x08c1 +35.2 stC, Cycles: 894
> >adt
> Temperature: 0x08b8 +34.7 stC, Cycles: 911
> >adm
> MCU Voltage: 0x0873 3.123 V, Cycles: 917
> >adt
> Temperature: 0x08b9 +34.1 stC, Cycles: 1021
> >adt
> Temperature: 0x08ba +34.1 stC, Cycles: 1030
> >adm
> MCU Voltage: 0x0cca 5.077 V, Cycles: 1171
> >adt
> Temperature: 0x08a7 +31.8 stC, Cycles: 1178
> >adt
> Temperature: 0x08a8 +31.9 stC, Cycles: 1187
>
> Dne 25.06.2022 v 18:33 Pavel Hudeček napsal(a):
>> Taky jsem na to kdysi narazil a finální odpověď byla, že kalibrační
>> hodnoty jsou pro jiné napájecí napětí. Myslím že pro 3,0 V a já měl
>> 5. Takže je potřeba si ten offset a násobící koeficient udělat vlastní.
>>
>> PH
>>
>> Dne 25.06.2022 v 16:24 Jaroslav Buchta napsal(a):
>>> Zkousim pouzit interni senzor a pri aplikaci vypoctu podle DS
>>> dostavam teplotu o cca 10 stC vyssi.
>>>
>>> Necekam zazraky, ale kdyz uz maji ve flash korekcni koeficienty z
>>> vyroby, tak bych cekal, ze to okolo bezne pokojove teploty bude
>>> fungovat lib, zvlast, kdyz v DS je odchylka tusim max 3 stupne.
>>>
>>> Nenapada nekoho, kde je chyba? Algoritmus vypoctu mam trosku
>>> upraveny a je tam akumulace ADC 16x ale puvodni podle DS funguje
>>> stejne. MCU bezi na 2MHz a netrpi samoohrevem. Jinak ADC funguje na
>>> ostatni mereni skvele a presne podle vypoctu.
>>>
>>>
>>>
>>> case 3: // temperature measurement
>>> adctemp_raw =
>>> (uint16_t)ADC_0_get_conversion_result();
>>> {
>>> int8_t sigrow_offset =
>>> SIGROW.TEMPSENSE1; // Read signed offset from signature row
>>> uint8_t sigrow_gain =
>>> SIGROW.TEMPSENSE0; // Read unsigned gain/slope from signature row
>>> uint16_t adc_reading = adctemp_raw
>>> >> 6; // 10-bit MSb of ADC result with 1.024V internal reference
>>> adc_temp = (float)(adc_reading -
>>> sigrow_offset);
>>> adc_temp *= (float)sigrow_gain; //
>>> Result might overflow 16-bit variable (10-bit + 8-bit)
>>> adc_temp /= 256.0F;
>>> adc_temp -= 273.15F;
>>> }
>>> break;
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list