Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - zderzak

Strony: [1]
1
Symulator / Odp: Sterowanie EN57 i interfejs programu
« dnia: 29 Maja 2010, 22:24:44 »
@Mariusz
uC: Ja wiem, że PS/2 da się obsłużyć, problem w tym, że ten CLK według specyfikacji naprawdę musi mieć <16kHz. W tej sytuacji wysłanie np. 43x "minus" po szybkim zjechaniu nastawnikiem na zero poważnie zamuli odczyt danych z nastawników*, i będzie potrzebna zabawa z timerami i przerwaniami. Poza tym jeden klawisz to zwykle 2 bajty, po takim pokręceniu trzeba ich wygenerować 86, wepchnąć do zaimplementowanego FIFO, po czym powolutku wysyłać. A ramu jest łącznie 1kB. Lepiej, żeby się tym PC zajął. Nie mówię, że się nie da, mi się po prostu nie chce, bo prościej na PC dopisać skrypt w AutoIt v3, który przechwyci (przez zwykłą konsolę) wyjście z programu obsługującego nastawnik i wyśle "klawisze" do symka. Wtedy w ogóle prędkość PS/2 nas nie obchodzi, można wysłać niemal dowolnie dużo klawiszy na sekundę. Obsługa RS232 w mikrokontrolerze jest sprzętowa, więc nie trzeba pisać żadnych kombinacji, ani blokować sobie klawiatury (tak, wiem, można się podpiąć równolegle do istniejącej, bo to linia OC, ale wtedy z kolei trzeba pilnować kolizji), poza tym interfejs robi się hmm... bardziej uniwersalny. Np. dźwignię bocznikowania można bezboleśnie zamienić w nastawnik od kibla, albo ograniczyć liczbę pozycji nastawnika i pobawić się w EP09. I przy tym nie ładować dwóch dip-switchów na płytkę.
Testy sterowania tym symulowanym naciskaniem klawiszy robiłem, i działa bezbłędnie, a tak szybko, że nawet w symku nie zdąży "puknąć" wał nastawnika przy przejechaniu wszystkich pozycji. Da się to też oczywiście napisać w C/C++, wykorzystując normalnie widnowsowe API, kwestia pogrzebania w dokumentacji.

*Zasadniczo nastawnik czysto statyczny (bez impulsatorów), a odczyt z korekcją tzw. "drgających styków". Testy przez LPT wypadły bardzo obiecująco - można tym kręcić dowolnie szybko, i nic się nie ma prawa zawiesić/zgubić. Krany dla odmiany będą na ADC. Elektryka właściwa zacznie powstawać jutro, jak nakupię tych wszystkich 74xx.

@MichałŁ - w ostatnim zdaniu miałem na myśli sprężynę reakcyjną w cylindrze. Jej w ogóle nie ma w *.chk. A czy jest symulowana nie wiem. Wydaje się, że jeśli tak, to jako bardzo słaba.

2
Symulator / Odp: Sterowanie EN57 i interfejs programu
« dnia: 29 Maja 2010, 16:24:00 »
Takie jest ograniczenie w dokumentacji, ale nie w programie. Również dźwięki np. haslera i styczników da się bez problemu zapuścić w stereo.

Odnośnie klocków - przy żeliwnych spokojnie daje się wjechać 60km/h w 200m perony, zacząć hamować, i jeszcze wyluzować pod koniec. Takie są moje obserwacje, potwierdzone wywiadem, i nie zauważyłem żadnych grubszych odchyłek od czasu wycofania kompozytów. Co do progu zadziałania - symulator nie obsługuje sprężyn...

3
Symulator / Odp: Sterowanie EN57 i interfejs programu
« dnia: 29 Maja 2010, 15:35:49 »
Wersja wszystkiego (nie licząc drobiazgów) to PC2009 SP1.1. Sprawdziłem przed chwilą, amperomierz reaguje na cofanie nastawnika, kran działa tak, jak zwykły kran (zatrzymuje się na wszystkich pozycjach). Chyba, że są jakieś inne klawisze nie opisane w instrukcji.

Co do samego hamulca, to miałem na myśli, że da się to już w .chk poprawić.

PS. 3. sprawa - dźwięki 44kHz 16b stereo. Zauważyłem, że program je normalnie odtwarza (i nie obciąża przy tym niczego), a ZTCW zalecenia dla twórców są inne.

4
Symulator / Sterowanie EN57 i interfejs programu
« dnia: 29 Maja 2010, 15:11:54 »
Witam wszystkich,
Symulator jest naprawdę fajny, ale:

-charakterystyki hamulca w EN57 są oględnie mówiąc złe. Hamulec EP działa za wolno, a także za słabo. W praktyce powinno dać się wyhamować na odcinku <200m bez przekraczania 2atm w cylindrach (żeby to zobaczyć, wystarczy się przejechać po warszawskiej średnicy). Osobiście dla własnego użytku poprawiłem prędkości luzowania i napełniania na odpowiednio 8 i 7, a przekładnię na 6 - wtedy hamowanie jest akceptowalne, choć nadal niezbyt ostre. Wiem, że prawdopodobnie ktoś pisał o tym wcześniej, jednak sprawa powraca w kolejnych wydaniach.

-kręcenie kranem klawiszami w trybie EP jest wyjątkowo nieintuicyjne. W prawdziwej jednostce kran trzeba trzymać, żeby hamował/luzował (i dlatego tak było w "Mechaniku"). Da się to co prawda obejść zewnętrznym programem, ale myślę, że nie byłoby złe włączenie do kolejnej poprawki obsługi którychś dwóch niewykorzystanych dotychczas klawiszy, których make odpowiadałby naciśnięciu "2" i ".", a break - "4". To by uprzyjemniło jazdę EZT, a nie przeszkadzało przy innych lokomotywach, i (jak mniemam) nie wymagało zbyt grubych zmian.

-w EN57 (i innych polskich EZT z wałem kułakowym) cofnięcie nastawnika na pozycję inną niż zero nie daje żadnego efektu, tutaj jest inaczej. Ale to już drobiazg. Opóźnienie przy rozłączaniu OG po zjechaniu nastawnikiem na zero nie wiem jak zakwalifikować. Chyba też drobiazg.

Sprawa druga: Jak wiadomo, "cały kraj buduje" domowe pulpity sterownicze. Również zamierzam sobie taki zrobić, ale tu znów pojawia się sięganie lewą ręką do prawego ucha, czyli komunikowanie się przez interfejs klawiatury (oczywiście tylko programowo - sprzętowo będzie RS232, bo protokół PS/2 jest tak powolny, że obawiam się albo zatkania jego obsługą uC, albo tygodniowego kombinowania z przerwaniami timerów).
Czy w związku z faktem, że program trzyma cały czas otwartą konsolę, nie warto by dorobić opcjonalnego interfejsu konsolowego (komendy czytane z stdin)? Warto też rozważyć taką samą komunikację w drugą stronę (przekierowanie "taśmy" na stdout, zamiast do fizycznego pliku) - niesamowicie rozszerzyłoby to możliwości programu, np. o elegancki sprzętowy szybkościomierz.

Strony: [1]