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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-04-30T21:36:02+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=22206&amp;mode</id>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2019-04-30T21:36:02+01:00</updated>
<published>2019-04-30T21:36:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218619#p218619</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218619#p218619"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218619#p218619"><![CDATA[
Podłączyłem sygnał U_rms do ATB na wejscie ADC0. Wyniki wyswietlam na LCDku. Wskazania nadal skaczą w dość sporym zakresie, ale nie pływają (a to duża różnica). Teraz przy zastosowaniu zwykłej średniej z 16 próbek uzyskuję bardzo stabilny wynik.<br />Jednak jeszcze sporo prób przede mną... ale już coś drgnęło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Póki co dziękuję za wszelkie sugestie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 30 kwi 2019, o 21:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2019-04-30T11:16:58+01:00</updated>
<published>2019-04-30T11:16:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218595#p218595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218595#p218595"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218595#p218595"><![CDATA[
<div class="quotetitle">gordon10 napisał(a):</div><div class="quotecontent"><br />teraz czas na test po RS232<br /></div><br />Dokładnie. Nawet w wolnej chwili podepnę te sygnały do ATB (nawet pojedynczo) i zobaczę jak się to zachowuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 30 kwi 2019, o 11:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-04-30T10:56:21+01:00</updated>
<published>2019-04-30T10:56:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218593#p218593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218593#p218593"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218593#p218593"><![CDATA[
<div class="quotetitle">gordon10 napisał(a):</div><div class="quotecontent"><br />Pierwsze co zrobiłem to odłączyłem cyfrówkę na używanych wejściach ADC<br /></div><br />To widziałem i to jest b.dobre posunięcie przy tym procku <br /><br />teraz czas na test po RS232<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 kwi 2019, o 10:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2019-04-30T10:50:38+01:00</updated>
<published>2019-04-30T10:50:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218592#p218592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218592#p218592"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218592#p218592"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">zubik napisał(a):</div><div class="quotecontent">Toż nawet nota zaleca aby nie używać portu adc gdy są potrzebne dokładne pomiary. Teraz tego nie znajdę ale pamiętam że są takie zalecenia.<br /></div><br /><br />Ale po to szczególnie w nowszych prockach , a tu jest nowszy bo m328 , odłączać port cyfrowy od pinu i już można mieć b.dobre pomiary ... <br /><br />Tym bardziej, że z tego co kolega autor pisze - to ma jakieś bardzo dziwne &quot;pływania&quot; jak to nazywa ... <br /><br />Więc sprawdzenie tego przez RS232 to po prostu - krótki test i wiadomo o co chodzi</div><br />Pierwsze co zrobiłem to odłączyłem cyfrówkę na używanych wejściach ADC<br />[syntax=c]DIDR0 |= (1&lt;&lt;ADC0D) | (1&lt;&lt;ADC1D) | (1&lt;&lt;ADC2D) | (1&lt;&lt;ADC3D);     // wylaczanie wejsc cyfrowych[/syntax]<br />Muszę spróbować  wysyłać wyniki po RS232.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 30 kwi 2019, o 10:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-04-30T10:21:20+01:00</updated>
<published>2019-04-30T10:21:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218590#p218590</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218590#p218590"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218590#p218590"><![CDATA[
<div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />Toż nawet nota zaleca aby nie używać portu adc gdy są potrzebne dokładne pomiary. Teraz tego nie znajdę ale pamiętam że są takie zalecenia.<br /></div><br /><br />Ale po to szczególnie w nowszych prockach , a tu jest nowszy bo m328 , odłączać port cyfrowy od pinu i już można mieć b.dobre pomiary ... <br /><br />Tym bardziej, że z tego co kolega autor pisze - to ma jakieś bardzo dziwne &quot;pływania&quot; jak to nazywa ... <br /><br />Więc sprawdzenie tego przez RS232 to po prostu - krótki test i wiadomo o co chodzi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 kwi 2019, o 10:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-04-30T10:01:09+01:00</updated>
<published>2019-04-30T10:01:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218587#p218587</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218587#p218587"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218587#p218587"><![CDATA[
<div class="quotetitle">gordon10 napisał(a):</div><div class="quotecontent"><br />Chyba jednak trzeba będzie przerzucić się na SPI i dać spokój z I2C<br /></div><br />Ale kolega jednak bajki pisze troszkę - bez urazy ...<br /><br />Tzn że co I2C zakłóca ADC zaś SPI nie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> no pomyśl sam chwilę nad tym co piszesz<br /><br />Zamiast zrobić mega prosty test o którym pisał ci kolega wyżej - czyli zrób pomiary i sprawdź w ogóle bez podłączania LCD ... i uruchamiania magistrali I2C ...<br /><br />co za problem wywalać sobie pomiary np przez RS232 do terminala ?<br /><br />Szybciej znajdziesz babola w swoim kodzie do pomiarów - zamiast zmieniać magistrale w nieskończoność z I2C na SPI ... później z SPI na 1wire ... później z ... aż ci zabraknie tych magistral.<br /><br />Szukasz błędu nie w tym miejscu w którym trzeba ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 kwi 2019, o 10:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2019-04-30T09:47:21+01:00</updated>
<published>2019-04-30T09:47:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218585#p218585</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218585#p218585"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218585#p218585"><![CDATA[
<div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br />A próbowałeś nie robić pomiarów podczas wysyłania danych na wyświetlacz?<br /></div><br />Wysyłanie na wyświetlacz ustawiam od 1 do 10 razy na sekundę - używam timerów programowych do realizacji opóźnień.<br />Robienie pomiarów ustawiam w okolicach 10 do 100 razy na sekundę. Także pomiary są robione głównie wtedy gdy nic nie wysyłam na wyświetlacz.<br />Niestety niewiele to daje. Nawet jak uda mi się ucelować w miarę stabilne wyniki (przy zastosowaniu uśredniania z wielu pomiarów), to i tak jak zmieniam sposób prezentacji wyników na OLEDzie to wszystko się rozjeżdża.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br /><div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />Ciężki temat, jednym z możliwych sposobów na ominięcie problemu może być usypianie mikrokontrolera na czas pomiarów. Spróbuj też różnych konfiguracji połączenia masy wyświetlacza.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Obawiam się że będziesz musiał zrezygnować z obsługi i2c na porcie adc. Może lepszy będzie OLED na spi?<br /></div><br />Próbowałem trybu Noise Reduction, jednak nic to nie daje. Jak procesor jest uśpiony i robi pomiar, to przy wystąpieniu innego przerwania np. od timera chyba też się wybudza.<br /><br />Chyba jednak trzeba będzie przerzucić się na SPI i dać spokój z I2C   <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><br />W wolnej chwili spróbuję to poprzepinać i zostawić wejscia ADCx tylko dla sygnałów analogowych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 30 kwi 2019, o 09:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2019-04-30T05:27:02+01:00</updated>
<published>2019-04-30T05:27:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218574#p218574</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218574#p218574"/>
<title type="html"><![CDATA[Re: Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218574#p218574"><![CDATA[
A próbowałeś nie robić pomiarów podczas wysyłania danych na wyświetlacz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 30 kwi 2019, o 05:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2019-04-29T20:41:48+01:00</updated>
<published>2019-04-29T20:41:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218570#p218570</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218570#p218570"/>
<title type="html"><![CDATA[Pływające wskazania ADC i wyświetlacz OLED I2C na ATmega328]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22206&amp;p=218570#p218570"><![CDATA[
No właśnie. Czy to ma coś ze sobą wspólnego? Trochę ciężki temat i mam nadzieję, że uda mi się go dobrze opisać.<br />Ale od początku...<br />Buduję i testuję mały miernik/monitor sieci elektrycznej. Chodzi między innymi o pomiar napięcia i prądu (pewnie kilku innych rzeczy w przyszłości). Używam ATmegi328 i wykorzystuję kilka wejść ADC do pomiaru parametrów - tak jak widać na schemacie. Sygnały analogowe doprowadzone są z innej płytki, na której są umieszczone układy analogowe, m.in. przetworniki TrueRMS. Jednak układ analogowy zostawmy na razie w spokoju - sygnały z niego na mierniku są stabilne i nie pływają. <br /><a href="https://obrazkiforum.atnel.pl/968/53c5a6479511c18b85f2cbb2d54cd7ea.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/968/53c5a6479511c18b85f2cbb2d54cd7ea.png" alt="Obrazek" /></a><br />Na tym samym porcie co ADC w mega328 jest interfejs I2C, do którego podłączony jest wyświetlacz OLED. Podejrzewam, że to on wprowadza pewne zakłócenia, które powodują, ze wskazania ADC &quot;pływają&quot; (nie to, że skaczą ale pływają - zmieniają się cyklicznie w okresie ok 4s o aż o 50-60 ADC). Zauważyłem, że wskazania ADC zachowują się różnie w zależności od tego co wyświetlam na OLEDzie. Jeśli wyświetlam surowe wskazania ADC, to wyniki są bardziej stabilne, niż jak wyświetlam więcej informacji (np. przeliczone napięcie, prąd itp.). Nawet ustawiam różne szybkości I2C i też ma to wpływ na ADC - niestety nie mogę uzyskać dużej poprawy. <br />Najgorsze jest to, że zastosowanie uśredniania i filtru dolnoprzepustowego niewiele pomaga. Próbowałem zwiększać liczbę próbek, zmieniać preskaler ADC ale niewiele to daje.<br />Jeśli chodzi o inicjalizację ADC, to także próbowałem kilka wariantów (z obsługą przerwań i bez).<br />[syntax=c]// ADC<br /><br />DIDR0 |= (1&lt;&lt;ADC0D) | (1&lt;&lt;ADC1D) | (1&lt;&lt;ADC2D) | (1&lt;&lt;ADC3D);// wylaczanie wejsc cyfrowych<br />ADMUX |= (1&lt;&lt;REFS0) | (1&lt;&lt;REFS1);// wybor Vref 1.1V<br /><br />ADCSRA |= 6;// ADPS&#91;2:0&#93;: ADC Prescaler (0-7):(2/2/4/8/16/32/64/128)<br /><br />ADCSRA |= (1&lt;&lt;ADIE);// wlaczenie przerwania od ADC<br />ADCSRA |= (1&lt;&lt;ADEN);// wlaczenie ADC[/syntax]<br /><br />W związku z tym moje pytanie. Czy mogę to jakoś zaradzić temu zjawisku i uzyskać stabilne wskazania? Czy miał może ktoś podobne problemy i udało mu się to jakoś rozwiązać? Bedę wdzięczny za jakieś sugestie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 29 kwi 2019, o 20:41</p><hr />
]]></content>
</entry>
</feed>