Skocz do zawartości

I2C i OneWire - jakiej wartości dobrać rezystory pull-up?


roz

Pomocna odpowiedź

Cześć,

jeżeli mam na PCB dwa układy scalone i2c oraz czujnik z przewodem o długości 2 metrów - jakiej wartości dobrać pullupy dla i2c?

Podobna sytuacja z onewire - mam układ RTC onewire na PCB oraz czujnik ds18b20 z przewodem 20 metrów. Jak dobrać pullup?

Szczerze - kombinowanie z chybił-trafił to już za dużo - w przypadku onewire zbyt mała rezystancja to przestaje poprawnie działać komunikacja z RTC, gdy rezystancję zwiększam to znowu ds18b20 nie ma ochoty współpracować. Chyba, że lepiej rozbić na dwa osobne piny w mikrokontrolerze obsługę tych układów?

 

Link do komentarza
Share on other sites

I2C na takiej długości może sprawiać problemy, możliwie że nawet nie zadziała. Nie wiem chyba że obniżysz zegar taktowania do 50...100kHz. Rezystory 4k7. 

Co do 1Wire, dobrym sposobem jest użycie dodatkowego tranzystora który podciąga szynę na czas konwersji/ładowania kondensatora wewnętrznego. A, jeszcze pytanie: 1Wire jest z zasilaniem pasożytniczym czy bezpośrednim? 

Link do komentarza
Share on other sites

@_LM_ Sprawa wygląda tak, że umknęło mi kilka spraw pisząc posta, więc jest on częściowo nieaktualny - już wyjaśniam:

ds18b20 jest od dawna na osobnym pinie i układ działa.
RTC jest na drugim pinie.
Nic się nie gryzie ze sobą. Na github mi polecili, żeby rozbić na osobne piny w przypadku takiej długości przewodu.
1-wire zasilane bezpośrednio.

Układ z i2c - to pytanie teoretyczne na tę chwilę. Jestem na etapie projektu schematu. Stąd pytanie czy to zadziała.
Na i2c mam RTC PCF8563, MCP23008 oraz na przewodzie 2m czujnik MAX30102 - obawa o tego MAX'a.

 

Link do komentarza
Share on other sites

Dnia 25.02.2025 o 20:24, roz napisał:

@_LM_ Sprawa wygląda tak, że umknęło mi kilka spraw pisząc posta, więc jest on częściowo nieaktualny - już wyjaśniam:

ds18b20 jest od dawna na osobnym pinie i układ działa.
RTC jest na drugim pinie.
Nic się nie gryzie ze sobą. Na github mi polecili, żeby rozbić na osobne piny w przypadku takiej długości przewodu.
1-wire zasilane bezpośrednio.

Układ z i2c - to pytanie teoretyczne na tę chwilę. Jestem na etapie projektu schematu. Stąd pytanie czy to zadziała.
Na i2c mam RTC PCF8563, MCP23008 oraz na przewodzie 2m czujnik MAX30102 - obawa o tego MAX'a.

 

Dla I2C przy 2m przewodzie, zwykle pull-upy 4.7kΩ są standardem, ale jeśli masz jakieś zakłócenia, warto spróbować z 3.3kΩ. W przypadku DS18B20 z 20m przewodu, często zaleca się pull-up 4.7kΩ, ale możesz spróbować z 10kΩ, by zobaczyć, która wartość działa najlepiej. Co do oddzielnych pinów, to dobra opcja, zwłaszcza przy długich przewodach, bo unikniesz zakłóceń.

  • Lubię! 1
  • Nie zgadzam się! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

6 godzin temu, Evel99 napisał:

Dla I2C przy 2m przewodzie, zwykle pull-upy 4.7kΩ są standardem, ale jeśli masz jakieś zakłócenia, warto spróbować z 3.3kΩ.

Głupoty gadasz, ale skoro już wspomniałeś że dwa metry zadziała, to wypadało by wspomnieć przy jakiej częstotliwości SCK.
https://www.nxp.com/docs/en/application-note/AN10216.pdf 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.