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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-08-03T20:04:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3733&amp;mode</id>
<entry>
<author><name><![CDATA[Razz]]></name></author>
<updated>2013-08-03T20:04:29+01:00</updated>
<published>2013-08-03T20:04:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44300#p44300</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44300#p44300"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44300#p44300"><![CDATA[
Używam biblioteki przerobionej przez pana Mirka.<br />Po usunięciu wyłączenia przerwań na krótki czas termometr i regulator dobrze ze sobą współgrają. Miganie ustąpiło.<br />Martwią mnie tylko konsekwencje tego zabiegu. Po włączeniu temperatura jest mierzona prawidłowo, ale bardzo zależy mi na stabilności układu, który ma pracować przez długi czas.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1579">Razz</a> — 3 sie 2013, o 20:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Razz]]></name></author>
<updated>2013-08-03T17:18:33+01:00</updated>
<published>2013-08-03T17:18:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44276#p44276</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44276#p44276"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44276#p44276"><![CDATA[
Bardzo dziękuję za odpowiedź.<br />Czy przejście na tryb NORMAL przy jednoczesnym zmniejszeniu liczby kroków poprawi sytuację?(teraz pracuje w trybie PARASITE).<br /><br />Ewentualnie mogę przejść na pomiar temperatury w trybie analogowym poprzez ADC. Czy taki pomiar nie będzie bardziej czasochłonny dla procesora niż 1wire?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1579">Razz</a> — 3 sie 2013, o 17:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-03T16:26:55+01:00</updated>
<published>2013-08-03T16:26:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44266#p44266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44266#p44266"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44266#p44266"><![CDATA[
niestety taka obsługa 1wire wymaga chwilowego wyłączania przerwań na czas transmisji pojedynczego bajtu. Są to krótkie czasy i w wielu sytuacjach nie kolidują z pracą innych funkcjonalności programu. Jednak tutaj mowa o 200 krokach w trakcie 10ms, co już powoduje że czas staje się napięty i może dochodzić do takich problemów jak migotanie przy standardowym użyciu obsługi 1wire czy regulacji fazowej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 sie 2013, o 16:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Razz]]></name></author>
<updated>2013-08-03T14:27:47+01:00</updated>
<published>2013-08-03T14:27:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44258#p44258</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44258#p44258"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44258#p44258"><![CDATA[
Termometr był próbowany na PD5 i PB4. Na obu taka sama sytuacja<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1579">Razz</a> — 3 sie 2013, o 14:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Razz]]></name></author>
<updated>2013-08-02T21:19:25+01:00</updated>
<published>2013-08-02T21:19:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44218#p44218</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44218#p44218"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44218#p44218"><![CDATA[
[syntax=c]#define STEPS_COUNT 200<br /><br />#define OUTPUT_PIN PD3<br />#define OUTPUT_DDR DDRD<br />#define OUTPUT_PORTPORTD<br /><br />#define PIN_TIME 1.5<br /><br />#define OUTPUT_ENABLE OUTPUT_PORT |= (1&lt;&lt;OUTPUT_PIN)<br />#define OUTPUT_DISABLE OUTPUT_PORT&amp;= ~(1&lt;&lt;OUTPUT_PIN)<br /><br />#define TIMER2_STARTTCCR2 |= (1&lt;&lt;CS21)<br />#define TIMER2_STOPTCCR2 &amp;= ~(1&lt;&lt;CS21)<br /><br />#define __OCR_STEP ((F_CPU/8)*((1000-((PIN_TIME*100)/2))/STEPS_COUNT))/100000<br /><br />#define PERCENT_FULFILMENT(x) ((x*(STEPS_COUNT-1))/100)<br />//------TIMERS---------------<br />volatile uint8_t timer, flag;<br />//---------------------------<br />volatile uint8_t regulator_buffer1 = 0;<br />volatile uint8_t regulator_buffer2 = 0;<br />volatile uint8_t regulator_fulfillment = 0;<br /><br />int main() {<br />//TIMER0 100Hz<br /><br />TCCR0 |= (1 &lt;&lt; WGM01);<br />TCCR0 |= (1 &lt;&lt; CS02) | (1 &lt;&lt; CS00);<br />OCR0 = 156;<br />TIMSK |= (1 &lt;&lt; OCIE0);<br /><br />sei();<br /><br />OUTPUT_DDR |= (1 &lt;&lt; OUTPUT_PIN);<br />OUTPUT_DISABLE;<br /><br />MCUCR |= (1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00); // zbocze narastaj¹ce<br /><br />TCCR2 |= (1 &lt;&lt; WGM21); // tryb CTC<br />TIMSK |= (1 &lt;&lt; OCIE2); // odblokowanie przerwania COMPARE MATCH<br />OCR2 = __OCR_STEP;<br /><br />GICR |= (1 &lt;&lt; INT0); // INT0 enable<br /><br />regulator_fulfillment = PERCENT_FULFILMENT(30);<br /><br />while(1) {<br />if(flag) {<br />if(0 == (timer % 3)) {<br />search_sensors();<br />} else if(1 == (timer % 3)) {<br />DS18X20_start_meas(DS18X20_POWER_PARASITE, NULL);<br />} else if(2 == (timer % 3)) {<br />uint8_t x, y, z;<br />DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;x, &amp;y, &amp;z);<br />}<br />flag = 0;<br />}<br />}<br />return 0;<br />}<br /><br />ISR(TIMER0_COMP_vect) {<br />static uint8_t cnt = 0;<br /><br />if(++cnt &gt; 99) {<br />flag = 1;<br />timer++;<br />if(timer &gt; 59)<br />timer = 0;<br />cnt = 0;<br />}<br /><br />}<br /><br />ISR(INT0_vect) {<br />TIMER2_STOP;<br />OUTPUT_DISABLE;<br /><br />regulator_buffer1 = STEPS_COUNT;<br /><br />regulator_buffer2 = regulator_fulfillment;<br /><br />TCNT2 = 0;<br />TIMER2_START;<br />}<br /><br />ISR(TIMER2_COMP_vect) {<br />if (regulator_buffer2 &amp;&amp; regulator_buffer1 == regulator_buffer2)<br />OUTPUT_ENABLE;<br />regulator_buffer1--;<br />}[/syntax]<br /><br />Dodam jeszcze, że zmniejszając liczbę kroków migotanie zmniejsza się, ale nie jest całkowicie eliminowane.<br /><br /><span style="color: #FF0000">Kod wklejamy przy pomocy syntax=c - Różowy J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1579">Razz</a> — 2 sie 2013, o 21:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-08-02T06:33:38+01:00</updated>
<published>2013-08-02T06:33:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44141#p44141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44141#p44141"/>
<title type="html"><![CDATA[Re: Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44141#p44141"><![CDATA[
W tym temacie miałem podobny problem <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic2118-30.html?hilit=termopara" >topic2118-30.html?hilit=termopara</a><!-- l --><br /><br />Z tego co pamiętam problemem okazały się same IF przy obsłudze &quot;liczników&quot; w pętli głównej.<br />Trzeba było zrobić jak w lekcji 10 czyli<br /><br />[syntax=c]if( 0 == (sekundy%3) ) czujniki_cnt = search_sensors();<br /><br />if( 1 == (sekundy%3) ) DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br /><br />if( 2 == (sekundy%3) ) {[/syntax]<br /><br />Ale już tego nie sprawdziłem, bo projekt poszedł na zaliczenie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<p>Statystyki: Napisane przez Gość — 2 sie 2013, o 06:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Razz]]></name></author>
<updated>2013-08-01T22:14:07+01:00</updated>
<published>2013-08-01T22:14:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44136#p44136</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44136#p44136"/>
<title type="html"><![CDATA[Regulacja mocy AC i DS18B20]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3733&amp;p=44136#p44136"><![CDATA[
Witam. <br />Buduję urządzenie, które ustala moc na wyjściu ze względu na temperaturę.<br />Termometr to DS18B20, a regulator mocy to układ na triaku BT136 + wyświetlacz temperatury. <br />Wszystko działa na uC Atmega32 z kwarcem 16Mhz.<br />Oba układy(regulator i termometr) osobno działają bez zastrzeżeń. Problem zaczyna się, gdy chcę uruchomić je równolegle. W momencie wywołania funkcji: [syntax=c]DS18X20_start_meas(DS18X20_POWER_PARASITE, NULL);[/syntax] oraz [syntax=c]DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;x, &amp;buffer, &amp;y) != DS18X20_OK;[/syntax]<br />na wyjściu moc krótkotrwale, ale zauważalnie spada(żarówka przygasa i zaraz się rozjaśnia). Sposób podłączenia i kod w całości zaczerpnięty z książki tego wydawnictwa(tej niebieskiej). Oczywiście nie czekam na pomiar delay_ms(750) tylko zastosowałem timer. <br />Chcę wyeliminować migotanie podczas równoległej pracy. Przeglądałem bibliotekę 1wire i nie sądzę, żeby delay_us(400) miało aż taki wpływ na regulator o parametrach: liczba kroków: 200, czas trwania szpilki 1.5.<br />Bardzo proszę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1579">Razz</a> — 1 sie 2013, o 22:14</p><hr />
]]></content>
</entry>
</feed>