Kolorowy panel dotykowy sterujący 3.5″

Opis

Panel „end-of-life” został nadany mu status DIY Opensource. W sklepie można zakupić niezbędne akcesoria do budowy tego panela. W sekcji download można pobrać niezbędne pliki źródłowe (firmware, wizualizację, bootloader, pliki 3D obudowy panela).

A tutaj kompletne pliki projektu płytki elektronicznej:

Obudowa panela SH35T – modele 3d:

Panel sterujący kolorowy SH35T z rezystancyjnym ekranem dotykowym jest polecany do montażu w każdym pomieszczeniu do zastosowania jako wielofunkcyjny przycisk, który może realizować następujące funkcje:

  • sterowanie oświetleniem (programowanie 16 scen świetlnych), roletami zewnętrznymi i wewnętrznymi ozdobnymi, zasłonami i firanami itp.,
  • sterowanie komfortem cieplnym: ogrzewaniem, klimatyzacją, wentylacją,
  • sterowanie nagłośnieniem i multiroom,
  • sterowanie centralą alarmową (panel zastępuje klawiaturę systemu alarmowego z funkcją PINSecure® (za każdym razem wejścia na diagram z klawiaturą wyświetla ona cyfry w przypadkowej kolejności, za wyjątkiem znaków # i *, utrudnione jest zatem podejrzenie wprowadzanego PIN-u,), monitoring obecności osób, o awariach urządzeń zintegrowanych, dźwiękowe i graficzne informacje o: alarmach, monitoring drzwi, okien.
  • rzut pomieszczenia z aktywnymi obiektami,
  • prezentacja statusów w górnej części grafiki (typu tryb komfortu, stan alarmu, itp.),
  • zegarek w górnej części grafiki sterowany z magistrali (w wersji LonWorks jest dostępny zegar czasu rzeczywistego),
  • wygaszacz ekranu i płynne sterowanie jasnością podświetlenia ekranu z magistrali,
  • funkcja BlindTouch® (po bezczynności panel może przejść w tryb, kiedy cała strefa dotykowa jest jednym przyciskiem, panel może mieć wtedy również wyłączone całkowicie podświetlenie), funkcja przydatna wtedy, gdy po wejściu do ciemnego pomieszczenia dotknie się ekranu dotykowego w dowolnym miejscu i wtedy on załączy zaprogramowany obwód domyślny z jednoczesną podmianą wyświetlanego diagramu,
  • przełączanie diagramów z przycisków na ekranie, bądź z magistrali.

Do dyspozycji użytkownika panela są wyraźne, intuicyjne i dostosowane do wielkości palca graficzne ikony przedstawiające odpowiednie funkcje, a także diagramy sterujące.
Programowanie diagramów i funkcjonalności odbywa się po magistrali Modbus RTU RS485 (stosować kabel BELDEN9842 i bootloader) co ułatwia aktualizację wizualizacji w przypadku zmiennych potrzeb klienta lub przy pomocy zestawu DevKit.

W ten sam sposób jest możliwa aktualizacja oprogramowania Firmware przycisku, a także personalizacji grafiki bez udziału producenta.

Cechy funkcjonalne

  • popularny standard komunikacyjny Modbus RTU RS485 (slave),
  • 128 obiektów aktywnych sterujących (kontrolki, przyciski, itp.),
  • możliwość łączenia w ramkę wielokrotną (standard osprzętu SofiHome),
  • ramka w różnych sposobach wykończenia powierzchni,
  • front w kolorze czarnym lub białym,
  • montaż w standardowej puszce elektroinstalacyjnej φ60,
  • dodatkowe wejścia 4DI/4DO,
  • magistrala 1-Wire do zewnętrznych czujników (DS18B20 oraz czujniki ASTRO).

Dane technicznie

  • rozdzielczość 240×320,
  • ilość kolorów 65k,
  • jasność 250cd/m2,
  • typ matrycy dotykowej: rezystancyjna,
  • ilość obiektów aktywnych: 120,
  • ilość diagramów: 32,
  • napięcie zasilania: 12-24VDC,
  • maksymalny pobór prądu: 150mA przy 24VDC,
  • magistrala: Modbus RTU RS485, 115.200bps,
  • wejścia/wyjścia: 4DI/DO, 1-Wire,
  • wymiary zewnętrzne: 86x86mm,
  • masa: 150g,
  • montaż: puszka elektroinstalacyjna φ60.

Bootloader

Komunikacja

Bootloader 230x320eco umożliwia aktualizację głównego oprogramowania urządzenia SH35T 230x320eco. Komunikacja dostępna jest za pomocą transmisji szeregowej RS-485 przy wykorzystaniu protokołu Modbus w trybie RTU. Urządzenie działa jako Slave. Prędkość komunikacji może być programowo zmieniana i może wynieść 1200bps, 2400bps, 4800bps, 9600bps, 19200bps, 38400bps, 57600bps lub 115200bps. Domyślną prędkością jest 9600bps.

Bootloader obsługuje tylko wybrane funkcje Modbus w określonym porządku. Dostępne są następujące funkcje:

  • funkcja 04h (Read Input Registers)
  • funkcja 06h (Write Single Register)
  • funkcja 10h (Write Multiply Registers)

Spakowany kod źródłowy Bootlader-a można pobrać tutaj.

Funkcja 04h (Read Input Registers)

Funkcją tą można odczytać tylko rejestr o adresie 000Dh w którym zapisana jest wersja Bootloadera. Jeśli rozpoczęto aktualizację programu głównego, to użycie tej funkcji spowoduje jego przerwanie.

Funkcja 06h (Write Single Register)

Za pomocą tej funkcji można wykonać dwie operacje:

  1. Rozpocząć lub zakończyć proces aktualizacji oprogramowania.
  2. Zapisać dane weryfikacyjne wgrywanego programu.

W celu rozpoczęcia aktualizacji należy w rejestrze o adresie 000Dh zapisać wartość 255, natomiast w celu zakończenia aktualizacji (i przejścia do głównego programu) należy w tym samym rejestrze (adres 000Dh) zapisać wartość 65280.

Zapis danych weryfikacyjnych ma na celu zabezpieczenie się przed błędem powstałym podczas wgrywania programu. Zapis ten ma nastąpić bezpośrednio po zapisie ostatniej części nowego programu i przed wysłaniem ramki kończącej proces aktualizacji. Należy w rejestrze o adresie 75AAh zapisać sumę kontrolną CRC z całego nowo wgranego programu. Suma kontrolna CRC jest obliczana tak jak dla ramek Modbus. W przypadku gdy wykryto błąd zapisanego programu, w odpowiedzi na zapis danych weryfikacyjnych zwracany jest kod błędu 4 i aktualizacja jest przerywana.

Funkcja 10h (Write Multiply Registers)

Za pomocą tej funkcji zapisywany jest główny program. Każdy komunikat zawiera 64 rejestry danych. Adresacja wysyłanych danych zaczyna się od adresu 0000h i oznacza adres słowa w pamięci flash. Kolejne komunikaty muszą zawierać następujące po sobie dane, adresując początek zapisywanych wartości na adres większy o 64 od tego, jaki został użyty w poprzednim komunikacie. Przy wykryciu niezgodności tych danych Bootloader traktuje to jako błąd i wysyła kod błędu przerywając tym samym proces aktualizacji. Jeśli ostatni komunikat z wysyłanym programem głównym jest mniejszy niż pełna strona (mniejszy niż 64 rejestry), to należy uzupełnić brakujące rejestry dowolnymi wartościami i wysłać komunikat zawierający 64 rejestry danych.

Aktualizacja oprogramowania

Bootloader udostępnia dwa stany urządzenia:

  • normalna praca Bootloadera (oczekiwanie na rozpoczęcie aktualizacji);
  • aktualizacja programu głównego.

Powyższe stany mają odzwierciedlenie w pracy diody, która pracuje w dwojaki sposób:

  • szybkie mruganie diody (normalna praca Bootloadera);
  • dioda mruga z częstotliwością 1Hz (aktualizacja programu głównego).

Kontrola nad stanem w jakim znajduje się urządzenie odbywa się poprzez zapisanie odpowiedniej wartości do rejestru 000Dh za pomocą funkcji 06h.

Przykład aktualizacji

Kod programu głównego zajmuje 160 bajtów, czyli 80 słów. Żeby zapisać ten program musimy wysłać komunikat rozpoczynający aktualizację, 2 komunikaty z kodem programu (w pierwszym 64 słowa, w drugim 16 słów programu + 48 słów jako uzupełnienie do zapełnienia pełnej strony). Na koniec wysyłany jest komunikat kończący aktualizację.

Kod:

Wartość słowa:0C94h9500h430BhAE20h0E31h0FEFh
Indeks słowa:0163646579

Komunikat 1: rozpoczęcie aktualizacji

kod funkcjiadreswartość
06h000Dh255

Komunikat 2: pierwszy komunikat z programem

kod funkcjiadresilość danych
10h0000h64

dane
Wartość:0x0C940x95000x430B
Indeks rejestru:0163
Indeks słowa:0163

Komunikat 3: drugi komunikat z programem

kod funkcjiadresilość danych
10h0040h64

dane
Wartość:0xAE200x0E310x0FEF0xFFFF0xFFFF
Indeks rejestru:01151663
Indeks słowa:64657980127

Komunikat 4, zapis danych weryfikacyjnych (suma kontrolna z danych od adresu 0000h do adresu 007Fh włącznie):

kod funkcjiadreswartość
06h75AAh3291

Komunikat 5, zakończenie aktualizacji:

kod funkcjiadreswartość
06h000Dh65280

Konfiguracja wizualizacji DEMO

Poniżej opisana jest przestrzeń rejestrów Modbus dla wgranej konfiguracji wizualizacji DEMO. Na przykład czytanie rejestru adr. 60 DEC zwróci informację o poziomie ustawienia oświetlenia na suwaku kontrolki ściemniania.

Rejestry Holding Register

Odczyt rejestrów funkcją 3, zapis funkcją 16.

AdresOpis
Belka systemowa:
59belka systemowa, opis bitów (0 – bit najmłodszy): 0 – ikona wiadomości 1 – ikona rolet
Oświetlenie:
60oświetlenie, poziom
61oświetlenie, rodzaj (wartość): 0 – czytanie 1 – zabawa 2 – odpoczynek 3 – praca
Komfort:
62komfort (temperatura), poziom
63komfort (temperatura), rodzaj (wartość): 0 – off 1 – medium 2 – hot
Rolety:
64kontrola roletą 1 (wartość): 1 – podnoszenie 2 – opuszczanie
65kontrola roletą 2 (wartość): 1 – podnoszenie 2 – opuszczanie
Budzik:
66budzik, rodzaj dzwonka (wartość): 1 – Tone 2 – Jazz 3 – Rock
Pogoda:
67pogoda,duża, ikona (wartość): 0 – burza 1 – deszcz 2 – deszcz ze śniegiem 3 – lekkie zachmurzenie 4 – mocne zachmurzenie 5 – słońce 6 – śnieg
68pogoda duża, wartość 1
69pogoda duża, wartość 2
70pogoda duża, wartość 3
71pogoda mała 1, ikona (wartość): 0 – burza 1 – deszcz 2 – deszcz ze śniegiem 3 – lekkie zachmurzenie 4 – mocne zachmurzenie 5 – słońce 6 – śnieg
72pogoda mała 1, wartość
73pogoda mała 2, ikona (wartość): 0 – burza 1 – deszcz 2 – deszcz ze śniegiem 3 – lekkie zachmurzenie 4 – mocne zachmurzenie 5 – słońce 6 – śnieg
74pogoda mała 2, wartość
75pogoda mała 3, ikona (wartość): 0 – burza 1 – deszcz 2 – deszcz ze śniegiem 3 – lekkie zachmurzenie 4 – mocne zachmurzenie 5 – słońce 6 – śnieg
76pogoda mała 3, wartość
Multiroom:
77pasek przewijania piosenki
78pasek przewijania poziomu głośności
79kontrola multiroom, opis bitów (0 – bit najmłodszy): 0 – głośność: wyłączona(0)/włączona(1); 1 – ulubione; 2 – playlista; 3 – zapętlenie; 4 – losowo;
80kontrola utworu (wartość): 1 – przewiń do początku 2 – play 3 – koniec
Stan techniczny:
81kontrolka stanu technicznego: System alarmowy (wartość): 0 – OFF; 1 – ON; 2 – UWAGA; 3 – AWARIA.
82kontrolka stanu technicznego: Komunikacja z kontrolerem (wartość): 0 – OFF; 1 – ON; 2 – UWAGA; 3 – AWARIA.
83kontrolka stanu technicznego: Rozdzielnie elektryczne (wartość): 0 – OFF; 1 – ON; 2 – UWAGA; 3 – AWARIA.
Menu główne:
84menu główne, opis bitów (0 – bit najmłodszy): 0 – EcoMode: wyłączone(0)/włączone(1); 1 – Wyjście: wyłączone(0)/włączone(1);

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *