ATNEL tech-forum
https://forum.atnel.pl/

Atmega, falownik Winner v63, modbus
https://forum.atnel.pl/topic18390.html
Strona 1 z 1

Autor:  kamilck13 [ 11 maja 2017, o 20:44 ]
Tytuł:  Atmega, falownik Winner v63, modbus

Od jakiegoś czasu próbuję się skomunikować przez rs485 protokołem modbus z moim falownikiem Winner v63. Atmega ma pracować jako master, falownik jako slave. W instrukcji (w załaczniku od str. 182) jest szczegółowo opisany sposób takiej komunikacji, co kiedy wysyłać, format ramki, itp.
Przedstawiam schemat połączenie atmegi przez MAX485 z falownikiem. Pin 6 i 7 podpinam do falownika, tylko pytanie jak podpiąć bo na falowniku od rs-a są oznaczenia + i -. Próbowałem i tak i tak i nie ma komunikacji.
Obrazek
W falowniku dokonałem ustawień w grupie PE: (instrukcja str. 176-177)
PE.00: 22
PE.01: 1
PE.02: 0
PE:03: 500

Używam biblioteki UART z Bluebooka. Zmodyfikowałem tylko prędkość na 4800 i funkcję inicjalizującą, tak żeby ramka była z bitem parzystości zgodnie z ustawieniami w falowniku:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Main wygląda następująco:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Najpierw wysyłam dane zgodnie z przykładem w instrukcji, następnie w pętli głównej wyświetlam sobie odbierane dane.

To nie jest jeszcze modbus (brakuje m.in. obliczania Checksum) Ale czy nie powinno to mi na tym etapie działać?
Dane które wysyłam są przykładowymi danymi które mogę wysłać z instrukcji obsługi z obliczoną już checksumą, na którą falownik powinien odpowiedzieć, jest nawet przykładowa ramka odpowiedzi na to zapytanie.

Po wysłaniu danych z atmegi odbieram je z powrotem, tak jak by linie tx i rx były zwarte. Po podpięciu tylko jednego przewodu biegnącego do falownika pojawiają się śmieci w danych odebranych(przez przypadek zauważyłem, ale to chyba normalne bo zrobiła się antenka z jednego przewodu).

Mam wątpliwości co do sposobu wysyłania danych. Czy nie będzie zbyt dużych przerw podczas wysyłania kolejnych porcji danych? Czy przed wysłaniem i po będzie wystarczający czas przerwy miedzy ramkami modbus, jeśli nic nie wysyłam na UART oprócz tego co pokazałem wyżej?

Może jednak popełniłem znacznie poważniejszy błąd i to nie ma kategorycznie prawa działać?
Wiem, że dużo wymagam, ale może komuś się będzie jednak chciało naprowadzić mnie gdzie robię błąd.

Autor:  kamilck13 [ 12 maja 2017, o 10:21 ]
Tytuł:  Re: Atmega, falownik Winner v63, modbus

Komunikacja z falownikiem nawiązana. Otrzymałem od falownika ramkę. Powodem braku komunikacji było moje niedopatrzenie. Ustawiłem ramkę w falowniku na nieparzysty bit, a wysyłałem bit parzysty(straciłem przez to kilka godzin niestety). Tylko dalej nie wiem dla czego najpierw wraca mi ramka wysłana, a dopiero później otrzymuję ramkę odpowiedzi. Problem na pewno nie leży w falowniku tylko w max485 lub programie w atmedze, ale nie mam pojęcia gdzie.

Autor:  kamilck13 [ 12 maja 2017, o 21:17 ]
Tytuł:  Re: Atmega, falownik Winner v63, modbus

Nie, to na pewno nie falownik, bo echo jest nawet bez podłączonego falownika na samej atmedze+max485. Poradziłem sobie tak jak gdzieś na naszym forum znalazłem i podłączyłem do pinu 6 Max-a 5V przez rezystor 1k, a do pinu 7 GND też przez rezystor.

Teraz przede mną ostatnie zadanie. Rozebrać ramkę modbus i obsłużyć otrzymane dane, bo na oko to ja widzę co przyszło ale przydało by się programowo zobaczyć kiedy się ramka zaczęła, kiedy skończyła, czy crc się zgadza i co to za dane.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/