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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-09T18:59:21+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8442&amp;mode</id>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2014-09-09T18:59:21+01:00</updated>
<published>2014-09-09T18:59:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94826#p94826</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94826#p94826"/>
<title type="html"><![CDATA[Re: Sterownik do CO - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94826#p94826"><![CDATA[
Niestety, ale to nic nie zmienia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 9 wrz 2014, o 18:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xisco24]]></name></author>
<updated>2014-09-07T19:53:25+01:00</updated>
<published>2014-09-07T19:53:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94588#p94588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94588#p94588"/>
<title type="html"><![CDATA[Re: Sterownik do CO - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94588#p94588"><![CDATA[
Wydaje mi się, że w pliku histereza.c powinno być:<br />if (temp_d &lt;= temp) zwrot = 0;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2868">xisco24</a> — 7 wrz 2014, o 19:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaka0204]]></name></author>
<updated>2014-09-07T18:16:12+01:00</updated>
<published>2014-09-07T18:16:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94580#p94580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94580#p94580"/>
<title type="html"><![CDATA[Sterownik do CO - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8442&amp;p=94580#p94580"><![CDATA[
Witam.<br />Robię sterownik do CO i napotkałem na problem, który nie bardzo rozumiem, mianowicie - włączanie pompki działa prawidłowo, jednakże wyłączanie przebiega źle. Po prostu nie wyłącza się gdy zmienna osiągnie odpowiednią wartość, tylko troszkę później. Wszystko obrazuje filmik. <br /><br /><!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=vCERjMyYX7k&amp;feature=youtu.be" >https://www.youtube.com/watch?v=vCERjMy ... e=youtu.be</a><!-- m --> <br /><br />main.c<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 16-08-2014<br /> *      Author: Damian<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;LM35_ADC/LM35.h&quot;<br />#include &quot;HISTEREZA/histereza.h&quot;<br /><br />uint16_t temp;<br />volatile uint8_t timer1;<br /><br /><br /><br />int main(void)<br />{<br />lcd_init();<br />LM35_init();<br /><br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS12);<br />OCR1A= 1562;<br />TIMSK |= (1&lt;&lt;OCIE1A);<br /><br /><br />sei();<br /><br />while(1)<br />{<br /><br />temp=LM35_convert_adc_to_voltage(0);<br />histereza(wynik,27,3);<br /><br />if(!timer1)<br />{<br />lcd_cls();<br />lcd_big_int(temp);<br />lcd_locate(0,14);<br />lcd_int(zwrot);<br />timer1=5;<br />_delay_ms(10);<br />}<br />}<br />}<br /><br />ISR(TIMER1_COMPA_vect)<br />{<br />static uint8_t x;<br /><br />x=timer1;<br />if(x) timer1= --x;<br />}[/syntax]<br /><br />histereza.c<br /><br />[syntax=c]/*<br /> * histereza.c<br /> *<br /> *  Created on: 21-08-2014<br /> *      Author: Damian<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &quot;histereza.h&quot;<br /><br />uint8_t zwrot;<br />uint8_t temp_hist_plus;<br /><br />uint8_t histereza(uint8_t temp_d, uint8_t temp, uint8_t hist)<br />{<br /><br />temp_hist_plus = temp + hist;<br /><br /><br /> if (temp_d &lt; temp) zwrot = 0;<br /><br /> else if (temp_d &gt;= temp_hist_plus) zwrot = 1;<br /><br />return zwrot;<br />}[/syntax]<br /><br />histereza.h<br /><br />[syntax=c]/*<br /> * histereza.h<br /> *<br /> *  Created on: 21-08-2014<br /> *      Author: Damian<br /> */<br /><br />#ifndef HISTEREZA_H_<br />#define HISTEREZA_H_<br /><br />extern uint8_t zwrot;<br />extern uint8_t temp_hist_plus;<br /><br />uint8_t histereza(uint8_t temp_d, uint8_t temp, uint8_t hist);<br /><br /><br />#endif /* HISTEREZA_H_ */[/syntax]<br /><br />LM35.c<br /><br />[syntax=c]/*<br /> * LM35.c<br /> *<br /> *  Created on: 17-08-2014<br /> *      Author: Damian<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LM35.h&quot;<br /><br />uint16_t wynik;<br /><br />void LM35_init(void)<br />{<br />ADMUX |= (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0);<br />ADCSRA |= (1&lt;&lt;ADEN)|(1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0);<br />}<br /><br />uint8_t LM35_convert_adc_to_voltage(uint8_t kanal)<br />{<br />ADMUX |= (ADMUX &amp; 0xF8)| kanal;<br />ADCSRA |=(1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br /><br /><br />wynik=ADCW*25;<br />wynik=wynik/100;<br /><br />return wynik;<br />}[/syntax]<br /><br />LM35.h<br /><br />[syntax=c]/*<br /> * LM35.h<br /> *<br /> *  Created on: 17-08-2014<br /> *      Author: Damian<br /> */<br /><br />#ifndef LM35_H_<br />#define LM35_H_<br /><br /><br />void LM35_init(void);<br />uint8_t LM35_convert_adc_to_voltage(uint8_t kanal);<br /><br />extern uint16_t wynik;<br /><br /><br />#endif /* LM35_H_ */[/syntax]<br /><br />Biblioteka dużych cyfr jest autorstwa kolegi savian86<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic4711.html" >topic4711.html</a><!-- l --><br /><br />Chciałbym, aby zmienna zwrot osiągała wartość 0 w tym samym momencie, w którym zmienna temp osiągnie wartość jaką wpiszę w programie a nie chwilę po tym <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=889">kaka0204</a> — 7 wrz 2014, o 18:16</p><hr />
]]></content>
</entry>
</feed>