• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
i2C - czy można zmniejszyć prędkość transmisji
#1
Witajcie,

Gdzie i jak można zmniejszyć softwarowo prędkość transmisji w  sterowaniu wyświetlaczem po i2C . Czasami zdarzają się zakłócenia na 30 cm odcinku pomiędzy kontrolerem Atmega328 i wyświetlaczem z HD44780.  Pomyślałem że zamiast walczyć z zakłóceniami SDA SCL można by zastosować zmniejszenie prędkości transmisji. Jest to wykonalne ? Jeśli tak to gdzie mogę to zmienić .
Korzystam z bibloteki  "LiquidCrystal_I2C.h" .

pozdrawiam Adam.
 
Odpowiedź
#2
Witam,
Może spróbuj zastosować rezystory pociągające dla SCL i SDA.
Pozdrawiam,
Tomek
 
Odpowiedź
#3
Witaj Tomek,

Już zastosowałem te rezystory. Poprawiło działanie układu ale czasami zdarza się "krzaczenie" wyświetlacza. Jutro jeszcze sprbóbuje z diodami na linii SDA SCL  i z ekranowanym kablem do transmisji i2C. Jeśli to nie pomoże to zostaje tylko  spróbować zmniejszyć prędkość transmisji. Pozdrawiam Adam
 
Odpowiedź
#4
Witam,
30 cm to krótkie połączenie. Ja przy takiej długości przewodów nie miałem nigdy problemów.
Co do zmiany częstotliwości to takowej zmiany możesz dokonać funkcją setClock() , która jest metodą w bibliotece wire.h. Sama biblioteka LiquidCristal_I2C.h na to nie pozwala.
Pozdrawiam,
Tomek.
 
Odpowiedź
#5
Witam,

Przyczyną resetowania się uP było wadliwe rozwiązanie w chińskich tanich keep relayach z optoizolacją. Okazało się że mają wspólne masy czyli optoizolacji nie było.  Po przerobieniu modułu objawy resetowania i zakłóceń I2C ustąpiły. Wszystko zaczęło działać jak należy. Także zamykam temat.  

Pozdrawiam, Adam
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości