'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

Powrót do strony głównej: www.edom-plc.pl

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.

Wiadomości - krwi

Strony: [1] 2
1
Programowanie / Odp: Powiadomienia push
« dnia: Października 26, 2022, 07:22:58 pm »
Nie miałem już siły tego dłużej debugować, więc zrobiłem prostego pośrednika. Akurat mam wykupiony hosting PHP więc wrzuciłem tam prosty skrypt w php, który odbiera wiadomość od PLC i wysyła dalej do Pushover. Połączenie z PLC do skryptu PHP idzie po zwykłym HTTP (WagoLibHttp) więc token i user key zaszyłem w skrypcie PHP, także z PLC otrzymuję tylko treść powiadomienia a resztę robi skrypt. Oczywiście takiego pośrednika można zrobić na wiele sposobów, zależy do czego mamy dostęp.
W każdym razie teraz powiadomienia znowu działają tak samo sprawnie jak wcześniej przy połączeniu bezpośrednim.

2
Programowanie / Odp: Powiadomienia push
« dnia: Października 18, 2022, 04:28:41 pm »
Sprawdziłem, że api.pushover ciągle obsługuje TLS od wersji 1.0 więc przyczyna musi być inna.

3
Programowanie / Odp: Powiadomienia push
« dnia: Października 14, 2022, 03:48:30 pm »
Niestety aktualizacja firmwaru i biblioteki WagoLibHttps nie pomogła, chyba pozostaje zrobić pośrednika.

4
Programowanie / Odp: Powiadomienia push
« dnia: Października 13, 2022, 09:26:43 pm »
Niestety dotknął mnie ten sam problem. Mam 750-881 z firmware w wersji 01.09.21 (14), ale widzę, że jest dostępna nowsza wersja. Trzeba będzie zaktualizować, może pomoże.

5
Tematy ogólne / Odp: Zwrot VAT
« dnia: Grudnia 13, 2019, 09:55:29 am »
Dokładnie, tu akurat chodziło o zwrot różnicy 7-23% na materiały budowlane, który był chyba do 2014 r.
Ale fakt poziom intelektualny pism z US to była obraza ludzkiego rozumu, próbowali dowodzić, że słowo "ethernet" w nazwie zestawu na fakturze oznacza iż jest to urządzenie komputerowe więc nie może służyć do sterowania przepływem energii :D

6
Tematy ogólne / Zwrot VAT
« dnia: Grudnia 12, 2019, 04:47:56 pm »
W ramach ciekawostki pochwalę się, że właśnie po blisko 5 latach kłótni z Urzędem Skarbowym dostałem zwrot VATu za sterownik Wago. Sprawa przegrana w pierwszej instancji i wygrana po złożeniu skargi kasacyjnej do NSA. US musiał zwrócić VAT z odsetkami i kosztami sądowymi.
Jeśli ktoś jeszcze ma taką sprawę to nie poddawać się jest to do wygrania.
Pozdrawiam.

7
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Listopada 08, 2019, 04:40:26 pm »
Akurat mam przeciwprądowy ale bardziej chodzi o to, że jest zamontowany w kotłowni więc ryzyka zamarznięcia nie ma.

8
Programowanie / Odp: Powiadomienia push
« dnia: Listopada 04, 2019, 09:54:58 am »
USER KEY wyświetla się na koncie Pushover wystarczy się zalogować. Natomiast TOKEN jest generowany gdy zarejestrujemy naszą aplikację, trzeba kliknąć na Create an Application/API Token i nadać jakąś nazwę naszej aplikacji.

9
Programowanie / Powiadomienia push
« dnia: Listopada 02, 2019, 09:17:10 pm »
Dzisiaj chciałem się podzielić zastosowaną przeze mnie implementacją powiadomień push na sterowniku PLC Wago.
Powiadomienia są wysyłane za pośrednictwem serwisu pushover.net oczywiście takich usług jest wiele ja akurat wybrałem tę.
W Pushover mamy 7 dniowy okres darmowy potem licencja kosztuje $5 i tu uwaga jednorazowo na platformę (android, iOS lub desktop), więc płacąc jednorazowo $5 na androida dożywotnio możemy odbierać powiadomienia na urządzeniach z androidem.

Komunikacja z API Pushover odbywa się za pośrednictwem protokołu HTTPS więc koniczne jest włączenie do projektu biblioteki WagoLibHttps_01.lib, którą można pobrać ze strony Wago. Na wstępie warto sprawdzić wymaganą wersję firmwaru sterownika w dokumentacji biblioteki bo może okazać się konieczna aktualizacja (tak było w moim przypadku).

Zdefiniowałem blok funkcyjny postaci:

FUNCTION_BLOCK PUSHSEND
VAR_INPUT
xDoit : BOOL;
sMessage : STRING;
sPriority : STRING(2) := '0';
END_VAR
VAR
wState : WORD;
oHttpsPost : HTTPS_POST;
xHttpsSend : BOOL;
diError : DINT;
sStatus : STRING;
sReqData : STRING(200);
sHeaderData : STRING(105) := 'token=TOKEN&user=USER_KEY&retry=300&expire=3600&message=';
abResponse : ARRAY [0..gcHTTPS_dwRxBufferSize] OF BYTE;
END_VAR

sReqData := CONCAT (sHeaderData, sMessage);
sReqData := CONCAT (sReqData, '&priority=');
sReqData := CONCAT (sReqData, sPriority);

oHttpsPost(sServerName:='api.pushover.net',
sMethod:='/1/messages.json',
sContentType:='application/x-www-form-urlencoded',
pabReqData:=ADR(sReqData),
uiReqDataCount:=LEN(sReqData),
xSend:=xHttpsSend,
diError=> diError,
sStatus=> sStatus,
tTimeOut:= t#5s,
abContentData:=abResponse);

CASE wState OF
0: (* IDLE - wait for something to do *)
IF xDoIt THEN
xHttpsSend := TRUE; (* Send HTTPS-POST request *)
wState := 10;
END_IF

10: (* Wait for HTTPS-POST response data *)
IF NOT xHttpsSend THEN
wState := 999;
END_IF

999: (* *)
xDoIt := FALSE;
wState := 0;

END_CASE

Wartości dla TOKEN i USER_KEY należy wprowadzić zgodne z podanymi na koncie Pushover.
Blok przyjmuje 3 zmienne wejściowe, xDoit aktywuje wysłanie powiadomienia, sMessage to string z wiadomością, którą zobaczymy w powiadomieniu oraz sPriority opcjonalny priorytet jaki będzie nadany powiadomieniu push (dostępne wartości to -2, -1, 0, 1, 2 , uwaga wartości przekazujemy jako string).
Powyższy blok dopinam do każdego zdarzenia, które ma wysłać powiadomienie push, np. otwarcie bramy garażowej, włączenie alarmu, jakieś zdarzenie ze stacji pogodowej itp.

Działa to naprawdę wyśmienicie, powiadomienia dochodzą niemal natychmiast. Oprócz treści wiadomości i priorytetu można także opcjonalnie przekazać tytuł wiadomości, określony dźwięk jaki ma zostać odtworzony na urządzeniu, określić urządzenie lub grupę urządzeń na które ma zostać wysłane powiadomienie i inne rzeczy opisane w dokumentacji API Pushover.

Do powyższego bloku funkcyjnego warto dodać jeszcze funkcje ograniczającą ilość wysyłanych powiadomień w jednostce czasu aby po pierwsze nie zostać zaspamowanym powtarzającymi się powiadomieniami a po drugie żeby nie dostać bana z pushover.net.

Mam nadzieję, że ten opis będzie pomocny dla każdego szukającego sposobu implementacji powiadomień push na sterowniku Wago. Uwagi mile widziane.

10
Tematy ogólne / Odp: Szafa sterownicza - pytania
« dnia: Stycznia 15, 2016, 09:46:40 am »
Ja mam 180 i nie odczułem potrzeby posiadania głębszej. Najlepiej weź najwyższy element jaki chcesz tam umieścić i sobie przymierz.

11
Tematy ogólne / Odp: 1-Wire i Beckhoff - co zamiast Raspberry Pi
« dnia: Stycznia 14, 2016, 09:41:46 am »
10 wykorzystuję bo tyle potrzebuję, nie wiem jakie jest górne ograniczenie tego rozwiązania. Do tych 10 i tak wykorzystałam zaledwie jedno wejście więc nawet gdyby okazało się że na jednym wejściu nie pociągnie więcej niż 10 czujników to i tak w zależności od modelu Arduino i ilości wejść można obsłużyć grubo ponad 100 czujników (przynajmniej w teorii).
Co do komunikacji z PLC rozwiązałem ją po prostu po HTTP (Arduino serwuje dane po HTTP, PLC je sobie odczytuje) i działa bez zastrzeżeń. Natomiast do Arduino jest również biblioteka MODBUS ale nigdy jej nie używałem.

12
Tematy ogólne / Odp: 1-Wire i Beckhoff - co zamiast Raspberry Pi
« dnia: Stycznia 14, 2016, 09:21:22 am »
Nikt w tym wątku nie wspomniał ale oprócz RPI można również z powodzeniem zastosować mikrokontroler np Arduino. Magistralę z 10 czujnikami DS18B20 mam wpiętą bezpośrednio w wejście cyfrowe Arduino bez żadnych wzmacniaczy czy innych dodatkowych układów. Oprogramowanie tego z wykorzystaniem gotowych bibliotek to paręnaście linijek kodu.

14
Tematy ogólne / Odp: Elektryk z okolic Krakowa
« dnia: Grudnia 14, 2015, 09:46:31 pm »
Mój elektryk położył kable prądowe, skrętki, zamontował i złożył szafę z przekaźnikami które mu dostarczyłem (szafa robiona na zamówienie). Sterownik podłączyłem i oprogramowałem już sam. Elektryk pierwszy raz się zetknął z takim rozwiązaniem ale zrozumiał temat i zrobił jak trzeba, inni robili wielkie oczy jakby zobaczyli UFO i nie chcieli w ogóle się za to zabierać.
Natomiast automatyką się on nie zajmuje i sterownika Ci nie oprogramuje jeśli o to też chodziło.
Jakby co podaję namiary (jest z Cianowic więc od północnej strony Krakowa):
Elektroinstal, tel. 607732169.

Może to wyda się dziwne ale ja przy szukaniu elektryka zaczynałem od pytania o uziom fundamentowy, jak się okazało 8 z 10 nie wiedziało o czym mowa. Bardzo to skracało rozmowę i przyspieszało poszukiwania właściwego.

15
Sterowanie i Wizualizacje / Odp: Otwarty system automatyki domowej openHAB
« dnia: Listopada 30, 2015, 03:41:50 pm »
Niestety napotkałem ten sam problem ale myślałem, że to coś u mnie sknocone. Nie udało mi się tego rozwiązać, na razie porzuciłem OpenHAB i przymierzam się do napisania własnej wizualizacji.

16
Programowanie / Odp: oświetlenie - sceny świetlne salon
« dnia: Listopada 30, 2015, 03:38:11 pm »
Ok, załączam blok funkcyjny SWITCH,


RELAY


oraz prosty przykład dwóch "scen" w umownym salonie.


Krótkie naciśnięcie przycisku Salon1 zapala halogeny i kinkiety oraz gasi ledy. Naciśnięcie Salon2 zapala ledy oraz gasi halogeny i kinkiety.
W bloku funkcyjnym RELAY oprócz rzeczy wspomnianych w poprzednim poście zawarłem wyliczanie zużytych kWh, dodatkowe wyjście Q, które reaguje na zbocze narastające czyli zapalenie obwodu, głównie wykorzystywane do gaszenia innych obwodów. Jest też wejście ALARM, które działa monostabilnie (pomija blok fb_LatchingRelay), jego zadaniem miało być świecenie światła w czasie gdy wyje alarm, w praktyce wykorzystuję to tylko do oświetlenia zewnętrznego.
Jak widać nie ma żadnej większej filozofii.

17
Programowanie / Odp: oświetlenie - sceny świetlne salon
« dnia: Listopada 27, 2015, 08:54:55 pm »
Ja do tego podszedłem nieco inaczej, być może Ci to pomoże. Zamiast programować wszystko proceduralnie starałem się to zrobić bardziej "obiektowo" (na ile oczywiście w tych językach się da) a więc ponieważ nasze układy składają się z łączników oraz przekaźników zdefiniowałem "obiekty" (bloki funkcji) SWITCH oraz RELAY. W programie mam użytych tyle obiektów SWITCH ile jest łączników i tyle obiektów RELAY ile jest przekaźników (czyli obwodów do załączania).
Obiekt SWITCH ma 4 wejścia (bo mam łączniki 4 kanałowe Berkera) i 8 wyjść dlatego że jego zadaniem jest rozpoznawanie naciśnięć długich/krótkich (naciśnięć wielokrotnych nie używam ale łatwo je byłoby dorobić) więc jak łatwo się domyśleć zbudowany jest po prostu z czterech Fb_ShortLong.
Obiekt RELAY ma 3 wejścia odpowiadające Fb_LatchingRelay (xSwitch, xCentOn, xCentOff) oraz wyjście odpowiadające xActuator do którego podpinam DO odpowiedniego przekaźnika. Oprócz tego obiekt RELAY zawiera fbOperatingTime, z którego wyprowadzam dwa wyjścia rHour_total oraz dwNumber.
Jak widać dzięki temu z automatu dostaję dane na temat ilości załączeń oraz sumarycznego czasu świecenia dla każdego obwodu.
Co do scen świetlnych osobiście zrezygnowałem z wykorzystania dedykowanych do tego funkcji z Building Commons. U mnie podstawowe obwody oświetleniowe (hol, wiatrołap, łazienki, kuchnia, garaż, taras itp) załączane/wyłączane są automatycznie w oparciu o czujki ruchu, czujnik natężenia oświetlenia i reguły czasowe także podczas codziennego przemieszczania się po domu mało w ogóle używa się łączników (4 w ogóle zaślepiłem).
Wracając do scen, przyjąłem zasadę że krótkie naciśnięcia zapalają typowe sceny ale oprócz tego każdy obwód można zgasić/zapalić z osobna np długim naciśnięciem. Zapalenie danej sceny gasi inne światła nie należące do danej sceny, ponowne naciśnięcie klawisza gasi scenę więc robi się ciemno. Ale jak wspomniałem każdy obwód mogę też zapalić/zgasić z osobna więc każdą predefiniowaną scenę mogą dowolnie zmodyfikować.
Wszystko to zrealizowane mam w oparciu o odpowiednie relacje między obiektami SWITCH i RELAY i powiem że spełnia to moje i domowników oczekiwania. Co ciekawe nie mają też z tym większego problemu goście przyzwyczajeni do klasycznych rozwiązań.

18
Sterowanie i Wizualizacje / Odp: Otwarty system automatyki domowej openHAB
« dnia: Listopada 09, 2015, 09:33:27 am »
Je też dopiero zacząłem z OpenHab (jeszcze nie wiem czy będę to wykorzystywał) ale żeby się połączyć i odczytywać co 10 sek stany 74 wyjść wystarczyło:

w opnhab.cfg:
modbus:poll=10000
modbus:tcp.slave2.connection=192.168.0.1:502:rtu
modbus:tcp.slave2.id=1
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.start=512
modbus:tcp.slave2.length=74

w .items:
Group   ALL

Switch MySwitch0 "My Modbus Switch0" (ALL) {modbus="slave2:0"}
Switch MySwitch1 "My Modbus Switch1" (ALL) {modbus="slave2:1"}
Switch MySwitch2 "My Modbus Switch2" (ALL) {modbus="slave2:2"}
Switch MySwitch3 "My Modbus Switch3" (ALL) {modbus="slave2:3"}
...

19
Sterowanie i Wizualizacje / Odp: Otwarty system automatyki domowej openHAB
« dnia: Listopada 07, 2015, 08:00:06 pm »
Na to wygląda że binding Wago jest uwalony (albo ja nie umiem go skonfigurować) przełączyłem się na binding ModBus i zaczął poprawnie sczytywać statusy.

20
Widzę, że większość z Was w swoich szafach umieszcza przekaźniki na osobnych szynach niż zabezpieczenia, ja natomiast przekaźniki umieszczałem zaraz za "ich" bezpiecznikiem. Dzięki temu ławo ogarnia się to optycznie.

21
Sterowanie i Wizualizacje / Odp: Otwarty system automatyki domowej openHAB
« dnia: Października 30, 2015, 09:21:20 am »
Chciałem przetestować openHAB ale mam problem z poprawnym odczytem stanów wyjść. Czysta instalacja openHAB, wgrany jedynie wago binding, połączenie się nawiązuje natomiast w logu dostaję ciągle "MySwitch1 state updated to OFF" dla wszystkich skonfigurowanych itemów niezależnie czy wyjście jest aktywne czy nie.
Dopiero poznaję openHAB więc może coś źle zrozumiałem ale nie mogę z tym ruszyć do przodu, czy szanowni koledzy mogli by wkleić przykładową konfigurację?

22
Programowanie / Odp: Skąd pobrać pełną wersję codesys
« dnia: Października 17, 2015, 07:36:19 pm »
Byłem na www.codesys.com ale tam trzeba się rejestrować, niby nic tragicznego i mógłbym to zrobić ale podczas rejestracji trzeba podać nazwę firmy, jej adres itp etc a więc mam pytanie skąd można pobrać pełną wersję systemu codesys aby nie trzeba było się rejestrować?

Tak naprawdę tam można wpisać cokolwiek ponieważ hasło przychodzi automatycznie zaraz po wypełnieniu formularza, nikt tych danych nie sprawdza.

23
(Pod)Systemy i Funkcje / Odp: Integracja PLC z systemem alarmowym SATEL INTEGRA
« dnia: Września 13, 2015, 08:47:35 am »
mial ktos taki przypadek ??
Miałem podobny problem, pomogła wymiana switcha, tzn wpiąłem kabel od Satela bezpośrednio w switch Wago. Wcześniej używałem jakiegoś taniego Dlinka i miałem podobne objawy.

24
Tematy ogólne / Odp: TIM
« dnia: Sierpnia 07, 2015, 09:16:22 pm »
Czy w przypadku zaniku zasilania oprogramowanie sterownika w taki sposób by po jego wznowieniu stan wszystkich obwodów powróciłby do stanu sprzed awarii wymaga karty?
Nie wymaga.

25
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Sierpnia 06, 2015, 10:17:36 am »
Zrobiłem nową wersję strony prezentującej dane z mojej stacji z wykorzystaniem biblioteki Highcharts. Poniżej przykładowe screeny:





26
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Lutego 05, 2015, 07:37:41 pm »
Niestety, nie mam takiego (u mnie sterownik jedynie pobiera dane z Arduino) ale na poniższych stronach są przykłady na podstawie których coś takiego dało by się zrobić.
Z wykorzystaniem POST/GET:
http://stackoverflow.com/questions/14944773/receiving-a-http-post-request-on-arduino
http://www.jackbarber.co.uk/notes/arduino-web-server-led-control
Z wykorzystaniem telnetu:
http://blog.bouni.de/blog/2012/06/25/a-arduino-telnet-server/

27
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Lutego 04, 2015, 06:22:08 pm »
Jeszcze żeby się udało z PLC zapisywać do atmegi, to nawet i moduł LED RGB można by zrobić :)

Z tym nie powinno być większego problemu, wartości zmiennych na Arduino może przez sieć zadawać sterownik PLC.

28
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Lutego 03, 2015, 06:31:44 pm »
Opisz proszę trochę działanie modułu ethernet na tym adruino czy jak mu tam. Jak się to oprogramowuje? Bo myślę nad tym, jak zrobić komunikację PLC<->wiele modułów i na razie myślę nad RS485 i MODBUS. Może dałoby się to zamienić na ethernet?

Arduino to jest rodzaj mikrokontrolera opartego na chipie ATmega328 (model Uno którego użyłem):
http://arduino.cc/en/Main/ArduinoBoardUno
sam mikrokontroler nie ma interfacu sieciowego więc trzeba dołączyć do niego moduł sieciowy tzw Ethernet Shield:
http://arduino.cc/en/Main/ArduinoEthernetShield.
Mikrokontroler programuje się normalnie w C/C++ poza tym jest wiele gotowych bibliotek również do obsługi modułu ethernet.
Sposób komunikacji po sieci można rozwiązać na wiele sposobów, ethernet shield może działać równocześnie jako klient i jako serwer. W moim przypadku na mikrokontrolerze serwuję prostą stronę www z aktualnymi odczytami z czujników, które pobiera sobie sterownik PLC. Przykładowa funkcja serwująca stronę HTML z danymi z czujnika DHT22 zawartymi w zmiennych temperature i humidity:

void webserver()
{
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    //Serial.println(F("new client"));
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println(F("HTTP/1.1 200 OK"));
          client.println(F("Content-Type: text/html"));
          client.println(F("Connection: close"));  // the connection will be closed after completion of the response
  client.println();
          client.println(F("<!DOCTYPE HTML>"));
          client.println(F("<html>"));
                         
          // Temperatura i wilgotnosc
          client.print(F("<BR>Temperatura: "));
          client.print(temperature, 1);
          client.print(F(" "));
          client.write(176);
          client.println(F("C<BR>"));
          client.print(F("Wilgotnosc: "));
          client.print(humidity, 1);
          client.println(F(" %<BR>"));
             
          client.println(F("</html>"));
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    client.stop();
  }
}

Oprócz tego mikrokontroler wysyła te dane metodą POST na serwer. Przykładowa funkcja wysyłająca na serwer dane przekazane w stringu data wygląda tak:

void SendData(String data)
{
  if (client.connect(DataServerIP,80))
  {
    client.println(F("POST /add.php HTTP/1.1"));
    client.print(F("Host: "));
    client.println(DataServerIP);
    client.println(F("Content-Type: application/x-www-form-urlencoded"));
    client.print(F("Content-Length: "));
    client.println(data.length());
    client.println();
    client.print(data);
  }
 
  if (client.connected())
  {
    client.stop();
  }
}

Na sterowniku PLC w oparciu o bibliotekę WagoLibHttp_02.lib zaimplementowałem funkcję (nieco przerobiony przykład z dokumentacji tej biblioteki) cyklicznie pobierającą dane ze strony serwowanej przez Arduino.
Jakbyś miał jeszcze jakieś pytania chętnie odpowiem.

29
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Lutego 02, 2015, 06:48:40 pm »
Co prawda czasem jeszcze zdarzają się odczyty 85 (najczęściej przy zapalaniu oświetlenia LEDowego, pewnie indukują się wtedy zakłócenia) ale dzieje się to sporadycznie. Dzięki temu uniknąłem konieczności stosowania dodatkowego kontrolera / wzmacniacza 1-wire.
Początkowo sądziłem, że te zakłócenia są indukowane przez linię 230V biegnącą zbyt blisko skrętek (mimo że wszędzie zachowałem min 30 cm odległości) ale okazało się, że zakłócenia pochodzą od samego łącznika (tam gdzie czujnik 1-wire dzieli z łącznikiem jedną skrętkę) i powstają w momencie zwarcia łącznika. Radą na to okazało się wstawienie rezystora 470 Ω (najmniejszy jaki akurat miałem) na żyle zasilającej łącznik. W tym momencie definitywnie pozbyłem się już wszystkich zakłóceń z magistrali 1-wire.

30
Tematy ogólne / Odp: Pomiar zanieczyszczenia powietrza i warunków meteo
« dnia: Stycznia 23, 2015, 03:14:33 pm »
  • 85 ºC na czujnikach 1-Wire.
    Na biurku wszystko działało jak należy (również na długim kablu), natomiast jak to zwykle bywa bo wlutowaniu czujników na swoje miejsce i podłączeniu μC zamiast temperatury w moich pomieszczeniach dostają wartość 85. Zmniejszenie rezystora pull-up do 1 kΩ nieco pomogło ale nie rozwiązało problemu do końca (co jakiś czas nadal dostaję takie odczyty).
Wygląda na to, że prawie udało mi się rozwiązać ten problem, zamiast stosować zgodnie z zaleceniami jeden pull-up przy samym μC, zastosowałem osobne pull-upy przy każdym czujniku o wartości 4.7 kΩ, oprócz tego masę i sygnał puściłem jedną parą a zasilanie żyłą z innej pary. Co prawda czasem jeszcze zdarzają się odczyty 85 (najczęściej przy zapalaniu oświetlenia LEDowego, pewnie indukują się wtedy zakłócenia) ale dzieje się to sporadycznie. Dzięki temu uniknąłem konieczności stosowania dodatkowego kontrolera / wzmacniacza 1-wire.

Strony: [1] 2