• Ten serwis używa "ciasteczek" (cookies). Korzystając z niego, wyrażasz zgodę na użycie plików cookies. Learn more.
  • 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.

Centrala DCC/Booster DIY

Reakcje
30 1 0
#1
Witam Kolegów po baaardzo długiej przerwie i przedstawiam nowy projekt.
(Stare projekty wciąż żyją i mają się dobrze, więc niniejszym odgrzewam temat dekoderów z pełnymi światłami PKP dla zainteresowanych, ale nie o tym w tym wątku. Jednocześnie przepraszam za brak odpowiedzi zadanych w PW - od kilku lat nie logowałem się na forum.)

Jakiś czas temu popełniłem układ sterownika przemysłowego, który pod względem sprzętowym niczym nie różni się od centrali DCC. Przy okazji oczywiście napisałem oprogramowanie umożliwiające użycie go również do sterowania kolejką i programowania dekoderów. Zastanawiałem się nad udostępnieniem tego rozwiązania dla amatorów. Moduł ładny i zgrabny, ale koszt elementów potrzebnych do wyprodukowania go przekracza ceny chińskich modułów, z których łatwo można złożyć układ o analogicznej funkcjonalności, no i ktoś to musi polutować. Powstał więc pomysł opracowania konstrukcji centrali DCC, którą każdy mógłby sobie poskładać w pół godziny z chińskich gotowców bez precyzyjnego lutowania.
W Internecie znalazłem podobnie rozwiązanie pewnego Brytyjczyka, ale bynajmniej nie darmowe, ani nie korzystające z USB, który jest podstawowym interfejsem we współczesnych komputerach. Przedstawiam więc moją własną konstrukcję centrali DCC dla amatorów. Oprogramowanie w wersji binarnej mam zamiar udostępnić za darmo na hackaday.io lub github. Udostępniania wersji źródłowej niestety nie przewiduję, gdyż jest tam parę zaawansowanych kawałków kodu, których używam w oprogramowaniu komercyjnym, w tym urządzenie złożone USB (informatycy wiedzą, o czym mowa).

Dawno temu pokazywałem na forum mój minibooster – płytkę łączoną z PC przez nieobecny już we współczesnych komputerach interfejs RS232, w którym cała inteligencja leżała po stronie oprogramowania działającego na PC. Prezentowany tutaj sterownik to w pełni funkcjonalna centrala DCC, którą każdy może sobie zrobić sam, a która potrafi więcej niż każdy znany mi produkt komercyjny, np. modyfikację parametrów czasowych przebiegu DCC lub indywidualne konfigurowanie postaci pakietów DCC wysyłanych do każdego urządzenia (składanie kilku poleceń w jeden pakiet). Sterownika używam do testowania moich konstrukcji dekoderów, więc oprócz jeżdżenia ma również wygodną obsługę programowania i wyświetlania wartości CV – znacznie łatwiej programuje się dekodery z klawiatury PC, niż z jakichś manipulatorów. Ponadto sterownik może również pracować w trybie „analogowym”, sterując prędkością lokomotywy bez DCC przy użyciu przebiegu PWM o konfigurowanych parametrach (częstotliwość, liczba kroków wypełnienia, zwarcie/rozwarcie w stanie nieaktywnym.

Sterownik składa się z popularnej chińskiej płytki BluePill za ok. 2 USD, współpracującej z mostkiem H oraz – opcjonalnie, do programowania i odczytu CV – z czujnikiem napięcia i natężenia prądu. BluePill jest połączona z PC kablem USB, a na PC widzimy dwa wirtualne porty szeregowe, z których pierwszy służy do podawania poleceń przez terminal przez użytkownika, a drugi może służyć do współpracy z dowolnym oprogramowaniem przy użyciu dowolnego protokołu sterowania kolejek – obecnie pracuję nad serwerem SRCP, ale równie dobrze może to być standard szyny Roco, loconet lub cokolwiek innego. Ponadto do portów szeregowych BluePill można dołączyć interfejs RS485 w celu podłączenia myszy Roco lub moduł ESP8266 w celu wystawienia serwera SRCP przez WiFi i sterowania kolejką ze smartfona. To plany na nieodległą przyszłość.
Do „ręcznego” sterowania kolejką nie jest potrzebne żadne dodatkowe oprogramowanie, wystarczy mieć na PC dowolny emulator terminala, np. popularny TeraTerm.

BluePill może współpracować z dowolnym mostkiem H. Dotychczas przetestowałem pomyślnie 4 chińskie mostki:
  • IBT2 – potężny, o obciążalności ponad 40 A – w razie przeciążenia/zwarcia, zanim mostek zdąży się rozgrzać, wyleci zasilacz. Pasuje do dowolnie dużej makiety, a kosztuje ok 6 USD. Przy natężeniach do 5 A pracuje na zimno bez jakiegokolwiek chłodzenia, ale w razie czego jest wyposażony w wielgaśny radiator.
  • TB6612 – malutki i niedrogi, ok. 3 USD z przesyłką. Atrakcyjny np. do malutkiej makiety z pętlą (bo ma dwa niezależne kanały, a oprogramowanie sterownika obsługuje również odwracanie polaryzacji pętli). Obciążalność praktycznie do 2A, czyli kilka lokomotyw.
  • Nowy DRV8871 – też mały i też niedrogi, podobny do TB6612, ale nowocześniejszy – idealny do programowania CV z pełną zgodnością z normami DCC.
  • DRV8811 - też działa, obecnie lepszym wyborem jest 8871.
Wszystkie mostki bazują na specjalizowanych układach scalonych ze stopniem końcowym MOSFET. Nie dotykałem nawet tanich mostków z L298, które są dość archaiczne (bipolarne) i grzeją się.
Jeśli chcemy odczytywać CV lub obsługiwać odwracanie polaryzacji pętli, będzie dodatkowo potrzebny moduł czujnika INA219, za < 2 USD. Zapewne jest to rozwiązanie typu „armata na wróbla”, ale łamigłówka, którą postanowiłem rozwiązać – to konstrukcja centrali DCC wyłącznie z gotowych modułów, a nic prostszego do wykrywania impulsu potwierdzenia Chińczycy nie wymyślili.
Wszystkie komponenty można kupić na Ali. Żeby całość nie wisiała w powietrzu, warto też zaopatrzyć się w płytkę stykową typu „830” oraz zestaw przewodów połączeniowych. Do wgrania oprogramowania na płytkę BluePill potrzebny jest dodatkowo albo interfejs USB-UART za < 1 USD, albo (lepiej) dowolny programator, np. zgodny z ST-Link.
Jeśli Koledzy wykażą zainteresowanie – temat będzie rozwijany.

Obrazek 1: Przyzwoita centrala DCC; na płytce jest mostek taki, jak w chińskim IBT2.
P1050985_LI.jpg


Obrazek 2. Centrala DIY z mostkiem TB6612 - mieści się nawet na małej płytce stykowej.
P1050987.JPG

Obrazek 3. Centrala DIY z mostkiem DRV8871 i czujnikiem natężenia, umożliwiającym odczyt CV. Oczywiście czujnika można użyć z dowolnym typem mostka.

P1050988.JPG
 
Reakcje
145 30 0
#2
Szkoda, że nie ma LocoNET, XpressNET, S88. LocoNET to raczej nic gotowego nie będzie ale Xpress to zwykły RS485 a S88 zwykłe GPIO. Należało by je zabezpieczyć ale to już kto chce to zrobi sam.
 
OP
OP
B
Reakcje
30 1 0
#4
Na początek będzie (a nawet już prawie jest) protokół DCC++ przez drugi VCOM - fatalny, ale prosty i obsługiwany przez JMRI. Dalsze plany skonkretyzują się, jeśli będą jacyś użytkownicy poza mną. ;) Myślę o DCC++ i SRCP przez WiFi - ESP8266.
 
OP
OP
B

Blue

Użytkownik
Reakcje
30 1 0
#6
Prace powoli posuwają się do przodu, zarówno koncepcyjne jak i realizacyjne. Centrala ma już wykrywanie zajętości, a będzie miała opcję RailCom. Jak zwykle największym problemem przy projektowaniu jest powiedzenie "stop", czyli określenie, jakiej opcji ma nie być.
Póki co wymyśliłem, że będą dwa niezależne wyjścia nadające ten sam sygnał DCC (niestety), ale indywidualnie wyłączane i o sterowanej polaryzacji. W ten sposób drugie wyjście będzie mogło służyć albo do programowania, albo jako moduł pętli. Na obu wyjściach mogą być dołączone odbiorniki Railcom i detektory zajętości/impulsu potwierdzenia.

Interfejsy sterowania:
- USB, pierwszy VCOM - ręczne wprowadzanie poleceń, w tym konfiguracja centrali - mało wygodne, ale można wszystko
- USB, drugi VCOM - do wyboru (na początek): DCC++ (np. do sterowania przez JMRI), strumień bitów DDW (np. do GbbKolejki lub czegokolwiek z obsługą SRCP) lub "mysz" na terminalu z wyświetlaniem aktualnego stanu lokomotywy i sterowaniem klawiaturą PC - wszystkie "eFki" w liczbie 68 sztuk dostępne bezpośrednio, te powyżej 37 - z klawiszem Shift
- (w planach)WiFi przez ESP8266 - DCC++ lub cokolwiek innego, co będzie również dostępne przez drugi VCOM, kiedyś zapewne również SRCP

Przewiduję aktualizację oprogramowania poprzez wystawienie przez centralę na USB "pendrive", na który po prostu będzie można skopiować z PC plik z nowym oprogramowaniem.
Centrala będzie miała pełną obsługę tradycyjnych standardów komunikacji NMRA i nowych RCN, w tym 68 funkcji, transmisję prędkości i 29 funkcji w jednym pakiecie i programowanie grupy CV z 24-bitowym adresem (większość z tego już jest gotowa). Każda lokomotywa ma konfigurowany sposób transmisji pakietów poleceń (użycie nowych pakietów prędkość+F, łączenie kilku poleceń w jednym pakiecie), tak, żeby uzyskać optymalną obsługę i starych dekoderów, i tych najnowszych.

Centralę, nawet z S88, ale bez Railcom i Loconet da się poskładać z chińskich modułków na płytce stykowej. Do Railcom robię własny miniaturowy modułek, na który może wejść i Loconet; użycie Loconet wymagałoby jednak rezygnacji albo z WiFi, albo z jednego kanału RailCom.

Skąd pomysł na tę zabawę - częściowo wyjaśniłem to na początku wątku. Dwa znane potencjalnie konkurencyjne projekty to DCC++, który w oryginalnej wersji nie ma prawa poprawnie działać (czasem nadaje poprawny pakiet, czasem odbiera polecenia) oraz LC-DCC - amatorski, ale komercyjny, o mniejszej funkcjonalności niż moja konstrukcja i bez bezpośredniego połączenia USB.

Jeśli mają Koledzy jakieś inne pomysły na cechy idealnej (bardziej jakościowo, niż ilościowo) centrali, proszę o podzielenie się nimi poniżej. ;)
 

r-mik

Pan Chlewik
Reakcje
145 30 0
#7
Jak zrobisz centralkę w takiej postaci jak opisujesz (lub lepszej) to ja sobie odpuszczę projektowanie swojej a skupię się na manipulatorze, bo z tych tanich (ok 500zł) to sam badziew jest (ROCO MM, Pico Smart)
 
Autor wątku Podobne wątki Forum Odpowiedzi Data
DCC 16
DCC 2
DCC 3
DCC 8
DCC 6

Podobne wątki