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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-12-26T11:06:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4215&amp;mode</id>
<entry>
<author><name><![CDATA[bimoto]]></name></author>
<updated>2015-12-26T11:06:57+01:00</updated>
<published>2015-12-26T11:06:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=148891#p148891</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=148891#p148891"/>
<title type="html"><![CDATA[Re: RS485 (MAX487) nie chce ruszyc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=148891#p148891"><![CDATA[
Witam<br /><br />Można jeszcze użyć układu do full duplexu SN75179<br /><!-- m --><a class="postlink" href="http://www.tme.eu/pl/Document/322b622b79ad9dd8edc77be23190cb17/SN75179BD.pdf" >http://www.tme.eu/pl/Document/322b622b7 ... 5179BD.pdf</a><!-- m --><br /><br />Wtedy nie potrzeba raczej sterować przepływem danych ?<br /><br />Proszę mnie wyprowadzić z błędu jeśli źle napisałem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10794">bimoto</a> — 26 gru 2015, o 11:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2013-09-19T14:05:40+01:00</updated>
<published>2013-09-19T14:05:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50076#p50076</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50076#p50076"/>
<title type="html"><![CDATA[Re: RS485 (MAX487) nie chce ruszyc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50076#p50076"><![CDATA[
<div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />polecam lekturę (wymagany język angielski):<br /><!-- m --><a class="postlink" href="http://www.analog.com/static/imported-files/application_notes/AN-960.pdf" >http://www.analog.com/static/imported-f ... AN-960.pdf</a><!-- m --><br /></div>Informacje ciekawe ale duzo nie wybiegaja w porownaniu do <a href="http://ep.com.pl/files/4539.pdf"  class="postlink">tego</a><br /><br /><div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />Ja jak zaczynałem zabawę z RS485 to zbudowałem sobie taki konwerter:<br /><!-- m --><a class="postlink" href="http://serwis.avt.pl/manuals/AVT530.pdf" >http://serwis.avt.pl/manuals/AVT530.pdf</a><!-- m --><br />dzięki temu łatwo testuję sobie komunikację PC (terminal) &lt;-&gt; atmega z max485.<br /></div>Tez o takim czyms myslalem. Chcac wykonac cos takiego samodzielnie - uzyc pl2303 ktora juz pracuje w ttl'u oraz max487(podobno lepsze parametry od max485). ne555 bym zastapil zworka ktora by sluzyla do nadawania.<br /><br /><div class="quotetitle">BARTB napisał(a):</div><div class="quotecontent"><br />Jeśli testujesz to na krótkim odcinku przewodu (kilka metrów) to wylutuj terminatory i rezystory podciągające bo tylko przeszkadzają.<br /></div>Zgodnie z zaleceniami zbedne rezystory zostaly usuniete.<br /><br />Udalo rozwiazac sie brak komunikacji - problem byl z biblioteka dolaczona na DVD. Po pobraniu poprawki ze strony Atnela wszystko smiga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 19 wrz 2013, o 14:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BARTB]]></name></author>
<updated>2013-09-19T09:25:10+01:00</updated>
<published>2013-09-19T09:25:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50068#p50068</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50068#p50068"/>
<title type="html"><![CDATA[Re: RS485 (MAX487) nie chce ruszyc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50068#p50068"><![CDATA[
<div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />Piszac o podciaganiu chodzi o rezystory podciagajace A do vcc oraz b do gnd ?<br /></div><br /><br />terminatory (120 om) stosuje się na końcach linii, żeby sygnał się nie odbijał i nie wracał do nadającego urządzenia.<br />Przy krótkich liniach do kilkunastu metrów nie są potrzebne.<br />rezystory podciągające (w twoim przypadku R5 i R11) 510 om stosuje się gdy mamy do czynienia z mocno zakłóconym środowiskiem i zawsze powinno się je stosować w tylko jednym urządzeniu na magistrali.<br /><br />Na początek (jeżeli ogarnąłeś software ze sterowaniem kierunkiem) proponowałbym testy bez terminatora i rezystorów podciągających<br /><br />polecam lekturę (wymagany język angielski):<br /><a href="http://www.analog.com/static/imported-files/application_notes/AN-960.pdf"  class="postlink">http://www.analog.com/static/imported-files/application_notes/AN-960.pdf</a><br /><br />Ja jak zaczynałem zabawę z RS485 to zbudowałem sobie taki konwerter:<br /><a href="http://serwis.avt.pl/manuals/AVT530.pdf"  class="postlink">http://serwis.avt.pl/manuals/AVT530.pdf</a><br />dzięki temu łatwo testuję sobie komunikację PC (terminal) &lt;-&gt; atmega z max485.<br /><br />Oczywiście terminator i rezystory podciągające daję przez zworki, które zawsze pozwalają mi łatwo przekonfigurowywać sieć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1542">BARTB</a> — 19 wrz 2013, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2013-09-18T21:09:44+01:00</updated>
<published>2013-09-18T21:09:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50042#p50042</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50042#p50042"/>
<title type="html"><![CDATA[Re: RS485 (MAX487) nie chce ruszyc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50042#p50042"><![CDATA[
<div class="quotetitle">squeez napisał(a):</div><div class="quotecontent"><br />Po pierwsze to przy RS485 przy nadawaniu musisz sterować linią DE (masz to w bibliotece).<br /></div><br />Liniami przełączającymi konwerter na nadawanie lub odbiór są linie !RE oraz DE, które można połączyć razem i sterować jednym sygnałem. Stan niski na tych liniach będzie powodował przełączenie konwertera MAX485 w tryb odbioru, a stan wysoki przełączenie go w tryb nadawania. Teorie znam, w praktyce mam dopisac sterowanie ta linia w procedurze obsługi przerwania nadawczego ?<br /><div class="quotetitle">gomes napisał(a):</div><div class="quotecontent"><br />Masz podciąganie na stałe i tak samo terminator, lepiej zrobić to na zworach i w razie potrzeby je zakładać.<br />U mnie na przewodzie około 10m działa bez terminatora, z terminatorem jest za mała różnica poziomów napięć na linii.<br /></div> Terminator to ten rezystor 120 ohm ? Teraz doczytalem, ze nalezy stosowac go tylko raz i to w najbardziej oddalonym urzadzeniu wykonawczym, prawda ?<br /><br /><div class="quotetitle">squeez napisał(a):</div><div class="quotecontent"><br />Poza tym podciąganie robisz raczej tylko w jednym urządzeniu a nie każdym module a terminatory jak już to tylko na końcach linii.<br /></div> jak wyzej, terminatory na wszystkich slave czy tylko najbardziej oddalonym ?<br />Jak rozumiem mam pozbyc sie rezystorow z ukladow slave podciagajacych a do vcc oraz b do gnd  - ewentualnie zostawic te rezystorki w ukladzie master?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 18 wrz 2013, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gomes]]></name></author>
<updated>2013-09-18T16:12:59+01:00</updated>
<published>2013-09-18T16:12:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50002#p50002</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50002#p50002"/>
<title type="html"><![CDATA[RS485 (MAX487) nie chce ruszyc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4215&amp;p=50002#p50002"><![CDATA[
Od pewnego czasu tworze centralke i moduly wykonawcze - przyszedl czas na ich polaczenie. Majac wykonane plytki z wczesniej omawianych schematow<br /><a href="http://forum.atnel.pl/_obrazki/o/779/1173b658d68f993fe14379d8d0692085.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/779/1173b658d68f993fe14379d8d0692085.png" alt="Obrazek" /></a> oraz  <a href="http://forum.atnel.pl/_obrazki/o/779/575b657f807fbeeb55e524f647fabb9d.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/779/575b657f807fbeeb55e524f647fabb9d.png" alt="Obrazek" /></a><br />chcialem ruszyc z kopyta wiec najpierw przeczytalem rozdzial 'komunikacja rs232/rs485' po czym przystapilem do sprawdzania dzialania bibliotek z CD. Jak zwykle wszystko przebieglo bez problemu, na terminalu pojawialy sie wysylane znaki oraz moglem sterowac modulem wykonawczym wciskajac na klawiaturze 1,2 badz 3. <br />Przycielem 3 m skretki po czym polaczylem bezposrednio dwa mikrokontrolery ze soba(A z A, B z B, masa z masa). W dalszym ciagu zarzadca ladnie sterowal poczynaniami drugiego. Zadowolony wczesniejszym rezultatem z podstawek wyciagnelem przewody robiace za cross zastepujac je MAX487 po obu stronach. <br />I w tym momencie moja radosc troche zmalala - jak mozna sie domyslec zero komunikacji.  Byla to juz godzina 1 byc moze dlatego nie moglem w ksiazce  doszukac sie czy do korzystania z rs485 potrzeba w main poczynic jakies dodatkowe deklaracje np. czy [syntax=c]// jeśli korzystamy z interefejsu RS485<br />#ifdef UART_DE_PORT[/syntax] trzeba jakos wywolywac w main ?<br />Niby przeczytalem jak sie obchodzic z ifdef ale dalej nie do konca wiem, jak to dziala.<br /><br />Ponizej kody <br />nadawca(atmega16) [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;MKUART/mkuart.h&quot;<br /><br />int main(void)<br />{<br /><br />USART_Init(__UBRR); // inicjalizacja UART<br /><br />sei();<br />// globalne odblokowanie przerwań<br /><br /><br />// pętla nieskończona<br />while (1)<br />{<br /><br />uart_puts(&quot;1&quot;); // wyślij tekst<br />uart_putc('\r'); // wyślij znak CR (enter)<br />//uart_putc('\n');// wyślij znak LF (nowa linia)<br />_delay_ms(1000); // odczekaj 1 sek<br />uart_puts(&quot;2&quot;);<br />uart_putc('\r'); // wyślij znak CR (enter)<br />_delay_ms(1000);<br />uart_puts(&quot;3&quot;);<br />uart_putc('\r'); // wyślij znak CR (enter)<br />_delay_ms(1000);<br /><br />}<br /><br />}[/syntax]<br /><br />odbiorca(atmega8)<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;IR_DECODE/ir_decode.h&quot;<br />#include &lt;util/delay.h&gt;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />#define POWER_PIN (1&lt;&lt;PB2)<br />#define POWER_ON |= POWER_PIN<br />#define POWER_OFF &amp;= ~POWER_PIN<br />#define POWER_TOG PORTB ^= POWER_PIN<br />#define VOL_UP_PIN (1&lt;&lt;PC2)<br />#define VOL_UP PORTC |= VOL_UP_PIN<br />#define VOL_UP_STOP PORTC &amp;= ~VOL_UP_PIN<br />#define VOL_DOWN_PIN (1&lt;&lt;PD3)<br />#define VOL_DOWN PORTD |= VOL_DOWN_PIN<br />#define VOL_DOWN_STOP PORTD &amp;= ~VOL_DOWN_PIN<br />#define SW1(1&lt;&lt;PB5)<br />#define SW2(1&lt;&lt;PB4)<br />#define SW3(1&lt;&lt;PB3)<br />#define SW1_DOWN!(PINB &amp; SW1)<br />#define SW2_DOWN!(PINB &amp; SW2)<br />#define SW3_DOWN!(PINB &amp; SW3)<br /><br />volatile uint8_t sw1_lock, sw2_lock, sw3_lock;<br /><br />void RC5();<br />void Przyciski();<br /><br />int main(void)<br />{<br /><br /><br />DDRB |= (1 &lt;&lt; PB2);<br />PORTB |= (1 &lt;&lt; PB2); // podświetlenie wyświetlacza LCD<br />DDRD |= VOL_DOWN_PIN; // JAKO WYJSCIE<br />DDRC |= VOL_UP_PIN;<br />DDRB &amp;= ~SW1 | ~SW2 | ~SW3; //Kierunek pinu wejsciowy<br />PORTB |= SW1 | SW2 | SW3; //Podciagniecie do vcc (wew rezystor)<br /><br />lcd_init(); // inicjalizacja LCD<br />ir_init(); // inicjalizacja dekodowania IR<br />USART_Init(__UBRR); // inicjalizacja UART<br />UART_DE_DIR |= UART_DE_BIT;<br />UART_DE_ODBIERANIE; // wlaczono odbieranie<br />sei();<br />// włączamy globalne przerwania<br /><br />lcd_locate(0, 0);<br />lcd_str_P(PSTR(&quot;Wzmacniacz wlaczono&quot;)); // wyświetl napis w zerowej linii LCD<br /><br />/* pętla nieskończona */<br />_delay_ms(10);<br /><br />char input;<br />while (1)<br />{<br />input = uart_getc();<br />if (input == '1')<br />{<br />VOL_UP;<br />_delay_ms(200);<br />VOL_UP_STOP;<br />}<br />else if (input == '2')<br />{<br />VOL_DOWN;<br />_delay_ms(200);<br />VOL_DOWN_STOP;<br />}<br />else if (input == '3')<br />{<br />POWER_TOG;<br />}<br /><br />RC5();<br />Przyciski();<br /><br />}<br />}<br />// dalej funkcje rc5 i przyciski[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=779">gomes</a> — 18 wrz 2013, o 16:12</p><hr />
]]></content>
</entry>
</feed>