Frekvensmätning

Planering och tankar kring eventuella framtida projekt.
MGL
Inlägg: 131
Blev medlem: 1 oktober 2008, 19:38:16
Ort: Åland

Inlägg av MGL »

Icecap: hur gör man med kurvanpassning för tex ntc-motstånd om man vill använda heltal? Har du någon smidig metod? Jag har alltid använt flyttal för detta, men kan man använda heltal så vore det ju toppen..
Nedan en anpassning för ett ntc motstånd i en spänningsdelare som exempel:
3rd degree Polynomial Fit: y=a+bx+cx^2+dx^3...
Coefficient Data:
a = -473.48029
b = 0.082216641
c = -4.9544067e-006
d = 1.8641576e-010

Ronny: jag har några flyttalsrutiner som jag delvis skrivit/modifierat. De omfattar de fyra räknesätten samt omvandling till ASCII. Alla variabler på stacken så det går att använda dem i avbrott och huvudprogram om man nu skulle önska. Skrivet för HC08 och PE-micros IDE.
Det är ett bra tag sen jag använt dem nu men jag borde nog hitta dem.
Hör av dig om du är intresserad.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jag har aldrig använd NTC men se det såhär: med flyttal har du bara ett tal som är inexakt, gör du samma uträkning men då med 2 fasta decimaler blir 1,00 = 100, a blir alltså -47348 osv. Utför uträkningen och när resultaten är klart är det bara att dela med 100, då får du resultatet med 2 decimaler.

Man måste självklart räkna igenom lite testcases och se att det inte spårar ur helt och förlorar alla värdefulla decimaler (tack för Excel) och ofta kan man räkna på ett annat sätt som inte kräver så stort spännvidd i värden.

I NTC-faller räknar man ut vad de enstaka steg ger i upplösning och stoppar när upplösningen understiger AD-omvandlaren.

Jag hade alltså stegat upp X "ett antal nollor" för att kompensera dessa låga värden (b, c osv.)
Användarvisningsbild
kimmen
Inlägg: 2042
Blev medlem: 25 augusti 2007, 16:53:51
Ort: Stockholm (Kista)

Inlägg av kimmen »

Kör man på mikroprocessor kan det vara praktiskt ibland att förlänga med en 2-potens i stället, exempelvis 256 eller 65536. Sen om man vill ha heltalsdelen är det bara skifta höger :)
Skriv svar