Приветствую всех!
Думаю, каждый из нас хоть раз в жизни ездил на электричке. Многие наверняка даже не подозревали о том, что даже на древних таких машинах в нашей стране может существовать автоматическое управление. И вот ко мне в руки попал именно такой девайс, на поверку оказавшийся не просто блоком автоведения, а куда более интересным устройством.



Итак, в сегодняшней статье речь пойдёт об одном весьма примечательном девайсе, устанавливаемом на наших поездах. Узнаем, как он работает, и попробуем его запустить. Традиционно будет много интересного.

О чём это я?


Всё началось, кажется, с метеостанции.



Ещё в школьные годы я наткнулся на статью, где кто-то собрал метеостанцию на Arduino на базе дисплея от предмета нашего обзора. Тогда я и представить себе не мог, что такая штука окажется в моих руках, но всё равно пост прочитал с интересом и намотал на ус. Потом ко мне в руки попал дисплейный блок в сборе, который мне даже удалось запустить, о чём у меня был соответствующий пост. Но мой блок был не более чем кирпичом блоком индикации, что не давало мне покоя. Очень уж хотелось увидеть прибор в работе.

Но вот спустя время я встретил нескольких товарищей, также интересовавшимися данной темой, благодаря которым я смог познакомиться и с другими исполнениями данного устройства. Как оказалось, тот мой пост им весьма помог, мне даже было показано фото рабочего девайса. Но всё же мне хотелось увидеть в работе прибор с оригинальным софтом, так что его запуском мы и попробуем сегодня заняться. Получится ли это? Давайте разбираться.

Краткая история автоведения на наших поездах


Ну и перед началом поговорим о том, как вообще появилось автоматическое управление на железной дороге. Как нетрудно догадаться, автомашинист — это некое устройство, которое умеет управлять поездом с минимальным участием машиниста (что и было достигнуто у нас) или и вовсе без него.

Вообще, разработки в этой области, как это часто бывает, начались ещё давным-давно, в пятидесятые-шестидесятые годы. Как удалось найти, первая такая система появилась у нас в далёком 1957 году, впрочем, распространения она не получила. Подробной информации по ней найти особо не удалось. Чуть позже, уже в восьмидесятые и девяностые, такими устройствами обзавелись грузовые и пассажирские поезда.
И вот, в конце девяностых, появились микропроцессорные системы. Одна из них — часть сегодняшнего обзора.

А что там в метро?




Позже наработки добрались и до метро. Нерабочие панели управления автоведением прожили в кабинах старых поездов вплоть до конца их работы.



А вот пульт 81-717 с таким же блоком. Сейчас вместо левой нижней панели (блока №4) в зависимости от города стоит либо стороннее оборудование (информатор, дисплей, экстренная связь с пассажиром), либо просто металлический лист-заглушка.
Позже про такие системы почти забыли, вновь заинтересовались ими лишь в наши дни. Сейчас наиболее известное место, где можно встретить автоведение — Московско-Петроградская линия питерского метро.

УСАВП и всё о ней


Как уже было сказано ранее, массово такие устройства начали распространяться в девяностые.



Вот одна из первых версий такого блока автоведения, устанавливаемая на поезда ЭР2Т, ЭР2Р. Работала железка на процессоре 386EX, находившемся внутри кабинного блока.



Разрабатывал эти блоки LCard по заказу компании «АВП-Технологии», интеграцией занимался «Желдорконсалтинг» и ОЦВ (отраслевой центр внедрения инноваций РЖД).



Вот более новый блок. Именно его мы когда-то оживляли…



А вот его блок управления (а если точнее, блок коммутации и сопряжения), так и не дошедший до меня. Внутри него располагается управляющий компьютер, а также платы дискретного ввода-вывода, взаимодействующие с цепями управления поезда.



Одна из последних версий. Процессорная плата в ней перекочевала обратно в блок индикации (ЦПИ), внутри блока КС находятся только платы питания, ключей и их драйверы. Связано это с тем, что обслуживать находящийся в большом железном ящике комп было довольно проблематично. А требуется это часто — например, для смены расписания.



Примечательно и то, как вообще устроена эта штука. В наши дни такое покажется чем-то невероятным, но внутри этой штуки находится обычный промышленный комп на процессоре X86, на котором работает софт в виде обычной программы под MS-DOS, дёргающей цепи управления через обычный LPT-порт. К слову говоря, программа была написана на «Турбо Паскале».



Ещё позже появились совсем новые блоки, уже с монитором вместо ВЛИ.

Но вот софт, судя по загрузочному экрану, так и остался под DOS.

А вот небольшое видео про работу этих блоков.

Аналогичные системы (УСАВПП, УСАВП/1, УСАВП/Г) ставят и на другие поезда.

Как работает САВПЭ


Поговорим о том, как работает этот блок. Сейчас речь пойдёт о новой его версии (с четырёхстрочным ВЛИ), просто потому что на него удалось найти больше всего информации. Конструктивно САВПЭ состоит из блока ЦПИ и блока КС. К блоку ЦПИ также подключается регистратор (он у меня тоже есть, но о нём поговорим как-нибудь в другой раз), клавиатура (по сути обычная PS/2 с кастомными скан-кодами, в более старой версии она подключалась к COM-порту) и салонный динамик.

САВПЭ — не автоматическое управление, заменить машиниста железка не может. Принцип её работы заключается в поддержании оптимальной скорости, рассчитанной из профиля пути, ограничения и времени по графику, что должно облегчить ведение поезда машинистом. Также она получает данные о сигналах локомотивного светофора, позициях контроллера и крана машиниста, отключая автоматический режим при переводе ручки контроллера из нулевого положения, начале торможения краном или появлении запрещающего сигнала. САВПЭ не является прибором безопасности, то есть машинист может вообще её не включать. Далеко не все пользуются девайсом так, как было задумано: несмотря на все его фишки, не всегда обеспечивается экономия электроэнергии, а иногда железка может слишком рано затормозить или наоборот пропустить платформу. Поэтому чаще всего систему используют как подсказчика — она предупреждает машиниста о сложных местах, а также именно она объявляет станции в салоне. Думаю, многие из нас слышали этот характерный голос в старых электричках — так вот, это САВПЭ. Вместо звуковой карты компа или простого ЦАПа как в автобусном информаторе там применён цифровой сигнальный процессор, что вместе со сжатием данных позволило запихнуть все названия станций и сопутствующие объявления в единственную ПЗУшку.
Кому-то из вас, возможно, довелось слышать в электричке помимо станций и более странные объявления в духе «Внимание! Проба тормозов!». Их тоже проигрывает САВПЭ, а в салон они идут по недосмотру слесарей в депо: при правильном подключении салонный усилитель включается только при нужном объявлении.

Обзор оборудования


image

Перво-наперво идёт тот самый блок индикации, уже фигурировавший в одном из постов.

image

А вот и клавиатура от этой железки.



Далее на очереди УСАВПП. Этот блок от моего любимого электровоза ЧС7.



Обратная сторона. Разъёмов здесь уже больше: всё-таки внутри полно электроники.



Сбоку кнопка Reset и разъём MDN-6P для подключения к компьютеру.



Пульт от него.



А вот блок от электрички. По виду он очень похож на предыдущий…

ЧСовский фэйл


Перейдём к блоку от ЧС7.



Само собой, первым делом я его разобрал. Внутри ничего подозрительного не было, если не считать кучи ошмётков от герметика, которым было приклеено вывалившееся стекло дисплея. Внутри нас ждёт плата управления, на которой находится цифровой сигнальный процессор, предусилитель, а также микроконтроллер, преобразующий команды с LPT в сигналы, отправляемые по ИРПС. Отправляются они по довольно сложному протоколу, я даже думаю рассказать в отдельном посте про то, как же это работает.



Внутри аж три платы: комп, дисплей и плата управления.



ПромПК отдельно. Виден DiskOnChip с ОС и софтом. Электровоз требует работы с большим числом дискретных выходов, поэтому тут используется ещё более запутанная система: из-под MS-DOS загружается RTOS-32, которая имеет в себе некоторые элементы WinAPI, а уже под неё работает управляющий софт.



А вот он же с обратной стороны. Здесь используется модуль форм-фактора MicroPC. В отличие от PC/104, он несколько больше, а вместо штырьков здесь краевой разъём.



Плата со снятым компом. Отчётливо видны ПЗУшка с записями и МК AT90S2313 для связи с блоком КС.



Но запуск этой штуки оказался неудачным: без связи с блоком КС, которого у меня не было, девайс вис.



Подключив монитор, можно даже увидеть загрузку ОС.



Продолжим эксперименты. На этот раз попробуем установить софт от электрички. Мне как владельцу промПК с самопальной платой для DiskOnChip повезло больше, чем товарищам из депо, вынужденных кидать файлы через терминал.



Достаём чип из платы, втыкаем его в переходник, запускаем на промПК Ghost и снимаем образ. Далее заливаем его на другой DOC и, убедившись, что всё работает, сносим ЧСовский софт и закидываем таковой от электрички.



Но после запуска меня ждало разочарование, блок выдал ошибку. Вернув всё на место, я отложил его до лучших времён.

Неожиданное знакомство




Второе дыхание открылось тогда, когда в нашем чатике по продаже всякого хлама на глаза попался побитый жизнью четырёхстрочный люминесцентный индикатор (целый, но без кучи деталей на плате), который был немедленно опознан как дисплей от ЦПИ. Любопытство взяло верх, и я немедленно написал продавцу на предмет наличия у него других остатков от САВПЭ. Спустя пару недель общения с ним я стал обладателем нескольких плат от блока КС, нерабочего ЦПИ и ещё некоторых остатков от железнодорожной электроники. Впрочем, попытка подключения этих плат к блоку от ЧС7 не дала абсолютно никакого эффекта.

Оживляем М1


Далее мне достался софт от САВПЭ/М. Мои блок и клавиатура были от УСАВП/1 (он же САВПЭ-М1), но я понадеялся на то, что оно заработает и так.
Софт работает под DOS и состоит из двух файлов — BASE.DAT и LT-1.EXE. Первый из них — конфигурация низкого уровня (расписание, список станций и подобные настройки), второй — непосредственно программа.



Также для работы требуются файлы SOUND.DAT и SOUNDCOM.DAT. Увы, от этого САВПЭ у меня нет ничего кроме блока индикации, поэтому услышать, как работает информатор, у нас не выйдет. Но эти файлы всё равно нужны, без них блок не заработает.



Закидываем их в папку и запускаем снова. Увы, девайс всё равно не работает и на нажатие кнопок тоже не реагирует. В чём же дело?





Оказывается, моя клавиатура от М1, а у М, от которого софт, она другая. Скан-коды её оказались вот такие:

  • 0x01: 0
  • 0x02: 1
  • 0x03: 2
  • 0x04: 3
  • 0x05: 4
  • 0x06: 5
  • 0x07: 6
  • 0x08: 7
  • 0x09: 8
  • 0x0A: 9
  • 0x0B: F1
  • 0x0C: F2
  • 0x0D: ОГР
  • 0x0E: ДОП

Коды для ещё двух клавиш остались неведомыми: в моей конфигурации их нажатие не вызывает никакой реакции.



Для проверки я быстренько собрал на Arduino переходник с одной клавиатуры на другую.

#include <SoftwareSerial.h>

uint8_t packet[8] = {0};
SoftwareSerial kbd(7,6);
void setup() {
  // put your setup code here, to run once:
  kbd.begin(4800);
  Serial.begin(4800);
}
uint8_t n = 0;
void loop() {
  
  // put your main code here, to run repeatedly:
  if (kbd.peek() == 0x3E) {
    kbd.readBytes(&packet[0], 8);
    uint8_t toSerial = (packet[4] - 0x30) * 10;
    toSerial += (packet[5] - 0x30);
    if(toSerial == 10) toSerial = 13;
    else if(toSerial == 13) toSerial = 16;
    else if(toSerial >= 0 && toSerial <= 9) toSerial++;
    else if(toSerial == 15) {
      toSerial = n;
      n++;
    }
    Serial.write(toSerial);
  }
  else kbd.read();
}

А вот и скетч для него.



После этого блок заработал.



Все меню отлично работают. После сохранения параметров создаются ещё два файла — TABVROGR.DATA (таблица временных ограничений) и PARAM.DAT (установленные в меню параметры).

Ещё немного фотографий















ЭР2Т


На очереди последний на сегодня блок. На него были возложены самые большие надежды. Ну что же, самое время узнать, оправдаются ли они.



Обратная сторона блока явно даёт нам понять, что по начинке он такой же, как и блок от ЧСа. Всё же неспроста там в названии говорится «Унифицированная».



А вот клавиатура. Она немного отличается по надписям на кнопках.



Время подавать питание. Комп успешно стартует, а на экране появляется уже знакомое сообщение.



Жмякаем на клавиатуре F2, и оно пропадает. И железка таки оживает!





Далее необходимо ввести параметры: табельный номер машиниста, текущее время, номер поезда, путь и перегон.



Нажатием кнопки «ОГР» можно задать временные ограничения.



А F2 отвечает за дополнительные настройки.



Сохраняем и выходим. На экране появляется оставшееся время по графику и расчётная скорость. Ниже текущее время, ограничение скорости, а также текущая скорость, строкой ниже — значок приостановки оповещения ("*"), расстояние до следующей платформы и координата. В самой нижней строке значок «9» — эквивалент светодиода ограничения скорости на старом блоке.



Жмякаем кнопку «Пуск». САВПЭ начинает набирать позиции — в строке режима ведения появляется «М», что соответствует самой первой позиции контроллера. Поскольку платы коммутации не подключены, на дальнейшие позиции контроллер не переключается, так как железка думает, что поезд всё ещё стоит.

Итак, самый волнующий момент: подключаем динамик и жмякаем кнопку. И… оно работает, остановки объявляются. После стольких мучений я таки заполучил рабочий блок, который не глючит и успешно объявляет станции.







В отличие от более старой модели, кнопки «РЕГ» и «ТЕСТ» в обычном режиме не используются — их нужно жмякнуть при загрузке, чтобы попасть в режим самотестирования или регулировок.

Клавиатура


Отдельного внимания заслуживает клавиатура — это обычная клава на PS/2, но с питанием от 12 вольт и другими скан-кодами. Вот их список:

  • Пуск — 51E051h
  • F1 — DE0Dh
  • F2 — CEE0CEh
  • ОГР — B2E0B2h
  • ДОП — EEE0EEh
  • РЕГ — 2CE02Ch
  • Тест — 21E021h
  • 1 — FDE0FDh
  • 2 — ECE0ECh
  • 3 — F2E0F2h
  • 4 — EDE0EDh
  • 5 — E3E0E3h
  • 6 — E2E0E2h
  • 7 — DCE0DCh
  • 8 — D3E0D3h
  • 9 — D1E0D1h
  • 0 — E0E0E0h
  • < — EFE0EFh
  • > — E0E0E0h

Никакой контрольной суммы, равно как и заголовка или конца пакета, здесь нет. Во всех случаях вначале отправляется код клавиши, затем фиксированный байт E0, затем тот же самый код. Исключением является кнопка F1.

Что же до клавиатуры ЧСа, то она, несмотря на несколько иные подписи клавиш, полностью совместима с этой.

Разъёмы


На прощание разберёмся с подключением этой штуки. На блоке ЦПИ находится пять разъёмов: КС, клавиатура, два последовательных порта и динамик. Первый из них — семиконтактный РС7ТВ, остальные — РС4ТВ.
По разъёму КС блок получает питания, через него же осуществляется связь между цепями управления поезда:

  1. 24 В
  2. Ничего
  3. TX (выход на ЦПИ, вход на КС)
  4. Ничего
  5. RX (вход на ЦПИ, выход на КС)
  6. Ничего
  7. Земля

Далее идёт клавитуарный разъём:

  1. 12 В
  2. Data
  3. Clock
  4. Земля

Салонный динамик:

  1. Аудиовыход
  2. Земля
  3. Ничего
  4. Ничего

И два последовательных порта, на этот раз это обычные RS-232:

  1. 12 В
  2. Земля
  3. RX
  4. TX


Вот как-то так


Итак, после практически года (только за день до публикации вспомнил, что прошлая статья про САВПЭ вышла год назад) мне таки удалось не только оживить старый блок, но и найти ещё несколько экземпляров в не менее хорошем состоянии. На самом деле с этим блоком можно придумать ещё много интересного: как вариант, можно попробовать таки заставить говорить блок М1, подключить УСАВП/Л к блоку КС или же попробовать оживить экземпляр от ЧС7. Но это уже тема для отдельных статей.

Такие дела.



Возможно, захочется почитать и это:


Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале

Комментарии (45)


  1. tormozedison
    10.05.2024 08:32
    +4

    Название «автомашинист» впервые узнал из книги «Техника вокруг нас», составитель М. Зарецкая, Москва, «Детская литература», 1982.


    1. tormozedison
      10.05.2024 08:32
      +5

      И спасибо! Ваша статья - прекрасный ответ чуваку, который ещё в начале нулевых доказывал, что «голый» DOS - «уже труп». До сих пор приходится пользоваться пригородными поездами классических конструкций, в кабинах которых мелькают эти ВЛИ. Оказывается, там «голый» DOS - живее всех живых. Просто он сам выбрал, где ему комфортнее жить.


      1. MaFrance351 Автор
        10.05.2024 08:32
        +4

        На промышленных компах он повсеместно. Пока не спишут последнюю железку лохматых годов, чей контроллер работает под DOS, он не исчезнет.

        Вот на днях про это пост был:

        https://habr.com/ru/articles/812781/


      1. Sly_tom_cat
        10.05.2024 08:32
        +2

        Ну таки не совсем голый. В запущенной версии как я понял еще RTOS-32 поверх что уже совсем не DOS. Это похоже на первые версии виды, которые тоже загружались из DOS (до 3.11 если мне не изменяет память). Но только это real time OS - т.е. фокус на системных процессах реального времени, а не на UI.


        1. MaFrance351 Автор
          10.05.2024 08:32
          +3

          RTOS только в блоке от ЧС7. В МВПС голый DOS.


      1. kolabaister
        10.05.2024 08:32
        +3

        Я знаю одну крупную федеральную торговую сеть, в которой до сих пор учетная система работает на dos. Очень забавно наблюдать костыли которыми они ее обкладывают.


        1. MaFrance351 Автор
          10.05.2024 08:32
          +2

          Уж не УКМ-2 ли у них там стоит?


          1. kolabaister
            10.05.2024 08:32

            Не могу сказать точно, но вряд ли, ведь они прекрасно работают, и судя по тому что поддерживают все штуки с электронными чеками и маркировкой - как то обновляются.


            1. MaFrance351 Автор
              10.05.2024 08:32
              +4

              У нас в городе лет так пятнадцать назад две трети магазинов (от единичных точек до крупных супермаркетов) работали с компами как на фото. Системный блок Kraftway Datavan Mercury 3370 (к слову говоря, проц VIA C3, что стоит у меня на аватарке, как раз от такой машины), чёрно-белый ЭЛТ-монитор TVS VM-9AF, фискальный регистратор СП101ФР-К, клавиатура Posiflex KB-6600 и дисплей покупателя с ВЛИ. Ну и опционально светодиодный сканер штрих-кодов на PS/2. Софт был под DOS, назывался Супермаг-УКМ, на самой кассе была наклейка "GEG POS Мастер 100Ф", но сейчас Гугл и Янчик уже без понятия, что за агрегат.

              Позже был ещё софт SetRetail на базе Windows 2000.

              Дома лежит полный комплект такого железа, может, однажды дойдут руки рассказать что-то интересное про него...


        1. MaFrance351 Автор
          10.05.2024 08:32

          Мне ещё вспомнился один из наших довольно крупных магазинов, где каких-то пять лет назад на кассе я видел DOS. Прямо уголок нулевых в Челябинске, старые кассы с DOS и ЭЛТ-мониторами, товар как будто из "тех" времён...


          1. kolabaister
            10.05.2024 08:32

            Первое правило сисадмина - работает - не трожь)
            Но как правило необходимость обновления подобных систем всегда наступает внезапно...


            1. MaFrance351 Автор
              10.05.2024 08:32

              Ну, сейчас уже там этого нет. Был там полгода назад - компы уже другие...


          1. grishkaa
            10.05.2024 08:32
            +1

            В питерском "максидоме" их внутренняя информационная система работает в текстовом режиме и управляется исключительно с клавиатуры. Какая там ОС внутри — не знаю. Мониторы, правда, ЖК.


            1. serafims
              10.05.2024 08:32

              Уже видел, что компы сотрудников там на линуксе, и в нем открыто окно их учётной системы. Но в Максидоме тут реально выглядит это киберпанково, но работает шустро. Не уверен, то можно картинку товара увидеть в системе, они всегда на сайт идут с артикулом.


              1. MaFrance351 Автор
                10.05.2024 08:32

                А вот софт в одном из челябинских магазинов. Но это не УКМ-2, а УКМ-4, которая работает под линуксом.


  1. checkpoint
    10.05.2024 08:32
    +9

    Сначала подумал - "MS-DOS, Pascal - какое убожество". Потом еще немного подумал, блин, гениальное решение! MS-DOS загружается почти мгновенно. Требования к ресурсам ЭВМ околонулевые. Программировать под DOS было одно удовольствие - полная свобода, делай что хочешь. Минимум зависимостей от сторонних библиотек.

    Сейчас такое наверняка бы сделали на 16-х ядерном Core i7 (по одному ядру на каждое колесо электровоза), на Питоне с бесконечными зависимостями, с загрузкой Линукса и X11. :)


    1. kuzzdra
      10.05.2024 08:32
      +1

      по одному ядру на каждое колесо электровоза

      Вы таки будете смеяться, но в квадрокоптере каждый мотор управляется отдельным микроконтроллером.


      1. checkpoint
        10.05.2024 08:32
        +2

        Охотно верю. Я как-то изобретал IMU для самодельного коптера, более чем десять назад. Управлением занимался один STM32F4, который генерировал управляющий ШИМ (аппаратно) на четыре мотора. При этом еще опрашивал комплект дачиков и вел расчет IMU. Всё работало по прерываниям и через DMA. Как-то хватало ресурсов. Современным программистам освоившим "clean code" наверное уже не хватает. ;-)


        1. kuzzdra
          10.05.2024 08:32
          +1

          Можно подумать, прерывания и DMA настолько сакральное знание, что никто из нынешних в это не умеет ;) Меньше проводов между CPU и силовухой, лучше ремонтопригодность. А микроконтроллер он копейки стОит.


          1. MaFrance351 Автор
            10.05.2024 08:32

            А я почему-то подумал про защиту от помех и всё такое. Ну и про то, что меньше шансов аварии, если какой-то чип зависнет.


            1. kuzzdra
              10.05.2024 08:32
              +1

              про защиту от помех и всё такое

              И это тоже.

              если какой-то чип зависнет

              Если зависнет контроллер двигателя - ребутнется watchdogом, никто и не заметит. А если зависнет единственный за все отвечающий контроллер - пока он будет ребутиться, можно и упасть.


            1. checkpoint
              10.05.2024 08:32

              Между МК и мотором обычно присутствует мостовой драйвер с опторазвязкой.

              Аналоговые чипы зависнуть в общем понимании не могут (они могут подглюкивать), а вот МК очень даже может. Зависание любого из четырех МК фактически фатально для коптера - на трех мотора он не вытянет, тем более если управляющий сигнал заклинит в каком-то одном состоянии (постоянный ШИМ). Согласно теории надежности, вероятность отказа такой системы из 4-х МК ровно в четыре раза выше чем системы из одного МК.


              1. Yuri0128
                10.05.2024 08:32

                Аналоговые чипы зависнуть в общем понимании не могут (они могут подглюкивать)

                Могут, тиристорный эффект. Причем снимается только снятием напряжения питания.

                А так - +/- все почти так.


                1. checkpoint
                  10.05.2024 08:32

                  Могут, тиристорный эффект.

                  Я в своей практике с таким пока не сталкивался. Но если так, то это в двойне фатально. Разглючить такое без обратной связи от моторов не возможно. Как тут помогут отдельные МК на каждом моторе я не догоняю.


                  1. Yuri0128
                    10.05.2024 08:32

                    Тут унификация и разделение функций + упрощение управления просто. Проще отправить что-то по известному протоколу на ESC а тот уже пускай занимается. А так - один достаточно мощный контроллер вполне може рулить 4 BLDC моторами, но это невыгодно для ускорения разработки (ибо надо делать оптимизацию + усложнение схемотехники).

                    Я в своей практике с таким пока не сталкивался

                    Сейчас это более-менее научились обходить (он, кстати, есть и в контроллерах - порты могут защелкиваться в одном состоянии) и встречается довольно редко. Но таки имеет место быть и приходится иногда уменьшать dV/dt (dI/dt) чтобы от него уйти.


                  1. jonic
                    10.05.2024 08:32
                    +1

                    Ну как минимум тем что в коптерах bldc моторы? А они знаете управляются посложнее чем просто шим и как раз имеют обратную связь. А так же есть такой момент - что чем проще тем лучше, будем честны зависон то может быть по большей части из за не правильной обработки прерываний например и вот мы зависли всем камнем и ребутаемся по вотчдогу. Гораздо выгоднее сделать на каждый мотор свое управление и связать все с главным soc шиной.


            1. Nick0las
              10.05.2024 08:32

              Конкретно в квадрокоптерах это обусловленно модульностью. Можно отдельно выбрать полетный контроллер и прикрутить к нему ESC на разный ток/напряжение в зависимости от параметров аппарата. При этом у коптеростроителей полетный контроллер, его прошивка и обвязка это как раз та часть, которая меняется, допиливается и подстраивается, а ESC часто просто покупные. Во всяком случае так было в те времена когда я квадрики собирал.


        1. vvzvlad
          10.05.2024 08:32
          +2

          Современным программистам освоившим "clean code" наверное уже не хватает. ;-)

          Конечно, это современные программисты все испортили, а не дешевость и доступность железа


          1. checkpoint
            10.05.2024 08:32
            +2

            Дешевость и доступность железа обычно приводит к плохим решениям. Когда программисту или электронщику не надо думать головой он лепит всякую хрень, наслаивает одно "быстрое" решение на другое. В итоге получается глючная ненадежная система не поддающаяся отладке и пожирающая все доступные ресурсы.


            1. Yuri0128
              10.05.2024 08:32
              +1

              Собственно, а программисты и электронщики при чем?

              Time-to-market - кто первый вышел на рынок с устройством, того и тапки. Потому и требуют побыстрее и пофиг на все остальное.

              А так - есть и нормально разработанные устройства.


            1. vvzvlad
              10.05.2024 08:32
              +1

              Когда программисту или электронщику не надо думать головой он лепит всякую хрень, наслаивает одно "быстрое" решение на другое. В итоге получается глючная ненадежная система не поддающаяся отладке и пожирающая все доступные ресурсы.

              А, т.е. все, кто использует доступное мощное железо — говнокодеры?


              1. Yuri0128
                10.05.2024 08:32
                +1

                А, т.е. все, кто использует доступное мощное железо — говнокодеры?

                А с какого перепугу? Это зависит не от железа а от требований менеджмента, - чем быстрее надо сделать тем говнокоднее получается.


              1. MaFrance351 Автор
                10.05.2024 08:32

                Скорее - те, кто неправильно использует его потенциал. Когда, например, текстовая веб-страница без каких-то особых эффектов ест кучу памяти из-за бесконечной прокрутки, метрик и прочего бесполезного JSа внутри.


                1. Yuri0128
                  10.05.2024 08:32

                  Ну... Те, кто правильно старается и способен использовать потенциал, стоят , как правило, в разы а то и десятки раз дороже, чем "ширпотребные". А бизнес он такой.... И маркетинг тоже.


                  1. MaFrance351 Автор
                    10.05.2024 08:32

                    Ну вот из-за того, что машинное время в сотни раз дешевле времени разработчика, и получается, что какое-то простенькое приложение ест два гигабайта памяти и тормозит на игровом ПК...


    1. Moog_Prodigy
      10.05.2024 08:32

      Такие решения идут из 90, я тоже подобное "вытворял". Управление термопластавтоматом, в шкафу стоит комп с ДОС, на нем программа на бейсике. Да! Но рулило оно не через лпт, а через самодельный недо-плк, по сути взят был за основу советский ПЛК, выкидываем процессорную плату, на ее место свою. А в этой плате по сути переходник из rs232 - в сигналы шины, которые уже испольняют модули, или шлют в нее состояния. Там до нескольких тысяч входов-выходов можно сделать было. Оно работает до сих пор.

      И много таких решений встречал в промышленности.


    1. AVKinc
      10.05.2024 08:32

      А по факту весь этот автомашинист можно было сделать на amega128 вообще на голом Си.


      1. MaFrance351 Автор
        10.05.2024 08:32

        Ну, КЛУБ-У, который прибор безопасности, сделан действительно на микроконтроллерах, компа там нет.


  1. chernish2
    10.05.2024 08:32
    +1

    Автоведение в Ленинградском метро было в 80х, если не раньше.


    1. MaFrance351 Автор
      10.05.2024 08:32

      Оно и в Московском было в семидесятые годы. Но, увы, по советским системам автоведения не сохранилось ни самих блоков, ни документации. Я даже общался с товарищем из МИИТа, детищем которого является московская система САММ, но даже у них от неё остался только пульт управления, больше ничего.


  1. dlinyj
    10.05.2024 08:32
    +2

    Лучше поздно, чем никогда. Была проделана огромная работа, которая просто восхищает. Спасибо за комп упоминание моего поста по DOC.

    Железка интересная, а что конкретно за процессор там стоит?


    1. Dimsml
      10.05.2024 08:32

      Судя по фото, стоит там AMD Geode, который тянется ещё от 5x86 фирмы Cyrix, той самой которая пыталась конкурировать с Intel, но с выходом Pentium нешмогла. Их потом купила National Semiconductor, а потом AMD.


    1. MaFrance351 Автор
      10.05.2024 08:32
      +1

      Это промПК Fastwel (а эта фирма очень тесно связана с АВП Технологиями и другими разработчиками ЖД-электроники) на процессоре Geode.


  1. Nick0las
    10.05.2024 08:32

    Спасибо за статью. Прибор весьма интересный. Я правильно понял, что GPS там нет, время вводит машинист а положение вычисляется подсчетов оборотов колес?
    Еще удивляет, что на относительно новом приборе стоят ГРИ, хотя в те времена уже были массово доступны ЖКИ 128*64. Возможно тут дело в требованиях по рабочему диапазону температур.


    1. MaFrance351 Автор
      10.05.2024 08:32
      +2

      Именно так. Вводится диаметр бандажа, а девайс считает импульсы с датчика пути и скорости. При этом, чтобы ошибка не набиралась, на каждой станции машинист жмякает кнопку ДОП.

      Кстати, экран там ВЛИ, а не ГРИ. ЖКИ 128*64 не подойдёт туда, так как маленький, с плохими углами обзора и не подходит по температуре. Утром в кабине электрички после ночного отстоя температура мало отличается от уличной.