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:
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.
Obrazek 2. Centrala DIY z mostkiem TB6612 - mieści się nawet na małej płytce stykowej.
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.
(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.
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.
Obrazek 2. Centrala DIY z mostkiem TB6612 - mieści się nawet na małej płytce stykowej.
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.