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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=9506&amp;mode</id>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-02T22:04:26+01:00</updated>
<published>2014-12-02T22:04:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107065#p107065</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107065#p107065"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107065#p107065"><![CDATA[
męczyłem go i męczyłem aż w końcu się poddał i zaczął działać prawidłowo, oto kod :<br />[syntax=c]#include &lt;avr/io.h&gt;<br />    #include &lt;util/delay.h&gt;<br />    #include &lt;avr/interrupt.h&gt;<br /><br />    #include &quot;MKUART/mkuart.h&quot;<br />    #include &quot;MK_TERMINAL/mk_term.h&quot;<br /><br />    #define DIODA_ZIELONA  (1&lt;&lt;PD7)<br />    #define VCC_GOOD_ON PORTD |= DIODA_ZIELONA<br />   <br /><br />     void adc_init(void);<br />     uint16_t read_adc(uint8_t channel);<br />     uint16_t adc_value;<br />//-----------------------------------------------------------------------<br />     int main(void) {<br /><br />     DDRB |= DIODA_CZERWONA;<br />     DDRD |= DIODA_ZIELONA;<br />//----------------------------Inicjalizacja ADC------------------------------------<br />     adc_init();<br /> USART_Init( __UBRR0 );//inicjalizacja UART<br /> sei(); // Zezwolenie globalne na przerwania<br /><br />     while (1) {<br /><br />               adc_value=read_adc(PC5);<br />               uart_putint(adc_value, 10);<br />               uart_putc('\r'); // wyślij znak CR (enter)<br />               uart_putc('\n'); // wyślij znak LF (nowa linia)<br />               _delay_ms(10);<br />               VCC_GOOD_ON;<br />     }<br />     }<br /><br /><br />  void adc_init(void){<br /><br />    ADCSRA |= ((1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0)); //(1&lt;&lt;ADPS2)|   <br />    ADMUX |= (1&lt;&lt;REFS0);                //Voltage reference from Avcc (5v)<br />    ADCSRA |= (1&lt;&lt;ADEN);                //Turn on ADC<br />    ADCSRA |= (1&lt;&lt;ADSC);                //Do an initial conversion because this one is the slowest and to ensure that everything is up and running<br />     }<br /><br />  uint16_t read_adc(uint8_t channel){<br />   ADMUX &amp;= 0xF0;                    //Clear the older channel that was read<br />   ADMUX |= channel;                //Defines the new ADC channel to be read<br />   ADCSRA |= (1&lt;&lt;ADSC);                //Starts a new conversion<br />   while(ADCSRA &amp; (1&lt;&lt;ADSC));            //Wait until the conversion is done<br />   return ADCW;                    //Returns the ADC value of the chosen channel<br />  }[/syntax]<br /><br />Ten kod to oczywiście kod testowy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 2 gru 2014, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-02T17:34:42+01:00</updated>
<published>2014-12-02T17:34:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107019#p107019</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107019#p107019"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107019#p107019"><![CDATA[
Zacząłem już testować na innych mikroprocesorach: na Attiny 26 działa, na Atmega32 też działa, na Atmega664PA też, a na Atmedze 328P to co się dzieje to jest cyrk. Raz wysyła skaczące liczby(do terminala), raz tylkko liczbe 255 przy maksymalnym ustawieniu potencjometru, raz 64 później 128 no jazda na maxa! Już nie wiem czy ja źle rejestry poustawiałem, ale wydaje mi się że dobrze bo kiedyś testowałem na tych ustawieniach i to działało na tym procku, a nawet nie tak dawno, a teraz nie wiadomo czemu nagle kod przestał działać na wszystkich atmegach 328P-PU i to juz testowałem na trzech. Nie rozumiem dlaczego tak nagle przestało działać ADC na tych prockach..., a może kupiłem jakieś podróby procesorów już sam nie wiem ...?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 2 gru 2014, o 17:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-02T15:38:24+01:00</updated>
<published>2014-12-02T15:38:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107009#p107009</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107009#p107009"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=107009#p107009"><![CDATA[
LA72 w tym projekcie bedę stosował wyłącznie zasilanie bateryjne, ale dzięki<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 9 minutach ]</span></strong><br /><br />squeez: na schemacie głównym dodałem potencjometr(w taki sposób sprawdzałem czy pomiar działa)(rys.1), natomiast w tym zdaniu &quot;przekręcenie potencjometru rzędu 10mV(napięcia podawanego na ADC) powoduje zmiane koloru świecącej diody&quot; miałem namyśli ogólnie zachowanie się przetwornika ADC przy podstawowym podłączeniu(rys.2)<br /><a href="http://forum.atnel.pl/_obrazki/o/3425/c791ddeb9bb260fef10544dd8532efd1.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3425/c791ddeb9bb260fef10544dd8532efd1.JPG" alt="Obrazek" /></a><br />Rys.1<br /><a href="http://forum.atnel.pl/_obrazki/o/3425/1827624f73a5f67199ec5a1fc500f0a9.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3425/1827624f73a5f67199ec5a1fc500f0a9.JPG" alt="Obrazek" /></a><br />Rys.2<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 2 gru 2014, o 15:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[LA72]]></name></author>
<updated>2014-12-02T08:34:50+01:00</updated>
<published>2014-12-02T08:34:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106977#p106977</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106977#p106977"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106977#p106977"><![CDATA[
Proponuję dołożyć 2 szybkie diody przełączające przy zasilaniu bateryjnym i sieciowym.<br /><a href="http://forum.atnel.pl/_obrazki/o/3028/de0fa3ba362223caf4f801f1b5b1fc4f.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3028/de0fa3ba362223caf4f801f1b5b1fc4f.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3028">LA72</a> — 2 gru 2014, o 08:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-01T22:47:55+01:00</updated>
<published>2014-12-01T22:47:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106960#p106960</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106960#p106960"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106960#p106960"><![CDATA[
To prawda w schemacie się pomyliłem(ale to tylko w schemacie), to tylko dlatego, że na tym miejscu w atmedze 328P jest ADC5 i stąd ta moja pomyłka, ale tak to wszystko mam podłączone dobrze, jeszcze raz sory za ten bład<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 1 gru 2014, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-01T21:46:55+01:00</updated>
<published>2014-12-01T21:46:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106952#p106952</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106952#p106952"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106952#p106952"><![CDATA[
A co do problemu to dalej nie rozwiązany...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 1 gru 2014, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-01T20:09:46+01:00</updated>
<published>2014-12-01T20:09:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106929#p106929</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106929#p106929"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106929#p106929"><![CDATA[
Ok przyjmuje to <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />, jeżeli chodzi o szczegóły to się nie wpatrywałem(a powinienem), a jak widać mają ogromne znaczenie w przypadku mojego projektu, dzięki wielkie za ta oczywistą rade i należy mi się solidny kopniak w tyłek, jeszcze raz dzięki !<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 1 gru 2014, o 20:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-12-01T20:03:52+01:00</updated>
<published>2014-12-01T20:03:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106926#p106926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106926#p106926"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106926#p106926"><![CDATA[
Oglądał kolega datasheet z 7805? widział kolega ile prądu zużywa sam 7805 ? po to by w ogóle zadziałać ?.<br /><br />Jeżeli zasilasz z baterii wielkości akumulatora żelowego gdzie jest Ah dużo, wtedy te 5-8mA nie robi różnicy, ale dla małej bateryjki to już będzie strzał w stopę, a nawet w kolano. Nie mówiąc już o tym, że stabilizatory liniowe nie lodrop są bardzo mało efektywne, gdyż 7805 potrzebuje różnicy minimum 2V we/wy by działać prawidłowo.<p>Statystyki: Napisane przez Gość — 1 gru 2014, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-01T19:46:04+01:00</updated>
<published>2014-12-01T19:46:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106923#p106923</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106923#p106923"/>
<title type="html"><![CDATA[Re: Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106923#p106923"><![CDATA[
Dlaczego 7805 uważasz za pomyłkę przy zasilaniu bateryjnym tak z ciekawości zapytam  ? <br />Jeżeli chodzi o moduły sprzętowe to dzięki, chciałem się po prostu  upewnić, że mikroprocesor będzie działał w ten sposób prawidłowo.<br /> Poniżej wrzucam kod programu:<br />[syntax=c]#include &lt;avr/io.h&gt;<br /><br /><br />    #define DIODA_CZERWONA (1&lt;&lt;PB0)<br />    #define DIODA_ZIELONA  (1&lt;&lt;PD7)<br />    #define VCC_BAD_ON PORTB  |= DIODA_CZERWONA<br />    #define VCC_GOOD_ON PORTD |= DIODA_ZIELONA<br />    #define VCC_BAD_OFF PORTB  &amp;= ~ DIODA_CZERWONA<br />    #define VCC_GOOD_OFF PORTD &amp;= ~ DIODA_ZIELONA<br /><br /><br />    #define VREF_VCC (1&lt;&lt;REFS0)<br />    #define VREF_128 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)<br /><br /> uint16_t zasilanie(uint16_t napiecie);<br /><br />//-----------------------------------------------------------------------<br />     int main(void) {<br /><br />     DDRB |= DIODA_CZERWONA;<br />     DDRD |= DIODA_ZIELONA;<br />//----------------------------Inicjalizacja ADC------------------------------------<br /><br />      ADCSRA |=(1&lt;&lt;ADEN);<br />      ADMUX = 5;<br />      ADCSRA |=(1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1);<br />      ADMUX |= (1&lt;&lt;ADLAR);<br />      ADMUX  |= VREF_128;<br />      ADCSRA |= (1&lt;&lt;ADSC);<br /><br />     while (1) {<br /><br />      zasilanie(0);<br />   }<br /> }<br />   uint16_t zasilanie(uint16_t napiecie){<br /><br />                ADCSRA |= (1&lt;&lt;ADSC);<br />        while( (ADCSRA &amp; (1&lt;&lt;ADSC)) );<br />        napiecie = ADCW;<br /><br /><br />             if(napiecie&lt;511)<br />               {<br />             VCC_BAD_ON;<br />             VCC_GOOD_OFF;<br />               }<br />             else<br />             {<br />             VCC_GOOD_ON;<br />             VCC_BAD_OFF;<br />             }<br /><br />        return napiecie;<br />     }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 1 gru 2014, o 19:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lucasenior]]></name></author>
<updated>2014-12-01T00:46:42+01:00</updated>
<published>2014-12-01T00:46:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106851#p106851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106851#p106851"/>
<title type="html"><![CDATA[Pomiar stanu baterii(wew. ADC) zasilającej mikroprocesor]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9506&amp;p=106851#p106851"><![CDATA[
UWAGA!!! temat dla cierpliwych <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />Problem był już poruszany na elektrodzie lecz w moim przypadku przetwornik dziwnie się zachowuje i to pewnie znowu jakiś głupi błąd amatora ;/. Do rzeczy, chodzi o to , że chciałbym mierzyć poziom baterii 9V zasilającej procesor atmega 328P(poprzez stabilizator 7805) za pomocą wewnętrznego przetwornika ADC wbudowanego w mikroprocesor. Do tego celu użyłem dzielnika napięciowego oraz wewnętrznego źródła odniesienia 1.1 V. Ale coś czuje, że zrobiłem jakiegoś babola w połączeniu i dosłownie niewielkie przekręcenie potencjometru rzędu 10mV(napięcia podawanego na ADC) powoduje zmiane koloru świecącej diody sygnalizacyjnej(są dwie: czerwona - napięcie niższe od napięcia 0.85 V(ADC&lt;790) i dioda zielona napięcie wyższe od 0.85V(ADC&gt;790)), a według ustawień nie powinno tak być i tutaj pojawia się seria pytań :<br />- czy taki sposób pomiaru baterii jest prawidłowy(rys.1)<br />- czy mogę mieć w tym czasie uruchomiony zewnętrzny przetwornik przez SPI( bo mam)<br />- czy wewnętrzne źródło odniesienia 1.1V będzie stabilne przy spadku napięcia zasilającego mikroprocesor do 3,3 V( bo przy tym napięciu ten mikroprocesor według noty pracuje prawidłowo)<br />-czy ilość włączonych funkcji w tym mikrokontrolerze( u mnie to jest: UART, zewnętrzny przetwornik, wewnętrzny przetwornik, przerwanie od timera oraz przerwania związane z buforem cyklicznym) ma wpływ na prace całego układu<br />Pisze to wszystko ponieważ chciałbym być pewien, że nie zrobie kolejnego głupiego błędy przy nowym mikroprocesorze. Dodam, że sprawdzałem uP, na którym pracuje wyłącznie na wewnętrznym ADC i zachowuje się podobnie, natomiast program sprawdzałem również na Attiny26 i działą prawidłowo, dlatego chyba Atmega328P do wymiany. Poniżej zamieszczam schemat układu(rys.1)<br /><a href="http://forum.atnel.pl/_obrazki/o/3425/e614d3af524db5d33872d9ef3176e75f.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/3425/e614d3af524db5d33872d9ef3176e75f.JPG" alt="Obrazek" /></a><br />Rys.1<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3425">lucasenior</a> — 1 gru 2014, o 00:46</p><hr />
]]></content>
</entry>
</feed>