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

Dekoder akceleracji

martinezo

Znany użytkownik
Reakcje
3 0 0
#21
ciekma napisał(a):
Ale ja nie rozumiem o Ci chodzi Martinezo, twe pytania i zarzuty są, nie obraź się, nieco ortogonalne do problemu.
Zarzutów nie wysuwam - znajduje problemy z których przeskoczeniem będzie kwiatek.

"Róbta co chceta" - zapewniam, że ja nie jestem dla Ciebie problemem.
 
OP
OP
ciekma

ciekma

Znany użytkownik
FREMO Polska
KKMK
Reakcje
7 1 0
#22
CoCu napisał(a):
każdy prawdziwy pojazd trakcyjny nie może zahamować w miejscu
To jest oczywiste - i pozycje 3-6 (IV-I) hamowania mniej więcej to uwzględniają.
Pierwsze "ostre" pozycje hamowania (0-2) są nierealistyczne, przewidziane dla bezpieczeństwa na szlaku i wygody przy manewrowaniu.
 

Jaro

Użytkownik
Reakcje
0 0 0
#23
Kupić nowego MM :)
Będzie na fale radiowe a nie na kabelek- żadnego przepinania. Piko jest z kolei na podczerwień ale na dużej makiecie może być problem z celowaniem no i nie wszyscy kochają Piko.
 

Karol

Użytkownik
Reakcje
10 2 0
#25
Też nad tym myślałem, tylko zastanawiam się jeżeli GBB posiadałaby tą funkcje to automatycznie działała by ona na MM?
 

Larry

Użytkownik
Reakcje
0 0 0
#26
Powiem szczerze, że marzyłem o takim sterowaniu. Czekam zarówno na software od GBB jak i na hardware od Blue (nie przy wszystkich makietach jest komp).

Błagam panowie, nie nawalcie. Czekam z niecierpliwością!!!
 

gbbsoft

Aktywny użytkownik
Reakcje
11 0 0
#27
Karol napisał(a):
Też nad tym myślałem, tylko zastanawiam się jeżeli GBB posiadałaby tą funkcje to automatycznie działała by ona na MM?
Nie. Takich mocy to ja nie mam i pewnie nie będę miał, dlatego powinno to byc zrobione na poziomie dekodera...
Larry napisał(a):
Czekam zarówno na software od GBB jak i na hardware od Blue (
tylko nie będzie wolno tego uzywać jednocześnie :D
 
OP
OP
ciekma

ciekma

Znany użytkownik
FREMO Polska
KKMK
Reakcje
7 1 0
#28
Karol napisał(a):
Też nad tym myślałem, tylko zastanawiam się jeżeli GBB posiadałaby tą funkcje to automatycznie działała by ona na MM?
GBB chyba myślał tylko o sterowaniu z poziomu programu.
Chociaż mozna by też zrobić program/centralkę, która nastawy z myszy interpretowała by po swojemu w/g mojego algorytmu i wysyłała do dekodera.
Wtedy nie trzeba by było przeprogramowywać dekoderów.
Chociaż nie działało by to tak dobrze jak dedykowany dekoder - choćby sprawa dźwięku.
Dekoder z moim algorytmem "wie" że lokomotywa jedzie "na wybiegu" i odpowiednio może sterować dźwiękiem.
 

gbbsoft

Aktywny użytkownik
Reakcje
11 0 0
#31
Wracam do tematu
Moja idea jest taka:
weźmy pod uwagę regulator prędkości 0-Vmax (skupmy się na jednym kierunku jazdy),
dla uproszczenia załóżmy mysz która ma 14 kroków.
Dekoder powinien interpretować poszczególne kroki prędkości nie jako kroki prędkości, ale:
0 - hamowanie do zera zgodnie z CV4 ale nie wolniej niż Vmax/2s
1 - hamowanie do zera z opóźnieniem Vmax/2s (hamowanie awaryjne)
2 - hamowanie do zera z opóźnieniem Vmax/5s (5ty stopnień hamowania)
3 - hamowanie do zera z opóźnieniem Vmax/10s (4ty stopnień hamowania)
4 - hamowanie do zera z opóźnieniem Vmax/20s (3ci stopnień hamowania)
5 - hamowanie do zera z opóźnieniem Vmax/30s (2gi stopnień hamowania)
6 - hamowanie do zera z opóźnieniem Vmax/40s (1szy stopnień hamowania)
7 - jazda na luzie ze zwiększonymi oporami ruchu (opóźnienie Vmax/120s)
8 - jazda na luzie (opóźnienie Vmax/240s)
9 - rozpędzanie do Vmax/20, przyspieszenie mniejsze niż Vmax/60
10 - rozpędzanie do Vmax/10, przyspieszenie mniejsze niż Vmax/30
10 - rozpędzanie do Vmax/5, przyspieszenie mniejsze niż Vmax/20
11 - rozpędzanie do Vmax/2, przyspieszenie mniejsze niż Vmax/10
12 - rozpędzanie do Vmax/1.25, przyspieszenie mniejsze niż Vmax/10
13 - rozpędzanie do Vmax, przyspieszenie mniejsze niż Vmax/20

Przyspieszenie przy hamowaniu zakładam dla uproszczenia stałe.
Przerobiłem na coś takiego:

-6 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 2 sek
-5 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 5 sek
-4 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 10 sek
-3 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 20 sek
-2 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 30 sek
-1 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 40 sek

0 -> jazda na luzie ze zwiększonymi oporami ruchu -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 120s
1 -> jazda na luzie -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 240s

+2 -> przyspieszamy do VMax/20
+3 -> przyspieszamy do VMax/10
+4 -> przyspieszamy do VMax/5
+5 -> przyspieszamy do VMax/2
+6 -> przyspieszamy do VMax/1.25
+7 -> przyspieszamy do VMax/1

Tylko mam problem z przyspieszeniem.
Wzór:

Przy przyspieszaniu powinno się zmieniać zgodnie ze wzorem
amax*(Vmax/N-V)/Vmax/N, gdzie amax to przyspieszenie początkowe przy danej nastawie, Vmax/N to prędkość do której dąży przy danej nastawie, V - prędkość aktualna
nie jest dobry, bo przy starcie aMax=0, więc nie da się ruszyć :). Zresztą wzór nie mówi, co ile mam liczyć go... No i może jakieś wyjaśnieni, abym go lepiej zrozumiał...

No i przyspieszenie do VMax/20 przy 14 krokach prędkości (i liniowej charakterystyce) jest niewykonalne, bo to będzie pewnie jazda na kroku 1. Może jakoś inaczej rozplanować te stopnie przyspieszania... (można przyjąć skrajny przypadek, gdy VMax=14 i prędkość jest liniowa) Skąd one się wzięły? Czy są z rzeczywistości?

A co w sytuacji, gdy jedziemy szybciej niż wskazana docelowa prędkość do przyspieszenia. Np: jedziemy z prędkością 10 a ustawimy +5 (przyspieszenie do VMax/2, czyli do 7)

PS. Potrzebuję jakąś krótką angielską nazwę na to coś, co robimy... "TrueAcc"?
 
OP
OP
ciekma

ciekma

Znany użytkownik
FREMO Polska
KKMK
Reakcje
7 1 0
#33
gbbsoft napisał(a):
...
-1 -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 40 sek
0 -> jazda na luzie ze zwiększonymi oporami ruchu -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 120s
1 -> jazda na luzie -> zwalniamy liniowo tak, aby z VMax do 0 zwolnić w 240s
Tak po prawdzie to hamowanie i jazda luzem nie są liniowe, przy hamowaniu pod koniec mocniej hamuje, przy oporach ruchu maleją z prędkością.
Ale może nie komplikujmy. Na razie ;)

gbbsoft napisał(a):
...nie jest dobry, bo przy starcie aMax=0, więc nie da się ruszyć :). Zresztą wzór nie mówi, co ile mam liczyć go... No i może jakieś wyjaśnieni, abym go lepiej zrozumiał...
amax nie jest nigdzie zero, jeszcze raz, konkretny przykład:
+2 -> przyspieszamy do VMax/20
z przyspieszeniem a = amax*(Vmax/20-V):(Vmax/20)
gdzie amax dla kroku +2 odpowiada przyspieszeniu od 0 do Vmax w ciągu 60s.
Liczyć trzeba co chwilę w jakiejś tam pętli, żeby płynnie się przyspieszenie zmieniało (nie rzadziej niż co sekundę).
W chwili ruszenia a=amax, a potem się zmniejsza ze wzrostem V.

gbbsoft napisał(a):
No i przyspieszenie do VMax/20 przy 14 krokach prędkości (i liniowej charakterystyce) jest niewykonalne, bo to będzie pewnie jazda na kroku 1.
Ja to rozpatrywałem jako algorytm dla dekodera, który zazwyczaj ma 128 wewnętrznych stopni prędkości,
co innego manipulator który może mieć 14 jak Locomouse albo 128 jak Fred.
Innymi słowy - te stopnie hamowania/rozpędzania na nastawniku (manipulatorze)
są przekazywane do dekodera, a on już sobie konkretne prędkości liczy dokładnie i płynnie.
Jeśli robisz jakiś emulator i liczysz to na PC a nie w dekoderze, to oczywiście musisz to przekazać w trybie dokładnym np. 128.

gbbsoft napisał(a):
Skąd one się wzięły? Czy są z rzeczywistości?
Ależ skąd ;) Mi nie chodzi o realistyczny symulator fizyki, tylko o wygodniejsze
i bardziej realistyczne (ale bez przegięć) sterowanie :)
A przy okazji o realistyczne dźwięki silnika, hamowania - ostatnio znajomy pokazywał sztuczki z manipulacją krzywej prędkości aby pociąg jechał "na wybiegu" bez głośnych wydmuchów, ale to działało tylko przy pełnej prędkości.

gbbsoft napisał(a):
A co w sytuacji, gdy jedziemy szybciej niż wskazana docelowa prędkość do przyspieszenia. Np: jedziemy z prędkością 10 a ustawimy +5 (przyspieszenie do VMax/2, czyli do 7)
To samo co na pozycji "jazda na luzie" - zwalniamy powoli do Vmax/2.

Pozdr,
Mc

PS. TrueThrottle może być ?
Co, język ścierpł?
No to TruTro :)

PS2 - coś nie działa "quote"
 

PawelMa

Nowy użytkownik
Reakcje
0 0 0
#34
gbbsoft napisał(a):
PS. Potrzebuję jakąś krótką angielską nazwę na to coś, co robimy... "TrueAcc"?
Może RealMotion?

Acc od Acceleration (przyspieszenie), ale patent działa też przy Deceleration (hamowaniu)... Wiem, niby hamowanie to przyspieszenie ujemne, ale jakoś mi nie pasi.
Zmiana przyspieszena w czasie w fizyce nazywa się zryw, ale to brzmi śmiesznie, więc odpada. Zresztą w tym wypadku zryw przez większość czasu jest zerowy, bo przyspieszenie zmienia się dopiero pod koniec.
 

gbbsoft

Aktywny użytkownik
Reakcje
11 0 0
#35
OK. Wzór chyba zrozumiałem... Muszę go tylko jakoś przerobić, aby się dało zaprogramować.

ciekma napisał(a):
To samo co na pozycji "jazda na luzie" - zwalniamy powoli do Vmax/2.
To będzie fajne.
Jak jedziemy za szybko niż ustawienie manipulatora, to lok zwalnia aż dojdzie do VMax/N i może wpaść w drobne drgania +/- jedna pozycja prędkości... :D

Jeszcze się zastanawiam nad tym przyspieszaniem. Może kroki zmienić na takie (i przeliczenie przy 28 krokach prędkości):

+2 -> przyspieszamy do VMax/10 (co daje prędkośc 3)
+3 -> przyspieszamy do VMax/6 (co daje prędkośc 5)
+4 -> przyspieszamy do VMax/4 (co daje prędkośc 7)
+5 -> przyspieszamy do VMax/2 (co daje prędkośc 14)
+6 -> przyspieszamy do VMax/1.25 (co daje prędkośc 22)
+7 -> przyspieszamy do VMax/1 (co daje prędkośc 28)

PS. Chyba to sparametryzuje
 
OP
OP
ciekma

ciekma

Znany użytkownik
FREMO Polska
KKMK
Reakcje
7 1 0
#36
Te wartości które podawałem to tak na oko i "po uważaniu", można je zmienić,
pomysł ze sparametryzowaniem (ciężki/lekki pociąg) też nie jest głupi.
Co do skakania wokół Vmax/N, zależy czy liczysz na liczbach rzeczywistych czy całkowitych i jaki jest krok czasowy zmiany przyspieszenia i prędkości.
Krok powinien być znacznie mniejszy niż stała czasowa zmiany przyspieszenia i prędkości,
wtedy (w przypadku obliczeń na liczbach rzeczywistych) powinno ładnie dążyć asymptotycznie.
Nie mam dziś czasu, ale przez weekend mogę w excelu zrobić symulację tego algorytmu.
 

gbbsoft

Aktywny użytkownik
Reakcje
11 0 0
#37
Pierwsza przymiarka: http://download.gbbkolejka.pl/GbbKolejka_test.EXE

Trochę pozmieniałem proponowaną tablicę zwalniania/przyspieszania. Doszedłem do wniosku, że jak się daje +1, to jednak lok powinien jakoś przyspieszać. Więc 0 to jest jazda na luzie, a -1 jazda na luzie z obciążeniem.

Po drugie jak się steruje z klawiatury (tak sugeruje), to PgUp i PgDw "zatrzymuja" się na "0", co pomaga w szybkim skakaniu do "0".

Nowa tablica:

zwalnianie (z max do zera):
-7 -> 2 sek
-6 -> 5 sek
-5 -> 10 sek
-4 -> 20 sek
-3 -> 30 sek
-2 -> 40 sek
-1 -> 120 sek
0 -> 240 sek

przyspieszanie (z 0 do podaje prędkości w stosunku do maksymalnej):
1 -> 60 sek do VMax/10
2 -> 30 sek do VMax/5
3 -> 20 sek do VMax/3
4 -> 10 sek do VMax/2.5
5 -> 10 sek do VMax/2
6 -> 10 sek do VMax/1.25
7 -> 20 sek do VMax

Tryb TrueTrottle włącza się poprzez naciśnięcie prawego klawisza myszki na lokomotywie i wybraniu 'Tryb prawdziwej nastawnicy (TrueTrottle)'.

Na razie stałe są na sztywno wbite w program, ale później zrobię to konfigurowalne.
 
Autor wątku Podobne wątki Forum Odpowiedzi Data
DCC 3
DCC 2
DCC 1
DCC 10
DCC 13

Podobne wątki