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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-07-20T15:51:02+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=15809&amp;mode</id>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2016-07-20T15:51:02+01:00</updated>
<published>2016-07-20T15:51:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164363#p164363</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164363#p164363"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164363#p164363"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />ale tym razem używając cyny z OŁOWIEM.<br /></div><br /><br />cyna bezołowiowa wymaga wyższej temperatury grota i dobrego topnika by połączenie było pewne <br />i nie tworzył się zimny lut , lub mikropęknięcia w spoinie <br /><br />natomiast ołów powoduje łatwiejsze topnienie cyny i spójność połaczenia przy niższych temperaturach grota topnik zawarty w cynie (czesto)  w zupełności wystarcza  <br /><br />ot taka przypadłość<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 20 lip 2016, o 15:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Artmag]]></name></author>
<updated>2016-07-20T15:36:41+01:00</updated>
<published>2016-07-20T15:36:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164361#p164361</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164361#p164361"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164361#p164361"><![CDATA[
Jednak ołów nie taki szkodliwy. W tym przypadku nawet uleczył.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7772">Artmag</a> — 20 lip 2016, o 15:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[modrih]]></name></author>
<updated>2016-07-20T02:59:28+01:00</updated>
<published>2016-07-20T02:59:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164326#p164326</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164326#p164326"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164326#p164326"><![CDATA[
Zegar ruszył. Przelutowałem go jeszcze raz (kolejny już raz..) ale tym razem używając cyny z OŁOWIEM. Widocznie nie były to idealne połączenia. <br /><br />Będę informował jak pojawią się jeszcze jakieś problemy. <br /><br />Dziękuję za pomoc. To co napisaliście na pewno mi się przyda.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6376">modrih</a> — 20 lip 2016, o 02:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[modrih]]></name></author>
<updated>2016-07-19T16:51:20+01:00</updated>
<published>2016-07-19T16:51:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164295#p164295</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164295#p164295"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164295#p164295"><![CDATA[
<div class="quotetitle">janusz17 napisał(a):</div><div class="quotecontent"><br />W rejestrze o adresie 0x0F (Status Register) masz ustawiony bit 7 (OSF), czyli flagę zatrzymania oscylatora. W nocie PDF są opisane 4 przypadki kiedy ta flaga jest ustawiona. Musisz chyba sprawdzić jak masz podłączone zasilanie, a zawłaszcza pin gdzie podłącza się baterię, bo jeśli nie ma baterii to powinien on być zwarty do masy.<br /></div><br /><br />Bateria zwarta do masy. Oczywiście końcówki N/C i GND również. Moje rejestry po wyzerowaniu 0x0F wyglądają teraz tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Register   Bit Values<br /><br />0X00      00000000<br />0X01      00000000<br />0X02      00000000<br />0X03      00000001<br />0X04      00000001<br />0X05      00000001<br />0X06      00000000<br />0X07      00000000<br />0X08      10101110<br />0X09      00010001<br />0X0A      00000100<br />0X0B      00000001<br />0X0C      01010000<br />0X0D      01011000<br />0X0E      00011100<br />0X0F      00000000<br />0X10      00000000<br />0X11      00000000<br />0X12      00000000<br /></div><br /><br />Zegar stoi. Kombinowałem całą noc i nigdy nie widziałem by ruszył się o sekundę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6376">modrih</a> — 19 lip 2016, o 16:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2016-07-19T13:03:14+01:00</updated>
<published>2016-07-19T13:03:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164281#p164281</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164281#p164281"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164281#p164281"><![CDATA[
W rejestrze o adresie 0x0F (Status Register) masz ustawiony bit 7 (OSF), czyli flagę zatrzymania oscylatora. W nocie PDF są opisane 4 przypadki kiedy ta flaga jest ustawiona. Musisz chyba sprawdzić jak masz podłączone zasilanie, a zawłaszcza pin gdzie podłącza się baterię, bo jeśli nie ma baterii to powinien on być zwarty do masy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 19 lip 2016, o 13:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[modrih]]></name></author>
<updated>2016-07-19T11:59:16+01:00</updated>
<published>2016-07-19T11:59:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164277#p164277</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164277#p164277"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164277#p164277"><![CDATA[
<div class="quotetitle">janusz17 napisał(a):</div><div class="quotecontent"><br />Prawdopodobnie w rejestrze Control Register o adresie 0x0E masz ustawiony 7 bit na 1. To jest zezwolenie na pracę oscylatora EOSC (Enable Oscillator). Po ustawieniu czasu powinieneś ten bit wyzerować.<br /></div><br /><br />Moje rejestry wyglądają w ten sposób:<br /><br />RegisterBit Values<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">0X00      00000000<br />0X01      00000000<br />0X02      00000000<br />0X03      00000001<br />0X04      00000001<br />0X05      00000001<br />0X06      00000000<br />0X07      00001000<br />0X08      00101110<br />0X09      00010000<br />0X0A      00000100<br />0X0B      00000001<br />0X0C      01110000<br />0X0D      00011000<br />0X0E      00100000<br />0X0F      10001000<br />0X10      00000000<br />0X11      00000000<br />0X12      00000000</div><br /><br /><strong>Andrzej</strong> Tak oglądałem Mirka poradnik. Płytkę robiłem sam - przejściówka na stykówkę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6376">modrih</a> — 19 lip 2016, o 11:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Andrzej]]></name></author>
<updated>2016-07-19T11:12:37+01:00</updated>
<published>2016-07-19T11:12:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164275#p164275</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164275#p164275"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164275#p164275"><![CDATA[
Próbowałeś wg tego poradnika Mirka <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2013/11/rtc-ds3231-najdokadniejszy-zegarek-na.html" >http://mirekk36.blogspot.com/2013/11/rt ... ek-na.html</a><!-- m --><br />Mnie działa bez problemu na Atmedze16 bez dodatków goła atmega + ds gotowiec kupiony + przewody w stykówce.<br />Poza tym co to masz za ds-a jak gotowiec kupiony czy sam robiłeś płytkę do niego ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7001">Andrzej</a> — 19 lip 2016, o 11:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2016-07-19T08:39:37+01:00</updated>
<published>2016-07-19T08:39:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164268#p164268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164268#p164268"/>
<title type="html"><![CDATA[Re: DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164268#p164268"><![CDATA[
Prawdopodobnie w rejestrze Control Register o adresie 0x0E masz ustawiony 7 bit na 1. To jest zezwolenie na pracę oscylatora EOSC (Enable Oscillator). Po ustawieniu czasu powinieneś ten bit wyzerować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 19 lip 2016, o 08:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[modrih]]></name></author>
<updated>2016-07-19T06:36:31+01:00</updated>
<published>2016-07-19T06:36:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164266#p164266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164266#p164266"/>
<title type="html"><![CDATA[DS3231 &quot;stoi, nie rusza się&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15809&amp;p=164266#p164266"><![CDATA[
Witam!<br /><br />Mam ciekawy problem z DS3231 - niezależnie czy Arduino z płytką ArduinoProMini czy też Bascom i Atmega8. Mogę ustawić czas w DS3231, czas jest podtrzymywany przez baterię ale nie rusza się - ani na baterii ani na zasilaniu &quot;normalnym&quot; stoi w miejscu. Nie widziałem ani razu by zmieniła się na nim sekunda. Nigdy. <br /><br />Co sprawdziłem?<br /><br />* Testowałem zarówno na Arduino, jak i Atmega 8<br />* Połączenia lutownicze z układem - są ok, ostrymi szpilkami badałem bezpośrednio przy układzie czy jest przewodzenie<br />* Zarówno z baterią jak i bez baterii<br />* Zasilanie zarówno 3,3V jak i 5V (w nocie napisane jest do 5,5V więc OK)<br />* Podciąganie rezystorów do wyjść INT/SQW, RST, 32khz do plusa<br />* Inne zasilanie<br />* Różne kody z różnych stron, oraz własne twory <br /><br />Co jest zrobione?<br /><br />* Rezystory 10kom od SDA, SCL (ale to nie ma znaczenia bo komunikacja jak widać odbywa się)<br />* kondensator 100nF zaraz przy nóżce zasilającej, dodatkowo elektrolit 1000uF<br />* Bateria w koszyczku (bez baterii też nie rusza się)<br /><br />Fakty:<br /><br />* Zegar się nie rusza - nie dodaje sekund<br />* Mogę ustawić godzinę, datę, - jest ona podtrzymywana przez baterię po odłączeniu zasilania<br />* Na wyjściu SQW pomimo ustawienia - nie ma sygnału 1Hz<br />* sygnalu 32khz nie sprawdzę bo nie mam oscyloskopu, ale to raczej nie istotne bo SQW i tak nie daje 1Hz<br />* Ciągle tylko 1 stycznia roku 2000, 00:00:00...<br /><br />Została jedna rzecz: układ do podmiany <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> , <strong>ale może macie jakieś pomysły jeszcze?</strong>. Nie widzę winy w kodzie - każdy kod odpala się znaleziony w Internecie.<br /><br />Przykładowy użyty kod:<br /><br /><br />[syntax=cpp]&#91;code&#93;<br />#include &quot;Wire.h&quot;<br />#include &lt;LiquidCrystal.h&gt;<br /><br />// initialize the library with the numbers of the interface pins<br />LiquidCrystal lcd(8, 9, 4, 5, 6, 7);<br /><br />#define DS3231_I2C_ADDRESS 0x68<br />// Convert normal decimal numbers to binary coded decimal<br />byte decToBcd(byte val)<br />{<br />return( (val/10*16) + (val%10) );<br />}<br />// Convert binary coded decimal to normal decimal numbers<br />byte bcdToDec(byte val)<br />{<br />return( (val/16*10) + (val%16) );<br />}<br />void setup()<br />{<br />Wire.begin();<br />lcd.begin(16,2);<br />//lcd.print(&quot;hello world &gt;&quot;);<br />Serial.begin(9600);<br /> pinMode(10, OUTPUT);<br /> digitalWrite(10,LOW); // turn the backlight off<br /> digitalWrite(10,HIGH); // turn the backlight on<br />// set the initial time here:<br />// DS3231 seconds, minutes, hours, day of week, date, month, year<br />//setDS3231time(20,21,14,1,24,5,15); &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;     uncomment to set the time.<br />}<br />void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte<br />dayOfMonth, byte month, byte year)<br />{<br />// sets time and date data to DS3231<br />Wire.beginTransmission(DS3231_I2C_ADDRESS);<br />Wire.write(0); // set next input to start at the seconds register<br />Wire.write(decToBcd(second)); // set seconds<br />Wire.write(decToBcd(minute)); // set minutes<br />Wire.write(decToBcd(hour)); // set hours<br />Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)<br />Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)<br />Wire.write(decToBcd(month)); // set month<br />Wire.write(decToBcd(year)); // set year (0 to 99)<br />Wire.endTransmission();<br />}<br />void readDS3231time(byte *second,<br />byte *minute,<br />byte *hour,<br />byte *dayOfWeek,<br />byte *dayOfMonth,<br />byte *month,<br />byte *year,<br />char *amp)<br />{<br />byte ampm=0;<br /><br />Wire.beginTransmission(DS3231_I2C_ADDRESS);<br />Wire.write(0); // set DS3231 register pointer to 00h<br />Wire.endTransmission();<br />Wire.requestFrom(DS3231_I2C_ADDRESS, 7);<br />// request seven bytes of data from DS3231 starting from register 00h<br />*second = bcdToDec(Wire.read() &amp; 0x7f);<br />*minute = bcdToDec(Wire.read());<br />*hour = bcdToDec(Wire.read() &amp; 0x3f);<br />if(*hour &gt;12)<br />    {<br />     *hour=*hour -12;<br />     *amp='P';<br />    }<br />else<br />    {<br />      *amp='A';<br />    }<br />   <br />*dayOfWeek = bcdToDec(Wire.read());<br />*dayOfMonth = bcdToDec(Wire.read());<br />*month = bcdToDec(Wire.read());<br />*year = bcdToDec(Wire.read());<br />}<br />void displayTime()<br />{<br />byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;<br />char ampm;<br />// retrieve data from DS3231<br />readDS3231time(&amp;second, &amp;minute, &amp;hour, &amp;dayOfWeek, &amp;dayOfMonth, &amp;month,<br />&amp;year,&amp;ampm);<br />// send it to the serial monitor<br />lcd.setCursor(0,0) ; // column,row rather than standard... <br />lcd.print(hour, DEC);<br />Serial.print(hour, DEC);<br />// convert the byte variable to a decimal number when displayed<br />Serial.print(&quot;:&quot;);<br />lcd.print(&quot;:&quot;);<br />if (minute&lt;10)<br />{<br />  Serial.print(&quot;0&quot;);<br />  lcd.print(&quot;0&quot;);<br />}<br />Serial.print(minute, DEC);<br />Serial.print(&quot;:&quot;);<br />lcd.print(minute, DEC);<br />lcd.print(&quot;:&quot;);<br />if (second&lt;10)<br />{<br />  Serial.print(&quot;0&quot;);<br /> lcd.print(&quot;0&quot;);<br />}<br />Serial.print(second, DEC);<br />Serial.print(&quot; &quot;);<br />Serial.print(ampm);<br />Serial.print(&quot;M&quot;);<br />Serial.print(&quot; &quot;);<br />lcd.print(second, DEC);<br />lcd.print(&quot; &quot;);<br />lcd.print(ampm);<br />lcd.print(&quot;M&quot;);<br />lcd.print(&quot; &quot;);<br />lcd.setCursor (0,1);<br />switch(dayOfWeek){<br />case 1:<br />  {<br />  Serial.print(&quot;Sunday   &quot;);<br />  lcd.print(&quot;Sun.  &quot;);<br />  break;<br />  }<br />case 2:<br />  {<br />  Serial.print(&quot;Monday   &quot;);<br />  lcd.print(&quot;Mon.  &quot;);<br />  break;<br />  }<br />case 3:<br />  {<br />  Serial.print(&quot;Tuesday  &quot;);<br />  lcd.print(&quot;Tue.  &quot;);<br />  break;<br />  }<br />case 4:<br />  {<br />  Serial.print(&quot;Wednesday&quot;);<br />  lcd.print(&quot;Wed.  &quot;);<br />  break;<br />  }<br />case 5:<br />  {<br />  Serial.print(&quot;Thursday &quot;);<br />  lcd.print(&quot;Thur. &quot;);<br />  break;<br />  }<br />case 6:<br />  {<br />  Serial.print(&quot;Friday   &quot;);<br />  lcd.print(&quot;Fri.  &quot;);<br />  break;<br />  }<br />case 7:<br />  {<br />  Serial.print(&quot;Saturday &quot;);<br />  lcd.print(&quot;Sat.  &quot;);<br />  break;<br />  }<br />}<br />if(month &lt; 10)<br />  {<br />  Serial.print(&quot; &quot;);<br />  }  <br />Serial.print(month, DEC);<br />Serial.print(&quot;/&quot;);<br />Serial.print(dayOfMonth, DEC);<br />Serial.print(&quot;/&quot;);<br /><br />Serial.print(year+2000, DEC);<br />Serial.println();<br />if (month &lt; 10)<br />   {<br />   lcd.print(&quot; &quot;);<br />   }<br />lcd.print(month, DEC);<br />lcd.print(&quot;/&quot;);<br />lcd.print(dayOfMonth, DEC);<br />lcd.print(&quot;/&quot;);<br /><br />lcd.print(year+2000, DEC);<br />&#91;syntax=cpp&#93;<br />}<br />void loop()<br />{<br />displayTime(); // display the real-time clock data on the Serial Monitor,<br />delay(1000); // every second<br />}<br />&#91;/code&#93;[/syntax][/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6376">modrih</a> — 19 lip 2016, o 06:36</p><hr />
]]></content>
</entry>
</feed>