Мк 52. МК-52: обзор советского программируемого калькулятора и его восстановление

Что представлял собой программируемый калькулятор МК-52. Какие проблемы возникают при его восстановлении. Как производился ремонт основных узлов МК-52. На что стоит обратить внимание при работе с этим калькулятором.

История создания и особенности калькулятора МК-52

Электроника МК-52 — это программируемый микрокалькулятор, разработанный в СССР в 1985 году. Он относится к семейству советских инженерных калькуляторов серии «Электроника МК».

Основные характеристики МК-52:

  • Использование обратной польской записи (RPN) для ввода выражений
  • Возможность программирования до 104 команд
  • Наличие ППЗУ объемом 512 команд
  • Возможность подключения внешних блоков расширения с готовыми программами
  • 15 регистров памяти
  • 8-разрядный светодиодный дисплей

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


Проблемы, возникающие при восстановлении МК-52

При попытке восстановить старый калькулятор МК-52 можно столкнуться со следующими типичными проблемами:

  1. Тусклый или нечитаемый дисплей
  2. Неработающая или плохо работающая клавиатура
  3. Сбои при выполнении программ
  4. Отсутствие индикации десятичной точки
  5. Механические повреждения корпуса и разъемов

Большинство этих проблем связано с естественным старением электронных компонентов и резиновых элементов калькулятора. Однако при правильном подходе многие неисправности можно устранить.

Процесс восстановления калькулятора МК-52

Восстановление старого МК-52 обычно включает следующие этапы:

  1. Разборка корпуса и оценка состояния внутренних компонентов
  2. Проверка и при необходимости замена электролитических конденсаторов
  3. Очистка контактов и плат от окислов
  4. Восстановление работоспособности клавиатуры
  5. Ремонт или замена дисплея
  6. Проверка работы процессора и памяти
  7. Сборка калькулятора и финальное тестирование

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


Ремонт модуля питания МК-52

Одной из самых частых причин неработоспособности МК-52 является выход из строя модуля питания. При ремонте стоит обратить внимание на следующие моменты:

  • Проверка и замена всех электролитических конденсаторов в модуле
  • Осмотр керамических конденсаторов на предмет трещин
  • Проверка работоспособности стабилизаторов напряжения
  • Очистка контактов разъема модуля питания

После ремонта модуля питания часто решается проблема с тусклым дисплеем и сбоями в работе процессора.

Восстановление работоспособности клавиатуры МК-52

Клавиатура — еще один проблемный узел старых калькуляторов. Для ее восстановления можно выполнить следующие действия:

  • Разборка модуля клавиатуры
  • Очистка контактных площадок от окислов
  • Замена амортизирующего материала под клавишами
  • Проверка целостности шлейфа клавиатуры
  • Сборка и тестирование всех клавиш

В качестве нового амортизирующего материала можно использовать современные силиконовые прокладки или тонкий поролон.

Особенности работы с энергонезависимой памятью МК-52

МК-52 имеет встроенную энергонезависимую память (EEPROM) объемом 512 байт. Это позволяет сохранять программы и данные даже при выключении питания. При работе с этой памятью важно учитывать следующее:


  • Для записи в EEPROM используются специальные команды
  • Память разбита на сегменты по 9 байт
  • Перед записью нового сегмента его нужно очистить
  • Количество циклов перезаписи EEPROM ограничено

Правильное использование энергонезависимой памяти значительно расширяет возможности калькулятора МК-52 по сравнению с предыдущими моделями.

Подключение внешних модулей расширения к МК-52

Одной из уникальных особенностей МК-52 является возможность подключения внешних модулей с готовыми программами. Наиболее распространенными были модули BRP-3 с математическими программами и BRP-4 с играми и прикладными программами.

При работе с модулями расширения следует помнить:

  • Модуль подключается к специальному разъему на корпусе калькулятора
  • Для загрузки программы из модуля используются специальные команды
  • Некоторые программы требуют дополнительной настройки после загрузки
  • При использовании модуля расширения снижается быстродействие калькулятора

Модули расширения значительно расширяли функциональность МК-52, позволяя решать сложные математические и инженерные задачи.



Электроника МК-52. Часть 1. Восстановление / Хабр

После пяти лет в полке

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

Пару слов про сам МК-52

Электроника MK-52 — программируемый микрокалькулятор с обратной польской записью, вышедший в 1985 году и позволяющий писать программы длиной до 104 команд, с ППЗУ до 512 команд. А также позволяющий подключать блоки расширения с готовыми программами. Если вы хотите подробней узнать про строение и архитектуру калькулятора, рекомендую эту статью.

Состояние

Крышка разъёма явно видела дни и получше

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

Если присмотреться, можно увидеть нолик


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

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

Сначала я подумал, что калькулятор считает неправильно: при попытке перемножить два числа ничего не получалось, но почти сразу я вспомнил, что калькулятор рассчитан на ввод обратной польской нотации.
То есть, последовательность нажатия клавиш будет выглядеть не как: 2 + 2
А как: 2 2 +
К моему удивлению, все простые арифметические операции работали корректно, вот только точка так и не отображалась.

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

Кусочек теста из инструкции

И того имеем:

  1. Проблемы с выполнением программ

  2. Отсутствие индикации точки

  3. Очень тусклые символы на дисплее

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

  5. Отломанную защёлку

Ремонт

Что же, сказано — сделано! Разбираю сей девайс.

Ремонт логики:
Электроника МК-52 с откинутой крышкой. Если приглядеться, на этом фото можно найти две неисправности

Итак, моё знакомство со старой техникой (а особенно, советской), говорит, что первым делом желательно проверить электролиты. А учитывая, что на плате преобразования напряжения так называемый «флажок» (керамический конденсатор) треснул пополам, то этот случай не стал исключением.

Модуль преобразования напряженияМодуль с обратной стороны

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

Выпаянные емкостиТреснутый флажок

На некоторых емкостях не было указанно номиналов, но на устройство есть полноценные схемы.

Оригинальная схема МК-52

Так что это не создало проблем. А вот что создало, так это отсутствие под рукой нормального паяльника. Старые платы не любят перегрев и так и норовят потерять дорожку. Благо все обошлось, и дорожки остались «в целом целы».

Модуль после восстановления

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

Работает — не трогай

И перестаю копать плату.
Первые три проблемы решены.

Ремонт клавиатуры

Что ж, раз калькулятор стал работать, пришло время заняться клавиатурой. Разбираем корпус дальше.

Идея с поролоном интересная, но проверку временем не прошла

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

Модуль клавиатуры с другой стороны

Я решил не мудрить и заменил его на кусок чуть большей толщины.

Кусок толщиной чуть больше 0.5 ммХорошо видны колпачки

В целом, это помогло, но не могу сказать, что это идеальный вариант. Однако ввод стал намного приятнее. Было бы интересно потрогать этот калькулятор в год выхода, чтобы понять, как вообще это ощущалось, но, к сожалению, конкретно эта модель вышла за 4 года до моего рождения. А больше такой схемы я нигде не наблюдал.
Четвертая проблема решена.

Ремонт заглушки

С отломанной заглушкой было проще всего.

Сломанная защелка с отломанным штифтом

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

Заглушка с вклеенной скрепкой В собранном виде

Получилось, как по мне, неплохо.
Пятая проблема решена.

Промежуточный итог

Все проблемы, которые меня беспокоили, исправлены. Все тесты калькулятор проходит. Я запустил пару программ. Полет отличный. На этом первая часть завершается. В следующей части, если она будет, я планирую сделать эмуляцию блока расширения.

HELLO

Полезные ссылки

  • https://habr.com/ru/post/467501/

  • https://habr.com/ru/post/505612/ (Пускай здесь речь о МК-61, но многое относится и к МК-52)

  • https://sfrolov.livejournal.com/165302.html

Мина MK 52 — Тупые бомбы

Серия Mine Mk 50 включает MK 52, 1000-фунтовую авиационную донную мину, содержащую заряд взрывчатого вещества в 625 фунтов HBX-1. MK 52 — мина воздействия, специально разработанная для срабатывания по сигнатурам подводных лодок, хотя она также одинаково эффективна против сигнатур большинства надводных кораблей.

Помимо использования идентичных корпусов мин, все модификации Mk 52 имеют съемные приборные стойки, что позволяет осуществлять сборку проволоки, испытание и хранение «готовых» комплектов огневых элементов удаленно от корпуса мины со взрывчатым веществом. и от других взрывчатых веществ. Кроме того, кабели имеют цветовую маркировку и формуются, а компоненты зажигания имеют цветовую маркировку и являются модульными. Это не только делает сборку практически надежной, но благодаря такой легкой взаимозаменяемости это также означает, что каждая мина Mk 52 может быть собрана с любым из нескольких модов, обеспечивая любую желаемую комбинацию срабатывания типа воздействия. Эти модульные компоненты такие же, как и в минах Mk 55.

      Мод. 1
      использует акустический ударно-спусковой механизм.
      Мод. 2
      использует магнитный ударно-спусковой механизм, эффективный более большой выбор глубины посадки.
      Мод. 3
      использует комбинацию давления и магнитного возгорания. механизмы.
      Мод. 4
      (не используется).
      Мод. 5
      использует акустические и магнитные механизмы стрельбы.
      Мод. 6
      сочетает в себе все три ударно-спусковых механизма: акустическое, давление и магнитное, что затрудняет мести.
      Мод. 11
      использует либо магнитное, либо магнитно-сейсмическое обжиг. механизм.
      Мод. 12
      использует магнитный ударно-спусковой механизм.
      Мод. 13
      использует нажимной магнитный ударно-спусковой механизм.

Технические характеристики
Вес: фунтов
Длина: дюймов
Диаметр: дюймов
Руководство: Нет
Управление: Нет
Автопилот: Нет
Силовая установка: Нет
Боеголовка:
Предохранитель:
Самолет

Ссылки

  • Управление жизненным циклом CSS Mine Warfare
  • Текущие шахты США

НОВОСТИ ПИСЬМО

Присоединяйтесь к списку рассылки GlobalSecurity. org
Введите свой адрес электронной почты

Elektronika MK-61/52

Спецификации

RPN Calculator с
9006 9076 RPN.
  • 15 регистров (0-9 и а-е)
  • дисплей 8+2 флуоресцентных
  • 105 шагов программы
  • оперативная память очищается при выключении…
  • точность ограничена тем, что отображается
  • интересных функций
    • случайные числа
    • бинарные операции
    • Конверсии HMS
  • Хорошие возможности программирования
    • петли
    • 4 условных теста
    • косвенная адресация
    • подпрограмм

    Прецизионные тесты

    92 СЛЕДУЮЩИЙ ОСТАНАВЛИВАТЬСЯ Результат: 1.6889469

    Точное значение равно 2!

    МК-Компилятор

    Я написал небольшой компилятор для Windows, который:
    • позволяет писать программы на языке высокого уровня
    • вычисляет для вас адреса для прыжков
    • выводит список с опкодами и ключом для программы
    • можно связать с эмулятором Калькуляторы 3000.
    Скачать MK-Compiler V1.02 (апрель 2014)

    NEW : повторно создать исходный файл из файла программы C3.
    NEW : воссоздание исходного файла из серии шестнадцатеричных кодов.

    Вот пример с методом Ньютона для решения уравнений f(x)=0
    Исходный файл на входе для MK-Compiler
    Вывод файла LST компилятором
    ; Метод НЬЮТОНА для уравнений
    
    ; решает f (x) = 0
    ; функция запрограммирована на метке f(x), она получает x в стеке
    ; он может использовать весь стек и регистры 4-9 и b-d
    
    ; установить точность в регистр "e" (например, 0,01)
    ; в регистр X поместите первое предположение решения и RUN.
    
    ; он возвращает решение.
    ; вы можете начать снова с новыми параметрами (точность или начальный x)
    
    ; использование: сохранить ошибку в регистре e (пример 0.01 STO e)
    ; перейти к первому шагу ( B/0)
    ; введите первое значение x и RUN.
    #c3 1 ; автоматическое сохранение в файл C3 #reg e ошибка #рег а х #reg 0 дельта #reg 1 час #reg 2 fxh #reg 3 эффект ДЕЛАТЬ =х $1e-4 = дельта ПОВТОРИТЬ @х @дельта * ЕСЛИ(х=0)ТО @дельта КОНЕЦ =ч ; h=0,0001x или 0,0001, если x=0 @x + GOSUB f(x) =fxh ; вычисляет f(x+h) @x GOSUB f(x) =fx ; вычисляет f(x) @ч * @fx @fxh - / ; вычисляет dx = hf(x)/(f(x)-f(x+h)) = -f(x)/f'(x) ВХОДИТЬ сумма х ; новый х = х + дх ху абс @ошибка - ; абс(дх) - ошибка ДО (x
      Шаг | код | Ключи
    ------------------------
      000 | 4А | СТО а
      001 | 01 | 1
      002 | 0С | ЕЕ
      003 | 04 | 4
      004 | 0Б | /-/
      005 | 40 | СТО 0
      006 | 6А | РКЛ а
      007 | 60 | РКЛ 0
      008 | 12 | *
      009 | 5Э | Ф Х=0
      010 | 12 | 1 2
      011 | 60 | РКЛ 0
      012 | 41 | СТО 1
      013 | 6А | РКЛ а
      014 | 10 | +
      015 | 53 | ГОСУБ
      016 | 42 | 4 2
      017 | 42 | СТО 2
      018 | 6А | РКЛ а
      019| 53 | ГОСУБ
      020 | 42 | 4 2
      021 | 43 | СТО 3
      022 | 61 | РКЛ 1
      023 | 12 | *
      024 | 63 | РКЛ 3
      025 | 62 | РКЛ 2
      026 | 11 | -
      027 | 13 | /
      028 | 0Э | ВХОДИТЬ
      029 | 6А | РКЛ а
      030 | 10 | +
      031 | 4А | СТО а
      032 | 14 | XY
      033 | 31 | К АБС
      034 | 6Э | РКЛ е
      035 | 11 | -
      036 | 5С | Ф Х 

    Калькуляторы 3000

    Евгений Троицкий — автор великого Калькулятора 3000. Этот эмулятор дает вам доступ к большому количеству русских калькуляторов (их 20!). Среди них МК-61 и усиленный МК-52.
    Связь с МК-компилятором

    При компиляции программы вы можете использовать директиву #C3, чтобы получить файл C3, загружаемый Калькуляторами 3000. Вам просто нужно загрузить его с опцией «Открыть с текущим калькулятором».

    MK-Compiler создает файл C3, который выглядит следующим образом:

    групповой документ
    конец
    MachineFileName = "MK61.cfg"
    групповая машина
    группа ProgramMemory
    Размер = 105
    Данные = 4A010C040B406A60125E1260416A105342426A5342436112636211130E
    6A104A14316E115C066A5051005200000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000
    конец
    конец
     

    Усиленный МК-52

    Это усиленная модель, похожая на МК-61, но со следующим:
    • Один EEPROM 512 байт (1024 полубайта) для сохранения регистров и программ
    • Один порт ПЗУ модуля для использования предварительно запрограммированного материала
    Один плохой момент, этот калькулятор кажется на 15% медленнее , чем МК-61. ..

    Прочитайте эту очень подробную статью об использовании Eprom, большое спасибо Alexandre Dumont за перевод с русского на английский !

    Давайте сохраним небольшую программу.
    Пример факториала: Скомпилированный файл: Очистка памяти: Сохранение: Загрузка:
     #reg 0 n
    
    ДЕЛАТЬ
      =n
      1
      ДЛЯ п
        @n *
      СЛЕДУЮЩИЙ
      ОСТАНАВЛИВАТЬСЯ
    ПЕТЛЯ 
     Шаг | код | Ключи
    ------------------------
      000 | 40 | СТО 0
      001 | 01 | 1
      002 | 60 | РКЛ 0
      003 | 12 | *
      004 | 5Д | Ф L0
      005 | 02 | 0 2
      006 | 50 | ОСТАНАВЛИВАТЬСЯ
      007 | 51 | ИДТИ К
      008 | 00 | 0 0
    ------------------------
    
      Рег | Имя
    ------------------------
       0 | Н
    ------------------------ 
    Программа использует 9 шагов, поэтому вы должны подготовить 9 свободных байтов в EEPROM, скажем, с нулевого адреса. Чтобы сделать это, поставьте переключатель в положение CLEAR.
     1000009 А↑ ↑↓ 

    Адрес определяется следующим образом: 1sssbb с
    • 1 необходимая цифра, но незначащая
    • ssss начало полубайта в памяти
    • bb количество соответствующих байтов
    Клавиша A↑ устанавливает адрес, а клавиша ↑↓ выполняет операцию в соответствии с переключателем (CLEAR в данном примере)
    Затем введите программу! Не делайте этого раньше, так как функция CLEAR стирает как EEPROM, так и RAM!

    После ввода, чтобы сохранить его, установите переключатели на SAVE и PROGRAM и:

     1000009 А↑ ↑↓ 

    В очередной раз ваша программа исчезла, функция СОХРАНИТЬ очищает ОЗУ…
    Чтобы ваша программа вернулась в оперативную память даже после отключения питания, установите переключатель в положение LOAD (*) , другой находится в ПРОГРАММЕ, и:
     1000009 А↑ ↑↓ 

    На этот раз дело вернулось в оперативную память!

    Следующий адрес. ..

    Давайте представим, что вы хотите сохранить эту 9-байтовую факториальную программу в EEPROM. Если затем у вас есть вторая 20-байтовая программа для сохранения, новый адрес будет таким:

     1001820 А↑ ↑↓ 

    Объяснение: 9 байтов занимают 18 полубайтов (полубайтов!), и затем, из этого 18-го кусочка, вы хотите использовать 20 байтов.

    (*) Выключите модуль ПЗУ, если он у вас есть, иначе копирование будет производиться из ПЗУ, а не из EEPROM!

    Модуль ПЗУ BRP-3

    Это модуль, содержащий 60 математических программ , которые вы подключаете к MK-52 . Среди них вы найдете:
    • Решатель уравнений
    • Интеграция
    • Дифференциальные уравнения
    • Матрица
    • Комплексные номера
    Я перевел руководство на французский язык (кроме пяти программ, помеченных как НЕПОЛНЫЙ ).

    Скачать руководство на французском языке для модуля ПЗУ BRP-3

    Каждая программа имеет свой собственный адрес ПЗУ , который необходимо знать, чтобы скопировать его из ПЗУ в ОЗУ .

    Давайте воспользуемся небольшой программой.
    Синхронные уравнения Ввод данных Результаты
    Программа 5 банка 1 решает эту систему:
     а.х + б.у = с
    а'.х + б'.у = с' 
    Включите модуль, установите банк на 1, переключатели в положение LOAD и PROGRAM, затем введите:
     1047635 А↑ ↑↓ 
    Этот адрес взят из руководства пользователя, программа теперь готова в оперативной памяти.
    Внесите данные в регистры:
    • a, b и c в регистры 7, 8 и 9
    • a’, b’ и c’ в регистры 4, 5 и 6
    Расположение цифр на клавиатуре оправдывает выбор регистров.
    Установите указатель программы на ноль с помощью В/О и запустите его с помощью С/П.

    При возврате на дисплей выводится значение y, с помощью ↔ вы получаете значение x (также в регистрах 1 и 2), определитель находится в регистре 3.

    Если на дисплее отображается ЕГГОГ, то определитель равен нулю и невозможно найти уникальное решение.

    Модуль ПЗУ BRP-4 (игры)

    Это модуль ПЗУ, содержащий 54 программы , которые можно подключить к MK-52 . Среди них вы найдете:
    • Здоровье/Антропометрия/Питание
    • Игры
    • Финансовые инструменты
    • Метрические преобразования
    Я перевел руководство на французский язык (кроме девяти программ, помеченных как INCOMPLET ).

    Загрузить руководство на французском языке для модуля ПЗУ BRP-4

    Каждая программа определяется адресом ПЗУ , который вы найдете в руководстве по загрузке из ПЗУ в ОЗУ .

    Пример с треугольными крестиками-ноликами.
    В этой игре вы должны выровнять три точки, используя эту схему:
    Включите модуль, выберите банк 2 , переключатели в положениях ЗАГРУЗКА и ПРОГРАММА, затем введите:
     1176498 А↑ ↑↓ 
    Адрес взят из мануала, теперь можно пользоваться программой.

    Инициализируйте его с помощью 77 в регистре Rd и запустите его с помощью в/О, затем С/П

    Игры возвращают первую позицию, занятую компьютером: он занимает 1!

    Теперь я набираю нужную позицию, скажем, 8, а затем С/П.

    Игра продолжается таким образом. Если отображается 77, компьютер выиграл, и, набрав ↔, вы увидите его последнюю занятую позицию.

    Проверка скорости

    Я хотел знать, будет ли позиция в памяти программы изменяет время выполнения или нет.
    Программа Результаты Заключение
    ШАГ КЛЮЧ
     п +
     n+1 ПЕРЕЙТИ
     п+2 п 
    Стек содержит 1-1-1-0, поэтому программа считает по одному, начиная с нуля. Программа работает 60 секунд, потом останавливается и мне остается только читать текущее значение счетчика.

    Тест выполнен на шагах 0, 8, 16 и т. д…

    МК-61 на 15% быстрее , чем МК-52.

    Номер шага оказывает значительное влияние на скорость выполнения . Когда на шаге 100 скорость только 73% по сравнению с тем, что на нулевом шаге.

    Шаг от 0 до 31 дает максимальную скорость .

    Я хотел знать, будет ли позиция в памяти регистра изменяет время выполнения или нет.
    Программа Результаты Заключение
    Справочник программ и программ
    КЛЮЧ ШАГА КЛЮЧ ШАГА
     00 RCL i 00 НЕТ
     01 СТО i 01 НОП
     02 л3 02 л3
     03 00 03 00
     04 СТОП 04 СТОП 
    Регистр i содержит PI, регистр 3 содержит 50 для цикла 1-50. Я написал эталонную программу, заменив RCL/STO двумя NOP (без операции). Время выполнения — это разница между двумя версиями.

    Тест выполнен с использованием регистров i=0, 4, 8, 12.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *