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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-06T13:54:18+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8706&amp;mode</id>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-10-06T13:54:18+01:00</updated>
<published>2014-10-06T13:54:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97784#p97784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97784#p97784"/>
<title type="html"><![CDATA[Re: Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97784#p97784"><![CDATA[
Tutaj co nieco o problemach z takimi pomiarami (tj. o podobnym charakterze)<br /><br /><!-- m --><a class="postlink" href="http://beta.nis.com.pl/userfiles/editor/nauka/42014_n/Chudzik_04-2014.pdf" >http://beta.nis.com.pl/userfiles/editor ... 4-2014.pdf</a><!-- m --><br /><br />Niestety to nie jest takie proste, dać szybki przetwornik.<p>Statystyki: Napisane przez Gość — 6 paź 2014, o 13:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mustang01]]></name></author>
<updated>2014-10-06T13:31:34+01:00</updated>
<published>2014-10-06T13:31:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97783#p97783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97783#p97783"/>
<title type="html"><![CDATA[Re: Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97783#p97783"><![CDATA[
A dokładnie to jak bardzo szybki przetwornik mi jest potrzebny?<br />Szukając zewnętrznego przetwornika A/C znalazłem czipy microchipa. Jest ich cała gama: na I2C lub SPI, 10-13 bit, jedno lub wielokanałowe, na smt lub tht, o szybkości próbkowania 20-200kps i czasie konwersji rzędu 8us. Są w bardzo przystępnej cenie, ale boje się, że potrzeba tu jakiś specjalnych zdolności przy projektowaniu PCB, bo na płytce stykowej to chyba nie zadziała.<br /><br />Zwiększyłem taktowanie ADC do 1MHz kosztem rozdzielczości, a to daje już czas konwersji 16us.<br />Przy wypełnieniu 5% pokazuje wartości rzędu 128(pomiar ośmiobitowy). Pomiary przypominają przypadkowe wartości. Może należałoby zmienić sposób zasilania, bo obecnie zasilam mikro-kontroler wraz z wyświetlaczem z przetwornicy impulsowej.Trudność wykonania tego projektu przekracza moje zdolności. Jak zaczynałem, to myślałem, że będzie to zdecydowanie prostsze, a taka prosta ładowarka impulsowa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2105">mustang01</a> — 6 paź 2014, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ryba84]]></name></author>
<updated>2014-10-04T15:12:38+01:00</updated>
<published>2014-10-04T15:12:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97660#p97660</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97660#p97660"/>
<title type="html"><![CDATA[Re: Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97660#p97660"><![CDATA[
Źle liczysz prędkość pomiaru. 15 cykli trwa pomiar, ale to 15 cykli zegara ADC czyli pomiar trwa ok 120us. Do tego by mierzyć spadek napięcia na tranzystorze potrzebujesz dużo szybszego przetwornika niż ten w atmedze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3170">ryba84</a> — 4 paź 2014, o 15:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mustang01]]></name></author>
<updated>2014-10-04T12:19:44+01:00</updated>
<published>2014-10-04T12:19:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97653#p97653</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97653#p97653"/>
<title type="html"><![CDATA[Re: Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97653#p97653"><![CDATA[
Obecnie nie trafiam w tempo pracy tranzystora. Żarówka 12V 5W. Przy 100% wyświetla mi się coś pomiędzy 17-21(~15V), a przy mniej niż 100% wynik wzrasta do 1023 (jest poza zakresem pracy przetwornika w granicy 5V). Miernik pokazuje napięcie równe zasilania ~23V, a po dzielniku napięcia mam na pinie tą wartość ~3-5V. Docelowo zależy mi na ładowanie tym układem akumulatorów i zbadanie do ilu dochodzą impulsy prądowe. Wielkość tych impulsów można regulować czasem ładowania kondensatorów w zasilaczu (okresem pomiędzy poszczególnymi impulsami), a na podstawie wzrostu napięcia na akumulatorze można oszacować prąd skuteczny.<br />Problem mam z tym, że pojęcia typu cykl, ton PWM są mi obce. Nie do końca rozumiem zasady działania pracy PWM, przerywań czy ADC. <br />Dlatego nie wiem czy dobrze trafiam pisząc swój kod programu.<br />W dokumentacji tranzystora piszą coś o czasach włączenia tranzystora równych kilkunastu ns, przeładowanie bramki tranzystora to 1,7nF*5V/21mA= 405ns. Moment zadziałania przetwornika od ustawienia bitu ADSC to wartość preskalera - 64 cykle (1s:125KHz=8us), a czas pomiaru to 15 cykli (~2us). Przy wypełnieniu 5% tranzystor zostaje włączony na 50us (1s:1Khz=1ms; 1ms*5%=50us). No, ale kiedy zostaje włączony i wyłączony na te 50us? Czy zostaje włączony na te 50us w trakcie przerwania TIMER1_CMPB_vect i mój kod jest poprawny?<br /><br />Cykl wideo poradników ADC oglądałem przed czytaniem książki, ba nawet oglądałem poradnik jaką książkę kupić. Niestety poradniki są długie i mało rzeczowe, trudno do nich wrócić i wszystko z nich spamiętać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2105">mustang01</a> — 4 paź 2014, o 12:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-10-03T19:35:10+01:00</updated>
<published>2014-10-03T19:35:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97588#p97588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97588#p97588"/>
<title type="html"><![CDATA[Re: Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97588#p97588"><![CDATA[
Tylko jak będziesz zawsze mierzył jak tranzystor jest włączony to będziesz mieć ten sam wynik dla 5% i 100%. Należałoby podczas jednego cyklu PWM zebrać kilkadziesiąt próbek i obliczyć średnią i to dałoby wynik zależny od wypełnienia.<br />Można by też dodać filtr dolnoprzepustowy i za nim mierzyć (i sprawdzić woltomierzem)<br /><br />Polecam poradniki Mirka o ADC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 3 paź 2014, o 19:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mustang01]]></name></author>
<updated>2014-10-03T16:28:16+01:00</updated>
<published>2014-10-03T16:28:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97563#p97563</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97563#p97563"/>
<title type="html"><![CDATA[Pomiar spadku napięcia na tranzystorze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8706&amp;p=97563#p97563"><![CDATA[
Witam, <br />jestem na etapie rozdziału o pomiarze różnicowym w niebieskiej książce. Chciałbym sobie zmierzyć chwilowy(skuteczny) prąd pobierany przez żarówkę, regulowany poprzez PWM o częstotliwości 1kHz. Kluczuje tranzystorem mos-fet IRLZ44N sterowanym z mikro-kontrolera attiny26L i to na nim chciałbym dokonać pomiaru &quot;w czasie jego załączania po ustabilizowaniu się cyklu przełączania&quot;. Wynik wyświetlam na LCD 16x2 znaków. Problem w tym, że nie wiem kiedy to załączanie mos-feta następuje i jak to zaprogramować, aby ten spadek właściwie zmierzyć. Puki co udaje mi się coś pomierzyć, gdy ustawie sobie wypełnienie na 100%, a chciałbym aby program mierzył przy wypełnieniu przykładowo 5%.<br /><a href="http://forum.atnel.pl/_obrazki/o/2105/b303bc683389c5897ea89584dd6128f5.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2105/b303bc683389c5897ea89584dd6128f5.png" alt="Obrazek" /></a><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/HD44780.h&quot;<br />#include &quot;ADC/ADC.h&quot;<br /><br />int main( void ) {<br /><br />lcd_init();<br />adc_init();<br />DDRB|=(1&lt;&lt;PB3); //ustawienie pinu PB3 jako wyjscie<br />TCCR1A|=(1&lt;&lt;COM1B0) | (1&lt;&lt;PWM1B); //włączenie PWM na OCR1B<br />TCCR1B|=(1&lt;&lt;CS12) | (1&lt;&lt;CS11) | (1&lt;&lt;CTC1); // preskaler 8MHz/32=250KHz<br />OCR1B=13;//~5%<br />OCR1C=250; //250KHz:250=1KHz<br />TIMSK|=(1&lt;&lt;OCIE1B); //zezwolenie na przerywanie<br />sei();<br /><br />while(1) {<br /><br />lcd_locate(0,0);<br />lcd_str( &quot;ADC=&quot; );<br />//adc_pomiar();<br />lcd_int(ADCW);<br /><br /><br />}<br />}<br /><br />ISR(TIMER1_CMPB_vect)<br />{<br />ADCSR |= (1&lt;&lt;ADSC); // wyzwalacz ADC<br />}[/syntax]<br />[syntax=c]/*<br /> * ADC.c<br /> *<br /> *  Created on: 26-09-2014<br /> *      Author: Łukasz<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &quot;ADC.h&quot;<br /><br />void adc_init(void)<br />{<br />ADCSR = (1&lt;&lt;ADEN) | (1&lt;&lt;ADPS2) | (1&lt;&lt;ADPS1); //włączenie ADC, preskaler 8MHz/64=125KHz<br />ADMUX = (1&lt;&lt;REFS1) | (1&lt;&lt;REFS0) | (1&lt;&lt;MUX3)| (1&lt;&lt;MUX1) |(1&lt;&lt;MUX0); //Vref, MUX4:0 01011 - ADC0-ADC1 i x20<br />_delay_us(250);<br />}<br /><br />uint16_t adc_pomiar(void)<br />{<br />ADMUX = (1&lt;&lt;REFS1) | (1&lt;&lt;REFS0) | (1&lt;&lt;MUX3)| (1&lt;&lt;MUX1) |(1&lt;&lt;MUX0); //Vref, MUX4:0 01011 - ADC0-ADC1 i x20<br />_delay_us(250);<br />ADCSR |= (1&lt;&lt;ADSC); //start konwersji<br />while(ADCSR &amp; (1&lt;&lt;ADSC)); // oczekiwanie na wynik<br />        return ADCW;<br />}[/syntax]<br />Proszę o pomoc. <br />Pozdrawiam <br />Łukasz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2105">mustang01</a> — 3 paź 2014, o 16:28</p><hr />
]]></content>
</entry>
</feed>