upraszczając układ urządzeń - mam wemos z softem termostatu oraz wemos (soft GG) z 2x MCP (+ przekaźniki, dimmery, etc.) wykorzystując po 4 żyły ze skrętki jednym przewodem mam poprowadzone połączenie z ds18b20 z termostatu oraz moduł BME280 z drugiego wemosa. Kilka(naście) razy w ciągu dnia termostat otrzymywał błędny sygnał z ds'ki, stopniowo zmniejszałem pull'up ale od pewnego poziomu dalsze zmniejszanie rezystancji już nie powoduje poprawy, a przynajmniej tak mi się wydaje, ponieważ czasami 1-2 dni brak błędu a potem jednego dnia 8 razy. Obecny pull-up ok.2,80k (od 3,60k brak wyraźnie zauważalnej poprawy). Ponieważ skrętka jest ekranowana postanowiłem podłączyć ekran do uziemienia w rozdzielni (wiem, że tak powinienem od razu zrobić ale kiedyś było mocno problematyczne połączenie z ds'ką - wymieniłem przewód na ekranowany i była spora poprawa więc nie dotykałem). Co prawda od 12h nie mam żadnego błędu na ds'ce to i2c po jakimś czasie (kilka minut) wariuje. Światła się włączają i wyłączają. Problemem jest prawdopodobnie bme, który puszcza jakieś fałszywe komunikaty do MCP. Po jego odłączeniu nie zauważyłem tych zachowań. Początkowo pull-up'y na i2c były po 1,5k, zmieniłem na 1k i wydaje się, że nastąpiła poprawa, tzn. światła zaczeły wariować po kilku godzinach a nie minutach (niestety był to środek nocy - rodzina zachwycona jak dostała 300W w ledach po oczach o 4 rano )
Nie mając oscyloskopu nie bardzo mogę sprawdzić sygnał (nawet nie umiałbym się pewnie posłużyć nim), przewód ma około 6-8 m. Jest w ścianie i prawdopodobnie przechodzi w pobliżu 230v (i to może kilkukrotnie).
I teraz pytania:
- Jak bardzo mogę zmniejszyć rezystancję na pull-upach, żeby nie uszkodzić jakiś elementów?
- Czy zmniejszanie pullupów ma w ogóle sens?
- Jakiś inny pomysł?