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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-01-14T15:33:38+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2107&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-14T15:33:38+01:00</updated>
<published>2013-01-14T15:33:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24775#p24775</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24775#p24775"/>
<title type="html"><![CDATA[Re: Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24775#p24775"><![CDATA[
rozumiem - ale wiesz lepiej o tym wiedzieć wcześniej niż PÓŹNIEJ <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> nieprawdaż ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 sty 2013, o 15:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leszek90]]></name></author>
<updated>2013-01-14T14:04:34+01:00</updated>
<published>2013-01-14T14:04:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24763#p24763</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24763#p24763"/>
<title type="html"><![CDATA[Re: Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24763#p24763"><![CDATA[
Ok, dzięki wielkie za odpowiedzi, przeczytam dokładnie ten artykuł Panie Mirku. Jednak w moim programie nie muszę korzystać z większej ilości portów ADC. Z dzielnikiem akurat jest taka sprawa, że bateria będzie o wiele wyższymi prądami rozładowywana, rzędu 1.5A, więc te 21mA jest raczej mało znaczące <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=549">leszek90</a> — 14 sty 2013, o 14:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-13T08:54:12+01:00</updated>
<published>2013-01-13T08:54:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24612#p24612</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24612#p24612"/>
<title type="html"><![CDATA[Re: Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24612#p24612"><![CDATA[
<div class="quotetitle">GwynBleidD napisał(a):</div><div class="quotecontent"><br />No nie jest ważne do końca którą zmienną się będzie rzutować na uint32 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ważne, żeby którąkolwiek... Przynajmniej w tym przykładzie.<br /></div><br />Tak tak - mi nie chodziło o to żeby pokazać, że twój przykład jest zły, skąd? ... po prostu chciałem pokazać że rzutowanie można też zrobić dzięki dodatkom UL do stałych dosłownych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 sty 2013, o 08:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-12T19:41:57+01:00</updated>
<published>2013-01-12T19:41:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24576#p24576</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24576#p24576"/>
<title type="html"><![CDATA[Re: Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24576#p24576"><![CDATA[
<strong><span style="color: #0040FF">leszek90</span></strong> --&gt; masz w tym kodzie jeszcze jeden poważny błąd, który wprawdzie na razie nie powoduje u ciebie negatywnych skutków ale jak tylko zaczniesz kombinować z pomiarami z co najmniej dwóch kanałów to niestety dostaniesz poważnej czkawki.<br /><br />Dlatego ZDECYDOWANIE polecam jednak zaglądać na stronę uaktualnień do książki:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/uaktualnienia-programow-do-dvd.html" >http://atnel.pl/uaktualnienia-programow-do-dvd.html</a><!-- m --><br /><br />i zobacz odnośnie ADC z książki masz tam <span style="color: #FF0000"><strong>BARDZO WAŻNY artykuł</strong></span>, który powinieneś już dawno przeczytać. Wiedza z niego przyda ci się nie tylko przy ADC zobaczysz:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/domyslna-promocja-do-typu-int.html" >http://atnel.pl/domyslna-promocja-do-typu-int.html</a><!-- m --><br /><br />m.in wynika z niego dlaczego np zamiast tak:<br /><br />[syntax=c]wynik = (uint32_t)pm * 25 * 325; [/syntax]<br /><br />można spokojnie napisać np tak:<br /><br />[syntax=c]wynik = pm * 25UL * 325UL;[/syntax] <br /><br />i też będzie taki sam poprawny efekt. Warto jednak zrozumieć dlaczego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 sty 2013, o 19:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leszek90]]></name></author>
<updated>2013-01-12T16:57:46+01:00</updated>
<published>2013-01-12T16:57:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24555#p24555</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24555#p24555"/>
<title type="html"><![CDATA[Re: Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24555#p24555"><![CDATA[
Dzięki, już działa <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=549">leszek90</a> — 12 sty 2013, o 16:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leszek90]]></name></author>
<updated>2013-01-12T16:22:12+01:00</updated>
<published>2013-01-12T16:22:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24547#p24547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24547#p24547"/>
<title type="html"><![CDATA[Sprawdzanie poziomu naładowania baterii- problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2107&amp;p=24547#p24547"><![CDATA[
Witam, napisałem program, a raczej przepisałem z książki Pana Mirka z pewnymi moimi modyfikacjami. Jednak nie działa to jak należy, tzn. sprawdzam napięcie na baterii poprzez przetwornik AC, lecz nie pokazuje poprawnej wartości. Napięcie na baterii waha się w przedziale od 8,4V-przy maksymalnie naładowanej do 6V przy rozładowanej. Dzielnik napięcia zrobiłem z 8,4V na 2,56V i wykorzystałem Vref=2,56V. R1=120ohm R=270ohm. Pracuje na atmega16 8Mhz. Wartość &quot;pm&quot; wyświetla mi na wyświetlaczu równą 921 co przy ręcznych obliczeniach wychodzi, że powinno być 7,5V, a na wyświetlaczu wartość napięcia jaką mi wyświetla równa jest 0,1V...Wyjście z dzielnika podłączone jest do PA7. W pliku main.c zawarte są również niektóre linijki służące do odbioru sygnału z pilota RC5, lecz to jest mało istotna sprawa. W czym może być błąd? <br /><br />adc.c<br /><br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;lcd44780.h&quot;<br /><br />uint16_t pomiar(uint8_t kanal); //deklaracja funkcji pomiaru<br />//definicja funkcji ktora dokonuje pomiaru na wybranym kanale<br />uint16_t pomiar(uint8_t kanal)<br />{<br />ADMUX |= (ADMUX &amp; 0xFE) | kanal; //wybor kanalu w rejestrze ADMUX<br />ADCSRA |= (1&lt;&lt;ADSC); //Start pomiaru<br />while(ADCSRA &amp; (1&lt;&lt;ADSC) ); //oczekiwanie na koniec pomiaru(dopoki adsc=1)<br />return ADCW;<br />}[/syntax]<br /><br />main.c<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />#include &quot;lcd44780.h&quot;<br />volatile unsigned char cmd;<br /><br /> uint16_t pomiar(uint8_t kanal); //deklaracja funkcji pomiaru<br /> <br />uint32_t wynik;<br />uint16_t pm;<br />uint16_t cz_d, cz_u,czas;<br />//float wynik2;<br /><br />int main(void)<br />{<br />lcd_init(); //inicjalizacja LCD<br /><br />////////////Konfiguracja ADC///////////////////////////<br />ADMUX |= (1&lt;&lt;REFS0) | (1&lt;&lt;REFS1); //napiecie odniesienia 2,56V<br />ADCSRA |= (1&lt;&lt;ADEN) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0); //Wlaczenie modulu ADC oraz ustawienie preskalera na 64<br />//////////////////////////////////////////////////////<br /><br />////////////Konfiguracja od TSOPA/////////////////////<br />DDRD  &amp;= ~(1&lt;&lt;PD3);   //<br />    PORTD &amp;= ~(1&lt;&lt;PD3);  //<br />    //  //<br />    MCUCR |= (1&lt;&lt;ISC11); // opadajace zbocze  //<br />    GICR  |= (1&lt;&lt;INT1);//wlaczenie przerwania INT1//<br />     //<br />    TCCR0 = (1&lt;&lt;CS02); // prescaler 256       //<br />    TIFR |= (1&lt;&lt;TOV0);      //<br />//////////////////////////////////////////////////////<br />    sei();<br />while(1)<br />{<br />lcd_cls(); //skasowanie zawartosci lcd<br />while(czas&lt;2)<br />{<br />lcd_locate(0,5);<br />lcd_str(&quot;WITAM&quot;);<br />_delay_ms(500);<br />czas++;<br />lcd_cls();<br />}<br />lcd_cls(); //skasowanie zawartosci lcd<br />lcd_locate(1,0);<br />lcd_str(&quot;U Baterii:&quot;);<br />lcd_locate(1,11);<br />pm=pomiar(7);<br />wynik = pm * 25 * 325;<br />cz_d= wynik/1000000;<br />cz_u= (wynik/10000) % 100;<br />lcd_int(cz_d);<br />lcd_char( '.' );<br />lcd_int( cz_u );<br />lcd_str( &quot;V&quot; );<br />lcd_locate(0,7);<br />lcd_int(pomiar(7));<br />_delay_ms(1000);<br />}<br />}<br /><br />[/syntax]<br /><br /><span style="color: #FF0000">Do prezentowania kodu używamy znaczników syntax=c - poprawiłem.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=549">leszek90</a> — 12 sty 2013, o 16:22</p><hr />
]]></content>
</entry>
</feed>