<?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=14408&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-04T22:39:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14408&amp;mode</id>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-02-04T22:39:21+01:00</updated>
<published>2016-02-04T22:39:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152718#p152718</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152718#p152718"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152718#p152718"><![CDATA[
Problem rozwiązuje podłączenie ujemnego złącza termopary bezpośrednio do GND. Odczyt poprawił się. Jeszcze mam pytanie, czy wie ktoś w jaki sposób można odczytywać części dziesiętne temperatury, skoro dokładność przetwornika wynosi 0.25 st ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 4 lut 2016, o 22:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysssztof]]></name></author>
<updated>2016-02-04T22:08:13+01:00</updated>
<published>2016-02-04T22:08:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152707#p152707</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152707#p152707"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152707#p152707"><![CDATA[
A jaką wodę gotujesz? Jeśli &quot;kranówkę&quot; to ona może zawierać jakieś składniki zmieniające temperaturę wrzenia.<br />Ale czy aż do tego stopnia?    Warto by porównać do wyniku w wodzie destylowanej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Do tego zapewnij stabilną temperaturę drugiego końca termopary - czyli w sumie przy scalaku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4274">krzysssztof</a> — 4 lut 2016, o 22:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-02-04T21:56:51+01:00</updated>
<published>2016-02-04T21:56:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152705#p152705</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152705#p152705"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152705#p152705"><![CDATA[
Rzeczywiście, nie zauważyłem tego w nocie katalogowej tego układu. Po dodaniu opóźnienia odczytuje temperaturę z częstszą aktualizacją. Dzięki wielkie ! Dodatkowo zastanawia mnie jeszcze jedna rzecz. W programie sprawdzam stan pinu :<br />[syntax=c]#define SO_IN DDRD &amp;= ~(1&lt;&lt;PD3)<br />#define SO_SET PIND &amp; (1&lt;&lt;PD3)[/syntax]<br />W takiej formie nie ma on podciągnięcia do VCC i mogą pojawiać się stany nieustalone. Czy to może wpływać na sygnały odbierane od układu max6675 ?<br /><br />Dodatkowo po wsadzeniu końcówki termopary do świeżo przegotowanej wody pokazuje mi temperaturę 108 st. Czy ktoś ma jakieś doświadczenia co do poprawności wskazań tego układu i  ewentualnych eliminacji błędów ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 4 lut 2016, o 21:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysssztof]]></name></author>
<updated>2016-02-04T21:47:32+01:00</updated>
<published>2016-02-04T21:47:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152701#p152701</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152701#p152701"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152701#p152701"><![CDATA[
Wiem, o co chodzi:<br /><br />&quot;Conversion Time(Note 2)   0.17    0.22s&quot;<br />Czyli jeśli odczytujesz częściej niż 0,22s to układ nie zdąży wykonać nowego pomiaru, więc wysyła stary <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br />O, kolega wyżej już napisał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4274">krzysssztof</a> — 4 lut 2016, o 21:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-02-04T21:45:52+01:00</updated>
<published>2016-02-04T21:45:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152699#p152699</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152699#p152699"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152699#p152699"><![CDATA[
Wydaje mi się, że trochę za często wywołujesz pomiar_temperatury() daj w pętli głównej jakiegoś delaya dla testów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 4 lut 2016, o 21:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysssztof]]></name></author>
<updated>2016-02-04T21:46:15+01:00</updated>
<published>2016-02-04T21:39:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152698#p152698</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152698#p152698"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152698#p152698"><![CDATA[
Ale ta temperatura którą &lt;jednorazowo&gt; udaje Ci się odczytać jest prawidłowa?   <br />Jeśli tak, to komunikacja z max6675 wygląda na poprawną.<br /><br />Może coś nie tak z wysyłaniem danych na wyświetlacz ?<br /><br />Edit - bez sensu piszę, przecież pętla główna taka łatwa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4274">krzysssztof</a> — 4 lut 2016, o 21:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-02-04T20:47:15+01:00</updated>
<published>2016-02-04T20:47:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152680#p152680</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152680#p152680"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152680#p152680"><![CDATA[
Napisałem program do obsługi tego lecz jest pewien problem. Temperatura aktualizuje się dopiero po restarcie sterownika.<br />Tak wygląda inicjalizacja:<br />[syntax=c]void SPI_init(){<br />CLK_OUT;<br />SO_IN;<br />CS_OUT;<br />}[/syntax]<br />Definicje oznaczyłem w ten sposób:<br />[syntax=c]//Definicje we/wy transmisji SPI<br />#define CLK_OUT DDRD |= (1&lt;&lt;PD1)<br />#define CLK_LOW PORTD &amp;= ~(1&lt;&lt;PD1)<br />#define CLK_HIGH PORTD |= (1&lt;&lt;PD1)<br />#define SO_IN PORTD &amp;= ~(1&lt;&lt;PD3)<br />#define SO_SET PIND &amp; (1&lt;&lt;PD3)<br />#define CS_OUT DDRD |= (1&lt;&lt;PD2)<br />#define CS_LOW PORTD &amp;= ~(1&lt;&lt;PD2)<br />#define CS_HIGH PORTD |= (1&lt;&lt;PD2)[/syntax]<br />Funkcji do pobierania temperatury:<br />[syntax=c]void pomiar_temperatury(){<br />uint16_t temp = 0, bit = 15;<br /><br />CS_LOW; //rozpoczecie transmisji<br /><br />for(uint16_t i=0; i&lt;16; i++){<br />CLK_HIGH; //ustawienie sygnalu taktu na high<br />if(SO_SET) temp |= (1&lt;&lt;bit--); //sprawdzanie czy odebrana wartosc jest 0 albo 1 i wpisanie do zmiennej temp<br />else temp &amp;= ~(1&lt;&lt;bit--);<br />CLK_LOW; //ustawienie sygnalu taktu na 0<br />}<br /><br />CS_HIGH; //zakonczenie transmisji po odebraniu 16 bitów<br />termo = temp &gt;&gt; 3; //odrzucenie 3 pierwszych bitów, które nie przechowywują danych o wartości temperatury<br />termo /= 4;<br />}[/syntax]<br />I jej wyświetlanie w funkcji głównej:<br />[syntax=c]while(1){<br />        pomiar_temperatury();<br />lcd_locate(0,0); //tu standardowe biblioteki z bluebooka<br />lcd_int(termo);<br />}[/syntax]<br /><br />Na prawdę nie mam pojęcia o co chodzi, zmniejszałem taktowanie procesora na mniejsze, z zakresu poniżej 4MHz jak mówi nota katalogowa, jednak wartość ustala się raz na LCD i dopiero restart sterownika powoduje jej aktualizację na wyższą, np po przyłożeniu końcówki termopary do gorącego elementu. Czy ktoś widzi jakiś błąd w moim kodzie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 4 lut 2016, o 20:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-02-04T19:59:16+01:00</updated>
<published>2016-02-04T19:59:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152660#p152660</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152660#p152660"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152660#p152660"><![CDATA[
Np. stosując opóźnienia. Sposobów jest wiele. Jeśli szukasz gotowca to zajrzyj np. tu:<a href="http://www.tobias-schlegel.de/?page_id=295"  class="postlink">http://www.tobias-schlegel.de/?page_id=295</a>.<br />To pierwszy link jaki wypluł mi wujek G.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 4 lut 2016, o 19:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-02-04T19:57:48+01:00</updated>
<published>2016-02-04T19:57:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152659#p152659</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152659#p152659"/>
<title type="html"><![CDATA[Re: Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152659#p152659"><![CDATA[
Programową implementację SPI z tego co pamiętam masz w BB, ale także masz w wideo poradnikach Mirka (chyba to było dla OLEDów - <a href="http://forum.atnel.pl/topic7982.html"  class="postlink">http://forum.atnel.pl/topic7982.html</a>) i możesz z niej skorzystać.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 4 lut 2016, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-02-04T19:39:20+01:00</updated>
<published>2016-02-04T19:39:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152655#p152655</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152655#p152655"/>
<title type="html"><![CDATA[Programowa implementacji SPI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14408&amp;p=152655#p152655"><![CDATA[
Witam. Chcę za pomocą termopary podłączonej do modułu MAX 6675 odczytywać wartość temperatury. Jednakże pojawia się problem, ponieważ chciałbym to zaimplementować w wersji programowej. Procesor jest taktowany z częstotliwością 11,0592 MHz, natomiast sygnał zegarowy, który mogę podawać na ten moduł może mieć maksymalną częstotliwość 4,3 MHz. <br />W jaki sposób mogę zaimplementować taki kod, aby udało mi się poprawnie odczytywać dane z tego modułu? Czy ktoś robił już taką programową implementację tego modułu?<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 4 lut 2016, o 19:39</p><hr />
]]></content>
</entry>
</feed>