Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 gru 2024, o 20:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
 Tytuł: Zakłócenia
PostNapisane: 12 sty 2016, o 20:11 
Offline
Nowy

Dołączył(a): 24 lip 2015
Posty: 19
Pomógł: 0

Witam
Zbudowałem układ z arduino, zasilany z zasilacza impulsowego (samo Arduino z USB). Sterowany jest z komputera z programu stworzonego w VC#, jednak co jakiś czas wysłane dane mają zupełnie złe wartości. Jakie najczęściej są przyczyny takich zakłóceń transmisji? Jak można temu zaradzić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 20:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Pewnie do komunikacji korzystasz z RS232. Tak?
Jaką masz ustawioną szybkość transmisji a jaki masz użyte taktowanie procesora? Czy jest on wartości "przyjaznej dla RS232"? Jak nie, to czy prędkość dobrana jest z uwzględnieniem max. błędu szybkość <2%?

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 20:24 
Offline
Użytkownik

Dołączył(a): 12 sty 2015
Posty: 80
Lokalizacja: Grudziądz
Pomógł: 2

@rskup - powiedział, że Arduino (16mhz)...
Spróbuj na niskim Serialu (4800, 1200, 300) i powiedz, czy coś się zmieniło.

Czy Arduino jest oryginalne? Po lewej powinna być Atmega16u2, jeżeli masz tam CH340G to masz odpowiedź, czy można temu zaradzić.

--edit

Doczytałem, że masz swoją aplikację. Podejrzyj w PuTTY (terminal), jakie są wysyłane wartości.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 20:26 
Offline
Nowy

Dołączył(a): 24 lip 2015
Posty: 19
Pomógł: 0

Arduino ma USB, więc przez USB. Prędkość 9600, taktowanie standardowe Arduino UNO, nie mam pojęcia jakie, używam Arduino IDE. Siedzi ATmega328P. Powinno być oryginalne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 20:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Mając zegar 16MHz nie mamy zegara "przyjaznego dla RS232", bo nie da się ustawić dokładnych wartości standardowych prędkości RS232. Dlatego musi zostać wybrana prędkość dająca błąd mniejszy od 2%. W datasheetcie do procesora są takie tabele od razu pokazujące jak to wygląda dla różnych zegarów i różnych prędkości transmisji RS232:
Obrazek

--
Pozdrawiam,
Robert

[Dodano po 2 minutach]
Dla prędkości 9600 przy zegarze 16MHz błąd jest 0.2%, więc jest całkowicie akceptowalny i nie powinien być problemem.



Ostatnio edytowano 12 sty 2016, o 20:34 przez rskup, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 20:32 
Offline
Użytkownik

Dołączył(a): 12 sty 2015
Posty: 80
Lokalizacja: Grudziądz
Pomógł: 2

THEGITMAN napisał(a):
... Po lewej powinna być Atmega16u2, jeżeli masz tam CH340G to masz odpowiedź...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 21:45 
Offline
Nowy

Dołączył(a): 24 lip 2015
Posty: 19
Pomógł: 0

2400, SERIAL_8O2 jest jeszcze gorzej chyba niż 9600.

@THEGITMAN nie rozumiem po co ten cytat



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2016, o 23:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Czy na programie na PC także masz ustawione parity odd?
Typowe ustawienia to partitu none (8N1).

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2016, o 12:53 
Offline
Nowy

Dołączył(a): 24 lip 2015
Posty: 19
Pomógł: 0

Tak, próbowałem O, E, i bez czyli N



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2016, o 13:00 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

Wklej przykladowe prawidłowe wartości oraz te błędne. A potem poprzygladaj się różnicom (popatrz np. które bity sie różnią w bajtach ktore przychodzą po RSie). Dobrze byłoby też poprzygladac się sygnałom na analizatorze logicznym.

P. S. To ze masz usb nie oznacza, że masz oryginalne Arduino. Ch340 to tez konwerter usb-rs ttl (jak ftdi). Po drugie cena może dużo powiedzieć wraz z jakością lutów.
Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO