Приветствую всех!
Если вы хотя бы раз видели кабину локомотива или электрички, то наверняка знаете, что для управления тормозами там используется кран машиниста — достаточно сложный пневматический прибор, призванный изменять давление в тормозной магистрали. В новых поездах эти устройства перестали быть чисто пневматическими, в них появилась ещё и электроника.
Мне всегда хотелось раздобыть такой экземпляр и показать, как он устроен. И вот наконец мне удалось это сделать, так что самое время вернуть его к жизни и узнать, на что он ещё способен.
![](https://habrastorage.org/r/w780q1/webt/9y/wt/gg/9ywtggcsvcdanc70cpmh2egmcxe.jpeg)
Итак, в сегодняшней статье поговорим про такой артефакт наших железных дорог как кран машиниста №130. Узнаем, как устроен его контроллер и попробуем его восстановить. Традиционно будет много интересного.
![](https://habrastorage.org/r/w780q1/webt/51/o9/lb/51o9lbdju2pm31mlqf7vb7ffqbq.jpeg)
Так получилось, что основными приборами управления тормозами на нашем подвижном составе являются краны машиниста №394 и №395. В плане пневматики это по сути один и тот же кран, единственное отличие заключается в наличии у триста девяносто пятого контроллера управления электропневматическим тормозом (та самая круглая коробочка сверху). Также на фото виден маленький кран вспомогательного тормоза №254, служащий для управления тормозами локомотива.
![](https://habrastorage.org/r/w780q1/webt/2o/6j/ss/2o6jssavvqc-k8didzt8n1x2uzc.jpeg)
Само собой, этими двумя моделями список не ограничивается. Вот, например, кран №334, применяющийся на вагонах метро (а ещё раньше — на локомотивах и МВПС). Модель очень старая, по найденным сведениям, выпускался он аж с 1904 года и ставился ещё на паровозы.
![](https://habrastorage.org/r/w780q1/webt/sq/0n/0y/sq0n0yymqvu9lubljmfqqvk7qcg.jpeg)
Кран №013, устанавливающийся на практически все новые вагоны метро, а также рельсовые автобусы РА1.
![](https://habrastorage.org/r/w780q1/webt/w-/o2/tb/w-o2tbpexrdgru2dtlfmucqbvew.jpeg)
А вот довольно экзотический кран №172 (он же 4ВК), применяющийся в частности на трамваях с пневмотормозом (ЛМ-68М, ЛВС-86К, РВЗ-6М2...).
![](https://habrastorage.org/webt/9w/ym/mi/9wymmi5yqtyjjdp667wiq3pjcva.gif)
Предмет сегодняшнего обзора — так называемый кран с дистанционным управлением. В отличие от предыдущих экземпляров, этот — электронный, состоящий из контроллера крана машиниста в кабине и пневмопанели в аппаратном отсеке. По части положений это всё тот же кран №395. Вообще, про то, как работают краны №394 и №395, отлично рассказывал maisvendoo в своём посте про приборы управления, так что не вижу особого смысла повторяться тут.
![](https://habrastorage.org/r/w780q1/webt/6m/sg/p2/6msgp2iuhfweujyen9plgqmygnq.jpeg)
Эти устройства ставятся на новый подвижной состав. Вот, например, этот кран в кабине электрички ЭП2Д (его ручка видна в правой части пульта, слева контроллер машиниста).
![](https://habrastorage.org/r/w780q1/webt/bv/2y/8z/bv2y8z_vzwigqfwug8t4bg7nmic.jpeg)
А вот он же в электровозе ЭП20.
По сравнению с более старыми кранами непосредственного действия, разработанными полвека назад, этот — совсем новый, его внедрение началось лишь в нулевые годы.
![](https://habrastorage.org/r/w780q1/webt/ee/6t/gh/ee6tghklsuvgftjx2-lvmqrkwuq.jpeg)
Но всё же электроника иногда отказывает (и отказывает внезапно), поэтому в паре с электронными кранами всегда ставятся и обычные, непосредственного управления, расположенные либо под крышкой, как тут, либо сбоку пульта (как в новых поездах метро). Было немало обсуждений надёжности этого крана (или её отсутствия), в сравнении с чисто пневматическими кранами она была много меньше.
![](https://habrastorage.org/r/w780q1/webt/w4/xv/1z/w4xv1zxlp2cy4h8ul29cnhvm97s.jpeg)
А вот и мой экземпляр. Он был снят с какого-то электровоза по причине его выхода из строя. Впрочем, внешнее его состояние очень неплохое, что не может не радовать.
![](https://habrastorage.org/r/w780q1/webt/zk/ge/pt/zkgept7uxzf3tquvv9podkx2yew.jpeg)
Шкала с положениями. Они здесь всё те же, что и в кране №395. Ручка приятно тугая, переключается с характерным щелчком.
![](https://habrastorage.org/r/w780q1/webt/21/n7/rb/21n7rbne9on-lmqtfxc6du5pakw.jpeg)
Заводская табличка. Делает эти устройства АО МТЗ-Трансмаш. На табличке почему-то не заполнено ни одно из полей.
![](https://habrastorage.org/r/w780q1/webt/-n/ii/yt/-niiytjprhx_i053ltmqs1-lmos.jpeg)
Снизу ничего интересного, только крышка, в которую некогда был вставлен разъём.
Давным-давно я писал про контроллер машиниста. Там код позиции задавался кулачками, нажимавшими на самые обычные микрики. Этот же контроллер — бесконтактный.
![](https://habrastorage.org/r/w780q1/webt/qy/iv/re/qyivrewzzmg4frldo7bggqebidq.jpeg)
Заглянем внутрь. Самое печальное — плату до меня уже вытащили и до наших дней она не дожила. Так что для подключения этого девайса придётся собирать свою.
![](https://habrastorage.org/r/w780q1/webt/cn/yp/t_/cnypt_ssttxbk3fmzd4zsgsfaay.jpeg)
Самая главная часть контроллера — вот этот рычаг, на конце которого закреплён магнит. Соответственно, на плате находятся датчики Холла, считывавшие его положение.
![](https://habrastorage.org/r/w780q1/webt/2z/0-/ri/2z0-rimuiqnum30rtueu9lkehym.jpeg)
А вот механизм переключения остался тем же — металлический диск с вырезами и ролики. Крайние положения переключаются особым образом: в сверхзарядке кран не фиксируется, а в экстренное торможение переключается очень туго.
Штатная плата была выкинута, так что единственным вариантом подключить такой кран будет сборка своей собственной.
![](https://habrastorage.org/r/w1560/webt/mh/ju/it/mhjuitxsxlanp_eoouteeo49ola.png)
Дома завалялась целая куча вот таких вот побитых жизнью макетных плат, выпущенных в ныне несуществующей ГДР. Какие-то были совершенно пустыми, а какие-то всё ещё хранили наследие былой эпохи вроде раритетных радиодеталей или остатков монтажа навивкой. Как мне подсказали, это остатки от ЗИПа к какой-то модели Robotron, впрочем, состояние позволяло использовать эти платы исключительно как обычные макетки.
![](https://habrastorage.org/r/w780q1/webt/7c/hz/aq/7chzaql3hxkzrsnwl8xhbm3lkxg.jpeg)
Для того, чтобы считывать позиции, были взяты датчики Холла. Это те самые SS495A, оставшиеся у меня после экспериментов с магнитными ключами домофонов «Факториал». Датчиков нужно семь штук — на каждую из позиций по одному.
![](https://habrastorage.org/r/w780q1/webt/oh/pa/7o/ohpa7opnvcf44qi-snlhhkyow3u.jpeg)
Также использовал MAX485 для передачи данных (почему именно её — расскажу чуть позже) и видавшую виды Arduino на базе чипа от LGT для управления.
![](https://habrastorage.org/r/w780q1/webt/wx/11/pz/wx11pzdfiskuov-brjkbfgcp0be.jpeg)
Для начала возьмём один датчик и убедимся, что он вообще подходит для этих целей. А подходит он идеально, мощного неодимового магнита контроллера хватает, чтобы сигнал упал до нуля. При этом на соседних позициях датчик совершенно не реагирует на находящийся рядом магнит (чего не скажешь о герконах, которые я изначально хотел использовать, но забраковал по причине срабатывания нескольких штук сразу).
![](https://habrastorage.org/r/w780q1/webt/70/hv/f2/70hvf2tlj5uzpckjmhl1wmw0znc.jpeg)
Теперь ищем подходящий обломок макетной платы, засовываем его в недра крана и отмечаем на нём позиции.
![](https://habrastorage.org/r/w780q1/webt/vh/ys/b8/vhysb8nyoy9xyinoewmydvrctac.jpeg)
И в соответствии с метками запаиваем датчики. Припаиваем провода.
Теперь очередь софта. Само собой, кран оживлялся для сборки домашнего пульта машиниста. И у меня была идея повесить все составляющие тренажёра на RS-485, чтобы не переделывать каждый раз плату, а просто модифицировать прошивку. Поэтому пишем такой скетч:
Тут всё просто — считываем код позиции и, если он не равен нулю (что бывает в момент переключения крана), сохраняем его. Попутно слушаем шину и в случае поступления байта 82h (что и есть 130 в десятичной системе) отправляем в ответ код позиции.
С железом почти покончили, время уместить все железки внутри крана.
![](https://habrastorage.org/r/w780q1/webt/nr/a-/ay/nra-ayl_zdtdxhctloirrtae7wi.jpeg)
Примеряем плату и убеждаемся, что датчики не перекрываются и не мешают ходу рычага.
![](https://habrastorage.org/r/w780q1/webt/o-/xq/0e/o-xq0ehysbmp1dol_05rlj3zt7w.jpeg)
И после этого окончательно засовываем её туда. После недолгих раздумий посадил её наманну небесную лайфхакеров горячий клей — если вдруг найду оригинальную плату, будет проще ликвидировать эту. Укладываем провода так, чтобы они не мешали ходу рычага, и ставим на место крышку. Можно пробовать.
Как оказалось, использованная изначально Raspberry Pico для такой задачи подошла так себе, в частности, несмотря на то, что USB HID с виду работал нормально, в некоторых играх (например, Metrostroi) контроллер либо в принципе не работал, либо работал неадекватно (перескакивая позиции или вообще зависая). С чем это связано, понять так и не вышло.
![](https://habrastorage.org/r/w780q1/webt/hi/qk/8c/hiqk8cyk4lclbemcduoh5pdz9i8.jpeg)
Поэтому в качестве контроллера ввода была взята Arduino Micro (на которую залит скетч на базе библиотеки Joystick.h), с которой проблем не наблюдалось. На плате разместился чип 74HC165 для приёма сигналов с контроллера и два DIP-переключателя, пока что зарезервированных. Также там была установлена та самая MAX485, к которой будет подключено всё остальное железо, включая этот кран.
Изначально я подключал контроллер к Trainz. Но товарищи, уже имевшие опыт в создании пультов машиниста, подсказали, что лучше всего использовать ZDSimulator.
![](https://habrastorage.org/r/w1560/webt/_r/mc/tf/_rmctfmezl0ivuh3bdaxhmd81oe.png)
Для неё (а точнее, для версии 54.006) специально написан софт, позволяющий управлять поездом при помощи обычного джойстика.
![](https://habrastorage.org/r/w1560/webt/mv/_h/b_/mv_hb_cdu7qagwau5ijabhngic8.png)
Назначаем позиции джойстика на кран машиниста, запускаем игру, и всё, можно трогаться.
Вот так удалось вернуть к жизни очередной девайс из мира ЖД, попутно приблизив ещё на шаг готовый домашний тренажёр машиниста.
Само собой, я уже попробовал кататься с этим краном, ощущения непередаваемые. Никакой джойстик и уж тем более клавиши не смогут обеспечить того же.
Такие дела.
Возможно, захочется почитать и это:
Если вы хотя бы раз видели кабину локомотива или электрички, то наверняка знаете, что для управления тормозами там используется кран машиниста — достаточно сложный пневматический прибор, призванный изменять давление в тормозной магистрали. В новых поездах эти устройства перестали быть чисто пневматическими, в них появилась ещё и электроника.
Мне всегда хотелось раздобыть такой экземпляр и показать, как он устроен. И вот наконец мне удалось это сделать, так что самое время вернуть его к жизни и узнать, на что он ещё способен.
![](https://habrastorage.org/webt/9y/wt/gg/9ywtggcsvcdanc70cpmh2egmcxe.jpeg)
Итак, в сегодняшней статье поговорим про такой артефакт наших железных дорог как кран машиниста №130. Узнаем, как устроен его контроллер и попробуем его восстановить. Традиционно будет много интересного.
❯ Суть такова
![](https://habrastorage.org/webt/51/o9/lb/51o9lbdju2pm31mlqf7vb7ffqbq.jpeg)
Так получилось, что основными приборами управления тормозами на нашем подвижном составе являются краны машиниста №394 и №395. В плане пневматики это по сути один и тот же кран, единственное отличие заключается в наличии у триста девяносто пятого контроллера управления электропневматическим тормозом (та самая круглая коробочка сверху). Также на фото виден маленький кран вспомогательного тормоза №254, служащий для управления тормозами локомотива.
![](https://habrastorage.org/webt/2o/6j/ss/2o6jssavvqc-k8didzt8n1x2uzc.jpeg)
Само собой, этими двумя моделями список не ограничивается. Вот, например, кран №334, применяющийся на вагонах метро (а ещё раньше — на локомотивах и МВПС). Модель очень старая, по найденным сведениям, выпускался он аж с 1904 года и ставился ещё на паровозы.
![](https://habrastorage.org/webt/sq/0n/0y/sq0n0yymqvu9lubljmfqqvk7qcg.jpeg)
Кран №013, устанавливающийся на практически все новые вагоны метро, а также рельсовые автобусы РА1.
![](https://habrastorage.org/webt/w-/o2/tb/w-o2tbpexrdgru2dtlfmucqbvew.jpeg)
А вот довольно экзотический кран №172 (он же 4ВК), применяющийся в частности на трамваях с пневмотормозом (ЛМ-68М, ЛВС-86К, РВЗ-6М2...).
❯ Что же это за кран №130?
![](https://habrastorage.org/webt/9w/ym/mi/9wymmi5yqtyjjdp667wiq3pjcva.gif)
Предмет сегодняшнего обзора — так называемый кран с дистанционным управлением. В отличие от предыдущих экземпляров, этот — электронный, состоящий из контроллера крана машиниста в кабине и пневмопанели в аппаратном отсеке. По части положений это всё тот же кран №395. Вообще, про то, как работают краны №394 и №395, отлично рассказывал maisvendoo в своём посте про приборы управления, так что не вижу особого смысла повторяться тут.
![](https://habrastorage.org/webt/6m/sg/p2/6msgp2iuhfweujyen9plgqmygnq.jpeg)
Эти устройства ставятся на новый подвижной состав. Вот, например, этот кран в кабине электрички ЭП2Д (его ручка видна в правой части пульта, слева контроллер машиниста).
![](https://habrastorage.org/webt/bv/2y/8z/bv2y8z_vzwigqfwug8t4bg7nmic.jpeg)
А вот он же в электровозе ЭП20.
По сравнению с более старыми кранами непосредственного действия, разработанными полвека назад, этот — совсем новый, его внедрение началось лишь в нулевые годы.
![](https://habrastorage.org/webt/ee/6t/gh/ee6tghklsuvgftjx2-lvmqrkwuq.jpeg)
Но всё же электроника иногда отказывает (и отказывает внезапно), поэтому в паре с электронными кранами всегда ставятся и обычные, непосредственного управления, расположенные либо под крышкой, как тут, либо сбоку пульта (как в новых поездах метро). Было немало обсуждений надёжности этого крана (или её отсутствия), в сравнении с чисто пневматическими кранами она была много меньше.
❯ Обзор оборудования
![](https://habrastorage.org/webt/w4/xv/1z/w4xv1zxlp2cy4h8ul29cnhvm97s.jpeg)
А вот и мой экземпляр. Он был снят с какого-то электровоза по причине его выхода из строя. Впрочем, внешнее его состояние очень неплохое, что не может не радовать.
![](https://habrastorage.org/webt/zk/ge/pt/zkgept7uxzf3tquvv9podkx2yew.jpeg)
Шкала с положениями. Они здесь всё те же, что и в кране №395. Ручка приятно тугая, переключается с характерным щелчком.
![](https://habrastorage.org/webt/21/n7/rb/21n7rbne9on-lmqtfxc6du5pakw.jpeg)
Заводская табличка. Делает эти устройства АО МТЗ-Трансмаш. На табличке почему-то не заполнено ни одно из полей.
![](https://habrastorage.org/webt/-n/ii/yt/-niiytjprhx_i053ltmqs1-lmos.jpeg)
Снизу ничего интересного, только крышка, в которую некогда был вставлен разъём.
❯ Внутренности
Давным-давно я писал про контроллер машиниста. Там код позиции задавался кулачками, нажимавшими на самые обычные микрики. Этот же контроллер — бесконтактный.
![](https://habrastorage.org/webt/qy/iv/re/qyivrewzzmg4frldo7bggqebidq.jpeg)
Заглянем внутрь. Самое печальное — плату до меня уже вытащили и до наших дней она не дожила. Так что для подключения этого девайса придётся собирать свою.
![](https://habrastorage.org/webt/cn/yp/t_/cnypt_ssttxbk3fmzd4zsgsfaay.jpeg)
Самая главная часть контроллера — вот этот рычаг, на конце которого закреплён магнит. Соответственно, на плате находятся датчики Холла, считывавшие его положение.
![](https://habrastorage.org/webt/2z/0-/ri/2z0-rimuiqnum30rtueu9lkehym.jpeg)
А вот механизм переключения остался тем же — металлический диск с вырезами и ролики. Крайние положения переключаются особым образом: в сверхзарядке кран не фиксируется, а в экстренное торможение переключается очень туго.
❯ Собираем плату управления
Штатная плата была выкинута, так что единственным вариантом подключить такой кран будет сборка своей собственной.
![](https://habrastorage.org/webt/mh/ju/it/mhjuitxsxlanp_eoouteeo49ola.png)
Дома завалялась целая куча вот таких вот побитых жизнью макетных плат, выпущенных в ныне несуществующей ГДР. Какие-то были совершенно пустыми, а какие-то всё ещё хранили наследие былой эпохи вроде раритетных радиодеталей или остатков монтажа навивкой. Как мне подсказали, это остатки от ЗИПа к какой-то модели Robotron, впрочем, состояние позволяло использовать эти платы исключительно как обычные макетки.
![](https://habrastorage.org/webt/7c/hz/aq/7chzaql3hxkzrsnwl8xhbm3lkxg.jpeg)
Для того, чтобы считывать позиции, были взяты датчики Холла. Это те самые SS495A, оставшиеся у меня после экспериментов с магнитными ключами домофонов «Факториал». Датчиков нужно семь штук — на каждую из позиций по одному.
![](https://habrastorage.org/webt/oh/pa/7o/ohpa7opnvcf44qi-snlhhkyow3u.jpeg)
Также использовал MAX485 для передачи данных (почему именно её — расскажу чуть позже) и видавшую виды Arduino на базе чипа от LGT для управления.
![](https://habrastorage.org/webt/wx/11/pz/wx11pzdfiskuov-brjkbfgcp0be.jpeg)
Для начала возьмём один датчик и убедимся, что он вообще подходит для этих целей. А подходит он идеально, мощного неодимового магнита контроллера хватает, чтобы сигнал упал до нуля. При этом на соседних позициях датчик совершенно не реагирует на находящийся рядом магнит (чего не скажешь о герконах, которые я изначально хотел использовать, но забраковал по причине срабатывания нескольких штук сразу).
![](https://habrastorage.org/webt/70/hv/f2/70hvf2tlj5uzpckjmhl1wmw0znc.jpeg)
Теперь ищем подходящий обломок макетной платы, засовываем его в недра крана и отмечаем на нём позиции.
![](https://habrastorage.org/webt/vh/ys/b8/vhysb8nyoy9xyinoewmydvrctac.jpeg)
И в соответствии с метками запаиваем датчики. Припаиваем провода.
❯ Прошивка контроллера
Теперь очередь софта. Само собой, кран оживлялся для сборки домашнего пульта машиниста. И у меня была идея повесить все составляющие тренажёра на RS-485, чтобы не переделывать каждый раз плату, а просто модифицировать прошивку. Поэтому пишем такой скетч:
#define RX 9
#define TX 8
#define MAX485 7
#define SEND 1
#define RECEIVE 0
#define DEVICE_ID 0x82
#define MIN_SENSOR_VALUE 100
#include <SoftwareSerial.h>
SoftwareSerial host(RX, TX); // RX, TX
uint16_t hallReadings[7];
uint8_t getAbsolutePosition() {
for (int i = 0; i < 7; i++) {
hallReadings[i] = analogRead(i);
Serial.print("Channel ");
Serial.print(i + 1);
Serial.print(" ");
Serial.println(hallReadings[i]);
}
Serial.println();
for (int i = 0; i < 7; i++) {
if (hallReadings[i] <= MIN_SENSOR_VALUE) return i + 1;
}
return 0;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
host.begin(4800);
pinMode(MAX485, OUTPUT);
digitalWrite(MAX485, RECEIVE);
}
void loop() {
// put your main code here, to run repeatedly:
uint8_t currentPosition = 0, previousPosition = 0;
currentPosition = getAbsolutePosition();
if (currentPosition != 0) {
previousPosition = currentPosition;
}
if (host.available()) {
if (host.peek() == DEVICE_ID) {
host.read();
digitalWrite(MAX485, SEND);
host.write(previousPosition);
digitalWrite(MAX485, RECEIVE);
}
else host.read();
}
Тут всё просто — считываем код позиции и, если он не равен нулю (что бывает в момент переключения крана), сохраняем его. Попутно слушаем шину и в случае поступления байта 82h (что и есть 130 в десятичной системе) отправляем в ответ код позиции.
❯ Собираем
С железом почти покончили, время уместить все железки внутри крана.
![](https://habrastorage.org/webt/nr/a-/ay/nra-ayl_zdtdxhctloirrtae7wi.jpeg)
Примеряем плату и убеждаемся, что датчики не перекрываются и не мешают ходу рычага.
![](https://habrastorage.org/webt/o-/xq/0e/o-xq0ehysbmp1dol_05rlj3zt7w.jpeg)
И после этого окончательно засовываем её туда. После недолгих раздумий посадил её на
❯ Ещё раз про контроллер
Как оказалось, использованная изначально Raspberry Pico для такой задачи подошла так себе, в частности, несмотря на то, что USB HID с виду работал нормально, в некоторых играх (например, Metrostroi) контроллер либо в принципе не работал, либо работал неадекватно (перескакивая позиции или вообще зависая). С чем это связано, понять так и не вышло.
![](https://habrastorage.org/webt/hi/qk/8c/hiqk8cyk4lclbemcduoh5pdz9i8.jpeg)
Поэтому в качестве контроллера ввода была взята Arduino Micro (на которую залит скетч на базе библиотеки Joystick.h), с которой проблем не наблюдалось. На плате разместился чип 74HC165 для приёма сигналов с контроллера и два DIP-переключателя, пока что зарезервированных. Также там была установлена та самая MAX485, к которой будет подключено всё остальное железо, включая этот кран.
❯ Софт
Изначально я подключал контроллер к Trainz. Но товарищи, уже имевшие опыт в создании пультов машиниста, подсказали, что лучше всего использовать ZDSimulator.
![](https://habrastorage.org/webt/_r/mc/tf/_rmctfmezl0ivuh3bdaxhmd81oe.png)
Для неё (а точнее, для версии 54.006) специально написан софт, позволяющий управлять поездом при помощи обычного джойстика.
![](https://habrastorage.org/webt/mv/_h/b_/mv_hb_cdu7qagwau5ijabhngic8.png)
Назначаем позиции джойстика на кран машиниста, запускаем игру, и всё, можно трогаться.
❯ Вот как-то так
Вот так удалось вернуть к жизни очередной девайс из мира ЖД, попутно приблизив ещё на шаг готовый домашний тренажёр машиниста.
Само собой, я уже попробовал кататься с этим краном, ощущения непередаваемые. Никакой джойстик и уж тем более клавиши не смогут обеспечить того же.
Такие дела.
Ссылки
- Краны машиниста 394 и 395
- Кран машиниста 334
- Кран машиниста 013
- Руководство к крану 130
- Тот самый софт