Również nie jestem Bascomowcem ale być może moje uwagi okażą się cenne. Po instrukcji Print "{008}5r", dane jest 10 ms opóźnienia. W tym czasie slave mógł już przesłać wszystkie swoje dane - a master jeszcze nie rozpoczął nasłuchu. Inną sprawą jest to, że 100 obiegów pętli w procedurze Odczyt_zn może trwać krócej niż transmisja jednego znaku przez UART...
witam, przeczytałem juz chyba z milion wątków na temat rs485 i mam totalny mętlik w głowie. Zamierzam zrobić kilka sterowników które miałyby pracować w sieci rs485. Slave-y zajmowałyby się wykonywaniem swoich zadań(sterowanie oświetleniem, monitorowanie czujników, sterowanie zaworami, itp...) master miałby jakiś LCD i kawałek klawiatury. Ale mniejsza...
Witam, chcę zbudować sieć urządzeń opartych o RS485: jeden master i kilka urządzeń slave. Urządzenia typu slave będą zarówno wykonawczymi ON/OFF jak również będą miały czujniki. Wstępnie nawet to zaprogramowałem: master wysyła adres urządzenia(np liczba 0-10), następnie komenda (też np 0-10), układ odpowiada np. temperatura. Wszystko niby działa, ale...
Slave już mam - otóż mój "sterownik" jest odpytywany przez scada - na 20 rejestrach wysyłam dane, które później są wizualizowane. Teraz czas na mastera - mój "sterownik" musi odpytać inny sterownik na konkretnych rejestrach po RS485 Mówisz, że gdybym miał jakiś problemik to mogę do Ciebie napisać? :)
Tu jest jedno urządzenie master(pulpit) i jedno slave (moduł wykonawczy)... A rs485 tylko ze względu na znaczną odległość pomiędzy nimi.
Witam Bardziej profesjonalnie jest wszystkie układy potraktować jako slave . Każdy słucha i czeka na przerwanie z uarta , jak je otrzymuje odbiera zawartość z udr porównuje i albo odbiera dalej albo ignoruje i czeka na kolejny adres . Atmel wyposażył układy w tryb multimaster ,który się do tego świetnie nadaje i warto o nim przeczytać w dokumentacji...
... ale jeśli dobrze się napisze procedury komunikacji RS485 to nie trzeba żadnych dodatkowych opóźnień po wysłaniu dodawać ;).... ;) Postanowiłem zmierzyć tego "delaya".... i okazało się że w BASCOM odpowiedź SLAVE po RS485 wysyła zanim jeszcze MASTER zdejmie TX_ENABLE. Możę to i drobiazg - ale na zakładkę 60us są na magistrali dwa TX. Generalnie...
A może conieco poczytać o RS485? Też z założenia magistrala ta niejako jest przystosowana do: 1. dużych odległości (kabel 3-żyłowy ekranowany starczy - 2 linie magistrali + masa dla bezpieczeństwa, ewentualnie jakoś sensownie zrobić optoizolację). 2. wielu układów slave - programowo można zaimplementować bez problemu adresowanie 3. wykorzystuje UART...
Witam, ja właśnie dokładnie taką samą konfigurację 2 procków czyli łączyłem Atmega8 oraz Atmega16 po tym właśnie i2cslave w Bascomie i mogę się coś niecoś na ten temat wypowiedzieć.... ... otóż biblioteka ta I2cslave dla softwarowego rozwiązania układu SLAVE w I2C rzeczywiście działa dobrze tak jak jest opisana ale... jest właśnie jedno i to dosyć spore...
Ludzie kochani mam wielki problem z RS485 pod BASCOMem. Sterownik Master jest jest na Mega128 a slave na Mega8. Oba są spięte MAX485. Master jest podłączony na TXD0 i RXD0 a re i de są spięte razem. Master tylko ma wysyłać dane do Mega8. Gryzę temat od tygodnia i nic i zaraz pogryzę sterownik. Jeżeli ktoś ma jakieś sugestie to proszę o pomoc
Witam. Procki AVR (kilka, z czego jeden master, pozost. slave) chcialbym polaczyc razem (SPI). Jaka moze być max. długość przewodów? Centymetry, metry czy dziesiątki metrów? A może inne sugestie? Na razie dwie Atmegi 16 gadają ze sobą na RS232 na przewodzie 40 metrów. Muszę dołączyć jeszcze dwa procki (slave). RS485 trochę zbyt skomplikowany - Bascom...
I teraz jeszcze takie pytanie, jak master wyśle komendę print 0103, to wysyła on na wszystkie układy podłączone do magistrali i tylko w slave o numerze 01 (na przykład) wykona się instrukcja 03??? Tak to rozumiem. No i czy instrukcja INPUT nadaje się do odebrania danych z magistrali?? Dokładnie tak ale musisz w procedurze obsługi odebranych komunikatów...
Dzięki. Mój problem polega na tym, że nie mam doświadczenia z RS 485. Chodzi mi o jakakolwiek pomoc i wskazówki. Jeden układ ma być tak jak wspomniałeś Master, a pozostałe Slave. Slave ma zbierać dane i przesyłać je do Master. Master po odebraniu danych ma wyświetlić je na tablicy synoptyczneji (opcjonalnie przesłać dalej do komputera). Dane mają być...
jeżeli mam transmisje miedzy wieloma uP na jednej płycie, to używam dodatkowych pinów i robie synchroniczną transmisje, sposób z dioda jest powszechnie stosowany w takich sytuacjach, zresztą podpatrzyłem to dawno temu w naświetlarce gdzie na jednej płycie siedziało kilka Z-80 i właśnie tak gadały ze sobą. kod który wkleiłem jest terminalowy, serwerowy...
Rozumiem, że tych slave'ów jest kilka i tylko z tego jednego krzaczy, a z pozostałych slave'ów wyświetla poprawnie ? Jeśli tak to prawdopodobnie stos najeżdża na zmienne w programie mastera.
A co jaki czas w Master uruchamiany jest Timer?
Niekoniecznie musi to byc RS485. AVR-y mają tryb dla USART-a MPCM . Jest to tryb Master -kilka slave, przy czym transmisja jest 9-bitowa i ten ostatni bit jest znacznikiem adresu. W slave-ach łączysz wszystkie Rx ze sobą i Tx ze sobą , następnie krosujesz z Tx i Rx Mastera. Szczegóły w nocie katalogowej... EDIT: Przykładów nie podam, bo nie miałem potrzeby...
Patentów jest wiele, ale chyba najleprzy to zastosowanie RS485, który z założenia jest zrobiony dla sieci do 32 urządzeń. RS485 opisuje elektryczną stronę komunikacji, a nie protokół, który jest z regóły identyczny z RS232, jedyne czym się całość różni z punktu widzenia procesora, to transmisja ma sterowany kierunek, czyli jest half-dupleksowa, procesor...
Dodatkowa linie ani nie jest potrzebna, ani tez nie rozwiazuje, zadnego problemu. Bo nic nie zabezpieczy przed sytuacja, w ktorej dwa urzadzenia prawie jednoczesnie sprawdza ta linie, stwierdza, ze jest wolna i sprobuja ja zablokowac. Twoj problem mozna rozwiazac na dwa sposoby. Klasycznie po prostu sprawdzac linie, jesli przez jakis czas nikt nie nadaje...
Nie wiem jak zrobić multi master na MAX1482, ale na pewno nie da się jednocześnie nadawać i odbierać w half-duplexie. Zresztą ja wolę układ jeden master i n slave'ów. Nie wiem dlaczego uparłeś się na multi master?
Odsyłam do lektury "Elektroniki Praktycznej" nr 9 i 10/2004. Przykładowy system składa się z mastera i dwóch slave'ów na Mega8 + MAX485. Pozdrawiam, Hubert Kasiński
bo gdy jest duża liczba układów to w RS485 zanim master odpyta wszystkie slave to trochę czasu minie ( czy to nie jest aż taki duży problem jak mi się wydaje bo nie chciałbym aby światło załączył by się np. po 4 sekundach od załączenia włącznika) Przecież pod wyłącznikiem oświetlenia jest płytka z procesorem i przekaźnikiem. Nie rozumiem po co slave...
Dziękuję Koledze za odpowiedź. Widzę Kolega przesyła temperaturę jako HEX. Jak Kolega sobie radzi z problemem długości ciągu? Bo nawet przesyłając jako HEX to wartość temperatury ( właściwie długość ciągu ) będzie różna - dla 5 stopni to będzie 2 cyfrowy HEX - dla 25 to będzie 4 cyfrowy HEX Eksperymentując widzę, że chyba najprostszym rozwiązanie jest...
Nie musi być. Nadajniki rs485 są odporne na kolizje, co najwyżej nic nie wyjdzie z takiej transmisji. A w takim prostym systemie z jednym masterem wystarczy przyjąć zasadę ze urządzenia slave nie odzywają się bez pytania. Oczywiście potrzebny będzie jakiś prosty protokół dzięki któremu będzie można zaadresować odpowiedniego slave'a.
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Lcdpin = Pin , Db4 = Pordc.3 , Db5 = Pordc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 20 * 4 Config Serialin = Buffered , Size = 15 Config Pind.2 = Output Kierunek Alias Portd.2 'zmienia kierunek transmisji Enable Interrupts Dim A As Integer...
ja w systemie rozproszonym (każdy układ w razie utraty komunikacji z masterem pracuje samodzielnie) a Ty w systemie zcentralizowanym (moim skromnym zdaniem trochę nieodbezpieczenie bo jak ci malina padnie to wszystko siedzi) U mnie każdy z układów może pracować samodzielnie, ba, nawet może sterować innego slave'a. Gdy jest master (malina) w sieci to...
Witam wszytkich, Od kilku dni próbuję się nauczyć obsługi modbus rtu w bascomie i na podstawowym programie z helpa się wyłożyłem. Poradźcie dlaczego wpisując mój procesor w poniższy kod wywala mi błędy? Czy ta biblioteka jest tylko pod dany procesor? Proszę podpowiedzcie. https://obrazki.elektroda.pl/7527367800_... [syntax=vbnet]'-------------------------...
Zastanawiam się, czy nie lepszym rozwiązaniem będzie podanie SCK mastera dodatkowo na INT0 slave. Tak żeby pierwsze zbocze zegara wywoływało przerwanie. Czy wtedy transmisja przejdzie bez problemów? I bezbłędnie przy użyciu samych poleceń SPI IN/OUT? Jeżeli przełożysz SCK na pin INT0 wtedy SPI nie będzie działało. Możesz wykorzystać jakiś wolny port...
Witam Do pinow nie mam nic podpięte ( MOSI, MISO i SCK) tylko wpinam programator zgodny z STK200/300. Schematy ( mam trochę problem żeby umieścić swoje schematy gdyż nie korzystam ze swojego kompa teraz) ale są identyczne jeśli chodzi o sposób realizacji RS485 jak te z EP ( link wyżej ). Poza kondensatorami C1 i C2 oraz rezonatory ( korzystam z wewn....
Witam, buduje system pomiarowy składający się z 5 płytek. Pierwszy to master który nawiązuje (startuje) transmisję na szynie danych, a pobrane od slave-ów dane wysyła do PC po RS232. Pozostałe moduły(slave) to układy pomiarowe i wykonawcze. Płytka z masterem będzie wyposażona w ATmega16, a moduły w Atmega8. Master ma wysyłać ramkę z danymi(1bajt) (rozkaz...
Witam. Miałem dwie atmegi spięte przez port szeregowy. Full duplex. Master, wysyłał do slave znak "Q" a w odpowiedzi otrzymywał stan wszystkich ośmiu bitów wybranego portu. Master odebrany komunikat wysyłał na port i zapalał LEDy. Ukłąd prosty. Wszystko działało przepięknie. Odbieranie znaków w układach master i slave realizowałem przerwaniem od URXC...
Witam No znalazłem trochę informacji na temat RS485 i jego realizacji pod BASCOM-em , w sumie tak jak piszesz byrrt nie powinno sprawic klopotów. Co do komunikacji. Jeśli pr. główny ma tylko odbierać, ( bo w sumie odczyt temp i wilgotność a także ich konwersję zrobiłbym na procku przy SHT i wysyłał już wartość po konwersji), to który z procków ma byc...
3. w Bascomie można zdefiniować dodatkowo, opócz sprzętowego UART-a, także wirtualne porty UART, na dowolnych portach. 4. Polecam: https://avrhelp.mcselec.com/, a dokładnie rozdział: "SOFTWARE UART" Nie polecam software uart. W Arduino sa z tym, kłopoty a Bascom jest jeszcze bardziej nieprzewidywalny a nie ma dostępu do bibliotek aby je zmodyfikować....
Witam serdecznie. Pisać w Bascomie zacząłem w lipcu br. To mój pierwszy program. Oto mój problem. Sieć Master-Slave na platformie RS485. Master - PC z dedykowaną aplikacją Slave - ATmega64 [syntax=basic4gl]'----------------------... Dim Tmpstr As String * 50 'dane odebrane Dim Tmpout As String * 50 'dane do wysłania '------------------------------------...
chodzi o to że master dostaje informacjie ze sterownika (poprzez rs485). sterownik nadaje "na okrągło" a master ma odczytać z tegi kilka wybranych bajtów. następnie master dokona kilka operacji z tymi wybranymi bajtami i porossyła je do slave'ów. i2c odpada, to powinno być cos sprzętowego- w tym wypadku pozostaje mi UART, bo urzyte procki na pewno będą...
Witam. Temat rzeka. C jesli jest darmowe, to przez chwile, pozniej nie dziala optymalizacja i kod zajmuje polowe pamieci. Nauczylem sie wszystko robic w ASM i probowalem w C,ale mnie "trafialo". Zdaje sobie sprawe, ze pewnie nigdy nie zrobie nic z USB, bo wszystko jest gotowe tylko w C, wlasciwie sie nie dziwie. Za to ethernet prawie zrobilem w ASM,...
Wszystko zalezy od tego jak to ma wygladac sprzetowo i na jakiej odleglosci ma to sie odbywac. Jezeli do 50m to mozesz smialo zastosowac RS232 na jakiejs wolnej predkosci typu 9600 baud. Jezeli wiecej to nalezaloby sie zastanowic nad RS485 ale wtedy sprawa sie komplikuje bo bez wdawania sie w wieksze koszty trzeba opracowac transmisje half duplex typu...
Świetne :-) Szkoda, że moja to sieć kablowa RS485 a nie WiFi, no ale trudno ;-) Dobra, teraz zajarzyłem też, że wcześniej pisaliście o sterowaniu kierunkiem transmisji od strony mikrokontrolera. Oczywiście, że mikrokontroler steruje kierunkiem transmisji (przełącza kostkę MAX485 w tryb nadawania lub odbioru), i rzeczywiście takie coś będzie musiał obsłużyć...
Dziekuję za odpowiedź. Czyli rozumiem, że kupuję MAX485 podłączam do Atmegi tak jak pokazano na rysunku bez żadnych innych elementów i mam już układ do nadawania/odbierania w standardzie RS485? :D Odnośnie punktu 1 - chodzi Ci o linie X1-1 oraz X1-2 tak? Połączone powinny być faktycznie z tego co widzę to między kolejnymi odbiornikami? http://www.roboternetz.de/wissen/index.p...
Sprawdziłem problem kolizji i też nie działa jak ma działać. Otóż sytuacja ma się dokładnie tak: Jeśli nadaje jakikolwiek znak do slave-ów to reagują na znak tak jak chce. Podam kod którym realizuje to co pisze: (dodam, że pisze w Bascomie) Kod centralki: ... Do print "q"; wait 1 loop ... kod slave-ów : ... Dim A as Byte Do A = Waitkey()...
Cześć, zadanie jakie było do wykonania polegało na tym, żeby udostępnić dane ze sterowników przemysłowych poprzez siec ethernetową na dowolnie wybranym pececie. Problem był tylko taki, że sterowniki nie maja wbudowanego webserwera, ale pracują za to w sieci Modbus. W tym przypadku zadanie sprowadziło się do dwóch podzadań: stworzyć mastera w sieci Modbus...
Potrzebuje pomocy aby przerobić go na Bascom AVR oraz troche zmodifikować, w zamian prześlę program slave. Programy obsługują do 31 slave poprzez RS485. Pliki init_benbus oraz subs_benbus mogę wysłać na priv.
bascom master slave rs485 rs485 master slave rs485 slave
wymiana nakrętki podnośnika yanosik aktualizacji wymiana grzałki
Schemat ładowania akumulatora z LM393 Dioda jednokierunkowa vs dwukierunkowa: różnice i zastosowania