• Szanowny Użytkowniku, serwisy w domenie modelarstwo.info wykorzystują pliki cookie by ułatwić korzystanie z naszych serwisów. Jeśli nie chcesz, by pliki cookies były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki.

Sterownik DCC obsługujacy 16 serw i 16 sygnalizatorów świetlnych

marcinx00

Aktywny użytkownik
Reakcje
68 0 0
#1
Witam chciałem wam pokazać mój sterownik serwomechanizmów który oprócz 16 serw obsługuje też 16 sygnalizatorów świetlnych co prawda tylko dwu diodowych np. czerwone zielone ale z fajnym bajerem bo płynnie przechodzi z jednego koloru w drugi, opcja sygnalizatorów jest na razie zaprogramowana tylko przy zmianie położenia rozjazdów ale można to przeprogramować, ustawienia położeń serw ustawia się specjalnym programem komputerowym który zapisuje je w pamięci urządzenia.
Jest to prototyp zrobiony przez mojego znajomego kolejna jego wersja była by zmontowana trochę mniejsza i prawdopodobnie na jednej płytce.
Sterownik może być obsługiwany przez program do niego stworzony, ale obsługuje go też GBBKOLEJKA i wydaje mi się że to jest najlepsze rozwiązanie u mnie działa to przez ddw + booster roco 10764 + gbbkolejka i działa super
Postaram się nagrać film i pokazać wam jak to działa.
Gdyby ktoś z was był zainteresowanym takim sterownikiem proszę pisać.
Pozdrawiam
DSCN2492.JPG
DSCN2488.JPG
 
OP
OP
M

marcinx00

Aktywny użytkownik
Reakcje
68 0 0
#2
OPIS TWÓRCY STEROWNIKA
Sterownik serw jest sterownikiem sterowanym głównie poprzez DCC.
Zawiera 16 wyjść na klasyczne serwomechanizmy modelarskie.
Wyjścia są sterowane płynnie co zapobiega szarpnięciom iglic zwrotnic.
Oraz dodatkowo zawiera 16 wyjść na semafory dwukomorowe.
Przy czym w pierwszej wersji (tej ze zdjęć) istnieje ograniczenie że wyjścia na każdy semafor są połączone. Nie da się zapalić dwóch diod z danego semafora jednocześnie. A więc nie bardzo można rozdzielić te semafory na 32 niezależne wyjścia.
W docelowej wersji, zależnie od zainteresowania, ta wada może zostać usunięta.
Wyjścia są wyposażone w funkcję "udawacz prawdziwego semafora" która polega na płynnym rozjaśnianiu i wygaszaniu światła. Co udaje płynne sterowanie prawdziwych semaforów (które jest stosowane aby zwiększyć trwałość żarówek w semaforach).
Semafory są sterowane za pomocą funkcji logicznych wyznaczanych z ustawienia zwrotnic. Niekoniecznie jest to dobre rozwiązanie, ale wiem że czasami tak jest wygodniej. Albo po prostu (nawet jak nie jest wygodniej) to niektórzy tak podłączają semafory. Więc po prostu zrobiłem taką funkcję.
Przykład konfiguracji:
http://obrazki.elektroda.pl/7937393800_1452541023.gif

Pierwszy semafor będzie zielony gdy w pozycji aktywnej (prawej) będą zwrotnice 3 lub 4, lub 1 i 2 jednocześnie. Piąty semafor będzie zielony gdy aktywna będzie zwrotnica 5, lub jednocześnie nieaktywne będą zwrotnice 6 i 7.
Docelowo będzie też sterowanie niezależne za pomocą osobnych komend DCC.
Sterownik póki co zasilany jest z napięcia 12...25V i napięcie 5V dla serwomechanizmów wytwarza sam (ma przetwornicę napięcia). Docelowo pewnie przejdę na zasilanie od razu z napięcia 5V (dla obniżenia kosztów).
Jak pisałem sterowanie jest głównie przez DCC. Ale jest też sterowanie poboczne. Jest ono poprzez port RS232 (można użyć przejściówki USB-RS232 za 5zł).
Ilość parametrów do skonfigurowania w sterowniku jest zbyt duża żeby to się dało wygodnie skonfigurować tylko za pomocą DCC. Stąd konfiguracja za pomocą specjalnego programu na PC. Program poza konfigurowaniem pozwala zapisać zmiany do pliku (na wypadek jak by ktoś przez pomyłkę wykasował ustawienia ze sterownika).
Ustawiane są przede wszystkim adresy DCC, a poza tym pozycje krańcowe serw oraz ustawienia sterowania semaforami.
Program umożliwia oczywiście też ręczne sterowanie położeniem zwrotnic niezależne od DCC.
Wejście DCC, jak i port RS232, są izolowane galwanicznie od sterownika. Czyli nie ma ryzyka że się coś spali jak się połączy to do kompa albo do tego samego zasilacza który zasila np. booster DCC.
Na razie to tylko prototyp. Docelowo ma to być montowane na jednej płytce drukowanej więc będzie ładniejsze
. Złącza być możne będą inaczej rozmieszczone. Albo po drugiej stronie płytki.
Wszystko zależy od tego czy będzie jakieś zainteresowanie i jakie to będzie zainteresowanie (czy będzie zainteresowanie konkretnie tym sterownikiem czy dopiero takim po mocnych modyfikacjach).
 

Zaqu

Znany użytkownik
Producent
Reakcje
11 1 0
#3
Skoro już mamy program na PC to warto byłoby aby mozna było dowolnie konfigurować semafory i serwa. Najlepiej jakby wyjścia dla semaforów były każde niezależne i w programie moznaby je odpowiednio grupować w jeden semafor i konkretny adres dcc, ewentualnie łącząc z odpowiednim lub kilkoma Serwami. Wtedy byłoby to super. Teraz raczej przeciętnie przydatne wydają mi sie wyjścia semaforowe.
Drugie - cena. Aby poznać zainteresowanie, my musielibyśmy poznać cenę.
 
OP
OP
M

marcinx00

Aktywny użytkownik
Reakcje
68 0 0
#4
Docelowo rozważałem niezależne wyjścia na komory i możliwość dowolnego grupowania ich w semafory.
Sterowanie zakładałem zrobić na zasadzie komend opartych na sygnałach a nie na niezależnych światłach. Czyli zamiast niezależnych komend "zgaś zielone, zgaś pomarańczowe, zapal czerwone", była by jedna komenda "S1". I tak samo dla innych kombinacji wliczając oczywiście te gdzie któraś komora ma migać.
Problem tylko po stronie programu do obsługi DCC. Czy np. Gbbkolejka pozwala w ogóle stworzyć taki obiekt dekodera akcesoriów na planszy który będzie przyjmował wiele zdefiniowanych komend (pod tym samym adresem DCC)?
Co do ceny to wstępnie wychodzi około 300zł/sztukę w przypadku jak by się zebrało więcej jak 10 chętnych. Mam na myśli sterownik na 16 serw oraz 32 wyjścia świetlne (już rozdzielone na niezależne). Zasilanie 5V DC.
Wychodzi trochę drożej niż ten sterownik 4 serw z allegro za około 50zł (w sensie gdyby użyć 4 takich sterowników aby uzyskać 16 serw).
Tylko że tam się nie da za dużo skonfigurować. A tutaj owszem, i jeszcze można wybrać co to będzie zanim układ trafi do produkcji. Tu będzie płynne sterowanie serw i świateł, a tam chyba nie ma.
Tu jest izolacja galwaniczna i możliwość zasilania z innego zasilacza zamiast z torów. A tam nie ma.
Tu może być obudowa. A tam nie ma.
Więc chyba nie jest tak źle.
 

yahya

Znany użytkownik
Reakcje
77 2 0
#5
Witam chciałem wam pokazać mój sterownik serwomechanizmów który oprócz 16 serw obsługuje też 16 sygnalizatorów świetlnych co prawda tylko dwu diodowych np. czerwone zielone ale z fajnym bajerem bo płynnie przechodzi z jednego koloru w drugi, opcja sygnalizatorów jest na razie zaprogramowana tylko przy zmianie położenia rozjazdów ale można to przeprogramować, ustawienia położeń serw ustawia się specjalnym programem komputerowym który zapisuje je w pamięci urządzenia.
Jest to prototyp zrobiony przez mojego znajomego kolejna jego wersja była by zmontowana trochę mniejsza i prawdopodobnie na jednej płytce.
Sterownik może być obsługiwany przez program do niego stworzony, ale obsługuje go też GBBKOLEJKA i wydaje mi się że to jest najlepsze rozwiązanie u mnie działa to przez ddw + booster roco 10764 + gbbkolejka i działa super
Postaram się nagrać film i pokazać wam jak to działa.
Gdyby ktoś z was był zainteresowanym takim sterownikiem proszę pisać.
Pozdrawiam Zobacz załącznik 353266 Zobacz załącznik 353267
Czy ten sterownik jest zrobiony na bazie płytki Core103R? Widać na zdj., że ona ma gniazdo USB. Dlaczego jest zatem programowany przez RS-232?
 

atom1477

Nowy użytkownik
Reakcje
0 0 0
#6
Witam.
To ja jestem tym kolegą który zrobił ten sterownik :D
No to tak. Oparte jest to na procku STM32F103.
Ale docelowo nie ma tam być żadnych płytek prototypowych tylko dedykowana jedna wspólna płytka dla wszystkich elementów, w tym procesora STM32F103.
Ta płytka prototypowa WaveShare Core103R to tylko takie rozwiązanie na szybko, bo miałem trudności w realizacji zamówienia własnej płytki (Firma wykonała płytki, ale przyszły uszkodzone. Więc musiałem je na szybko czymś zastąpić.). To złącze USB na tej płytce służy tylko do zasilania (płytki Core103R, gdy pracuje sama (czyli nie tutaj)). Ten procek nie ma Bootloadera na USB. Więc nie można zrobić programowania po USB.
Chyba że mowa o programowaniu parametrów sterownika. No to niby można po USB ale tego jeszcze nie ogarnąłem.
Poza tym na RS232 łatwiej zrobić izolację galwaniczną. Na USB było by to bardzo trudne albo dość drogie. Izolacja galwaniczna była tutaj jedną z głównych funkcji do zrealizowania. Myślę że dla użytkownika końcowego nie powinno to mieć dużego znaczenia (nawet tą przejściówkę USB-RS232 można ukryć w urządzeniu i dla użytkownika połączenie będzie wyglądało jak podłączenie po USB). Dlatego jest RS232 a nie USB.

Dopiero zaczynam zabawę w DCC, dlatego na razie nie planuję budowy żadnych centralek czy innych cudów (ktoś o to pytał na PW). Na razie tylko dekodery DCC. Ale w przyszłości zobaczymy.

Co do semaforów to w Gbbkolejka widzę że się ręcznie ustawia które światła (komory semafora) mają się zapalać i jak migać. Czy dobrze rozumiem że w takim przypadku każda komora jest niezależna i uzyskanie np. migania światła pomarańczowego wymaga ciągłego wysyłania przez GbbKkolejkę komend DCC włącz i wyłącz? Jeżeli tak (i nie było by innej możliwości konfiguracji) to zupełnie niepotrzebna była by funkcja grupowania wyjść w semafory w tym moim dekoderze zwrotnic/semaforów. Wystarczyła by możliwość niezależnego włączania/wyłączania każdego wyjścia.
Inna sprawa że takie sterowanie nie wydaje mi się zbyt wygodne. Ja bym zrobił konfigurowanie w dekoderze. Wtedy Gbbkolejka (czy inny program) musiał by tylko jednorazowo wysłać komendę DCC przy zmianie wyświetlanego sygnału na semaforze.
Dla mnie zrobienie takiego sterowania w dekoderze (tego grupowania) to żaden problem. Pytanie tylko takie czy Gbbkolejka będzie w stanie obsłużyć dekoder przyjmujący komendy DCC kodowane na takiej zasadzie?
 
Ostatnio edytowane:

karol_mar

Znany użytkownik
Reakcje
70 1 0
#7
Takie rozwiązanie robi się w ten sposób, że dekoder obsługuje wirtualnie określoną liczbę wyjść. Każde wirtualne wyjście jest określonym sygnałem na semaforze, czyli, jeśli dekoder dostanie komendę załączenia wyjścia nr 1, to np zapalamy sygnał S1, jeśli załączenie wyjścia 2 to inny sygnał itd...
 

atom1477

Nowy użytkownik
Reakcje
0 0 0
#8
Dokładnie o takim czymś mówiłem.
Albo podobnym, bo można tez wykorzystać wyłączanie określonych wyjść.
Np.
Włączenie akcesoria 1: Sygnał S1
Wyłączenie akcesoria 1: Sygnał S2
Włączenie akcesoria 2: Sygnał S3
Wyłączenie akcesoria 2: Sygnał S5

Czyli 2 wyjścia, ale 4 możliwe stany.
 

PiotrK

Aktywny użytkownik
FREMO Polska
Reakcje
359 0 0
#9
Określenie
Czyli 2 wyjścia, ale 4 możliwe stany.
Nie do końca jest szczęśliwe.
Domyślam się, że autorowi chodziło raczej o:
Czyli 2 adresy(akcesoriów), ale 4 możliwe stany.

Rozwiązanie znane już chociażby z dekoderów ze strony http://usuaris.tinet.cat/fmco/dccacc_en.html#semaforo
Szczególnie projekt Unisemafor (w obu wersjach).
Jak dokładnie wygląda definiowanie poszczególnych aspektów świetlnych można podglądnąć w instrukcji
http://usuaris.tinet.cat/fmco/download/UniSemaf_manual.pdf
 

PiotrK

Aktywny użytkownik
FREMO Polska
Reakcje
359 0 0
#11
Jednak upierałbym się w tym przypadku przy określeniu adres. ;)

Domyślam się, że odwołując sie do normy ze Standardu NMRA S-9.2.1 chodzi Ci o fragment:
"Bits 1 and 2 of byte two are used to indicate which of 4 pairs of outputs the packet is controlling."
Zwróć uwagę, że nie chodzi tu o 4 wyjścia tylko 8 ( dokładniej o 4 pary). Jest to oczywiście związane z tym, że Basic Accessory Decoder Packet przede wszystkim dopasowany jest do przełączanych urządzeń (np. obsługi rozjazdów przełączanych przez dwie cewki lub silnik z układem zmiany polaryzacji). Dodatkowo przedstawiona definicja tego pakietu zakładała, to że dekoder zwykle obsługuje 4 urządzenia, Takie były kiedyś realia, a początki tych wytycznych sięgają przecież końca minionego wieku, a wtedy w dekoderach królowały mikroprocesory 8-bitowe (i chyba nadal tak jest :)).

Bity 1,2 jak najbardziej są traktowane jako część adresu. Większość dekoderów akcesoriów może zwykle sterować 4 urządzeniami. W niektórych systemach sterowania urządzenie (tu myślę np. napęd rozjazdu) można zaadresować podając adres bazowy dekodera( i to nie jest adres urządzenia) i numer urządzenia. Celowo nie piszę wyjścia, bo najczęściej są z nim związane dwa. Jednak nawet i tam każde z tych urządzeń ma adres uwzględniający te bity.

Dodatkowy argument za przedstawionym sposobem traktowania adresu znajdziesz również w dokumencie na który się powołujesz parę linijek dalej (od 436 wiersza).
Masz tam definicję Extended Accessory Decoder Control Packet - pakietu, który w intencji twórców przeznaczony był obsługi urządzeń, które pod jednym adresem (a zwróć uwagę jak on jest tam zdefiniowany - właśnie z uwzględnieniem tych dwu bitów) mogło by wykonywać różne akcje ( np.obsługiwać wielokomorowy sygnalizator). Rozszerzone pakiety akcesoriów, nie są jednak w praktyce zbyt popularne, gdyż nie wszystkie systemy sterowania umożliwiają ich użycie. Szkoda, bo dają one bardzo duże
możliwości bez konieczności zajmowania przestrzeni adresowej.

Jeżeli dekoder nie ma obsługiwać rozjazdów w sposób konwencjonalny, to liczba związanych z urządzeniem o określonym adresie wyjść jest związana tylko z konstrukcją dekodera (nawet nie koniecznie z ilością wyjść dostępnych w użytym mikroprocesorze) oraz zastosowanym oprogramowaniem.
Tak jest zresztą np. w Unisemaforze, gdzie pojedynczy adres umożliwia sterowanie wszystkimi 8 wyjściami dekodera.
 
Ostatnio edytowane:

atom1477

Nowy użytkownik
Reakcje
0 0 0
#12
No ja nie mam zbyt dużego doświadczenia z DCC. Mogę się więc opierać tylko na tym co pisze w normach. A tam nie pisze co jest popularne a co nie.
Dodatkowo nie pisze zbyt precyzyjnie. Np. w tej wskazanej linijce wspomnieli o bitach 1 i 2, a nie wspomnieli o bicie 0.
Oczywiście mi chodzi o taki sam sposób sterowania jak przedstawiłeś. Te same bity były by wykorzystywane. Tylko inne były by ich nazwy :D
Ale jeżeli rzeczywiście praktyka jest taka że te 2 bity DD dodaje się do 9-bitowego adresu AAAAAAAAA to oczywiście mogę przejść na ogólne nazewnictwo nazywając całość "adres".
Zresztą już teraz mam tak zrobione adresowanie zwrotnic w tym prototypie.
Generalnie to wszystko są sprawy programowe. Aż tak nie ma co roztrząsać a razie.
Bardziej budowę sprzętową.
Tak więc moja propozycja jest taka:
1. Zasilanie z zasilacza stabilizowanego 5V.
2. 16 wyjść na serwa. Oczywiście z funkcją spowalniania ruchu.
3. 32 niezależne wyjścia na diody LED (komory semafora). Chyba dałoby się upchać w tej samej cenie 48 albo i więcej wyjść w razie potrzeby.
W programie na PC była by możliwość grupowania wyjść w semafory.
Wyglądało by to jakoś tak (samo grupowanie, wybór typu semafora i rozmieszczenie świateł było by ustalane wcześniej):

Włączanie/wyłączanie świateł oczywiście płynne. Ustawianie adresów i zachowania semaforów (czy któreś komory mają migać) było by ustawiane w programie i zapisywane w sterowniku (sterownik działał by bez podłączenia z programem, program był by potrzebny tylko do konfiguracji).
4. Izolacja galwaniczna od sieci DCC (torów) jak i komputera (było by sterowanie poprzez RS232, przy czym mogę ukryć konwerter USB-RS232 na płytce żeby dla użytkownika było to niewidoczne (widział by tylko USB)).
5. Układ był by w obudowie.
6. Cena około 300zł (bez tego zasilacza 5V). Program dostępny za free.
Są chętni?
 

PiotrK

Aktywny użytkownik
FREMO Polska
Reakcje
359 0 0
#13
Bit 0 w Basic Accessory Decoder Control Packet odpowiada za numer obsługiwanego wyjścia adresowanego urządzenia. W przypadku rozjazdów to są oczywiście dwa.:)

Mała sugestia sprzętowa. Sugerowałbym zasilanie 12-14V AC, bo zwykle jest ono łatwo osiągalne na makiecie. Nie wpływa to znacznie na koszt, a podnosi funkcjonalność.
 
Ostatnio edytowane:

JanuszJ

Aktywny użytkownik
FREMO Polska
T M M
Reakcje
253 7 0
#15
Wygląda to coraz lepiej :)
USB jest bardziej uniwersalne ( RS-a ma już mało który komp , co prawda można kupić kabel z konwerterem ).
Cena jest trochę "zaporowa" ale jak sterownik będzie uniwersalny , to ...
Poza tym na makiecie rzadko kiedy masz takie "zmasowanie" w jednym miejscu tylu rozjazdów lub semaforów.
W przypadku takiego sterownika, nawet jak ktoś potrzebuje obsługiwać 16 serw, to są one od siebie oddalone.
Dla makieciarzy są to kolejne dodatkowe kable od sterownika do akcesoriów ( czyli kolejne źródła ewentualnych problemów ).
Może pomyśl o mniejszej wersji ( np. 4-6 rozjazdów lub 2 sem. 4-5 komorowe ).
 

atom1477

Nowy użytkownik
Reakcje
0 0 0
#18
Kabel z konwerterem mogę dołączać do sterowników :D
Wiem że ciężko będzie Was przekonać. Ale prawda wygląda tak że pisanie obsługi USB specjalnie do jednego projektu który najprawdopodobniej się nie sprzeda nawet w 10 sztukach jest bez sensu. Wolę dołączać konwerter za 5zł. Tym bardziej że mogę go umieszczać w obudowie i nawet nie będziecie wiedzieli że on tam jest (z obudowy będzie wychodziła wtyczka USB).
Co do rzadkości zgrupowania dużej ilości zwrotnic w jednym miejscu to oczywiście o tym wiem. Tyle tylko że moduły na 4 serwa (i 4 komory semafora) już są. Robić dla nich konkurencji nie ma sensu, bo to nie będzie żadna konkurencja (cena wyjdzie większa).
Konfigurowanie też było by trudne. Mając tylko 4 wyjścia świetlne nie zrobi się z tego semafora 5-komorowego. Da się dwa sterowniki, to ciężko skonfigurować je jako jeden semafor. Wychodzi że sterowniki musiały by być np. z 8 wyjściami świetlnymi. I zostawały by w nich nieużywane wejścia.
Dlatego widzę sens tylko w sterowniku z większą ilością wyjść, mimo że powoduje to konieczność zwiększenia długości kabli.
Prototyp powstał do makiety w skali Z. Tam nic dziwnego że się sprawdził (poza samą skalą makieta była też bardzo upchana).
Normalnie (H0) domyślam się że będzie gorzej. Jeżeli 16 to za dużo to można zejść do 8 (i zejść do np. 24 komór semafora). Mniej nie ma sensu bo sterownik na 4 serwa jest już dostępny i to w niskiej cenie.
Więc jeżeli w grę wchodził by tylko dużo mniejszy sterownik, to pozostanie mi porzucić projekt i przekierować Was na allegro :D
 

atom1477

Nowy użytkownik
Reakcje
0 0 0
#20
No właśnie niewiele to wpływa na cenę. Procek taki sam. Obudowa podobna. Tylko trochę słabsza przetwornica i mniej GoldPinów.
Pewnie w okolicach 200zł by musiało kosztować.
Dlatego wcześniej myślałem o większych modułach bo wtedy jest lepszy stosunek ilość wyjść/cena.
 

Podobne wątki