Немного истории и теории. ПЭМИН — это аббревиатура от «побочные электромагнитные излучения и наводки». Существует комплекс методов предотвращения утечки информации через различного рода демаскирующие и побочные излучения электронного оборудования.
Оговорюсь сразу: я не понимаю, какую информацию можно снять с манипулятора. Координаты, движение курсора на экране — чтобы воспроизвести последовательность передвижений и нажатий и создать битовую карту? Ухватить по движению мыши активность оператора? Это фантазии, и я даже не могу представить целесообразность такого перехвата.
То ли дело клавиатура, монитор — вот там есть что «снимать».
С чего я вообще взял, что это защищённая мышь? Если почитать информацию из общедоступных источников относительно компьютера, к которому подключалась эта мышь, то всё встаёт на свои места. Предлагаю ознакомиться.
Составляющая вычислительной системы ЕС 1845 — манипулятор ЕС 1845.А000, а сегодня речь исключительно о нём — имеет физическое воплощение.
Мышиный корпус говорит сам за себя: да, на неё можно наступить без последствий — мышь действительно защищённая. Следовательно, был смысл, и значит, приступим.
Внешний вид сверху можно увидеть на первоначальной странице, а вот — вид снизу.
Начинаем разборку корпуса. Материал — металл. Габариты следующие:
Ширина
Длина
Толщина стенок
В приближении группа для нажатия трёх кнопок выглядит так:
Нижняя часть манипулятора:
Фаска нижней части корпуса аккуратно подрезана:
Держатель шарика пластмассовый:
Сам шарик — размером с шарик «колобка» (обиходное название манипулятора от ЕС 1841; полное корректное название — «ЕС 1841.А002»).
В отличие от ЕС 1841.А002, шарик обрезиненный, и на нём имеется перфорация, назначение которой для меня — загадка. Сначала я думал, что это дефект резины, однако дырки имеют чёткую равноудаленность между собой — они не случайны. Кто знает назначение — пожалуйста, подскажите.
Перфорация обрезиненного шарика
Общий вид суппорта шарика выглядит так:
Видим две металлические «штанги» и прижимной подшипник — всё из металла.
Отдельного внимания заслуживает интерфейсный кабель. Толщиной он — 9 мм. Это самый толстый мышиный кабель, который мне встречался. Многослойная изоляция и гибкий экран вкупе с металлическим корпусом, очевидно, и обеспечивают защиту от ПЭМИН.
9 мм
После профилактического купания в масляной ванне, элементы протёрты и возвращены на места.
Крошечный шарикоподшипник
Механическую часть рассмотрели, переходим к электронной. Полностью электронная часть выглядит следующим образом:
Несколько резисторов и одна микросхема — 564ТЛ1. Это четыре триггера Шмитта с входной логикой «2И‑НЕ». Микросхема выполнена в корпусе с планарным расположением выводов. Детальное описание микросхемы можно посмотреть здесь и здесь.
Оборотная сторона печатной платы:
И мы подошли к самому ответственному — эксплуатации манипулятора. Здесь начинается самое загадочное, потому что, кроме мыши от ЕС 1845, у меня нет ничего.
Разглядываем разъём. РП15 — вполне обычный, но к какому контроллеру подключалась эта мышь, мне неизвестно.
В сети информации практически нет, принципиальной схемы, "распиновки" разъема, тем более, поэтому было решено действовать по аналогии с мышью от ЕС 1841. Известно, что она может работать через контроллер Microsoft InPort, который вставляется в шину ISA. Оригинальная мышь называлась Bus Mouse. Достать контроллер сложности не возникает, самое ответственное, это вызвонить контакты. С мыши, приходят цепи фотодатчиков и кнопок, а самая магия в обрабатывающем контроллере.
Microsoft InPort
Контактов всего девять. Три проводника ведут к кнопкам, правая, средняя и левая. Они синего цвета.
Два проводника — питание: это +5 В и «земля». Оставшиеся четыре — это координаты: Xb, Xa, Ya, Yb. Всё сошлось: проводников всего девять.
Далее нужно будет спаять переходник, потому что я не сторонник вмешиваться в ретро‑разъёмы и, по возможности, оставляю всё в первозданном виде.
Вот такой получился полупереходник. Почему не сразу на круглый разъём, который использует Microsoft? Потому что полный переходник — универсальный: он годится для подключения мышей от ЕС 1841, ЕС 1849 (мышь в процессе восстановления) и теперь — для ЕС 1845.
А полный переходник выглядит так:
Полная версия универсального переходника
Физическое подключение мы осилили — а что насчёт программного обеспечения?
Драйвер данной мыши отображён на фотографии. Как упоминалось, наша мышь не подключается к последовательному интерфейсу (не serial), а имеет спецификацию Inport, вставая в ряд шинных мышей (bus mouse). Значения по умолчанию позволяют комфортно манипулировать.
Тип «Inport»
Посмотрим в действии.
Чтобы понагляднее продемонстрировать работу мыши, я не стал одевать верхнюю крышку, так можно видеть, как вращается крупный шарик. Предлагаю взглянуть.
Информация относительно компонентов данной мыши взята из открытых источников. Мышь конструктивно сопоставима с манипулятором ЕС 1841.А002, однако исполнение — даже печатной платы — разное.
Разумеется, особенность вышеописанной мыши — это её защищённость от ПЭМИН. Благодаря экранированному кабелю и толстостенному металлическому корпусу, думаю, и осуществлялась эта функция. Но что именно защищать в работе мыши — повторяюсь — не знаю. Может, есть мысли по этому поводу?
Остаётся открытым вопрос: в какой штатный интерфейс контроллера подключалась эта мышь?
Напоследок, раз уж мы подняли «мышиную тему», в перспективе есть идея собрать воедино все советские и постсоветские мыши. Причём не просто собрать, а заставить их работать. Вот список, не претендующий на полноту, к которому я стремлюсь. Прошу, дополните экземплярами, если кто‑то знает ещё модели. Составлял мой друг — эксперт по мышам. С миру по нитке…
С довольно раннего детства меня преследовала идея создания чего-то самодвижущегося.
В детстве у меня было две мечты – стать инженером, сделать робота и сконструировать автомобиль. И, в целом, своего я достиг, но, как говорится, есть нюанс. Вернее несколько. Начну я, наверное, издалека. Когда-то я был совсем маленьким, во что сейчас верится с трудом, учитывая мой рост за два метра. Тогда игрушек у меня было довольно много, хотя из самодвижущихся имелись только «Планетоход» и заводные машинки. Планетоход пал моей жертвой, так как уже тогда мне очень хотелось узнать как он работает. Заводные машинки, наверное, тоже не выжили по тем же причинам, я не помню. Помню, что больше у меня ничего «самобеглого» не было, а хотелось. Один раз на параде черноморского флота, перед трибунами, где я сидел, выпустили модели кораблей, которые поразили меня тем, что могли использовать свою артиллерию. Они стреляли ракетами на манер римских свечей, что для меня тогда было совершенной фантастикой. Вероятно, именно тогда я начал увлекаться кораблями. Надо сказать, что увлечение находило поддержку. Мой дед по матери был капитаном подводной лодки, а после ходил в походы на шлюпках, воспитывая молодое поколение матросов. Мне купили несколько книжек по моделированию, и я стал кое-как разбираться в устройстве как парусников, так и вполне современных кораблей.
В одной из этих книг я наткнулся на раздел двигателей для моделей, в котором было упоминание о паровой машине ЦММЛ-К5, что меня тоже очень удивило, так как в ту до эпоху до интернета, мне в голову не могло прийти, что в небольшую модель можно уместить дышащего паром монстра, примером которого в моём городе был только паровоз ЭЛ бронепоезда «Железняков». С тех пор идея о паровой машине меня не покидала, хотя энтузиазм всякий раз угасал при мысли «а как её, собственно, сделать?». Ответ на этот вопрос дала мне советская книжка, которая попала ко мне значительно позже, уже в начале двухтысячных, называлась она «Самодельные электрические и паровые двигатели» за авторством Абрамова и Хлебникова. В этой книге описано как из спичек и желудей из гильз от револьвера «наган» или охотничьего ружья и других нехитрых материалов можно сделать вполне рабочую модель парового двигателя.
Вот эта книжка
Что характерно, начинается книга с инструкции по изготовлению парового котла. Именно котёл, а не машина является самым сложным. Так было и для меня. Котёл нормально сделать так и не вышло. Мощности паяльника просто не хватало, чтобы хорошо пропаять швы, соединяющие консервную банку с необходимыми элементами. Что же до самой машины, то не найдя у себя гильз, я подумал, а почему бы не использовать готовые пары поршень-цилиндр? На ум сразу пришли шприцы. Одноразовые, разумеется, температуры не выдержат, а вот многоразовые – вполне, они как раз, так и стерилизуются. Было закуплено несколько образцов на местной барахолке и на базе одного, наиболее подходящего, а также маховика от магнитофона и трубок от антенны, был создан этот самогонный аппарат:
К сожалению, из-за неприятностей с текущим котлом, дальнейшего развития эта машина не получила, и тема самодельного двигателестроения была отложена на многие годы. Я отучился в университете, побывал в Британии, где впервые увидел паровые двигатели в работе, потом в Испании, где впервые покатался на паровозе. Однако, следующим двигателем оказалась вовсе не паровая машина.
Я никогда не задумывался всерьёз о постройке четырёхтактного мотора. Учась на специальности «Автомобильный транспорт», я познакомился с устройством этих агрегатов и представлял себе их сложность. Паровая машина была гораздо проще, поэтому моё сознание будоражили автомобили «Доббль» и самолёт братьев Беслер. Однако, когда я поступил в аспирантуру в Испании, на глаза мне попалось видео, в котором один товарищ переделал компрессор от холодильника в двигатель внутреннего сгорания.
Во мне мгновенно проснулась Фрекен Бок – «По телевизору показывают жуликов, ну чем я хуже?» И верно, я базировался в лаборатории, наполненной металлорежущими станками, к которым у меня вполне официально был доступ, и никто особо не спрашивал, а что я на них делаю. К этому так же стоит добавить, что в нашем универе было не очень бережное отношение к наличествующим вещам, поэтому в мусор иногда отправляли весьма хорошие штуки. А уж про обрезки и остатки от старых экспериментов и говорить не приходится. Поэтому в заготовках особой нужды я не испытывал.
Начал я с того, что определился с цилиндром. Я, опять же, решил использовать готовый, хотя, вероятно, мог бы и изготовить подходящий. Донором стал выброшенный нашими автогонщиками (университетской командой) успокоитель ремня от какого-то детища немецкого автопрома. Я распилил его на две части, одну из которых и приспособил для своего будущего мотора. Использовать поршень оттуда же не представлялось возможным, так как успокоитель ремня — это, по сути, газовая пружина и поршень там как в амортизаторе с отверстиями и клапанами. Поэтому поршень был выточен новый. Диаметр поршня был 20 мм и ход примерно 42 мм, что даёт нам рабочий объём 13 кубических сантиметров.
В качестве корпуса мотора было решено использовать непонятного назначения алюминиевую «бадью», фрезерованную кем-то из бруска 50х50 мм. С обоих сторон этой штуки были два отверстия с резьбами под какие-то штуцеры. По задумке, мотор должен был иметь водяное охлаждение, поэтому эту бадейку я разделил на две части перегородкой, которая разделяла картер с маслом и водяную рубашку цилиндра. Её я запрессовал и на всякий случай промазал герметиком, а также зафиксировал винтами по бокам. Заодно эта перегородка исполняла функцию и нижней опоры гильзы цилиндра. Отверстие под гильзу я сверлил и растачивал, когда перегородка уже была установлена, заодно ушло и одно отверстие от штуцера. После расточки, в корпус была запрессована гильза.
Промежуточное фото – перегородка установлена, но под гильзу не расточена
Гильза установлена
Следующим вопросом стал маховик. Дело в том, что обрезков алюминия в лаборатории хватало, а вот со стальными было туго. Но нашелся «лист», вернее плоский обрезок чугуна. Обрезок имел неравную толщину и необычную форму, поэтому, чтобы сделать из него маховик, я стал высверливать центральную, наиболее толстую, его часть.
Сверло я раза три перетачивал, чугунина была тверда
Когда в руках у меня был обгрызанный кусок, я просверлил в его центре отверстие и запрессовал туда предварительно выточенную под диаметр отверстия ступицу, которую использовал для дальнейшей обработки маховика – придания ему формы правильного диска.
Маховик почти готов
Было решено, что коленчатый вал будет иметь консольное закрепление, это сильно упрощало конструкцию. Подобное решение я впервые увидел на Yamaha Cute и мне оно очень понравилось тем, что мотор было просто разбирать. В связи с этим, сразу стало понятно, что двигатель должен иметь три опоры – переднюю, служащую так же крышкой картера и водяной рубашки; среднюю, фиксирующую подшипник коленвала со стороны картера и заднюю, в которой установлен второй подшипник коленвала. Опоры были вырезаны из обрезков алюминиевого листа, толщиной 4 мм по распечатанным шаблонам.
Промежуточный этап изготовления опор
Опоры, зафиксированные на опорной плите. На передней крышке видно окно, через которое можно наблюдать уровень масла, а также работу кривошипно-шатунного механизма (которого тут, правда, ещё нет)
Потом пришло время изготовить коленвал и кривошипно-шайтанный шатунный механизм. Сам вал был прост – отдельно вал, отдельно щека и отдельно шатунная шейка. Всё делалось из обрезков и мусора.
Щека из ржавой железки
Поршень выточен из прутка и профрезерован изнутри под шатун. Сбоку сняты лыски под стопорные кольца поршневого пальца. В качестве пальца взята направляющая каретки DVD привода, они очень твёрдые, имеют полированную поверхность и диаметр 3 мм, практически идеально для маленьких подшипников. Подшипников в шатуне, кстати, аж четыре штуки – два со стороны коленвала и два на пальце.
Поршень, проточки под кольцо ещё нет
Кольца поршня — это отдельная проблема. По идее, они должны быть чугунные. Я уже не помню, почему я не стал их делать из того же листа, что и маховик. Возможно, потому что зажимать его в токарном станке было бы не за что (у маховика хоть была ступица), а может к тому моменту этот кусок уже был ликвидирован. Поэтому, первая попытка была изготовить кольцо из нержавеющей стали.
Собственно, кольцо. А ещё последствия пренебрежения техникой безопасности
Однако, такое кольцо работать отказалось. Была идея попробовать сделать кольца из фторопласта, как в амортизаторах, но фторопласта в лаборатории не водилось. В итоге родилась мысль, что, поскольку мотор особенно нагруженным не будет, это же просто демонстрационная модель, то можно попробовать поставить внутрь обычное резиновое кольцо. Идея себя оправдала, такое кольцо проработало внутри мотора года четыре, после чего потребовалось его заменить, хотя вряд ли причиной был износ – мотор я запускал очень редко, больше времени он просто простаивал, так что, скорее всего это просто фактор времени.
Уже что-то вырисовывается
Следующим шагом была головка цилиндра и газораспределительный механизм. Чтобы сделать головку, сначала пришлось изготовить самодельную примитивную однозубую фрезу, так как заводской нужного диаметра не было, как и четырёхкулачкового патрона, куда бы можно было зажать квадратную крышку цилиндра на токарном станке. Камера сгорания имела простую цилиндрическую форму, внутри должны были располагаться два клапана и свеча зажигания.
Расточка головы и практически готовая головка. Видны клапанные втулки, они же сёдла
Клапана делались из двух частей – ножки и тарелки. Ножка – уже знакомая направляющая от каретки оптического привода; тарелка – нержавеющая сталь, напрессованная на ножку. Когда-то, кстати, клапана примерно так и делали, только, разумеется, сваривали вместо просто напрессовки, но я делал что мог. Предварительно угол клапана задавался на станке, а потом дошлифовывался на специальном приспособлении. На той же установке я попытался сделать и шарошку для сёдел с теми же углами, но толку вышло мало, увы.
Клапана
Установка для шлифовки клапанов
Клапана, как и на настоящих моторах, надо было притереть. Проблема была в том, что пасты для этого у меня не было. Купить её в местных магазинах у меня не вышло (как-то не очень было в Бильбао с нормальными магазинами), а заказать онлайн я то ли пожлобился, то ли не помню что, но скорее всего это именно проделки жабы, семейный бюджет у нас тогда был ограничен. В общем, пасту делал сам из толчёного абразива, вроде бы из дремельных неармированных дисков и масла. Притереть удалось не сразу, но более-менее удалось. Сохранилось пара фоток процесса.
Газораспределительный механизм типичен для больших или старых моторов, например для ГАЗ 24. Привод распредвала – шестернёй, далее, через толкатели и коромысла движение передаётся на клапана. На такую систему, конечно, тратится некоторое довольно значительное количество мощности из-за того, что приходится всю эту массу ворочать. Но, тяжесть – это надёжно. Нет ремня, который порвётся и покалечит мотор, нет и громыхающей цепи. Шестерни практически бессмертны. У Волги, кстати, в этом плане вообще забавный мотор – даже если произойдёт немыслимое и в ГРМ что-то сломается, то клапана с поршнями не встретятся из огромного размера камер сгорания. В моём моторе примерно так же. Камера сгорания обеспечивает степень сжатия примерно 5, как на совсем древних движках, что вполне достаточно для работы, но объём её относительно большой, клапана находятся далеко от поршня и достать до него не могут.
Так вот, шестерни. Делительную головку я тогда ещё не доделал, поэтому выбирал из того, что было. А были какие-то пластиковые шестерни от принтеров и DVD магнитофонов. Самое важное было найти передаточное число 1:2, ну и чтобы размер был подходящий. Нашлось две пары, из которых после прикидки осталась одна. Шестерни были подогнаны по диаметрам и установлены на место.
Сохранились только фото процесса подгонки малой шестерни
Далее дорисовываем остальную сову, в смысле ГРМ. На самом деле – ничего особенно сложного, нужны только коромысла, толкатели и то место, где будет распредвал.
Почти весь ГРМ
А вот распредвал я сделал хитрым. Поскольку я не располагал возможностью сделать его цельной деталью и не был вполне уверен в том, что смогу сразу правильно сделать конфигурацию кулачков, то сами кулачки были изготовлены отдельно от вала. Всего их было три штуки: по одному на клапан и зажигание. Чтобы сделать их одинаковыми я применил метод копирования, распечатал мастер-модель на 3Д принтере, выточил заготовки на токарном станке и на точиле, при помощи нехитрой приспособы, скопировал.
Установка для изготовления кулачков. Механизм копирования прост – прижимаешь мастер-модель к упору и вращаешь вал на котором закреплены оба кулачка. Мастер-модель видно плохо, т.к. она из чёрного пластика, но она там есть, уж поверьте
Кулачки я в итоге выставлял по методичке нашей кафедры «Автомобильный Транспорт» тогда ещё СевНТУ. Только с зажиганием игрался немного. Лучшие результаты мотор показал с поздним зажиганием, немного позже ВМТ. Теперь опять дорисовываем сову и получаем вот такую первичную конфигурацию мотора:
Вуаля!
Пожалуй, объясню по недостающим фотографиям. В левой части мотора виден карбюратор, он – испарительного типа а-ля «бульбулятор». Что-то на подобии стояло, например, в автомобиле Бенца. В карбюраторе такой системы воздух проходит через слой жидкого топлива в виде пузырей и уносит его пары с собой. По какой-то не вполне ясной причине мой мотор отказывается работать с распылительными типами карбюраторов. При тестах выяснилась следующая неприятность – при попытке запуска двигателя с распылительным карбюратором, происходит пара вспышек после чего катастрофически падает компрессия из-за прекращения нормальной работы впускного клапана. Почему-то, когда он намокает, то перестаёт работать. Так вот «бульбулятор» эту проблему как раз решает, так как в мотор приходит сухая смесь, а не в виде мельчайших капель, которые просто не успевают испариться. Это, конечно, костыль. У других людей распылительные карбюраторы прекрасно работают, но в чём дело конкретно тут выяснить у меня так и не вышло.
Вернёмся, однако, к новым элементам на фото. Видно, что добавился глушитель, он самый примитивный, просто банка наполненная титановой (без особого умысла, просто в цеху была сливная титановая стружка) стружкой. Не то чтобы такая конструкция была особенно эффективной, но звук несколько тише. Так же можно заметить свечу и модуль зажигания в самодельном корпусе. Это были первые и самые неудачные элементы системы зажигания. Свеча была изготовлена из болта М8, просверленного насквозь с небольшим эксцентриситетом относительно его продольной оси. Эксцентриситет по задумке был нужен для удаления центрального электрода от электрода массы. Электрод массы в этой конструкции свечи вырезался из самого тела болта. В отверстие пропущен изолятор – тефлоновая трубка для 3Д принтеров. Затем внутрь изолятора плотно вставлялся железный центральный электрод подходящего диаметра. Всё бы было хорошо, но изолятор этой системы постоянно прогорал, и искра перемещалась в место прогара.
Увы, оригинал первого варианта свечи найти не смог, пришлось сделать модельку
Вторая итерация свечи работала значительно лучше. Это по сути просто был тефлоновый стержень с нарезанной резьбой М8 и центральным электродом. В такой конструкции боковой электрод пришлось крепить к головке цилиндра.
Слева – новая свеча; справа – свеча в головке цилиндра. Хорошо виден электрод массы
Модуль зажигания же просто был очень ненадёжен и тоже всё время горел. У этих модулей чрезвычайно хилые трансформаторы, а искра выходит слабая и иногда не справляется с поджогом смеси.
Слева – плохой высоковольтный модуль; по центру – модуль для шокеров; справа - он же, установленный в корпус а-ля катушка зажигания
Чуть позже я стал использовать модули для шокеров с встроенным умножителем напряжения. Эти ещё ни разу меня не подвели, а искру выдают гораздо более мощную.
В силу особенностей этих модулей, зажигание у меня получилось контактным наоборот, то есть питание модуля идёт замыканием, а не размыканием. На фотках был виден концевик, на который давит кулачок, ответственный за момент зажигания. Не идеально, но он справляется. Остальная электрическая схема довольно проста. В моих первых тестах я просто запитывал модуль через этот концевик от одной литиевой ячейки (4,2 В). Далее я пришёл к выводу, что стабильные 5 В лучше для питания модуля и перешёл на питание от двух ячеек через понижающий dc-dc преобразователь. Соответственно, чтобы заряжать эти ячейки от USB я использовал dc-dc повышайку. Всю эту ерунду можно видеть на фото ниже.
Электрическое нутро мотора
Но это было потом, а сначала я попытался запустить двигатель как он был (хронологически этот запуск был даже до последнего фото):
Тут мотор, конечно, полуживой. Изначально я не планировал использовать бензин в качестве топлива и заливал внутрь этиловый 96% спирт. Он довольно скверно испарялся и для более-менее приличной работы карбюратор надо было прогревать зажигалкой. Видео первого запуска было снято летом в самой жаркой комнате дома, думаю, только поэтому вообще получилось завести мотор хоть как-то. Впоследствии я стал запускать мотор на бензине для зажигалок. Кроме этого, выяснилось, что нормальная работа мотора возможна только при почти полностью закрытом доступе воздуха в карбюратор. Что, собственно, неплохо видно на следующем видео, где я закрываю входное отверстие пальцем.
Собственно, у этого двигателя дросселя вообще нет. То, что я установил впоследствии на вход карбюратора не регулирует обороты, а просто позволяет мотору в принципе запускаться. Во втором двигателе, изготовленном мною позднее, дроссель стоит между карбюратором и мотором и работает правильно. Кроме этого, пришлось установить защиту от обратной вспышки. Время от времени на высоких оборотах пламя проскакивало обратно в карбюратор. Вероятно, смесь не успевала сгореть полностью на высоких частотах вращения, по идее, исправить это должен был бы регулятор угла опережения зажигания, но у меня такого не предусмотрено конструкцией. Так вот, эта самая вспышка создавала сильное избыточное давление в довольно объёмном карбюраторе, заполненном парами топлива. Давление это, в свою очередь, стремилось разорвать стенки (чего слава богу не произошло), ну или на худой конец выстрелить вверх топливом (слава богу не горящим, а то было бы очень весело). Вот и пришла в голову идея сделать автоматический клапан на входе, открываемый разрежением, но запираемый избыточным давлением, а чтобы газы при вспышке нашли-таки выход, в крышке сосуда было просверлено небольшое отверстие, к которому прижимался кусок силикона, формируя, таким образом, ещё один клапан. Система работала, но иногда этот кусок силикона улетал весьма далеко, так как надёжного крепления у него организовано не было.
В целом, мотор оказался весьма капризным детищем, которое, хотя и работало, но не слишком хорошо. Были постоянные проблемы то с зажиганием, то с компрессией, то с топливной смесью, да и толком не реализованное водяное охлаждение так же пару раз давало течь. Всё это привело меня к мысли, что можно было бы переработать конструкцию и попробовать изготовить другой мотор, воздушного охлаждения, на базе того второго обрезка того успокоителя. Эта вторая попытка потянула за собой изготовление не только мотора, но и четырёхступенчатой коробки передач, заднего моста, рамы и вообще остального автомобиля вокруг. Но это уже другая история.
А ведь в какой-то момент у меня набралось больше десятка ламповых осциллографов! Но, в отличие от Артёма Денисовича я вовремя одумался и избавился почти от всех из них, но вот один — венгерский осциллограф TR-4401 — слегка задержался. Появился он у меня пять лет назад, во время ремонта осциллографа С1-54. Привлек меня красивой внешностью и исполинскими размерами, ну как тут не удержаться от покупки?
Радовался я недолго. Во-первых, прибор оказался значительно больше и тяжелее чем я думал. Во-вторых, из всех своих 63 ламп в нем стояло меньше половины. Осциллограф — разработки и производства Венгрии, но в корпусе витал призрак Tektronix, предположительно 541A. Отдельные части принципиальных схем были схожи как две капли воды, разве что сами радиолампы отличались — вместо американских стояли польские, венгерские и советские аналоги. С другой стороны у меня была родная документация на русском и желание прибор оживить.
❯ EMG — венгерский «Tektronix»
Логотип компании EMG в 60-е годы
История предприятия EMG (Elektronikus Mérőkészülékek Gyára — Завод электронных измерительных приборов) начинается в 1950 году, когда небольшой коллектив инженеров, техников и рабочих отделились от радиозавода Orion в самостоятельный завод, временно разместившись на территории мыловаренной фабрики в пригороде Будапешта. За первые четыре года работы предприятие столкнулось и с хронической перегрузкой и с перебоями в поставках комплектующих; сменило четырех директоров, но смогло построить свой собственный завод в городе Сашалом (1953-54 гг.). Наступила стабильность — в 1954 году сформировалось новое руководства во главе с директором Ласло Кискапуши, который пробыл во главе предприятия до 1978г. Был налажен полный производственный цикл, а годовой объем производства вырос с 28 млн форинтов в 1951 году до 145 млн в 1960 году при почти полном отсутствии импортных компонентов в составе аппаратуры.
Минутка ликбеза. Фо́ринт — официальная денежная валюта Венгрии. Хоть последняя и является членом европейского союза, в еврозоне она не состоит (Что типично для восточной Европы — взять ту же Польшу (Злотые) или Чехию (Чешские кроны)). На декабрь 2025 курс 385 форинтов за 1 евро.
Цех непрерывной сборки измерительных приборов. 1959 год
В 1959 году предприятие выпускало больше сотни различных наименований продукции, а также разрабатывало множество новых приборов. Так, в каталоге показан рисунок прибора EMG 1546. И тут есть один нюанс — эскиз сильно отличается и от итоговой реализации и от Tekronix 541A. Инженеры делали свою собственную разработку, но в последний момент все переиграли и слегка списали?
Разрабатываемые приборы: осциллограф EMG-1546
В 60-е годы завод динамично развивался, и постепенно переходил с ламповой техники на полупроводники. Объем производства достиг 469 млн форинтов в 1970 году. Немаловажен и тот момент, что предприятие активно сотрудничало с профессиональными средними учебными заведениями, и подготавливало для себя новые рабочие кадры. Одновременно совершенствовалось и производство — на место сборочно-измерительным цехам электротехнического производства приходили производственные линии, организованные по профилям семейств продукции. Активно внедрялась автоматизация — например механизированные линии подготовки электронных компонентов. От красивых корпусов с округлыми формами отказались в пользу высокотехнологичных шасси с литыми алюминиевыми боковинами и стальными штампованными крышками.
Программируемые и измерительные приборы коммутируемые общей шиной. Фото из каталога 1982 года
В 1971 году огромный единый завод был разделен на частично самостоятельные подразделения: Корпоративный центр, Завод по поставке радиодеталей, Будапештский и Эстергомский приборостроительные заводы, а также подразделение Управления и администрирования. Были выделены четыре ключевые группы продукции: электронные измерительные приборы, офисная техника, технологическое оборудование для электронной промышленности, а также системы управления станками. ЧПУ направление до последних лет жизни предприятия было основным направлением его развития, принося 1.5млрд форинтов в год в 1987 году.
Продукция завода EMG на выставке 1980г в Будапеште. Слева — прибор анализа рентгеновского излучения. Справа — универсальная система управления станками с ЧПУ — EMG HUNOR PNC 714
Однако уже в 1991 году предприятие погибло вместе с распадом Совета Экономической Взаимопомощи. В 60-е годы правительство Венгрии монополизировало внешнюю торговлю и финансовую сферу страны, что принципиально повлияло на то, по какой цене, в каком количестве и качестве предприятия производят продукцию. Это привело к изменению торгового баланса внутри СЭВ в пользу венгерской стороны, а также, наряду с другими причинами, после 1990 года — к ликвидации государственных предприятий. 24 августа 1991 года суд вынес решение о ликвидации EMG по причине банкротства. Заводские активы были распроданы.
Территория завода с высоты птичьего полёта.
Вместе с тем, на территории бывшего завода, а теперь технопарка EMG, кипит жизнь в лице множества мелких и не очень предприятий. Один из таких — Auter Elektronikai Kft. — один из крупнейших в Европе заводов по производству печатных плат.
❯ Orion EMG-1546 или TR4401
Герой нашего рассказа собственной персоной
Не будем искать причины двойного названия осциллографа, а сразу перейдем к его техническим характеристикам:
Габариты: Ш320хВ420хГ620мм
Огромная 130мм ЭЛТ с тончайшим зеленым лучом и потрясающие округлые формы прямиком из 1966 года.
Масса: 40кг. И две ручки сверху для переноски
Потребляемая мощность ок. 500Вт.(в документации так «ок» и указано)
А остальное тут уже и не важно :) Шучу.
Осциллограф рассчитан на работу с сигналом частотой до 30МГц. Блок горизонтальной развертки позволяет наблюдать сигналы со скоростью от 5сек/см до 20нс/см. В качестве блока вертикальной развертки можно поставить один из четырех сменных блоков:
Одноканальную приставку 1589-U-1, которая и имеется у меня в наличии
Двухканальную приставку 1589-U-2 — осциллограф перейдет в режим чередования выводимых сигналов
А приставка 1589-U-4 (TR4710) превращает осциллограф в прибор для проверки транзисторов
Виды подключаемых приставок
За другие блоки не скажу, но U-1 умеет работать с сигналом от 50мВ/см до 20В/см, и имеет типичные 1МОм и 25пФ импеданса. Разъемы тут, к слову, резьбовые UHF(или PL-259) — часто встречаются в современной СВ и КВ радиоаппаратуре. Исходя из наличия у меня документации на блок U-2 могу предположить, что комплект поставки мог включать в себя сразу несколько сменных блоков.
Сменный блок EMG 1589 U-1, вид сбоку
В те годы как будто существовал тренд — чем больше измерительное устройство, тем оно круче. Поэтому за количеством свободного места внутри корпуса никто не следил. Чем больше пустого объема, тем лучше охлаждение и проще ремонт(нет).
Сменный блок U-1, вид сбоку. Производство тех лет признавало только панельки
Балом правит навесной монтаж, все максимально наглядно, но совершенно недоступно — например подлезть к ножкам самих ламп довольно проблематично. Наличие документации существенно упрощает процедуру диагностики, однако вам не кажется, что фото приставки выше и схема расположения элементов слегка отличаются друг от друга?
Схема расположения элементов в блоке. Я говорил что серийный номер на документации и на приборе одинаковый?
Производитель оставляет за собой право вносить изменения в конструкцию изделий и деталей, не ухудшающих качество изделия, без предварительного уведомления
Все же унификация принципиальных схем и дальнейшая ее реализация на печатных платах и повышают ремонтопригодность, и упрощают сборку и наладку. Но всему свое время.
За правой крышкой скрывается трансформатор, стабилизатор питания и блок горизонтальной развертки
Снимаем правую крышку и видим массивный трансформатор питания на те самые около 500Вт. справа виднеется вентилятор, который эти «полкило» тепла должен выгнать из корпуса. Четыре больших лампы — сдвоенные триоды 6Н5С — отвечают за стабилизацию основных напряжений питания осциллографа: +500В, +350В, +225В, +100В и -150В. Их регулировка осуществляется потенциометрами возле края шасси. Стоило мне установить все лампы в осциллограф — как стабилизаторы ожили и после минимальных регулировок стали выдавать необходимые уровни.
Принципиальная схема источника питания осциллографа
Схема стабилизации тут классическая. Мощный триод включен по схеме с общей сеткой, потенциал на которой определяется усилителем на триоде или пентоде. Слева на схеме можно заметить несколько групп нитей накала. Электронная лампа имеет понятие «предельное напряжение между катодом и подогревателем». У 6Н5С оно составляет +300В — и это очень много, так как у большинства пальчиковых ламп это значение не превышает и 100В. Именно поэтому нити накала ламп V401-V403 — собраны в отдельную группу и подтянуты к уровню +350В. Иначе их пробьет. Разумеется есть некий запас прочности, но зачем нарушать рабочий режим?
На фото выше можно заметить небольшое электромагнитное реле. Оно отсчитает около минуты, прежде чем сработает и подаст напряжение +225В и +350В. Это необходимо чтобы дать лампам прогреться как следует, и не допустить работы холодного катода на полном потенциале. Хороший способ сберечь ресурс электронных ламп.
На верхней планке расположен генератор горизонтальной развертки, блок триггеров и усилитель горизонтального отклонения. Все собрано в лучших традициях навесного монтажа. Часть деталей расположена на монтажных планках, другая — идет непосредственно на панельки с лампами. Я уже говорил что до самих ламп проблематично добраться?
Переключатель режимов работы горизонтальной развертки. Справа за деталями виднеются керамические ламповые панельки
За левой дверцей открывается более интересное зрелище. Во-первых, с этой стороны живет Электронно-Лучевая трубка с электростатическим отклонением. Для защиты от наводок (еще вопрос откуда куда) ее поместили в кожух. Через прорези в нем на ЭЛТ подается анодное напряжение в 10кВ, а также подключаются выходы усилителей вертикального и горизонтального отклонения к отклоняющим пластинам.
За левой крышкой находим ЭЛТ, линию задержки и усилитель вертикального отклонения
Снизу расположена батарея пальчиковых ламп, представляющая собой непосредственно усилитель вертикального отклонения. И вот тут мы натыкаемся на Tektronix 541A, принципиальная схема которого 1-к-1 совпадает со схемой усилителя вертикального отклонения:
Да и линия задержки, состоящая из конденсаторов и индуктивностей тоже взята от Tek-а:
Принципиальная схема части линии задержки
Да, TR4401 не является клоном Tektronix541, но на операционном столе Венгерских разработчиков он явно присутствовал. Сравните левую сторону двух приборов:
Слева у Tektronix T541A можно найти ту же линию задержки и тот же усилитель вертикального отклонения
Тот же усилитель, та же линия задержки. Отличия тоже есть, например нет печатной платы, на которой расположен стабилизатор напряжения накала для усилителя вертикального отклонения.
К слову, зачем вообще нужна линия задержки. Работающая развертка синхронизирована с фронтом входного сигнала. И мы банально не увидим сам фронт и что происходило перед ним без этой линии задержки!
❯ Оживление
Для оживления прибора необходимо было установить все недостающие лампы в блок. Например со стороны усилителя вертикального отклонения ситуация изначально выглядела следующим образом:
Исходное состояние прибора после прибытия в гараж
Половины ламп нет, а те что есть — совершенно не того наименования. Будто наставили от балды в процессе разграбления. Отдельно обратите внимание на разбросанные повсюду металлические скобы — они должны удерживать лампы в панельках, а в итоге — обеспечили меня спецэффектами при первых включениях прибора, то тут то там замыкая анодные проводники на себя. Я до сих пор не уверен что нашел их все. Может быть пара штук до сих пор торчит где-то между радиодеталей.
По документации составил список радиоламп:
Таблица используемых электронных ламп и их аналоги
Номер лампы на схеме, тип оригинальной лампы согласно документации и требуемое количество. Дальше, по справочникам аналогов зарубежных ламп пытаемся подобрать аналоги. Для части ламп это удается. В одном случае и вовсе стоит советская 6Н5С. В остальных — с переменным успехом. Недостаточно просто увидеть заветную строку: «лампа E180F, полный аналог 6Ж9П». Приходится сверять параметры из справочных листков. В некоторых случаях справочники твердили о возможности замены, но по факту отличий было слишком много. Отдельно стоит заметить, что в приборе есть лампы с напряжением накала на 12В и даже на 25В! Какие уж тут советские аналоги (Впрочем у нас подобные напряжения тоже встречались)… Что-то нашлось у местных, что-то удалось купить на ebay. Отдельное спасибо тов. Usagi за отправленный мешочек радиоламп, которые в итоге закрыли пробелы в моих поисках. Электронно-лучевую трубку на замену найти не удалось.. Но накал у нее звонился, так что шанс что она заработает — был высок.
Что я и говорил про спрятавшиеся проволочки. Легкая тряска и получи бусурманин спецэффект.
Попутно пришлось решить пару механических проблем. Например из переключателя аттенюатора приставки вертикального отклонения вывалились шарики и переломали механизм. Пришлось раздербанить подшипник из старых запасов ради пары шариков подходящего размера и отремонтировать галетник. Еще у одного сдвоенного потенциометр с независимыми валами обеих частей один из валов оказался слишком неподвижен относительно неподвижной части. Тут мне повезло обнаружить, что венгерский и советские потенциометры имеют плюс-минус одни и те же размеры и переломанную при попытке расшатать закисшую часть удалось просто заменить на деталь от советского переменника СП-1.
Общая схема расположения электронных ламп в приборе
Моя любимая часть Марлезонского балета… Особенности документации… Во-первых, все схемы склеены из трех частей. Кто-то догадался распечатать их на листах А3, сложить вдвое, сброшюровать, а потом отрезать на сгибе целый сантиметр.. Хорошо что в интернете нашлись зарубежные сканы и удалось собрать исходную схему вместе. Но! Взять, например, блок усилителя вертикального отклонения(III). В нем 18 ламп, хотя на чертеже присутствует лампа с номером V219... А также две лампы с индексом V218 и еще две — с индексом V207… Пришлось несколько раз сверяться со схемой, с отдельным чертежом расположения ламп чтобы быть уверенным, что все лампы стоят на своем месте. И зная итог — уверенности так и нет…
Первое включение и — у прибора появился луч! После пары ударов по корпусу, разумеется. Еще паре потенциометров пришлось вскрывать корпус и вычищать оттуда мусор и окислы. Нельзя верить внешнему виду — шасси чистое, никаких следов коррозии, но старение радиодеталей и их деградация происходят часто незаметно для глаз. Быстро обнаруживается, что с калибратора можно подать сигналы на входы X и Y и получить фигуры Лиссажу.
В процессе регулируем прибор согласно инструкции и… ничего не выходит. Все напряжения на ножках ламп в номиналах. Сопротивления — тоже, вот только все что у нас есть — это режим X-Y. Прибор упрямо отказывается запускать горизонтальную развертку. Не то чтобы я за нее сильно бился, все же осциллограф ожил и поставленная цель — достигнута, но необходимость дальнейшего ремонта с веселыми скрытыми дефектами несколько напрягает.
❯ Подводя итоги
В результате оживления имеем следующую картину:
Внешний сигнал Y до ЭЛТ доходит, но где-то по дороге теряется аж 20х усиления. Подавая на вход прибора сигнал с уровнем 1В — мы получим вожделенный 1см только на диапазоне 50мВ/см. Скорее всего проблема кроется в сменном блоке, но может и в одном из последующих каскадов. На структурной схеме сомнительные блоки пометил синим цветом.
Внешний сигнал X до ЭЛТ доходит прекрасно, выглядит все так, что усилитель по X абсолютно исправен и ничего не требует взамен. Хотя потенциометр регулировки уровня усиления просит его вскрыть и обслужить.
Равно как исправен калибратор. Свои от 1 до 100В сигнала он выдает.
А вот с разверткой все худо. От вертикального усилителя сигнал до генератора пускового сигнала доходит, а дальше творится магия. Все напряжения на ножках ламп — в номинале, сопротивления — тоже. Но в итоге — тишина. Не иначе как конденсатор какой течёт и наглухо шунтирует всё на себя. Впрочем, бумаги, как на С1-54, тут нет. Плёнка, да керамика. Ни та ни другая течкой особо не страдают, но ежели переменные резисторы все коррозией покрылись, ничто не мешает появиться токопроводящему каналу и на керамике.
Где совершенно нет никаких вопросов к работе схемы — так это к источникам питания. Именно эти схемы я использовал в источнике питания экспериментальной декатронной ячейки, но решил источник отрицательного напряжения скопировать с С1-54. И его передавливает….
Прибор ожил. Но за то время, что он стоял на полке мертвым грузом, я успел охладеть к ламповой измерительной технике. Да, она имеет свой стиль, свой шарм. Но занимает слишком много места и единственным верным решением было передать почти всю накопившуюся братию в муромский кибер-музей, где можно созерцать часть моей коллекции. Ламповый компьютер на сверхминиатюрных лампах — это максимум что можно уместить в квартире.
https://emg.hu/tortenet-osszefoglalo/— мемуары Золтана Сабо, последнего директора завода EMG. На венгерском(использовал автоперевод). Там же каталоги и мануалы
Уважаемая аудитория пикабы, хочу спросить: почему пост на техническую тематику, где рассказывается, как в одного поднять GSM сеть, можно сказать стратегически важные знания в случае большого пиздеца, который не за горами, не набирает даже пол тыщи лайков?
Два года назад я уже рассказывал о том, как запустить у себя дома базовую станцию 4G LTE. Тем не менее, в той сети работал только мобильный интернет, тогда как при попытке позвонить или отправить SMS связь немедленно обрывалась.
Самое время восполнить это упущение. Сегодня мы поднимем сеть, в которой будут работать все эти функции. Заодно разберёмся, как работают звонки в LTE-сетях, как запустить такую сеть при помощи SDR и как заставить это всё работать. Как водится, будет много интересного.
❯ Суть такова
Когда-то давно мне уже доводилось запускать сеть 4G LTE в минимальной работоспособной конфигурации. Телефон успешно подключался и выходил в интернет, но мне, конечно, хотелось ещё большего.
Уверен, сейчас все (ну, или почти все) примерно представляют себе, что такое VoLTE и то, для чего он нужен. Если вы читаете этот текст с телефона, то звонит он наверняка благодаря поддержке этой функции.
Тем не менее, по сравнению с обычными сетями типа GSM устроено это совершенно иначе. Как оно работает и как запустить это в «домашней» сети, сейчас и узнаем.
❯ Как работает VoLTE
Начнём с самого начала: с того, как вообще совершаются звонки в 4G-сетях. Вариантов тут всего два.
Первый из них — откат на сеть предыдущего поколения (Circuit Switched Fallback). Он поддерживается и поныне, дабы трубки, где VoLTE выключен или не поддерживается, в принципе могли звонить.
Момент переключения на более старую сеть вы можете пронаблюдать лично, если выключите VoLTE на телефоне, включите мобильный интернет, а затем попробуете кому-то позвонить. При начале вызова значок «4G» в строке состояния пропадёт. Такую систему тоже можно воссоздать в домашних условиях, если поднять 2G-сеть с тем же PLMN (то есть с теми же кодами MCC и MNC) и настроить в ней SIP.
Но, думаю, даже непосвящённым понятно, что пробрасывать звонки через более старые сети - это костыль не самое оптимальное решение. Перед началом соединения происходит задержка, поскольку телефон должен «соскочить» на более старую сеть, а сетевое соединение при этом прерывается. Конечно, полностью избавиться от такой системы нельзя, так как тогда более старые телефоны больше не смогут звонить, но было бы странно не придумать что-то оптимизированное именно с учётом архитектуры LTE-сетей.
Так появился второй вариант — тот самый VoLTE. Это протокол передачи голоса в сотовых сетях через каналы пакетной передачи данных, проще говоря, через обычные сети TCP/IP. Чем-то он напоминает привычный VoIP, но всё же отличается от него другим форматом пакета, обеспечивающим чуть меньший его размер. Эти пакеты обрабатывает специальный модуль в ядре сети — IMS (IP Multimedia Subsystem). Таким образом, в выигрыше оказываются и операторы (VoLTE обеспечивает чуть ли не шестикратный прирост пропускной способности в сравнении с обычными сетями GSM, а, значит, положить сеть становится значительно труднее), и пользователи (качество звука в VoLTE значительно лучше , если, конечно, связь LTE вообще есть).
❯ Что такое SRVCC?
Так уж вышло, что стабильное соединение LTE есть далеко не везде. Если в момент вызова по VoLTE уровень сигнала просядет, то звонок прервётся. Поэтому существует специальная процедура переключения на сеть более старого поколения на тот случай, если её сигнал в это время лучше. Называется она SRVCC (Single Radio Voice Call Continuity).
Когда уровень сигнала от телефона начинает проседать и падает ниже некоего значения, которое БС считает критическим, отправляется запрос на резервирование голосового канала. MME связывается с MSC, находит ближайшую доступную вышку и выделяет на ней канал. После этого телефон переключается на эту вышку, а разговор продолжается. Для пользователя это выглядит как кратковременное заикание или некоторое ухудшение качества связи. Само собой, если в этот момент производилась передача данных, соединение либо (в случае с 2G) сбрасывается, либо (в случае с 3G) продолжается на более низкой скорости. Также существует и обратный вариант: при возвращении абонента обратно в зону покрытия 4G звонок можно перевести на VoLTE. Впрочем, распространено это меньше из-за сложностей реализации: пока абонент находится в сети 2G/3G, ядро сети LTE не может получать информацию о состоянии соединения.
❯ SMS в LTE-сетях
Как и в случае со звонками, вариантов тут два.
Первый — SMS over SGs. В этом случае помимо LTE-сети телефон регистрируется и в «старом» центре коммутации (MSC) GSM. После этого он становится доступен как MME (для передачи данных в LTE-сети), так и MSC (для SMS). При отправке сообщения телефон формирует специальный пакет, а MME передаёт его MSC, который его обрабатывает абсолютно так же, как если бы абонент находился в обычной сети 2G. Аналогичным образом происходит и приём. Сообщение приходит в SMS-центр GSM-сети и передаётся в MSC. Тот передаёт его MME, который и производит отправку на абонентское устройство. На этот раз при отправке или приёме SMS сброса соединения LTE не происходит.
Второй — SMS over IMS. Как нетрудно понять, предыдущее решение хоть и работает, но всё же реализован был исключительно для совместимости. В «нативной» реализации сообщения упаковываются в обычные пакеты данных, передаваемые по TCP/IP. Обработкой этих пакетов занимается всё тот же IMS.
❯ Обзор оборудования
Как и в случае с «простой» 4G-сетью, для того, чтобы запустить такое дома, требуется SDR с комплектом антенн, программируемые симки и сами телефоны, которые будем подключать к сети. Поэтому комплект оборудования остаётся неизменным.
Это SDR, самый важный компонент, он же и самый дорогой.
В моём случае это USRP B200mini-i. Другого экземпляра за столько лет у меня пока не появилось.
Телефон Samsung Galaxy M12.
Телефон Samsung Galaxy S5.
С этой моделью надо быть внимательным: некоторые прошивки не поддерживают VoLTE. Перед тем, как пытаться использовать его для наших целей, этот момент обязательно надо уточнить.
Также надо учесть, что некоторые аппараты не поддерживают работу в частных VoLTE-сетях.
Обычно этим грешат айфоны и трубки некоторых китайских вендоров. Иногда помогает установить MCC 001 и MNC 01, но работает это далеко не всегда. Со всем этим тоже надо ознакомиться перед началом опытов.
И, наконец, программируемые SIM-карты. Что это такое, для чего они нужны и как их записывать, я уже рассказывал в посте про 4G.
Выбор их всё так же невелик, но с недавних пор появился ещё один вариант от китайской фирмы PISWORDS.
Записываются они стандартным ПО GRSIMWrite, ищутся в продаже на российском Али и, по отзывам, работают в таких частных сетях. Так что при отсутствии возможности купить Sysmocom или Gialer стоит обратить внимание на них.
❯ Ставим софт
В прошлый раз мы использовали софт srsRAN. Но есть один нюанс: компонентов, необходимых для работы VoLTE, там нет. Поэтому ставить будем следующее:
Сам srsRAN. В этот раз из всего комплекта понадобится только srsENB — софт базовой станции.
Open5GS. Это новое ядро сети. Сейчас оно будет использоваться как ядро 4G-сети, про 5G поговорим как-нибудь позже.
Kamailio. Тут всё просто — это SIP-сервер.
В этот раз ставить всё по отдельности не будем. К нашем счастью, существует уже установленный и настроенный софт, запиханный в Docker. Именно его-то мы и будем ставить. В качестве ОС я использовал Ubuntu 22.04.5 LTS. Но никто не мешает использовать и другой дистрибутив: здесь это не так критично.
Для начала необходимо поставить Docker, поскольку штатно в Ubuntu он не стоит. Для этого выполним следующие команды:
Вообще, сам автор репозитория разместил ссылки на уже готовые контейнеры. Но всё же я предпочёл собрать их самому. Итак, выполняем команды, после чего в консоли должно будет появиться примерно следующее:
Да, если что, конкретно этот контейнер предназначен совсем для другого и в рамках данной статьи собирать его не требуется. Но нетрудно догадаться, что визуально процесс ничем не отличается. Занимает всё это порядочно времени, у меня на весь софт ушло чуть больше полутора часов. Так что запаситесь терпением.
Далее редактируем файл .env.
Поменять нужно следующие параметры:
MCC - код страны. В данном случае у меня стоит 460, то есть код Китая. Никакого подтекста тут нет, просто симка так и осталась прошитой под опыты с китайским железом.
MNC - код сети.
DOCKER_HOST_IP - IP-адрес машины, на которой работает ядро сети.
SGWU_ADVERTISE_IP - тот же самый адрес.
UE_IPV4_INTERNET - диапазон IP-адресов, выделяемых телефонам для мобильной сети.
UE_IPV4_IMS - диапазон IP-адресов, выделяемых телефонам для VoLTE.
Теперь запускаем контейнер с ядром сети:
cd docker_open5gs
source .env
sudo ufw disable
sudo sysctl -w net.ipv4.ip_forward=1
sudo docker compose -f 4g-volte-deploy.yaml up
Запуск начался.
Вскоре в консоли должны будут быстро посыпаться логи.
❯ Абоненты
Как и в случае с srsEPC, необходимо занести данные SIM-карт.
Итак, открываем браузер и переходим по адресу http://localhost:9999 (либо по адресу ПК, на котором работает сеть).
Авторизуемся с учётными данными admin@1423. Нас встречает вот такой экран, где располагается список абонентов. На свежераскатанной системе он будет пуст.
В углу жмякаем плюсик. Открывается окно добавления нового абонента. Заполняем поля IMSI, K, OPc, AMF. Нажимаем на жирный голубой плюс и вводим номер телефона (MSISDN).
Теперь очередь точек доступа. Проматываем окно чуть ниже и заполняем параметры.
Для добавления новых полей жмякаем голубой плюс.
После ввода данных нижняя таблица в свойствах абонента должна выглядеть как на этом скриншоте.
Аналогичным образом надо создать профиль для второго телефона. Больше в этом интерфейсе делать нам нечего, можно его закрыть.
Теперь надо занести данные в OsmoHLR для работы SMS, для чего подключаемся к его консоли:
telnet 172.22.0.32 4258
Теперь заносим данные следующей командой:
enable
subscriber imsi [IMSI-1] create
subscriber imsi [IMSI-1] update msisdn [MSISDN-1]
subscriber imsi [IMSI-2] create
subscriber imsi [IMSI-2] update msisdn [MSISDN-2]
Само собой, IMSI и номера телефонов надо забить свои.
Вот так всё это выглядит.
❯ Пуск!
Ну что же, настал самый ответственный момент.
Открываем файл rr_enb.conf, выбираем нужный канал, на котором будет работать БС. Более подробно про это всё описывается тут. Подключаем к компьютеру SDR с накрученными антеннами. Выполняем команду:
sudo uhd_usrp_probe
В SDR загрузится ПО, и он станет готов к работе.
Аналогичным образом редактируем файл .env (если запуск производится на той же машине, что и ядро сети, то создаём копию):
MCC — код страны, должен совпадать с тем, что в ядре сети.
MNC — код сети, должен совпадать с тем, что в ядре сети.
DOCKER_HOST_IP — IP-адрес машины, на которой работает БС.
MME_IP — IP-адрес машины, на которой работает ядро сети.
SRS_ENB_IP — IP-адрес машины, на которой работает БС.
Секунд через десять на SDR загорится зелёный светодиод активной передачи, а в консоли ядра сети промелькнёт сообщение, что теперь число подключенных БС равно 1.
Всё, можно пробовать.
❯ Подключаем телефоны
Для начала произведём некоторую настройку.
На телефоне создаём точку доступа ims с типом ims. Так же создаём обычную точку доступа internet.
Вот так всё это выглядит.
Аналогичные действия производим на втором телефоне.
Если БС в этот момент уже запущена, то, скорее всего, телефон сходу увидит сеть и зацепит её.
Можно даже выйти в интернет и убедиться, что сетевое соединение есть.
Всё! Можно звонить!
SMS между двумя трубками тоже летают.
❯ Завершение работы
Выключить эту сеть после опытов тоже довольно просто:
В консоли с ядром сети нажимаем Ctrl+C и ждём, пока все контейнеры завершат работу. После этого вводим команду:
sudo docker stop srsenb
Через несколько секунд индикатор на SDR погаснет. В следующий раз развернуть сеть можно будет всё теми же командами.
❯ Что же у нас получилось?
Вот так вот, с помощью нехитрых приспособлений буханку белого (или чёрного) хлеба можно превратить в троллейбус. Но зачем? Итак, теперь наша домашняя сеть теперь поддерживает не только мобильный интернет, но и привычные звонки и SMS, причём запускается всё это ненамного сложнее, чем вариант просто с Open5GS.
Я прекрасно понимаю, что повторить это всё смогут очень немногие, поскольку стоимость радиооборудования весьма высока. Тем не менее, просто сама возможность поднять в домашних условиях сотовую сеть на базе полностью открытого железа и софта — это безумно круто.
Такие дела.
Автор текста: MaFrance351. Больше фото и авторских комментариев — тут.
Приветствую всех! Знаю: тема багов, которые изменили мир, избита уже настолько, что на ней не осталось живого места. Но сейчас мы не будем просто говорить о самых выдающихся таких случаях. Сейчас мы затронем лишь один из них: ту самую ошибку в процессоре Pentium. И не просто поговорим обо всём этом, а ещё и продемонстрируем её на реальной машине.
Итак, сегодня мы разберёмся, что же это был за баг в данном теперь уже ретро-процессоре. Узнаем, как он проявлялся, как его воспроизвести и, конечно же, увидим вживую, как всё это работало.
❯ Суть такова
Думаю, все вы не раз (думаю, даже тут) читали посты про самые сокрушительные ошибки в истории ЭВМ. Одной из них неизменно значится предмет нашей сегодняшней статьи: Intel Pentium и его ошибка деления. Суть её была довольно проста: на некоторых комбинациях чисел с плавающей запятой сопроцессор «пенька» при делении выдавал неверное значение. Этих самых комбинаций было не так уж и много, поэтому обнаружили проблему не сразу, однако после выяснения обстоятельств стало ясно, что пренебрегать дефектом нельзя.
Концом истории случился массовый отзыв дефектных чипов и многомиллионные убытки на их бесплатную замену. Работники Intel в назидание получили вот такой сувенир, где под слоем эпоксидки покоился кристалл того самого процессора. Хотя этот просчёт сам по себе никого не убил и ничего не уничтожил, удар по репутации был сокрушительным (хотя, конечно, и не фатальным).
И вот, прочитав не так давно об этом в очередной раз, я захотел показать самое интересное: то, как данная проблема вообще проявлялась и насколько реально было простому пользователю с ней столкнуться.
По традиции вставлю неизменную для таких статей картинку с тем самым процессором.
Это Intel Pentium A80501-66, некоторые спецификации (S-spec) которого имели эту ошибку. Конкретно на фото представлен SX837, у которого данный нюанс присутствует.
Далеко не все «пеньки» имеют данный дефект. Более того, даже у вышеупомянутой модели у некоторых экземпляров (например, SX950) данный баг отсутствует.
❯ Чуть-чуть про деление в Pentium
Вообще, данная тема также хорошо описана, а описание того, как устроено и как работает деление в микропроцессорах, и вовсе потянет на ещё одну статью, с пеньками никак не связанную.
Но кое-что всё-таки стоит упомянуть. Причиной данного глюка являлся переход на более быстрый алгоритм деления (SRT, названный по именам создателей — Sweeney, Robertson, Tocher) вместо shift-substract, использовавшегося в более старых сопроцессорах. Алгоритм этот использует в своей работе таблицу поиска на основе делимого и делителя. В Pentium использовалась реализация SRT-4 (Radix 4), где ячейки таблицы могли принимать одно из пяти значений: -2, -1, 0, +1 и +2. Это должно было значительно упростить вычисления, так как такое решение позволяет выбирать частное, ориентируясь только на старшие биты делимого и делителя, а скорректировать результат уже потом. Также данный алгоритм позволял обрабатывать несколько бит за один такт, что также повышало скорость. Именно в этой таблице поиска и была проблема: некоторые её ячейки были пусты.
Сама таблица была реализована в виде программируемой логической матрицы.
Такое решение было сделано из-за куда большей простоты по сравнению с ПЗУ. Поэтому под пустыми ячейками тут понимаются не оставшиеся незаписанными участки памяти, а ошибочно не предусмотренные в нужных местах транзисторы. На самом деле число таких битых участков в таблице было вовсе не 5, как говорят в большинстве источников, а 16, однако 11 из них не вызывали неверный результат. Это и была та самая аппаратная ошибка, приводившая к сбоям. Была ли причиной опечатка в программе, генерировавшей данную таблицу, или математическая ошибка разработчиков Intel, теперь уже неведомо.
Как оказалось, существует очень крутая серия постов, описывающая то, как реализована данная матрица в Pentium и где именно в ней кроются дефекты. Поэтому не буду повторяться в описаниях, как вообще это устроено, лучше сразу ознакомиться с оригиналом по ссылке.
Ну а мы переходим к опытам.
❯ Обзор оборудования
Чтобы воспроизвести данный баг, необходим компьютер и два процессора Pentium — обычный и дефектный.
За основу для ПК возьмём материнку A-Trend ATC-1000 на чипсете i430FX «Triton», как раз одном из первых чипсетов для процессоров Pentium. Само собой, поддержка нужных нам процессоров здесь тоже в наличии. Ещё круче было бы взять плату с Socket 4 или 5, но у меня такой пока нет.
PCI видеокарта SiS 6202, первая из попавшихся под руку карт.
Самый важный элемент машины — пенёк.
Это Pentium A80502-100 на 100 МГц. Позолоченный, керамический, приятно тяжёлый. Круче него из x86-процессоров, наверное, только Pentium Pro. Достался мне этот камень ещё лет десять назад, будучи вытащенным из процессорной платы от некоего брендового сервера на платформе Intel Xpress Server LX, кажется, HP NetServer LM. Сама плата (а, может, и материнка) оказалась в нерабочем состоянии, оживить её я в своё время не смог и в итоге продал весь этот комплект какому-то другому любителю ретроПК.
Смотрим, что там по характеристикам. FDIV bug, как и положено, в наличии.
Второй процессор, на этот раз намного более поздний и данной ошибки в себе не содержащий.
На всякий случай напомню, что у Pentium разных поколений разное напряжение питания, поэтому, перетыкая процессоры без перестановки перемычек на материнской плате, вы рискуете поджарить свой камень.
Также, само собой, понадобится и другая периферия: клавиатура с мышью, жёсткий диск (на который я уже успел накатить Windows 98), две планки памяти по 16 МБ, AT блок питания.
❯ Запускаем
Ну что же, собираем тестовый стенд и включаем БП.
А вот и наша Windows 98.
Также видны наши характеристики — 32 мегабайта ОЗУ и тот самый процессор Pentium. В данный момент тут вставлен самый обычный пень, данного недостатка лишённый.
❯ Как же это работает?
Перейдём непосредственно к проверке.
Открываем стандартный калькулятор Windows. Да-да, даже в этом простом приложении можно без труда воспроизвести данный глюк.
Теперь переключаем его в инженерный режим и вводим туда следующее выражение:
(4195835 / 3145727) * 3145727 — 4195835
Объяснить код с
На нормальном процессоре результатом его выполнения должен быть ноль.
Его-то мы и наблюдаем.
Выключаем компьютер. Время устанавливать золотой пень.
Загружаемся и снова пробуем вычислить данное выражение.
На этот раз мы получаем неверный ответ -256. Это и есть влияние данного бага.
Чуть менее наглядно его можно воспроизвести, если просто поделить между собой эти два числа и получить неверный ответ.
❯ Что же в итоге?
На самом деле далеко не все числа делились неправильно. Здесь представлена только одна из довольно немногочисленных пар, которые при делении давали неверный результат. Поэтому во многих задачах вероятность встретить его была довольно невелика. Впрочем, в этом-то и заключалась подлость такой ошибки, поскольку обнаружить такой «плавающий» дефект может быть очень непросто.
Итоги мы все хорошо знаем — Intel была вынуждена сдаться, а все, кому была важна точность вычислений, получили возможность бесплатно заменить дефектные процессоры. Сейчас экземпляр с таким багом представляет неплохую коллекционную ценность. Такие дела.
В детстве портовый кран представлялся мне исполинским жирафом. Длинные ноги его портала стояли на пирсе. А под ними сновали, невероятным образом ставшие крохотными, железнодорожные вагоны. Свою вытянутую желтую шею-стрелу, покрытую темными пятнами ферм, неспешно склонял он над раскрывшейся пастью трюма рыболовного судна-кашалота, отнимая его богатый улов. Жилы стальных канатов звенели от напряжения, настолько тяжела была его работа. Жираф издавал электрический вой, сражаясь за свою добычу.
И вот, спустя многие годы меня продолжают восхищать конструкции советских машин. Но вижу теперь я за ними не те фантазии из детства, а гений человеческой инженерной мысли. И в этой статье я предлагаю вам насладиться технической эстетикой архивных чертежей и конструкторских решений инженеров прошлого.
Герой нашей сегодняшней истории — кран портальный монтажный КПМ-32/16-10,5В-К, сошедший со стапелей завода подъёмно-транспортного оборудования им. С. М. Кирова в Ленинграде. Предназначен он для монтажных и сварочных работ в портах и на судостроительных предприятиях. При вылете стрелы от 8 до 17 метров он способен поднимать груз 32 т, а при максимальном вылете до 30 метров – 16 т. Дополнительно имеется вспомогательный подъём на 5 т. Передвигается наш двухсот тридцати трех тонный колосс по рельсовому пути со скоростью до 30 м/мин.
«Завод ПТО им. С.М. Кирова» – некогда ведущее предприятие машиностроительной отрасли СССР, был перепрофилирован в 1930 году из петербургских ремонтных мастерских при Варшавской железной дороге (не путать с Кировским заводом). Завод обеспечивал металлургические предприятия, атомные, гидро- и тепловые электростанции и другие объекты народного хозяйства высокопроизводительными грузоподъемными кранами тяжелых режимов работы. За время своего существования заводом было изготовлено более 15 000 единиц крановой продукции. А сегодня о нем напоминает только эмблема на одной из стальных оград вдоль набережной Обводного канала.
Создать такой кран в 1970-е годы было задачей, мягко говоря, нетривиальной. Никаких AutoCAD, Компаса, SolidWorks или MATLAB тогда не существовало. Зато были высокие нагрузки, невысокое качество прокатных материалов, жёсткие условия эксплуатации и… кульман с логарифмической линейкой. Плавность подъёма и точность позиционирования приходилось обеспечивать, не имея современных частотных приводов и даже электронных систем управления, — только хитроумная механика, релейные схемы управления с реостатными ступенями пуска.
На одном из сохранившихся сборочных чертежей крана в основной надписи выведены фамилии инженеров, работавших над ним: Михайлова, Николаева, Марутов, Мазовер, Сушанский. Эти строки, написанные тушью, напоминают, что подобные машины создавались не абстрактной «советской инженерной школой», а конкретными людьми, вложившими в них знания, мастерство и часть своей жизни. И сколько еще фамилий ушло вместе с той эпохой…
Чтобы понять масштаб инженерной задачи, достаточно взглянуть на конструкцию самого крана. КПМ-32/16 — это сложная пространственная система, в которой каждая деталь работает на устойчивость и безопасность. Высокий четырёхопорный портал позволяет крану перемещаться вдоль причала, оставляя под собой просвет для проезда техники. На портале установлена поворотная платформа с кабиной управления и машинной кабиной, в которой скрываются лебедки, а сверху — длинная коробчатая стрела, уравновешенная массивным противовесом. Вся кинематика — от изменения вылета до подъёма груза — приводится в движение электродвигателями с реостатными схемами пуска.
Механизм подъема монтажного крана состоит из механизма главного подъема грузоподъемностью 32 т и вспомогательного – грузоподъемностью 5 т.
Для того чтобы с ювелирной точностью ворочать огромными агрегатами в тесных трюмах строящихся судов, лебедку основного подъема оснастили двумя приводами. Главный привод мощностью 75 кВт обеспечивает скорость основного подъема 17 метров в минуту, а установочная скорость 0,5 метра в минуту обеспечивается дополнительным микропроводом мощностью 5 кВт. Сопряжение двух двигателей с редуктором лебедки обеспечивается планетарной муфтой за счет разной комбинации блокируемых тормозов. Лебедка вспомогательного подъема имеет скорость 37 метров в минуту и мощность 37 кВт.
За безопасность работы механизма подъема отвечают центробежные выключатели, установленные на электродвигателях, которые отключают их питание при двукратном увеличении оборотов при отказе тормозов.
Отличительной особенностью портального крана КПМ-32/16 является конструкция механизма изменения вылета. Его шарнирно-сочлененная укосина состоит из стрелы, выполненной в виде жесткой коробчатой семнадцатитонной балки, прямолинейного восьмитонного хобота и гибкой оттяжки. Гибкая оттяжка представляет собой два стальных каната, верхние концы которых через балансир присоединяются к заднему плечу хобота, а нижние — через натяжное устройство закрепляются на каркасе.
Соотношение длины элементов шарнирно-сочлененной укосины, положение блоков грузовых канатов и точек крепления этих механизмов на каркасе выбрано так, что при подъеме стрелы от минимального до максимального вылета концевой узел хобота перемещается вверх, а груз при этом движется по траектории, близкой к горизонтальной, отклонения в крайних положениях не превышают 0,8 метра.
Стрела с помощью стреловой тяги соединена с качающимся тридцатитонным коромыслом, на заднем плече которого находится подвижный бетонно-металлический противовес массой примерно 48 т. Конструкция позволяет обеспечить три точки равновесия системы без груза и две точки равновесия с номинальным грузом, который составляет от 32 т до 16 т в зависимости от положения вылета стрелы. Это значительно снижает нагрузку на тормозные механизмы и лебедку механизма изменения вылета.
Лебедка механизма изменения вылета установлена непосредственно на каркасе в отдельном защитном кожухе. Благодаря слаженной работе стрелы и противовеса, для изменения вылета достаточно электродвигателя мощностью всего 11 кВт. Чтобы движение начиналось плавно, в составе редуктора лебёдки установлен массивный маховик, сглаживающий рывки при пуске. Плавность остановки дополнительно обеспечивается наличием двух тормозных механизмов, которые включаются по очереди с задержкой чуть больше секунды, благодаря чему тяжёлая стрела не останавливается рывком.
Выходной вал редуктора лебедки сообщает возвратно-поступательное движение рейке механизма изменения вылета, представляющей собой сварную коробку с двумя зубчатыми рейками. По мере износа зубчатые рейки можно переставлять местами или разворачивать, тем самым увеличивая их срок службы. Крепление рейки к стреле выполнено через демпфер, снижающий динамические нагрузки при пуске и торможении. В совокупности эти чисто механические решения позволяют, без использования сложной электроники, добиться плавности движения стрелы, что так необходимо монтажному крану.
Для предохранения от перегрузки и опрокидывания крана в верхней части его каркаса установлен ограничитель грузового момента (ОГМ). Его механизм состоит из системы блоков и рычагов, сопряженных с канатами главного подъема. Результирующее усилие от веса груза, возникающее при огибании канатом подвижного блока на рычаге ОГМ происходит смещение системы рычагов, уравновешиваемой специальным грузом. Если момент от давления каната на блок превысит момент от веса регулировочного груза, то палец на рычаге через концевые выключатели разомкнет электрическую цепь механизма главного подъема и цепь увеличения вылета.
В зависимости от угла наклона стрелы угол обхвата блоков канатами меняется. За счет этого ОГМ обеспечивает постоянство предельно допустимой грузоподъемности на вылетах от 17 до 8 м и переменную грузоподъемность на вылетах от 30 до 17 м. По сути, перед нами огромный рычажный динамометр, знакомый нам со школьных уроков физики. В современных кранах эту функцию уже реализуют программно за счет датчика угла наклона стрелы и тензодатчика в системе блоков грузовых канатов, но здесь снова удалось обойтись без сложной электроники.
Вспомогательный подъём снабжён аналогичным ограничителем грузоподъёмности. Но его конструкция проще, чем у ОГМ, так как предельный момент не зависит от вылета стрелы, а допустимая грузоподъёмность вспомогательного подъёма не должна превышать 5 т во всех режимах.
Все описанные выше узлы — стрела с хоботом и коромысло с подвижным противовесом, закреплённые на силовом каркасе, а также лебёдки подъёма и изменения вылета — смонтированы на поворотной платформе и вместе образуют поворотную часть крана.
Еще одним крупным элементом поворотной части крана являются кабина управления и машинная кабина. В машинной кабине скрыты подъёмные лебёдки, редукторы и шкафы управления, а в кабине управления размещено рабочее место крановщика. Вы только представьте, какой вид может открываться перед оператором крана с высоты четырнадцати метров на морской порт... Если бы этот вид не сопровождался лязганьем металла, воем электрических машин и изнуряющим жаром от их работы.
Поворотная часть нашего портального крана имеет неограниченный угол поворота. Ее поддержание и центрирование осуществляется опорно-поворотным устройством. Два концентрических круговых швеллера диаметром почти 6 метров образуют сепаратор, в котором крепятся 36 цилиндрических катков. Только оцените его масштаб.
Механизм поворота имеет мощность 45 кВт. Передаточное отношение в нем в сочетании с большим диаметром опоры и высокой инертностью системы оказывает огромные нагрузки на механизмы редукторов. Даже если кажется, что поворотная часть уже остановилась, на деле может оказаться, что в редукторе еще продолжается вращение. Чтобы исключить повреждение редуктора, согласно инструкциям, перед тем как начать поворот в противоположенную сторону, необходимо удерживать поворотную часть на тормозе не менее трех секунд.
Обратите внимание на колонну в центре машинной кабины. Она скрывает в себе токосъемный узел из медных кольцевых токоприемников с подпружиненными графитовыми щетками, который обеспечивает электрическую связь портала с поворотной частью. Такая система проста, но удивительно надёжна. Несмотря на постоянные вибрации, пыль и морскую влажность, токосъёмники уверенно питают лебёдки, приводы и аппаратуру управления поворотной части на протяжении десятилетий.
Поворотная часть крана крепится на массивном сорока трех тонном портале, обеспечивая стабильное вращение верхней части крана под нагрузкой. Такое решение обеспечивает впечатляющую устойчивость машины. Жёсткие коробчатые ноги портала, широкая колея ходовых тележек, позволяющая свободно пропускать под собой два железнодорожных вагона, и массивная поворотная часть образуют пространственную конструкцию с большим запасом прочности. Она сохраняет устойчивость даже при значительных ветровых нагрузках и динамических рывках, а портал уверенно воспринимает наклоняющие моменты при работе стрелы на вылете до 30 метров.
Масса самого крана во много раз превышает массу поднимаемого груза, и это сделано не случайно. При полной массе конструкции в 233 тонны номинальный груз 32 т составляет всего около 14% от веса машины. Во время приёмочных испытаний кран кратковременно проверяют повышенной нагрузкой — 40 т (перегрузка 25%), что всё равно не превышает 18% его собственной массы. На этой фундаментальной устойчивости построена вся механика крана — от поворотного механизма до уравновешивающей системы стрелы.
Вся эта стальная махина способна передвигаться по рельсовому пути со скоростью до 30 метров в минуту на четырёх ходовых тележках, каждая из которых оснащена индивидуальным 11 кВт приводом. Такое решение позволяет порталу компенсировать неровности рельсового пути и исключает перекос конструкции при движении. При работе крана нагрузки на отдельные ходовые тележки могут превышать сотню тонн.
Портальный кран имеет большую подветренную площадь. Несмотря на его огромную массу, давление морского ветра может достигнуть такой величины, при которой кран легко сдвигается с места. Чтобы избежать подобных случаев, ходовые тележки оснащены противоугонными захватами для крепления к рельсам. А в кабине управления имеется сигнализация от анемометра, непрерывно измеряющего скорость ветра.
Общее питание крана осуществляется от сети переменного трехфазного тока через специальные штепсельные колонки, расположенные вдоль подкранового пути. Напряжение подается при помощи гибкого шлангового кабеля, укладываемого в кабельный барабан с грузовым приводом. Свободное вращение барабана при наматывании кабеля возможно благодаря кольцевому токоприемнику на его оси. Во время движения крана кабель разматывается с барабана, поднимая противовес через тросовый привод. Чтобы при переключении к следующей штепсельной колонке намотать кабель обратно на барабан, достаточно ослабить ленточный тормоз, удерживающий груз.
Механизмы крана приводятся в движение электродвигателями с фазным ротором типа MTB, MTF и MTH. Управление двигателями осуществляется с помощью командоконтроллеров, представляющих собой многопозиционные кулачковые механические переключатели. Оператор крана поворачивает рукоятку командоконтроллера в нужное положение, приводя в движение кулачковые шайбы. Гребни на кулачковых шайбах способны размыкать контактные группы, формируя определенные комбинации управляющих напряжений для силовых цепей.
Плавность пуска электродвигателей достигается за счет регулирования активного сопротивления в цепи их роторов. Концы трехфазной обмотки ротора через контактные кольца и щетки подключены к блоку пусковых и регулировочных сопротивлений. Эти сопротивления больше похожи на приличных размеров электрический обогреватель.
Включение добавочного сопротивления в цепь ротора на низкой скорости увеличивает пусковой момент и ограничивает пусковой ток. Постепенное шунтирование этого сопротивления по мере разгона позволяет регулировать частоту вращения. Добавляя сопротивление во время вращения, можно осуществлять торможение двигателя.
Платой за простоту такого способа управления является низкое КПД. Очень много энергии превращается в тепло регулировочными сопротивлениями.
Несмотря на возраст и архаичность технических решений, такие краны до сих пор можно встретить в портах и на верфях по всей нашей стране. Некоторые из них отправляются на металлолом, уступая дорогу «молодым» машинам, другие проходят глубокую модернизацию и получают вторую жизнь. Нашему крану повезло, можете не волноваться за него.
Портальный монтажный кран «Кировец» — стальной двухсоттридцатитрехтонный красавец, наследие былой высокоразвитой цивилизации. Громоздкий, шумный, мощный — он воплощает инженерную философию СССР, когда надёжность и функциональность достигались хитроумной механикой и простыми релейными схемами. Построенный в середине 70-х годов прошлого века, десятилетиями без устали трудится, прославляя своих великих создателей, он останется памятником ушедшей эпохи советской индустриальной мощи.
И, может быть, когда в следующий раз вы будете любоваться пейзажем портового города и среди множества мачт и грузовых стрел узнаете силуэт нашего старого знакомого — портального крана КПМ-32/16, помашите ему рукой, передавайте привет...
Идея проекта возникла этой весной, когда в наши края приезжал вице-президент Союза охраны птиц России Алексей Леонович Эбель, для учёта гуменника, мигрирующего через Алтайский край. Проблема в том, что численность этой группировки только оценочная, так как, в отличии от многих других водоплавающих, он не образует сколь-нибудь значимых скоплений ни во время миграции, ни на зимовках. Поэтому разброс мнений экспертов огромен: от 7-10 тысяч в Wetlands до нескольких сотен тысяч у некоторых отечественных.
Проблема в том, что гусь летит 5-6 недель и неравномерно (насколько неравномерно — это базовый вопрос). И ещё нерешённая задача: гусь может лететь ночами.
Алексей Леонович вычислил место, где гуменника во время весенней миграции учитывать оптимальнее всего. Эта точка оказалась недалеко от меня. За два полных плюс один неполный световых дня в коридоре 7-8 км он насчитал почти 15 000 пролётных особей, а мы с друзьями ему в этом немного помогали.
Понятно, что посчитать это вручную более-менее точно не получится, поэтому я сразу подумал о том, чтобы автоматизировать задачу.
Идея довольно простая. Клин гуменника (да и в принципе любой птицы) летит не очень быстро. Можно просто при помощи длиннофокусной камеры сканировать небо и пытаться найти птицу в кадре при помощи нейросети. Камеру можно закрепить на механизме наподобие турели, управлять моторами будет Arduino, а искать птиц и посылать команды на контроллер будет одноплатник (или подобная более мощная железка).
3D модель железки
Проект не очень сложный, я его отдал своему ученику. Большую часть он по-честному сам выполнил, я же просто немного помог со скриптами и 3D моделями. А также нашел нужные комплектующие.
❯ Подбор комплектующих
Первым делом надо было найти подходящую длиннофокусную камеру с интерфейсом USB и нормальным сенсором. Естественно, готовой камеры не нашлось. Но обнаружился обычный модуль USB камеры. И объектив под него на 50мм.
Сенсор 1/2.9", 4мп
50мм без ик фильтра
Как оказалось, я немного просчитался: на камере ИК-фильтр был установлен прямо на объективе. А новый объектив оказался совсем без него. Если будем пытаться использовать эту систему ночью — это плюс. Но вот днем совсем не то, чего бы я хотел)
Решение оказалось довольно простым и удачным — кронштейн объектива со встроенным переключаемым фильтром. Это позволит в дальнейшем переходить в ночной режим.
Ещё выяснилось, что 50мм многовато. Такое фокусное расстояние я рассчитывал под сенсор 1/2 дюйма (а такую камеру за недорого я не нашел). Под 1/2.9 идеально было бы 35мм, но и так вполне можно работать.
❯ Сборка
Дальше начался процесс сборки прототипа. Камера должна крутится почти на 360° по горизонтали и хотя бы 90° по вертикали. Для поворота по вертикали использовали сервопривод mg996, а по горизонтали — стандартный шаговый мотор из комплектов ардуино 28byj-48.
Первый прототип
Все это подключили к плате от контроллера zero (про него писал в статье Как я скрещивал Arduino и Lego), просто к ней было удобнее.
Тут возникла новая проблема. Эта «турель» начала накручивать на себя все провода :). Так как у шагового мотора нет нулевой точки (и вообще обратной связи), при любом переподключении турель начинала работать с текущей точки.
Решение этой проблемы я подсмотрел на своей камере видеонаблюдения.
При запуске Arduino она просто едет в одну точку на 360°, упирается в пластиковый штифт, пропускает какое-то неизвестное количество шагов (пока по мнению Arduino не доедет в точку 360°) и едет обратно на 180°.
Дальше упаковали всю электронику в пластиковый корпус.
❯ Прошивка
Прошивки получается две. Точнее одна прошивка для Arduino и один скрипт на python.
Алгоритм работы следующий. Камера движется по горизонтали от начального угла до конечного угла, с шагом примерно равным углу обзора камеры. На каждом шаге делается кадр (точнее 3 кадра, для надежности). И на этом кадре, при помощи библиотеки YOLO 8 ищутся птицы. Если птицы найдены, считается их количество и кадр сохраняется. Чтобы поиск птицы происходил побыстрее, использована модель yolov8s. Когда камера доходит до конечного угла по горизонтали, она делает один шаг по вертикали и все начинается сначала. Моторами шевелит Arduino nano, общение происходит по Serial порту.
То есть, если поставить камеру в чистом поле, она тупо будет крутиться и постепенно подниматься, сохраняя фотографии, если увидит птицу. Алгоритм ещё не доработанный, потому что пока не понятно, как камера будет ловить пролетающие стаи. Дальше надо будет придумать, как отличать одни стаи от других, чтобы не считать одних и тех же птиц несколько раз (Буду благодарен если подкинете пару идей). Прошивку, если кому-то будет интересно, загружу на github.
❯ Испытания
В качестве первых испытаний запустили эту установку просто на окне. Ограничили углы работы, чтобы лишнее не захватывалось. И даже несмотря на то, что эта система на это не рассчитана, она ловит обитающих по близости голубей :)
Голубей ловит хорошо
На готовом снимке нашел не всех, но это просто вопрос способа обнаружения. Можно просто темные силуэты искать
План был следующий: полноценно испытать эту систему во время осенней миграции. Нужно было поездить по тем же местам, что и весной. Но в конце августа я сначала неудачно заболел, а потом попал в больницу, и испытания не состоялись :(
Полноценные испытания видимо откладываются до весны, а пока будем дорабатывать прошивку и придумывать, на чем это запустить. Одноплатника для YOLO 8 категорически не хватает, а полноценный мини-ПК для такого проекта использовать дорого. Скорее всего, придется перейти на обнаружение птиц более простыми методами, и последующую обработку полученных данных на более производительном ПК.