<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=15622&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-06-20T20:10:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15622&amp;mode</id>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-20T20:10:44+01:00</updated>
<published>2016-06-20T20:10:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162671#p162671</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162671#p162671"/>
<title type="html"><![CDATA[Re: Problem z przeliczeniem temperatury z RTD dla PT100, flo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162671#p162671"><![CDATA[
Witam,<br />Tak sobie jeszcze pokombinowałem, może naprowadzi na sposób.<br />patrząc na wzór...<br /><br />[syntax=c]iloraz_1 = Rt / (R0-1); /*obliczanie ilorazu i roznicy*/<br />iloczyn_1 = iloraz_1 * 2310000; /*  wynik powinien byc ujemny ale nie jest, dlatego nizej*/<br />suma_1 = 15274808,89 - iloczyn_1; /*działania pod pierwiastkiem obliczone*/<br />pierwiastek = /*nie wiem jak to napisac  w C, :( */  ;       /*;pierwiastek z suma_1*/<br />iloraz_2 = pierwiastek / 1,155; /*obliczenie prawej czesci wzoru, jest dodatni-powinien ujemny, bo .-b. */<br />wynik = 3383,809524 - iloraz_2; /* z lewej stala wartosc ze wzoru -a/2b, odjac iloraz, bo powinien byc ujemny*/[/syntax]<br />tak to jakoś widzę.<br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 20 cze 2016, o 20:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-19T18:54:50+01:00</updated>
<published>2016-06-19T18:54:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162604#p162604</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162604#p162604"/>
<title type="html"><![CDATA[Re: Problem z przeliczeniem temperatury z RTD dla PT100, flo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162604#p162604"><![CDATA[
kurczaki...<br />wysoka precyzja.<br />zamysł taki: nie wiem czy poprawny <img src="https://forum.atnel.pl/images/smilies/icon_exclaim.gif" alt=":!:" title="Wykrzyknik" />  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /> <br /><br />po obliczeniu pierwszej części wzoru = 3383,809524.<br />dodać drugą licząc maże jakoś tak:<br /><br />A_do_obliczeń = A * 100000  /*będzie zawyżone *10 do 5 */<br />B_do_obliczeń = B * 100000 /*będzie zawyżone * 10 do 5 */<br /><br />we wzorze licząc kwadrat, będzie wynik zawyżony *10 do 10<br />dlatego A_do.... + ( 4B(.....) * <strong>100000</strong>) żeby też zawyżyć z *10 do 5, na *10 do 10,<br />wyciągnięty pierwiastek z sumy, będzie zawyżony już tylko *10 do 5,trzeba go podzielić przez zawyżone 2*B_do_obliczen, i teraz wyrównamy, dzieląc / 100000.<br /><br />wynik dodać do pierwszego.<br /><br />hmm.. czy to zda egzamin  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 15 minutach ]</span></strong><br /><br />a może jeszcze zawyżać, żeby nie zgubić cyfr po przecinku- jest tylko 6 znaków precyzji <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 cze 2016, o 18:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bytnar_04]]></name></author>
<updated>2016-06-19T17:44:54+01:00</updated>
<published>2016-06-19T17:44:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162598#p162598</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162598#p162598"/>
<title type="html"><![CDATA[Re: Problem z przeliczeniem temperatury z RTD dla PT100, flo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162598#p162598"><![CDATA[
Pierwsza część tj (-A/2B) jest zrozumiała, ale jak rozbić tę część z pierwiastkiem? Zmienna Rt jest oczywiście typu float.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14034">bytnar_04</a> — 19 cze 2016, o 17:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-19T16:38:23+01:00</updated>
<published>2016-06-19T16:38:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162586#p162586</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162586#p162586"/>
<title type="html"><![CDATA[Re: Problem z przeliczeniem temperatury z RTD dla PT100, flo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162586#p162586"><![CDATA[
witam,<br />podobnie do podpowiedzi kolegi.<br />przyszło mi do głowy że można spróbować ominąć problem przekształcaniem wzoru, i podstawianiem wartości wstępnie (do obliczeń) z przesunięciem *10 do 9-tej.<br />coś w tym kierunku.<br /><br />rozłożyć wzór na dwie części, (-A/2B) + ( pierwiastek z ......  / 2B)<br /><br />A=3,9083x10-3<br />B=-5,775x10-7<br /><br />AA= A * 10^9 = 3908300<br />BB= B * 10^9 = 577,5<br /><br />(-A/2B)  =  - AA/2*BB<br /><br />i tylko zwrócić uwagę na przesunięcie przecinka przy obliczaniu pierwiastka, i skorygować.<br /><br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 cze 2016, o 16:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-06-19T16:14:48+01:00</updated>
<published>2016-06-19T16:14:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162583#p162583</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162583#p162583"/>
<title type="html"><![CDATA[Re: Problem z przeliczeniem temperatury z RTD dla PT100, flo]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162583#p162583"><![CDATA[
Jest na to sposób. Zwiększa się programowo rozdzielczość zmiennej poprzez jej powiększenie przez pomnożenie przez odpowiednią liczbę. Przykładowo mamy liczbę 1,2345 pomnożyć przez 2,3456. Wtedy tworzy się zmienną uint16_t, która może pomieścić 2^16 cyfr, czyli zakres od 0 do 65535. Mnożę 1,2345*10000 i tak samo drugą liczbę. Następnie wykonuję mnożenie dwóch liczb, której wynik jest wpisywany do zmiennej również o odpowiedniej wielkości, aby nie obciął liczb najmniej znaczących. Po pomnożeniu dzielimy wynik przez 10^8 i wyciąga się część całkowitą, a następnie wykonuje się operację modulo % 10^8 i wyciąga się resztę z dzielenia, czyli liczbę dziesiętną. Te dwie liczby można zapisać w osobnych zmiennych, albo tablicach i odpowiednio wyświetlać później.<br /><br />Analogicznie w Twoim przypadku zapisać liczby przykładowo w postaci A = 39083 e-7 oraz B = - 57750 e - 11. Następnie nie pomniejszać tych liczb przez e-x, czyli tak na prawdę jedną mnożysz * e7, a drugą razy e11. Następnie trzeba zastanowić się jaka jest kolejność wykonywanych operacji matematycznych i wykonać je w poszczególnych krokach dopierając odpowiednio zakresy zmiennych ze strony 75 z BlueBooka. Na końcu po uzyskaniu wyniku tak jak pisałem dzieląc liczbę przez e7 + e11 czyli e 19 uzyskasz wartości całkowite, a operacją modulo częsci dziesiętne. Jak widzisz myk polega na tym, ze całości  i dziesiątki są rozdzielone w dwóch zmiennych zachowując ich całkowitą pracyzję, a wyświetlając wynik łączysz je po prostu &quot;graficznie&quot;. <br /><br />Wszystko zależy od tego co chcesz potem robić z tą liczbą.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 19 cze 2016, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bytnar_04]]></name></author>
<updated>2016-06-19T12:48:00+01:00</updated>
<published>2016-06-19T12:48:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162569#p162569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162569#p162569"/>
<title type="html"><![CDATA[Problem z przeliczeniem temperatury z RTD dla PT100, float]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15622&amp;p=162569#p162569"><![CDATA[
Witam!<br /><br />Wykonuje pomiar temperatury przy pomocy Atmega32, zewnętrznego przetwornika ADC MCP3424 i PT100.<br /><br />RTD obliczam poprzez pomiar z ADC spadku napięcia na RTD oraz rezystorze wzorcowym. Do tego momentu nie mam problemów, wyświetlam obliczone RTD, porównuję z tabelą temp, zgadza się.<br />Chciałbym jednak przeliczyć RTD na temperaturę, korzystając z polskiej normy PN-EN 60751 prezentuje się to wzorem zależności od RTD:<br /><br /><a href="https://obrazkiforum.atnel.pl/14034/62633967f3d34495b87244b577e4341d.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14034/62633967f3d34495b87244b577e4341d.jpg" alt="Obrazek" /></a><br /><br />gdzie<br />A = 3,9083×10-3<br />B = -5,7750×10-7<br /><br />I tu moje pytanie, nie zależy mi na ograniczaniu pamięci, mogę wykorzystać float, jednak nawet on nie &quot;pomieści&quot; współczynnika B, jest jakiś sposób aby to &quot;obejść&quot; czy pozostaje mi jedynie aproksymacja?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14034">bytnar_04</a> — 19 cze 2016, o 12:48</p><hr />
]]></content>
</entry>
</feed>