• 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.

Budowa tanich dekoderów trakcji, dźwięku, funkcyjnych

OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#62
Sama PCB pewnie ok 20zł. Kit? Z pewnością na elemeny muszę dać marżę no i nie łatwo to złożyć w wiekszości domowych warsztatów. Ile osób byłaby chętna sama składać? Aby dostarczyc kit, muszę kupić podstawkę TQFP do programatora za ok 400zł. Różne wersje PCB, różne podstawki. Inwestycja musi się zwrócić. Jak będzie duże zainteresowanie to zainwestuję, jak nie, to co najwyżej kit z czystym mikrokontrolerem.

Temat kitów, to raczej do AVT ale najpierw należy przekonać EP lub EdW do publikacji artykułu na temat dekoderów a jak na razie nikt tematem się nie interesuje bo Czytelnicy nie pytąja o dekodery.
 
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#63
SUSI już działa. Nie obyło się bez problemów opisanych w http://forum.modelarstwo.info/threads/zimo-mnie-rozczarowało.50409/. Na ekranie z analizatora:
SUSI ZIMO vs SaS (rowne CLK dana dtabilna przy obu zboczach CLK) 2020-06-16_10-57-54.png

widać NIEZGODNY Z NORMĄ sygnał SUSI z MX623 (w którym brakowało szeregowego rezystora 470R i dekoder nie generował SCK!) i sygnał retransmitowany przez STM32F091.
Zestaw testowy:
DSCN2127.JPG

MX623 wysyła po SUSI do STM32F091 ten retransmituje do DHZ400. Wszystko dział jak należy.

Taka konkluzja, pisząc soft na powolne uC można sobie pozwolić na wiele błędów.
 

Elvis

Znany użytkownik
Reakcje
1.685 62 3
#64
Jestem pod ogromnym wrażeniem Twojej pracy @r-mik . Przede wszystkim, że Ci się chce.
A teraz mam pytanie odnośnie filmiku z parowozem. Jakie są możliwości zgrania dźwięku wydmuchów z obrotem kół? Co z tzw. wybiegiem?
Reszta zapowiada się na prawdę godnie.
 
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#68
Mały przełom w odtwarzaniu dźwięku dla mikrokontrolerów zwłaszcza z "wolnym" zegarem. Dotychczas sample były generowane "on-line". W przerwaniu od timera pobierane próbki z FLASH, zmieniana ich częstotliwość, regulowana głośność, miksowane wszystkie kanały. Niestety, przy CPU taktowanym zegarem 48MHz ujawniły się ograniczenia i czasem CPU nie zdążył wygenerować próbki na czas. Zagoniłem więc do roboty DMA. Próbki są tworzone w buforze w RAM, z którego DMA bez angażowania CPU przesyła je do DAC. Gdy DMA prześle połowę danych generuje przerwanie, w którym tworzone są próbki dla pierwszej, odtworzonej już części bufora. Podobnie, gdy DMA wyśle ostatni bajt bufora, w przerwaniu wypełniana jest druga połówka bufora. DMA pracuje w circular mode.

Wszystkie te zabiegi pozwoliły na "powolnym" CPU F091 48MHz odtwarzać bez problemu sample 32, 16 i 8kHz. W różnych ośmiu kanałach audio mogą być odtwarzane sample z różną częstotliwością, 8-bit lub 16bit lub 16-bit ADPCM. Docelowo mają być dodane jeszcze częstotliwości 11 i 22khz. Wymagają trochę matematyki ale jestem dobrej myśli, że nie spowolnią zbytnio CPU dla innych zadań. Należy przyznać, że największe obciążenie bo od 30% do 70% to funkcje odtwarzania dźwięku.

Aby wszystko działało jak należy, CPU musi mieć wielopoziomowy system przerwań, którego próżno, tak jak i DMA, szukać w prostych AVR czy PIC. Xmega ma DAM i wielopoziomowe przerwania ale ze względu na swoją budowę jest stanowczo za wolny do zaawansowanych operacji na dźwięku. Nie wiem czy DSpic dałby radę ale nawe jeśli tak, to w stosunku do STM32 są one drogie a erraty długie, mawia się, że dłuższe od noty katalogowej.
 
Ostatnio edytowane:
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#69
Pierwszy dekoder zmontowany:
TrackSound_F091CC_vs.jpg

i uruchomiony:
TrackSound_F091CC.JPG

ADC w F091 jest trochę inny niż w G07x więc muszę trochę zmodyfikować program. Biorąc pod uwagę inne drobne poprawki, do końca tygodnia oprogramowanie V1 powinno być skończone.
 
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#70
Znam już ceny detaliczne dekoderów:
Tg072 - Trakcja: 75zł,
TSf091 - Trakcja + dźwięk wbudowana flash (do 60 sekund): 150zł,
TSg072e32 - Trakcja + dźwięk z DataFlash (do 500 sek): 200zł,
TSBg072e32 - Dużej mocy Trakcja + dźwięk z DataFlash (do 500 sek): 300zł,
Fsdg072 - Funkcyjny SUSI / DCC: 75zł
Ssg072e32 - Dźwiękowy SUSI z DataFlash (do 500 sek): 180zł.

Dekodery posiadają:
- Minimum 8 wyjść funkcyjnych w tym 4 mocy, wszystkie PWM 12-bit (konwersja 8-12-bit Gamma) ok 1kHz (jedno w wyjść >= FO8 11kHz). Pierwszy z uruchomionych dekoderów ma ich 14 (razem z oświetleniem przód/tył) więc nie tylko o światłach PKP można myśleć.
- Wszystkie trakcyjne mają ABC będzie HLU ale nie koniecznie we wszystkich (na STM32G0xx raczej nie będzie problemu, na STM32F0xx ciężko powiedzieć, po próbach przewiduję kłopoty, przynajmniej w dekoderach z dźwiękiem).
- Na wszystkich wyjściach funkcyjnych można włączyć korektę "Gamma".
- Wszystkie wyjścia funkcyjne mogą być indywidualnie zanegowane.
- 4 wyjścia dla serwomechanizmów, SUSI. Po wyłączeniu SUSI zyskujemy dwa wyjścia cyfrowe, na razie on/off, przewiduję PWM ale nie na każdym dekoderze da się go zrealizować w rozdzielczości 12-bit.
- Wyprowadzenia przeznaczone do debugowania można przełączyć w tryb wyjść funkcyjnych on/off (tu na PWM bym raczej nie liczył).
- Do wyboru będzie kilka dźwięków silników, syren, gwizdków. W przyszłości własne dźwięki.
Upgrade oprogramowania bezpłatne, koszt programatora 13zł a nie ponad 800 jak ZIMO. Wymagane jest rozebranie lokomotywy ale czy różnica 800zł nie jest tego warta?
Będą też dekodery z większą pamięcią FLASH na próbki dźwiękowe ale ich sens widzę, gdy będzie przyjazne oprogramowanie dla użytkownika, które umożliwi wgrywanie własnych dźwięków. To niestety czas i koszty albo duże koszty.

W niedzielę powinien pojawić się film z pracy dekodera w parowozie, pod koniec przyszłego tygodnia w BR118, na koniec miesiąca elektrowóz Taurus.


Proszę o niezobowiązujące deklaracja kto, ile i jakich dekoderów chciałby nabyć.
Informacje można wysyłać na es2@ep.com.pl lub pisać na forum. Od liczby zainteresowanych zależy czy i które dekodery pojawią się w sprzedaży.
 
Ostatnio edytowane:
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#72
Na kabelkach, na początek Plux22, NEM652 (8-pin). Plux16 i Plux12 jak będzie zainteresowanie. Dostępne będą także bez przewodów i z przewodami bez wtyku. Cena niższa o 5..10zł.
 
Ostatnio edytowane:
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#73
Test TSf091 + D&H DHZ400 po SUSI
Oscylogram z testowania SUSI
susi ramka.png

Cóż, bez oscyloskopu za parę tysięcy nie ma co do tematu podchodzić ale nawet taki za mniej niż 2 wystarczy. Niestety, o analizatorze za 40zł (klon SaleAE) raczej trzeba zapomnieć. Nawet LA za pół tysiąca nie zdekoduje niestandardowej ramki podobnej do SPI, no chyba, że ktoś lubi liczyć bity i robić za dekoder.

Do testowania dekodera wystarczą dwa oscyloskopy i analizator 16 kanałów (na fotografi niepodłączony) oraz terminal VT100:
DSCN2186.JPG

ale zdarzało się w niektórych projektach, że byłu 3 oscyloskopy, dwa analizatory , dwa generatory po 2 kanały i kilka zasilaczy.
 
Ostatnio edytowane:

PiotrK

Aktywny użytkownik
FREMO Polska
Reakcje
308 0 0
#74
Trochę ryzykowne podejście do SUSI. Jeśli dobrze widzę to zmiany linii DATA są w czasie niskiego stanu linii CLK.
Sugeruję jednak trzymać się opisanych przez twórców SUSI standardów. Inaczej może okazać, się że nie z każdym modułem SUSI dekoder będzie współpracował poprawnie. Szczególnie w "zaśmieconym zakłuceniami" środowisku dużej makiety.
Szczegóły w normie: http://normen.railcommunity.de/RCN-600.pdf (strona 9)
 
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#75
Zestawienie możliwości i cen dekoderów
Schowek02.png

To, które pojawią się w masowej sprzedaży zależy od klientów, na razie zainteresowanie prawie zerowe. Jeśli nie będzie zainteresowania to skończy się na serii próbnej i tylko kilka osób będzie cieszyło się dekoderami, których oprogramowanie nie bedzie rozwijane. Wynika to z wysokich kosztów uruchomienia produkcji oraz faktu, że nie ma firm zainteresowanych produkcją małoseryjną co oznacza produkcję dużej ilości a co za tym idzie zamrożenie dużej kwoty na długi czas.


eśli dobrze widzę to zmiany linii DATA są w czasie niskiego stanu linii CLK.
Z tego co widzę to ważne aby w czasie opadającego zbocza zegara dana była stabilna a czy jest ustawiana gdy zegar ma stan niski czy wysoki nie jest to istotne.
 

PiotrK

Aktywny użytkownik
FREMO Polska
Reakcje
308 0 0
#76
Z tego co widzę to ważne aby w czasie opadającego zbocza zegara dana była stabilna a czy jest ustawiana gdy zegar ma stan niski czy wysoki nie jest to istotne.
Masz rację. Zwróc jednak uwagę, że w Twoim przypadku zmiany następują dość szybko po opadającym zboczu CLK.
Jeśli trafi się moduł, który dokonuje odczytu z pewnym opóźnieniem względem tego zbocza, to może być problem.
 
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#77
To tylko źle wygląda. Dana zmienia się dokładnie w połowie czasu trwania staniu niskiego CLK, tak jak to jest w I2C 100kHz. W powiększeniu wygląda to tak:
SUSI zoom.png

SUSI generuję programowo, bo sprzętowo tak wolnej transmisji nie jestem w stanie uzyskać więc mogę bez problemu zmienić moment zmiany danej.


EDIT:
Dodałem w CV możliwość wyboru komunikacji SUSI:
Schowek02.png

W trybie 3 taktowym, dana jest wystawiania ok 700ns przed narastającym zboczem sygnału CLK
Schowek03.png

a nie jak w ZIMO 2us po
SUSI ZIMO oscyl.png

SUSI ZIMO oscyl ZOOM.png

co jest według mnie "przegięciem". Transmisja 3 taktowa zamiast 4 jest nieco szybsza, choć w poprawnie napisanym programie, zarówno od strony mastera jak i slave, szybkość komunikacji SUSI nie ma to znaczenia bo powinna być realizowana na przerwaniach w sposób nieblokujący. W moich dekoderach, mimo, że występują długotrwałe przerwania od audio, SUSI nadaje bez "zacięć":
Audio przerwanie nie przeszkadzaja przerwaniom SUSI.png

Kanał 6 to przerwanie AUDIO wykonywane gdy DMA odtworzy połowę i cały bufor próbek. To naturalnie zasługa wielopoziomowego systemu przerwań, którego brak w AVR poza najnowszymi i drogimi choć powolnymi Xmega. Przerwanie to trwa długo bo trzeba miksować, resamplować 8 kanałów audio, regulować głośność. Niestety F091 nie jest zbyt szybki (48MHz) i mimo, że nie używam liczb zmiennoprzecinkowych a gdzie się dało mnożenie i dzielenie zastąpiłem przesuwaniem, to przerwanie trwa ok 500us.


PS
Jaki jest sens używania Xmega? Są, w porównaniu do ARM, drogie, wolne . Ja widzę schyłek kariery AVR jak niegdyś 8051. ARM są tańsze (nawet w stosunku do Tiny i małych Mega), szybsze, program pisze się szybciej i łatwiej.
Dlaczego więc AVR mają tak dużą grupę zwolenników? Na to pytanie, pewnie nie ma sensownej odpowiedzi jak i na to, dlaczego PiS wygrywa wybory.
 
Ostatnio edytowane:
OP
OP
r-mik

r-mik

Pan Chlewik
Reakcje
145 30 0
#78
Dekoder dźwiękowy na STM32F091Cc vs AVT5535 z używanym w arduino, AVRmega328, naturalnie bez dźwięku i na mostku H L2722.
STM32 vs AVT5535.JPG

L2722, prąd max 1A, obudowa DIP8:
avt5535 L2722.jpg

A4953, prad max 3,5A, obudowa MSOP-10:
A4953.png

Układ w zielonej elipsie, to wzmacniacz audio, klasa D, max 1,4V.
Mikrokontrolery, gabarytowo takie same. porównywanie możliwości mija się z celem, bo jaki sens porównywać Trabanta do Ferrari? Z tym, że "Ferrari", kosztuje dwa razy więcej niż "Trabant" oferując setki razy większe możliwości.
Szkoda, że postęp w przemyśle samochodowym nie jest tak intensywny jak w elektronice.
 

melonowy

Znany użytkownik
Reakcje
1.071 20 1
#79
Hej.
Bardzo miło czytać powyższe wiadomości. :D(y):D
Moja "deklaracja" poszła na maila.
Podałbyś może też w tabelce trzy wymiary poszczególnych dekoderów.
Ułatwiłoby to dobranie ich do różnych loków.
Głośniki 8 ohm ?
 

Podobne wątki