--- title: "W końcu osiągnąłem kolejny kamień milowy w automatyzacji ..." publishDate: "2024-06-18T07:47:48.191Z" description: "W końcu osiągnąłem kolejny kamień milowy w automatyzacji zarządzania energia w kamperze. Ostatnio przestałem dostawać napięcie na akumulatorze od alternatora - ..." tags: - diy - elektronika - microblog - pl - smartvan - vanlife language: "pl" sourceUrl: "https://mastodon.com.pl/@knightdave/112636517953804787" author: "Dawid" draft: false --- W końcu osiągnąłem kolejny kamień milowy w automatyzacji zarządzania energia w kamperze. Ostatnio przestałem dostawać napięcie na akumulatorze od alternatora - niby alternator sprawny i podciągając przewód prosto od wyjścia alternatora do akumulatora wszystko działa - pewnie coś z wiązka. Termin u mechanika dopiero za 2 tygodnie - wiec co tu robić? Od dawna chodził mi po głownie pomysł, aby jeden separator napięcia (ładowarka lądująca z alternatora cześć mieszkalna) podłączyć odwrotnie i w razie zostawienia na dłużej samochodu lądować z solarów akumulator przedni. Chciałbym widzieć na panelu dodatkowe przełączniki od ładowarek i potem przekręcając kluczyk stacyjki automatycznie włączyć ładowanie. W przyszłości mógłbym to rozwinąć - i np. jeśli mam powyżej 80% stanu energii w części kamperowej, i załączyło się ładowanie z silnika, to zacznij grzać wodę w boilerze. Niestety było kilka problemów żeby dojść do takiej automatyzacji: - CerboGX ("mózg kampera") nie znal stanu silnika - czy pracuje czy jest wyłączony - CerboGX ma tylko 2 wbudowane przekaźniki do kontrolowania innych urządzeń i już są podłączone do przetwornicy i boilera - Mam płytkę z dodatkowymi 4rema przekaźnikami, ale jest niekompatybilna z pluginem do cerbo.
Screenshot z aplikacji nodered z automatyzacja uruchamiania przekaźnika w zależności od stanu  silnika. Panel kontrolny Victron cerbogx z sześcioma przełącznikami. Od lewej przetwornica, bojler, orion samochód, orion kamper.
--- Najpierw wynalazłem w internecie schemat na którym z pomocą optoizolatora można podać sygnał w zależności od napięcia 12v w innym przewodzie. Znalazłem odpowiedni bezpiecznik w samochodzie, który dostawał napięcie 12v po przekręceniu kluczyka stacyjki i puściłem od niego przewód od spodu samochodu aż po sam tył. Wykorzystałem otwory które już istniały idące do separatorów. Podpiąłem izolator, podpiąłem cerbo - działa, skonfigurowałem input jako generator :D Mam sygnał - na panelu pojawił się status silnika, co tez znaczy, ze mam do niego dostęp z poziomu NodeRed. To było proste, teraz zacznie się prawdziwa zabawa z dodaniem przekaźników...
Pseudo schemat obrazujący jak wykrywać uruchomienie silnika w cerboGX przez napięcie 12v z optoizolatorem. Panel statusu z cerboGX pokazujacy uruchomiony silnik.
--- Wynalazłem repozytorium, które dodaje wsparcie dodatkowych przekaźników do cerbo. [github.com/Lucifer06/RemoteGPIO](https://github.com/Lucifer06/RemoteGPIO) W skrócie - będziemy sterować zewnętrznym urządzeniem poprzez konwerter rs485-usb za pomocą protokołu modbus w zależności od stanu przełącznika w cerboGX (tego z panelu) słuchając stanu na systemowym dbus. Wszystko jest w bibliotece, tylko... Nie do mojej chińskiej płytki. Do mojej płytki nawet niema dobrej dokumentacji - wszystko co tam było nie działało. Zaczynam od reverse engineeringu - wysyłam rożne wartości na rożne "discrete input" i "input register". Po kilku dniach mam działający zestaw komend który włącza i wyłącza każdy z czterech przekaźników. Teraz ten plugin do cerbo. Caly byl napisany w bashu i bardzo nie kompatybilny z tym co moja płytka oferowała (trust me). Proste dodanie innej komendy nie wchodziło w grę i musiałem to przepisać pod siebie. Znalazlem bibliotekę do Pythona od Victrona, która załatwia sporo rzeczy za mnie. Wystarczywszy otworzyć obiekt, który słucha na danych ścieżkach z dbus i wywołuje handler przy zmianie statusu. Potem juz tylko kilka godzin ślęczenia na pymodbus i ustabilizowanie zapytań i wuala. Wszystko wgrane do Cerbo, serwis podmieniony - przełączam na telefonie stan przekaźnika i słyszę charakterystyczny klik! Na koniec zostało podłączenie przewodów sygnałowych z dwóch przekaźników do separatorów "Orion", uruchomienie automatyzacji w NodeRed i wszystko działa! Przekręcam stacyjkę i po minucie (dodałem lekki delay jakbym tylko chciał szyby opuścić) załącza się ładowanie. Co ja teraz zrobię z tym zaoszczędzonym czasem.
Pytka z przekaźnikami.