RailwayPassion.com - Форум за железопътен моделизъм

Електроника и Електротехника | Electronics and Electrical Engineering => Цифрово / дигитално управление | Digital Command Control => Темата е започната от: mitko0888 в 19 Март 2018, 16:11:27

Титла: Моето компютърно управление за z21
Публикувано от: mitko0888 в 19 Март 2018, 16:11:27
Чудех се дали в нова тема, дали в стара, дали в темата за моя макет  (http://www.railwaypassion.com/forums/index.php/topic,4294.0.html)да пиша...

За какво става въпрос: Имаме си влакче. Може и да е аналогово (като моите) или цифрово, важното е някъде по пътя да има DCC декодер, настроен за съответния локомотив, и централата да е z21. През LAN порта е свързан компютър (или нещо друго с windows). Искам да си карам влакчето с компютър. Да не се бърка с управление на макета - искам да си карам влакчето според моите си представи за това какво прави "машиниста".

Гредах разни готови програми, все не ми харесваха. И за да знам че ще е това, което искам, взех че си написах моя си програмка за управление на влакчето.

1. Първоначално имаше само един плъзгач за задаване на стъпките (този в дясно на картинката). И за да се видят разни дреболии по LAN протокола. Слагам стъпка 12, влакчето тръгва, слагам стъпка 0 - спира. Отразявам и текущата стъпка синята лента) ако се кара от мишка или от друг софтуер. Освен това се виждат (и се задават) 29-те основни функции (гледам че на снимката не са нарисувани F21 до F28). Това си го запазих и в настоящия вариант, избира се с чекчето "Direct steps".

2. След това добавих втори плъзгач. С него задавам някаква скорост. Може и да стане с няколко бутона - тръгване, бавно, средно, бързо и т.н. Ускорението става според положението на трети плъзгач. Забавянето при намаляване на скоростта става според четвърти плъзгач. В декодера се задава минимално закъснение, така че колко и каква да е инерцията да зависи единствено от програмата.

3. Следваща стъпка (която ми беше и целта) да задавам не скоростта на движението, а да имам два плъзгача - "газ" и "спирачка" - с чекчето Drive controls. Колко бързо да се ускорява влака зависи от това какво возим, и какъв е терена. Аналогично и спирането. Добавен е плъзгач за "съпротивлението" на влака (масата), мощността на локомотива, съпротивлението при движение по инерция (трите хоризонтални допълнителни плъзгача). Отчита се и съпротивлението от скоростта на движението (синята лента в левия плъзгач). Тъй като станаха много неща, въведох три вида влака и три наклона на трасето (за тези нещо ще има още два - три плъзгача). Разбира се има и предварително въведени параметри - пътнически, товарен, и т.н., а ще има и локомотиви, за да ги избирам с един цък на компютъра.

4. Това и следващите точки предстоят. За сега ще карам така, да видя какво още би ми се приискало. За сега сънувам автоматична промяна на наклона на трасето при преминаване през определени точки от макета ми (имам си наклони, трябва да ги вкарам в компютъра). Предстои и малко хамалска работа - да си поиграя за да въведа най-подходящите параметри за 20-тината локомотива, които имам. Исками се и да карам с някакво механично копче (даже съм си намерил такива врътки, които много ми харесват на щракане), но трябва и тяхното положение да го вкарам в компютъра. След това DCC стъпките ще ги пусна като управляващ сигнал в аналоговото захранване. И разни други такива. Сегашните стойности на плъзгачите ще е добре да ги превърна в "реални" такива - km/h, тон, kW и т.н.

За три дни управлението е нещо такова: Има доста неща да се махат от интерфейса, има и някои да се добавят. Състоянието на централата май въобще не ми трябва в този вид. Когато стане... Ако стане нещо интересно - ще пиша.

(http://picbg.net/u/62092/55235/872592.jpg)
Титла: Re: Моето компютърно управление за z21
Публикувано от: pach в 19 Март 2018, 20:38:30
Супер идея!!!
Предполагам, че след "изчистване' на концепцията и драйвера(и),
може би ще прекръстиш плъзгачите на " спирачка" и т.н. като за парен, дизел и електро ( със съответните истински наименования)...
или НЕ!?
Два/три  въпроса:
- каква е връзката със Z21 ( сякаш това е драйвер ли, нещо си...)
Идея си нямам и на теб разчитам за разяснение като на лаик към z21!!!
- това с каква програма го "сглоби"? ( може би Visual Basic?)
- ще предоставиш ли кода ( файла) за ...инсталация ( знам ли) или
общо ползване ( или не си мислил на този етап)?

 :hi:
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 20 Март 2018, 10:27:23
Цитат на: pach link=topic=5070.msg111122#msg111122 date=1521484710

може би ще прекръстиш плъзгачите на " спирачка" и т.н. като за парен, дизел и електро ( със съответните истински наименования)...

- каква е връзката със Z21 ( сякаш това е драйвер ли, нещо си...)

Ами то и сега си е "спирачка" - Break. Ако те притеснява че е на английски ... На мен ми е по лесно, докато пиша да не сменям кловиатурата.

Връзката си е както се вижда на картинката, и както си е напарвена централата - по IP и порт.
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 30 Март 2018, 09:39:53
Текущата тестова версия. Има си километраж (уж в km/h), както и стрелка за тяга / спирачка (няма мярка, от 0 до +/-20). Масата на влака е в тонове, мощността на локомотива е в kW, наклонът е в ‰ (промили, поне при мен се вижда каквото трябва). Разбира се доста от нещата са съобразени с "домашено влакче", т.е. не чакам 5 минути за да достигна макс. скорост и нямам километър за спиране. Става малко като симулатор, ама едновременно с монитора си гледам и истинското влакче (макар и 87 пъти по-малко).

(http://picbg.net/u/62092/62583/872951.jpg)

Остана да му напарвя спускането по надолнище, и след това да му измисля подходящ дизайн, да не е този от тестовете.
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 01 Април 2018, 20:58:12
Почти на финала. Две допълнителни тротълчета, снимчици на локомотива и всичко друго което си бях намислил.

(http://picbg.net/u/62092/62583/873009.jpg)
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 10 Април 2018, 16:38:44
Готово! Последното, което ми липсваше - в "нормалния" режим на каране (вж т.2 от първия пост) вече има и различни криви за скоростта. Пет фиксирани криви, плюс това с мишока кривата може да се дърпа в няколко точки. Всичко това се запомня индивидуално за всеки локомотив. Освен това - допълнителен прозорец с локомотивите (че така изборът не е много удобен ако има въведени повечко бройки), допълнителен прозорец за голяма снимка :) ако забравя кой лок как се казва. Допълних и списъка с копчета от клавиатурата, за да се кара по-лесно и с тях. Вече и различни режими на спирачките. Май това ще е (докато не се сетя нещо друго).

(http://picbg.net/u/62092/62583/873182.jpg)
Титла: Re: Моето компютърно управление за z21
Публикувано от: Mixy в 10 Април 2018, 18:11:09
Поздравления за интересния проект! Управлението вече изглежда съвсем завършено. Единственото, което бих добавил е икона с червен знак Стоп на големия бутон, както и подобен голям бутон за прекъсване на захранването от централата към релсите при спешен случай (може и вече да имаш такъв, но аз да съм го пропуснал), дублиран с клавиша Esc. А след като интерфейсът е на английски, можеш да пуснеш един сайт и да почнеш да го популяризираш у нас и в чужбина, ако ти се занимава и с това  ;)
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 10 Април 2018, 19:54:59
Ето ти бутон със стоп. Малко е грозен, ама сега не ми се търсят други :) Лично на мен не ми се връзва с цветовата гама и с цялото фъншуи. Но ако искаш ще го сложа и в конфигурацията - да може да си го показваш или скрриваш... Стопът се задейства с Enter, не е с Esc. (Йей, добре че ме подсети, то можело и с Esc, че и с двете, бях забравил!)
Спирането на захранването е от тези двете малките индикаторчета отдолу. Едното спира захранването - VTrack, т.е. прави LAN_X_SET_TRACK_POWER_OFF или LAN_X_SET_TRACK_POWER_ON. Другото - Stop - според каквото е програмирано в централата - може и то да изкл. захранването, може и да дава DCC стоп. Аз изпращам LAN_X_SET_STOP.

(http://picbg.net/u/62092/62583/873183.jpg)
Титла: Re: Моето компютърно управление за z21
Публикувано от: Mixy в 10 Април 2018, 20:31:06
Супер  :)

Протоколът за управление публичен ли е или си си го купил? И само Z21 ли го поддържа или има и други съвместими централи?
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 10 Април 2018, 22:00:19
Протоколът си е от сайта на Z21. Мисля че за друго не става. Но пък на мен ми хареса.
Титла: Re: Моето управление за z21
Публикувано от: mitko0888 в 22 Април 2018, 15:31:44
Продължавам да си пиша... Продължението:

Както започнах в т.4, от самото начало идеята беше да си карам влакчетата с механична врътка. Трябваше с нещо да я вкарам в компютъра, платки не съм правил от 20 години. А в кварталния магазин намерих една синя платка за 20 лв. Сигурно при китайците е по-евтино, ама тази я видях с очите си. Добавих още две платки и захранване и стана това:

(http://picbg.net/u/62092/62583/873548.jpg)

Някой да не каже че съм минал на другия бряг! Всичките ми локомотиви са аналогови! Има  два цифрови, ама тях не ги броя. И сега на всичките движението и управлението е перфектно.
Тъй като не ми се мъкне компютъра покрай макета, с онази синята жичка се вързах директно за централата. "Някой ден" може и да довърша връзката с компютъра, но и така на него може да се гледа скоростта и да се управлява паралелно с пулта. Остана и един кабел за захранването (черния), който може да се замени с USB. Скечове няма да пускам, защото едва ли някой ще ми ги разчете, а и няма нищо гениално в тях - откъси от стандартно четене на копчета и IP комуникация от три реда. По-завъртяно е избора на скоростта и т.н., но то е въпрос на въображение кой как иска да кара влака.

5. Управлението за сега е само в един режим - за 5 дена толкова. Скоростта се задава с една врътка с 12 позиции. С тях може да се задават всичките 127 стъпки на DCC стандарта. Как става това - ами както на шкодите у нас - с 5 позиции на врътката се набират и свалят 32. Само че при мен "автоматът" е с 10 различни положения, като от всяко може да се добавя или сваля по една стъпка, или автоматично да се добавят или свалят следващите 12. Посоката се избира от LCD пулта с бутончетта. Също и 12 степени на ускорението и забавянето, като то може и да не е линейно, а да зависи и от това с колко повече е врътната врътката. Това ще бъде сменено с втора врътка с 5 степени за ускорение и 5 степени за спиране, плюс аварийния стоп.

6. Предстои още един режим - набиране на позиции и спирачки на едно копче. Измислил съм го, остава да го въведа и тествам.

7. Третата опция - трета дръжка за спирачката. Тогава с врътката за скоростта ще се управлява само тягата.

Освен това има да се правят всичките менюта за параметрите на влаковете, адреси и т.н. Но на първо време ще дялкам някаква кутия за копчетата.

За съжаление трябваше да добавя и един суич, то си беше цял рутер. Ама така си имам и WiFi връзка с цялата чудесия. Портовете и на z21, и на arduino-то не щат да работят директно един с друг. С компютъра няма такъв проблем. То си го пишеше, ама аз бях длъжен да пробвам. Ще щракна и едно кръстосано кабелче, но така или иначе една безжична връзка само за влакчето няма да ми е излишна. Но пък кутийките са малки и се събират чудесно в рамката на макета.
За сега толкова. Mixy дали да не махне "компютърно" от заглавието ...
Титла: Re: Моето компютърно управление за z21
Публикувано от: Mixy в 22 Април 2018, 19:33:59
Цитат
Mixy дали да не махне "компютърно" от заглавието

Е, то Ардуиното също се вдои компютър, макар и едночипов ;)
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 22 Април 2018, 20:03:58
Цитат на: Mixy link=topic=5070.msg111451#msg111451 date=1524414839
Е, то Ардуиното също се вдои компютър, макар и едночипов ;)

Прав си. Даже има и втори чип на платката. А като добавя и етернет модула - имам си даже и диск (карта). Плюс клавиатура и дисплей.
Титла: Re: Моето компютърно управление за z21
Публикувано от: totomoto в 22 Април 2018, 20:39:33
Цитат на: Mixy link=topic=5070.msg111451#msg111451 date=1524414839
Е, то Ардуиното също се вдои компютър, макар и едночипов ;)

Нямаше ли вече спор кое е компютърно и кое аналогово  :blink:.
Чета с огромен интерес, нищо че не разбирам от тези неща! Възхищавам се от нещата, които правиш  :hi:!
Титла: Re: Моето компютърно управление за z21
Публикувано от: МАШИНИСТ в 22 Април 2018, 22:06:55
Интересна идея за управление на аналоговите машини и особено , това с контролера като на електровоза.
До колкото разбирам,ще управляваш аналогови , като цифрови,само че е по-опростен вариант,нали ?
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 22 Април 2018, 23:39:56
Имаше дискусия кое е аналогово, кое е цифрово. За компютърно не сме говорили. И се "разбрахме" че с влакчетата цифрово е DCC, ММ или някакъв друг стандарт.

Системата е цифрова, DCC, със z21 централа. Отива до 5 декодера. Петият ми е за резерва и за експерименти. Останалите четири са настроени за различните ми локомотиви. Това всичкото ми е в пулта на макета. По релсите върви ШИМ - аналогово. Шестата позиция ми е ШИМ - досегашното аналогово (и то е много хубаво, нискочестотно, освен другото и с управляема амплитуда, само че няма BEMF). По всяко време с една тапа по релсите тръгва директно DCC, това мисля как да не се случва "случайно".
Всичко това е за да карам аналогови локомотиви с качеството на цифрови. Плюс всички екстри за които писах нагоре, които ги няма в DCC. Това че лампите не светят на място не ми пречи. Цифрово откачане имам само на един локомотив. Звуци нямам, и да имам един ден ще са 3D в макета, а не в локомотива.

ПС: Днес контролерът се сдоби с втори - т.6. Набиране на позиции, три работни спирачки, плюс аварийна. Почти всичко се отбелязва на дисплея и т.н. Остана да си направя някакви врътки и копчета.
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 29 Април 2018, 13:50:52
Да се отчета и аз за изминалата седмица:

Врътката за каране вече има три режима: единият си е с "класическа" врътка за скороста, с 12 степени, но с това което писах пред иможе да се избират всичките 126 стъпки на декодера. Вторият и третият режим на основното копче имат набиране на позиции и спиране. Което най-много ми харесва. Спирането е на три работни позиции плюс една аварийна спирачка. Има и последно положение което е моментално задаване на стъпка 0. В тези два режима спирачката може да е на отделна врътка, което не променя софтуера и настройките за работа.
Втора врътка задава 12 степени за "инертност" на влака - при ускорение и при забавяне. Най-тромавото положение иска около 30 секунди за набиране на всичките стъпки. Най-пъргавото - малко над 2 секунди. Ускорението може да зависи или не и от това до колко врътката за уравление е "напред" спрямо нужната скорост. Всичко това се настройва от една табличка с 4 реда и 12 колонки.
Отделно имам две сини диодчета - светят много елегантно в тона на дисплея. За тях използвам само един изход - стана перфектно, вкл. и защитата от късо и обръщане на кабела.
Освен това съм включил и два три-позиционни ключа и два бутона. Едното ключе ще е за избор на посоката, да е по-лесно и бързо, а не от менюто на дисплея. Другите ще почаката.
Всичките глезотии които си бях намислил запълниха около 45% от Ардуиното заедно с всички библиотеки, които ми трябваха. В eeprom-a записвам име на локомотива, макс. стъпки и макс. скорост, така че на дисплея имам освен стъпката на DCC сигнала и "реалната" скорост в km/h. Менюто обаче може да глътне много памет, за това си оставих само основните настройки - режим на управление, работа с LAN, преглед на списъка с локомотивите и т.н. Въвеждането на всичките неща си го оставих от компютъра - става много по бързо и лесно.
Остана кутия и врътки. На първо време ще издялкам нещо от меко PVC за да си карам влаците. Като стане нещо ще снимам.
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 07 Май 2018, 16:20:39
Покрай празниците издялках една кутийка за трите платки:

(http://picbg.net/u/62092/61181/874075.jpg)

Има си изводи за захранване, LAN за връзка с централата, USB за компютъра:

(http://picbg.net/u/62092/61181/874074.jpg)

Дисплеят показва различни неща:

(http://picbg.net/u/62092/61181/874073.jpg)

И една друга кутийка с врътката. Може да е грозно, ама така карането е съвсем друго, няма нищо общо с мишки и таблети!

(http://picbg.net/u/62092/61181/874072.jpg)

Остана още една - за спирачката. Сигурно до края на месеца ще стане и тя. А пък ардуиното допълних с два аналогови изхода ... за през лятото.
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 13 Май 2018, 19:58:59
Най накрая с истинско кабелче. Има и един дълъг към 2 метра, ако врътките се държат в ръка. Сфтуера е завършен, глътна почти 55%. Остана спирачката, но тя ще се включва хардуерно.

(http://picbg.net/u/62092/61181/874319.jpg)
Титла: Re: Моето компютърно управление за z21
Публикувано от: mitko0888 в 14 Май 2018, 20:22:35
Изрових в едно списание един пулт, явно и други са изкукали като мен:

(http://picbg.net/u/62092/61181/874334.jpg)

Дясната ръчка, за спирачката, още не съм я направил. Моята ще се върти на другата страна, както е у нас. Като дърпам към мен ще има три спирачни позиции - B1, B2, B3, и аварийна спирачка EB. Преди това една позиция за "разхлабване" (0), и една за разрешено задвижване - DRIVE, RUN...

Това го имам и сега с моята врътка: в средата (на горе) е 0, като въртя на ляво са трите работни спирачки и четвъртата степен - Emergency. Добавил съм си и една позиция "СТОП" - на макет може. (на предишната снимка ръчката е в това положение, крайно ляво).

В дясно от нулата имам една стъпка за "позиция +1". Всяко цъкване в това положение увеличава стъпката с 1. след това имам още пет положения за автоматично набиране на стъпките. Т.е. докато ръчката е в това положение скоростта се увеличава с определен брой стъпки за секунда.

С врътката в левия долен ъгъл си избирам ускорение / забавянето. За всяка от 12-те позиции имам по 4 различни стойности на "стъпката" - за спирачката: B1, B2, B3, EB, за "набирането" - D1, D2, D3, D4. Има и още една D5. На тези 12 позиции съм въвел различни комбинации, напр. 1-2-3-4, 1-2-4-8, 2-4-6-8 и т.н. до 4-8-12-15. По този начин имам 12 различни ускорения или спирания. Напр. ако ускорявам на D2 и положението е 1-2-4-8, на всеки такт набирам по 2 DCC стъпки. Всичко това е само за 128 стъпки на декодера. Един такт е 250 мс, т.е. 4 пъти за секунда. Така за една секунда се набират 8 стъпки, всичките 126 се набират за около 16 секунди. Ако дам повече "газ", на D3 или D4, ще се набират по 16 или 32 стъпки в секунда. И т.н. В най-тромавото положение стъпките остават 1-2-3-4, но тактът се променя от 250 на 333, 500 и 750 мс. За това го правя с Ардуиното, а не аналогово, както на пулта на немците, защото има много повече възможности и стават по-лесно.

Реално се кара много "интересно". За бавно тръгване давам D1, влакът ускорява до някаква скорост, която ми харесва напр. по стрелките или в гарата, при което връщав на +1 или на 0. Влакът продължава да се движи с ниската си скорост. Като изляза от стрелките давам пак D1, или по-интензивно - D2 или D3, докато тръгне с нормалната си скорост. D4 и D5 са само за игра. Като наближи време за спиране, врътвам на B2. Може и на В1, но тази стъпка я ползвам само за плавно намаление на скоростта или за спиране много отдалече. Ако видя зор, че ще подмина гарата, врътвам на В3. Докато се науча доста често слагах ЕВ или направо на СТОП, че едно е да спираш с врътката на трафа, друго е със спирачка... Разбира се моментално спиране имам и с ЦК ключето за посоката. То също забива директно стъпка 0. В декодера закъснението го оставям обикновено 0.5 или 1 секунда.

На тази снимка врътката е на D3. По време на ускорението свети десния диод (както е на снимката). При забавяне - левия.
(http://picbg.net/u/62092/61181/874072.jpg)

Това е "основния" режим за каране. Списъкът с локомотиви ми трябва за да има "точно" показание за мащабната скорост в km/h. Измерил съм си ги на 20-тината ми локомотива, ама тук съм въвел само няколко. Скоростта ми се иска да я гледам на някакъв стрелкови километраж, май ще търся нещо от кола, че от влак едва ли ще намеря! И ще си го закача някъде, пък ще му подавам AnalogWrite на някой от останалите крачета.