Очень давно на Хабре мною была прочитана статья о механических клавиатурах, свичах их разновидностях и всём таком. Естественно мне захотелось причаститься к секте кнопкопоклонников и сделать свою также для себя же. Но вместе с тем я не хотел кидаться с места в карьер неизведанных знаний (да и куча других незавершённых проектов давила на совесть) и решил потренироваться сначала «на кошечках». Желание засело в мозгу, запрос был сформирован, отослан в ноосферу и осталось только ждать.

И вот однажды «кошечки» ко мне постучались сами…

Есть у меня друг лепший, Артём Кашканов, известный на Хабре aka radiolok, и звонит он мне как-то и говорит: «Клавиатуры надо?». Я ему ответил: «Надо!» не услышав второй части сообщения «Только они старые». И привёз он мне осенью 2019 года вот эти две кошечки, ой, клавиатуры. (Иных фотографий с той поры у меня, увы, нет):



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

Присмотревшись и разобрав немного, понял, что мне достались клавиатуры Robotron производства ГДР, родом из 1987 года, если верить маркировкам на платах. Производились эти клавиатуры для ПК Robotron 1715 тех лет и шли в комплекте поставки.

Вскрытие и омовение


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



Для любителей процесса вскрытия













Увы, но одна клавиатура было полна кнопками, но без плат. Вторая была без нескольких кнопок, но с платами. Две рабочих клавиатуры не получить при всём желании. И тогда определил и отсортировал все более-менее целые и не помятые части и из двух собрал одну комплектную. Впоследствии вторая клавиатура, точнее её корпус с кнопками, вернулась Кашканову.

После сортировки деталей окончательно разобрал все компоненты и отмыл в ванной под проточной водой. Грязи было не просто много, а очень много.


Чистка до


Чистка после

Сами кнопки были также разобраны и все «капсы» засунуты в мешочек и постираны на 60 градусов в стиральной машинке. Два раза.

Пока кнопки мылись, внимательно изучил платы клавиатуры и механику самих кнопок:



Электроника представлена двумя стеклотекстолитовыми (не гетинакс, а честный текстолит высокого качества!) платами: большую плату матрицы кнопок на которой напаяны два светодиода и разъём, и второй платы с процессором U880 (ГДР-овский клон Zilog Z80) со всей обвязкой в виде кварца, памяти с прошивкой, ОЗУ и прочей мелочью. Как выяснилось позже, обмен информации клавиатуры с ПК осуществлялся по UART с применением оригинального протокола. Но поскольку у меня не входило в планы реверсить протокол со схемой платы и городить конвертер чисто для этой клавиатуры в единичном экземпляре, то я без зазрений совести отдал плату управления обратно Кашканову в гараж.

Анатомия кнопочки


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





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


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



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





Сами колпачки с надписями сделаны очень трудоёмким, даже по нынешним временам, способом – методом двойного литья. При этом пластик недешёвый и ощущается очень приятно.



Украшаем


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


До покраски

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


После покраски

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

Освежили корпус, разобрались с электроникой, дело стало за малым, это добавить мозг — микроконтроллер.

Микроконтроллер


Пока корпус находился в покраске, решил определиться с микроконтроллером. Изучив документацию к прошивке QMK, нашёл для себя что она вполне может работать на платах Bluepill, сиречь на микроконтроллере stm32f103c8.

Что есть Bluepill – платы-модули аналогичные платам Arduino, но с МК stm32f103c8. Имеют всё на борту, чтобы купить, вставить и заработало. Не надо мучиться с питанием, разводкой кварцев, резисторов и прочей минимальной обвязкой. Всё это есть и по размерам не более микросхемы DIP40. Идеально, когда хочется результат побыстрее, или надо что-то отладить.

Предвосхищая вопросы «почему не AtMega32U4?» отвечаю – я заказал не ту версию Arduino Leonardo и на ней мне не хватило выводов для матрицы кнопок.



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

Просто фотки матрицы







Изучив документацию к клавиатуре, какую нашёл, я узнал что здесь используется матрица на 13 строк и 8 столбцов (ну или наоборот, кому как удобно), без защитных диодов от короткого замыкания на плате матрицы. То есть суммарно нужен 21 вывод под матрицу кнопок и 4 (3 сигнальных и один общий провод) для 3х светодиодов. После чего спаял все выводы матрицы проводом МГТФ к выводам Bluepill. Паял аккуратно прямо на контакты разъема, ибо не хотел вандалить вероятно рабочую плату с процессором. То куда и как запаял, выписал на отдельный листочек и сохранил, это потом меня очень выручило. При этом важно было только какой контакт Bluepill чем является – строкой или столбцом в матрице. Вызванивать же каждую кнопку выясняя её координату в матрице мне было откровенно влом и оставил это на потом. Запомните этот момент.

ВАЖНО! Почему это важно не перепутать что есть что – во избежание КЗ на ногах МК! Если напутать и указать пину со строкой подключенному к элементу столбца, то 100% вероятность того что при нажатии кнопки пин МК который выдаёт лог. 1 подаст напряжение питания на пин МК выдающий лог. 0, то есть подключен к общему проводу. Что, по сути, будет КЗ плюса и минуса питания по линии пинов МК. В лучшем случаев пин перестанет работать, в худшем – воссоединится с Омниссией.

Саму Bluepill приклеил двусторонним скотчем рядышком с разъёмом.





Забрал корпус из покраски, собрал всё воедино и положил на полочку, ибо «Самоизоляция 2020» закончилась. Даже не проверял ничего. Лежало и пылилось с лета 2020г.

Оживляем!


И вот настал январь 2023 года. Момент когда жена сказала: «или доделывай или выкидывай!». Принялся клавиатуру доделывать, дабы работала, а не валялась.

И первым делом в корпусе было сделано отверстие и приделан USB type B. Почему он? Потому что удобен при присоединении «вслепую» и родные провода данного типа по умолчанию длинные. Держак для гнезда скачал с thingiverse.com, само гнездо купил на алиэкспресс. Переходничок спаял руками.



Как гнездо и переходник были установлены внутри:



Согласен, выглядит отвратно, но «и так сойдёт!». А если серьёзно, то надо научиться кернить точно и не спешить при сверлении.

Прошивка QMK и балет на граблях.


Закончив с подготовкой железной части, начал думать над программной. Скачал QMK MSYS 2022 последней версии (на момент января 2023г.), установил на диск «С» по умолчанию, QMK же сама подтянула все исходники с гита.

Важно! Тщательно изучите возможность работы QMK с тем или иным микроконтроллером!

Дальше будет глубоко личный эмпирический опыт

После ознакомления с документацией и конфигурациями готовых плат решил делать свою конфигурацию с нуля с оглядкой на существующие проекты для bluepill. Собственно шаблон конфигурации получилось создать в одну команду, задав все настройки. У меня клавиатура названа robotron, на скриншотах название клавиатуры дано для примера. Также это имя клавиатуры является именем папки с файлами конфигурации.

mk new-keyboard 

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

создаём новый профиль









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

После чего в папке с созданной конфигурацией интересует по факту только два файла (у вас возможны другие пути):

c:\Users\sam\qmk_firmware\keyboards\robotron\info.json
c:\Users\sam\qmk_firmware\keyboards\robotron\keymaps\default\keymap.c

В файле «info.json» заполняется секция «matrix_pins», так как записал это отдельно на листочке в далёком 2020г., при запайке контактов матрицы. У меня получилось вот так:

"matrix_pins": {
"cols": ["B1","B0","A8","B4","B5","B6","B7","B8","B9","B12","B13","B14","B15"]
 "rows": ["A1", "A0","A2","A3","A4","A5","A6","A7"] 
}

Тринадцать столбцов и восемь строк. Главное чтобы строки были строками и столбцы столбцами. О вероятности КЗ писалось выше.

В том же файле, в секцию «layouts» добавил недостающие элементы матрицы, до тех-пор пока не стало равнозначное количество строк и столбцов по контактам.


Матрица изначальная


Матрица настроенная

Данная секция («layouts») при компиляции связывает пины в секции «matrix_pins» с массивом сигналов кнопок в файле keymap.c.

Что это за сигналы кнопок. Когда мы на клавиатуре нажимаем кнопку, например, «N» то при сканировании матрицы кнопок кнопка замыкает строку со столбцом. Зная координату кнопки в матрице МК по этому адресу отсылает код клавиши в операционную систему компьютера. Отсылается не координата кнопки в матрице (если клавиатура матричная), а именно МК клавиатуры «говорит» ПК что нажата/удерживается/отпущена кнопка «N» или любая другая с соответствующим адресом. Полный список кодов-клавиш вот.

Затем в файле keymap.c сделал вот такую матрицу сигналов кнопок для первичной проверки работы кнопок в матрице и проверки пайки.



Самое главное здесь, опять таки, равенство количества элементов в массиве количеству строк помноженных на количество столбов в секциях «layouts» и «matrix_pins» в файле «info.json». Массив одномерный и я просто набил 104 тестовых элемента. Если же это равенство будет нарушено – проект просто не скомпилируется.

Задал всё минимально необходимое для работы прошивки – какие выводы в микроконтроллере в info.json и матрицу сигналов в keymap.c после чего скомпилировал командой:

qmk compile -kb robotron -km default

получил бинарник c:\Users\sam\qmk_firmware\robotron_default.bin и залил его в контроллер программой STM32 ST-LINK Utility программатором ST-LINK (китайский клон).

Залил и не заработало. Вообще. ШТОШ

Загрузчик и первый успех


И вот тут мне очень помог чат, а конкретно пользователь sigprof (далее все последующие шаги выполнялись с его консультациями, за что ему бесконечная благодарность). Выяснилось, что бинарники прошивки не работают без загрузчика который запускается первым. Эти загрузчики уже есть готовые и ничего придумывать не надо. Скачал бинарник загрузчика и прошил его программатором. Главное для своего МК скачать.

После чего скачал и установил программу QMK Toolbox, специально созданную энтузиастами клавиатуростроения, подключил клавиатуру, увидел, что Toolbox определил загрузчик (жёлтая строка на скриншоте), указал файл прошивки и нажал кнопочку «Flash».



После чего выключил и включил клавиатуру тем самым запустив целевую прошивку. В Toolbox есть встроенный тестер нажатых клавиш (Tools -› KeyTester), что удобно.



Прожал все клавиши своего Роботрона – всё в Toolbox нажимается. Значит, нет ошибок пайки и дорожки платы матрицы целые.

Успех.

Немаловажный момент работы загрузчика – для его включения надо ресетить МК не отключая его от ПК. Можно конечно вывести пин RST на отдельную кнопку, но это не мой путь. Решил поискать готовые решения и ознакомился со списком кодов клавиш (см. выше) и нашёл служебные команды. И просто добавил служебный код клавиши QK_BOOT на место одной кнопки в файле keymap.c. Данная команда просто переключает МК на загрузчик. Удобно. Нажал, подождал, загрузил, переткнул шнур, работай.

Феерическая расстановка кнопочек. Распиновка матрицы


И вот тут в полный рост встала фундаментальная и неразрешимая для меня проблема лень, ой (зачёркнуто) — как связать матрицу кнопок с контактами контроллера не перебирая вот это вот всё вручную с прозвонкой?

Например, есть кнопка «Esc» на клавиатуре. В подавляющем случае клавиатур (и в случае Роботрона) она находится сверху слева и если считать справа-налево и сверху-вниз, то её координаты в матрице кнопок будут [0.0]. При напайке я нулевую строку и нулевой столбец платы матрицы напаял на пины А2 и В9 соответственно. Выяснил я это методом «прозвонки» тестером. Но у меня 13 столбцов на 8 строк и весьма неочевидная топология кнопок на плате матрицы. Перезванивать все 104 кнопки тестером вручную? Я конечно электроник, но зря я при этом программист?

В чём трудность подробнее:

Изначальная распиновка матрицы у меня была вот такая («info.json».), запомните её:

"cols": ["B1","B0","A8","B4","B5","B6","B7","B8","B9","B12","B13","B14","B15"],
"rows": ["A1", "A0","A2","A3","A4","A5","A6","A7"]

А теперь необходимо взять и расставить их в правильном порядке, чтобы при нажатии на кнопку «F1» получить собственно сигнал «KC_F1», а не «KC_DOWN», например.

Принялся искать готовые варианты решения задачи.

Как выяснилось, штатных средств в QMK для отладки сложной матрицы кнопок просто нет. Вообще. Если только руками, тестером, с бАмажечкой… (Омниссия, какой стыд). И поэтому воспользовался экспериментальными инструментами вышеупомянутого товарища Sigprof. Следуя его советам, первым делом была нарисована моя клавиатура в веб-редакторе клавиатур.



За пару часов нарисовал свою клавиатуру следуя трём советам:
  1. надписи (Legend) клавиш делал только в левом верхнем и левом нижнем углах (Left Top Legend, Left Bottom Legend);
  2. все ряды клавиш должны быть на одной, кратной единице, высоте;
  3. размер клавиш в высоту не должен быть более единицы.





После чего получил вот такую картинку:



Тут видно что на скриншоте я не следовал советам и уже в готовом варианте всё поправил. Другого скриншота, увы, нет.

С кеймапом в веб-редакторе определился, теперь надо связать кнопки с контактами микроконтроллера. Для этого скачал экспериментальный пинтестер товарища Sigprof, отсюда.

Лично я не компилировал, бинарник мне дал товарищ Sigprof, ибо так получилось быстрее.

Как работать с пинтестером: загрузил бинарник пинтестера в МК, отрывается блокнот. Нажимается кнопка «Esc», в текстовом редакторе печатается текст вида (Ф2бИ9) (это получилось у меня на русской раскладке). Если переключить раскладу на английскую и нажать на кнопку «Esc», то получается уже (A2,B9). Ничего не напоминает? Нажал на кнопку “;” и в блокноте появилась надпись (A2,B8), «1» -(A2,B8), “2” — (A2,A8). То есть прошивка пинтестера печатает пины МК каждой нажатой кнопки нативным текстом. Восхитительно.

Далее переключил раскладку на английскую, перешёл в веб-редактор раскладки и последовательно прожал в каждую клавишу своей клавиатуры Robotron в правом Center Legend, как на скриншоте.



И в итоге получается вот такая симпатичная картинка:



Далее нажал на вкладку «Raw Data» и весь текст в ней скопировал и сохранил в файл robotron.txt в корневой папке пользователя: c:\Users\sam\robotron.txt.



Затем, следуя совету Sigprof, я скачал два файла (converter.py и kle2json.py) отсюда,
и сохранил их с заменой вот по этим путям, предварительно сделав их бэкапы:

c:\Users\sam\qmk_firmware\lib\python\qmk\converter.py
c:\Users\sam\qmk_firmware\lib\python\qmk\cli\kle2json.py

В консоли QMK выполнил команду:

[sam@sam-note ~]$ qmk kle2json --via -m robotron.txt -f
Ψ Wrote out C:/Users/sam/info.json
Ψ Wrote out C:/Users/sam/via.json

Открываю файл «info.json» и вижу то ради чего затевалось всё вышеописанное:

"cols": ["B9", "B8", "A8", "B1", "B0", "B14", "B15", "B7", "B12", "B13", "B5", "B4", "B6"],
"rows": ["A2", "A6", "A7", "A1", "A3", "A0", "A5", "A4"]

Распиновочка матрицы. Автоматически, да. Сравните с изначальной выше. Почувствуйте разницу. И не руками!

Скопировал новую распиновку в свой «info.json» с заменой и закрыл.

Краткая суть всех выше перечисленных манипуляций: автоматически отлажена распиновка матрицы кнопок. Не руками.

Муторная расстановка кнопочек. Раскладка.


Последний этап самый простой, но самый муторный — вручную расставить все необходимые коды-клавиш по своему предпочтению. Используя кучу пробелов, сверяясь со списком кодов-клавиш сделал текстовую версию клавиатуры смотря на лежащую рядом клавиатуру Robotron с её jcuken раскладкой. С учётом того что конкретно должно происходить и на других клавишах.

Происходит это в файле keymap.c и заполняется массив [0] = LAYOUT();
У меня получилось вот так:





Прошу понять и простить – в ширину экрана весь текст не влез, поэтому два скриншота.

В тех случаях когда я не знал что должна делать кнопка я ставил «XXXXXXX», что по мануалу означало пустышку.

Йцукен и jcuken


Теперь надо разобраться с раскладками йцукен и jcuken, ибо хочется антуражности и соответствии железу. В этом плане всё просто. QMK поддерживает так называемы «слои» — когда все кнопки или группа кнопок могут иметь более одного код-сигнала. На данном этапе замачиваться не стал и сделал вот так:





Прошу понять и простить – в ширину экрана весь текст не влез поэтому два скриншота.
Просто задал ещё один слой [1] = LAYOUT(); где уже расписал стандартную qwerty раскладку. Если печатать на слое 1 ней и языке ввода русском, то будет печататься русский язык. Переключить слой на 0 и переключить язык ввода на английский – будет работать jcuken раскладка.

Смена слоёв происходит по служебному коду «TG(1)», причём этот код-клавиши должен быть одинаков для на всех слоях. Более подробно про слои вы можете почитать тут.

Ну и напоследок для удобства перепрошивки поставил команду QK_BOOT на место красной кнопки Robotron.

РАБОТАЕТ!


Поправил пины. Написал раскладу. Скомпилировал:

qmk compile -kb robotron -km default

Бинарный файл прошивки залил программатором, ибо прошивка пинтестера не запускала загрузчик. Переткнул. Работает. Видео доказательство:


Выводы


Какой вывод? Есть спасённая с помойки клавиатура Robotron. Помытая, обновлённая, реанимированная и способная работать с современными ПК и ноутбуками. Разбираясь с её программной частью, познакомился c экосистемой QMK, в принципе и сообществом кнопкопоклонников в частности. Получил море удовольствия и опыт, который может пригодится при построении с нуля новой клавиатуры мечты. Тропинка проложена.

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

Хотелось бы данной статьёй оказать некоторое воздействие на сообщество QMK дабы оно включило инструменты отладки матриц неизвестной топологии в стандартную комплектацию QMK.

Но один минус за Roboton имеется – печатать на ней это пытка для пальцев. Только сильный духом (и глухой) техножрец Омниссии способен на ней полноценно работать. Я попытался напечатать этот пост на ней… но не вышло.

Благодарности

.
  • Артёму Кашканову (aka radiolok ) за то что привёз клавиатуру и советы;
  • Товарищу t.me/discoordination за саму клавиатуру;
  • Сергею Власову (aka t.me/sigprof ) за инструмент отладки матрицы и ценные советы;
  • Сергею Долину (aka dlinyj ) за то, что однажды сказал мне «дядь, пили пост!» и я начал пилить этот пост;
  • Моей жене Регине.


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


  1. Camel
    03.02.2023 11:58
    +5

    Ретро всегда в моде.


    1. tigreavecdesailes
      03.02.2023 12:20
      +15

      Это не ретро, это DIY в древнем корпусе. Никогда не понимал такого удовольствия - выкинуть рабочую начинку и вставить ардуину в ретро-корпус.
      Было бы круто всё-таки отреверсить или вставить ПЗУ со своей прошивкой и забрать данные со штатного разъёма.


      1. dlinyj
        03.02.2023 12:31
        +9

        Было бы круто всё-таки отреверсить или вставить ПЗУ со своей прошивкой и забрать данные со штатного разъёма.

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


        1. tigreavecdesailes
          03.02.2023 13:34
          +23

          Я не любитель ретро в быту чтобы этим заниматься. Но когда я открыл статью, которая называется "как восстановить клавиатуру 1987г", я как профессиональный программист, как любитель-электронщик и как давнишний владелец компа на Z80 предвкушал многое прочитав первых два абзаца.
          А оказалось просто моем корпус и используем готовую прошивку эмулятора клавы для STM32.

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


          1. dlinyj
            03.02.2023 13:37

            В конкретном случае клавиатура восстановлена, покрашена, и заменён в ней контроллер. Как по мне, вполне соответствует ожиданиям.


        1. MaFrance351
          03.02.2023 13:38
          +2

          Сейчас, наверное, авторов статей вроде этих немедленно закидают тапками за такое издевательство над старым железом:

          igorkov.org/psion-led
          smartzone.ru/gadgets/netbooks/5607-modding-asus-eee-pc-701-4g.html


          1. Arcanum7 Автор
            03.02.2023 14:23
            +2

            Сейчас нет. А вот через лет 10-20 очень даже.


      1. Didimus
        04.02.2023 10:01

        Лучше всего собрать свою плату расширения для подключения к usb, к.м. к.


        1. Arcanum7 Автор
          05.02.2023 11:52

          Если цель стоит именно реставрация то это оправдывает создание ещё одного устройства. Тут изначально другая парадигма - потрогать qmk и в качестве испытуемого выступила эта клавиатура. На секундочку, клавиатура с помойки.


  1. dlinyj
    03.02.2023 12:10
    +2

    Пост вышел просто отличный! Работа проделана колоссальная, спасибо за развёрнутую статью о всех своих мытарствах, прочитал с удовольствием!


    1. Arcanum7 Автор
      03.02.2023 12:35
      +1

      Спасибо!


  1. shtirlitsus
    03.02.2023 12:55
    +3

    за МГТФ отдельный +


    1. Arcanum7 Автор
      03.02.2023 13:02
      +2

      Спасибо! Вообще у меня несколько десятков метров МГТФ разного сечения.


      1. hw_store
        03.02.2023 19:22
        +1

        а как вы его зачищаете?


        1. K_Chicago
          04.02.2023 00:53

          О! Отличный провод но зачистка это хуже зубной боли...

          Тефлон во-первых не плавится, а во-вторых, он намотан на жилу...
          Советский гений, сумрачный и беспощадный....

          При некотором навыке и удаче зачищаю аккуратно прихватывая хорошими бокорезами кончик провода и делая рывок, изоляция длиной 1-2 мм обычно аккуратно срывается...но это не точно.


        1. sintech
          04.02.2023 04:16
          +2

          Я зачищаю подобным инструментом. Главное подобрать правильный диаметр отверстия, чтобы он не цеплял жилы но снимал изоляцию.


          1. hw_store
            04.02.2023 17:51

            У меня есть такой инструмент, конечно лучше кусачек, но все равно он адекватно не зачищает - изоляция очень тонкая чтобы нормально захватить


        1. Arcanum7 Автор
          04.02.2023 04:25

          Были у меня дешманские кусачки родом из Китая. Надфилем в губках проточил несколько выемок. Теперь есть специальные кусачки для МГТФ.


        1. kvazimoda24
          04.02.2023 10:37

          Говорят, можно зажигалкой сжигать тефлон. Сам не пробовал.


          1. Arcanum7 Автор
            04.02.2023 18:40

            Можно. Не нужно. Идёт прямой переход в фазу газа с разложением на не очень полезные вещества.


  1. Int_13h
    03.02.2023 13:13
    +3

    О, долгожданная давно обещанная статья. И, конечно, завсегдатаи теплого лампового чатика :)


    1. Arcanum7 Автор
      03.02.2023 13:18

      Пожалуйста! Приятного чтения!


    1. Arcanum7 Автор
      04.02.2023 23:48

      А напомните, где обещал статью?


  1. MaFrance351
    03.02.2023 13:24
    +2

    Отличный пост вышел.
    Интересно, кстати, что не понравилось в ощущениях от печати? Жестковата она?

    Ну и как же тут не кинуть вот эту статью:
    www.sannata.org/konkurs/2010/kt1016.shtml


    1. Arcanum7 Автор
      03.02.2023 14:29
      +2

      >>Отличный пост вышел.

      Спасибо!

      Ощущение? Очень непривычно. Ладно к шуму привыкнуть можно даже, потом, получать от этого некоторое тонкое удовольствие. Но все современные клавиатуры похожи друг на друга очень сильно в плане хода клавиш и формы колпачков. Тут же ход клавиши семь миллиметров и форма колпачка ни на что не похожа на то с чем я в основном работаю - дешманские клавы ноута дома и рабочего компа. Надо очень долго привыкать и почти с нуля. Мозг и пальцы сопротивляются.


    1. Arcanum7 Автор
      03.02.2023 14:29
      +2

      О, статья шикарная, спасибо!


  1. Gudd-Head
    03.02.2023 14:39

    Что, по сути, будет КЗ плюса и минуса питания по линии пинов МК. В лучшем случаев

    ... выходной драйвер порта МК просто ограничит ток.

    И "случаев" поправьте.


    1. Arcanum7 Автор
      03.02.2023 14:43
      +3

      Увы, не все мк могут в ограничение тока на выводе. Если бы это было повсеместно, то при подключении светодиода, самого простого, не требовало бы токоограничивающего резисторадля "поморгать светодиодиком".

      "Случаев" поправлю чуток позже, спасибо.


      1. Kudesnick33
        03.02.2023 18:06

        Не совсем так. Ток на выводе МК ограничивается внутренними схемами МК для того, чтобы не сжечь выходной транзистор GPIO ножки. А токоограничительный резистор защищает светодиод, который сгорит гораздо раньше, чем МК начнет ограничивать ток. Плюс защита по току на МК частенько едина на весь порт. По этому, если она начинает работать, выходное напряжение просаживается не на одной а на 8-16 выходах одновременно.

        Обычно, если есть опасность подобного КЗ из-за неверной программной конфигурации вовремя отладки, на выходы напаивают резисторы порядка 100 ом. Это и от КЗ убережет и даст право на ошибку в программе или монтаже без фатальных последствий.


        1. tigreavecdesailes
          04.02.2023 00:58

          Читаю это как "затворный резистор не нужен" ) Это поведение каких-то определённых МК? Каких именно?


          1. Kudesnick33
            04.02.2023 06:59
            +1

            Если вы про управление внешним полевиком, то не понимаю, откуда такой вывод. Бросок тока, при попытке прокачать затвор напрямую, просадит целый порт, а если еще питалово криво разведено, то весь контроллер ресетнётся. Было дело, пытался в исследовательских целях пожечь pic18. Коротил ножки по всякому - хоть бы хны. Доводил напряжение питания до 10 в (как в анекдоте про бензопилу и лом, ага). Не горит, хоть и греется, как черт. Что характерно, при повышении напряжения питания пропорционально увеличивался максимальный выходной ток. Если там не стабилизатор тока по питанию стоит, то как минимум, выходное сопротивление цепей питания порта вполне себе ненулевое и пожечь МК не даст. Другие МК так не мучал, не доводилось, да и не надеюсь на подобную живучесть, но коротыши GPIO при неверной конфигурации ловить доводилось, ни разу по этой причине МК не пожог. МК разные - ST (stm32), Infineon (mb96), Microchip (pic16/18), Freescale (KE04), китайцы всякие. За Atmel/ардуинки говорить не стану, юзал нечасто, накосячить не успел.


      1. VT100
        03.02.2023 21:40
        +1

        Я бы сказал, что "все не могут".


        1. K_Chicago
          04.02.2023 22:42
          +1

          "не только лишь все!"


  1. vvbob
    03.02.2023 15:56
    +3

    В школе были компы, клоны 286, какие-то Искры, если не путаю, давно это было.. Помню как классно ощущались при печати те клавиатуры, тоже вроед бы jcuken были.

    Загрузка DOS с пятидюймовой дискеты, Turbo Pascal, тогда все это ощущалась как магия какая-то, до сих пор в памяти запах тех компов, мечтал что когда-либо у меня свой такой-же будет.. Знал бы тогда, какой комп у меня будет сейчас :)))


    1. wormball
      03.02.2023 16:16

      > Знал бы тогда, какой комп у меня будет сейчас

      То сразу расхотелось бы на этом убожестве работать, ведь надо всего ничего 30 лет подождать?


      1. vvbob
        03.02.2023 17:33

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


        1. Arcanum7 Автор
          03.02.2023 17:48
          +1

          Тут дело не что им делать интересно, а что с ним самим делать интересно. Другой подход, а сколько удовольствия!


          1. vvbob
            03.02.2023 19:40

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

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


  1. tormozedison
    03.02.2023 16:44
    +3

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

    1. Старое железо не удалять из корпуса, а просто отключить.

    2. Не проделывать в корпусе новые отверстия.

    Но даже так, как сейчас - отличная конструкция.

    Восстанавливать ли ЛКП - на любителя, приемлю оба варианта. Сейчас даже в музеях часто восстанавливают.


    1. Arcanum7 Автор
      03.02.2023 17:05

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


      1. tormozedison
        03.02.2023 21:41
        +1

        А, точно, пропустил, что вы вернули родное железо, это хорошо, возможно, ему предстоит стать контроллером каким-нибудь.


  1. Steve_Key
    03.02.2023 17:22
    +2

    Я бы ещё ма-а-аленькие SMD-диодики впаял бы в разрезы дорожек около каждой клавиши, для возможности нажатия более одной кнопки одновременно. При аккуратном исполнении оно выглядело бы «как тут и было».


    1. Arcanum7 Автор
      03.02.2023 17:27

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


  1. grvelvet
    03.02.2023 18:30
    +1

    попытался напечатать этот пост на ней… но не вышло.

    настолько тугие кнопки?


    1. tormozedison
      03.02.2023 21:46
      +1

      Самые тугие - на ранних БК, и это особенно обидно потому что средства работы с текстами там ну очень развитые (Vortex, например). Начиная с какого-то года начали применять менее тугие кнопки.


    1. Arcanum7 Автор
      04.02.2023 04:29
      -1

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


  1. johnfound
    03.02.2023 18:40

    замыкает собой контактные площадки из меди на самом текстолите.

    Судя по фотографиям, контакты позолочены и очень даже вероятно с подслоем палладия.


    1. Arcanum7 Автор
      04.02.2023 04:14

      Отнюдь, обычная медь.


      1. johnfound
        04.02.2023 12:07
        +2

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


        1. Arcanum7 Автор
          04.02.2023 13:20

          Наждачка 0, ватка, спирт.


          1. johnfound
            04.02.2023 13:22

            Ну, тогда норм. Там уже обычная медь.


  1. tormozedison
    03.02.2023 21:44

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


    1. Arcanum7 Автор
      04.02.2023 04:15

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


  1. Didimus
    04.02.2023 10:07

    1. Почему в наших нии всегда такая грязная техника была? Про туалеты и говорить нечего (тут отсылка к Чертоку).

    2. Сейчас полно отличной химии для детейлинга, можно было помыть, а не красить

    3. Кнопки тугие, но зато лишний раз подумаешь, прежде чем печатать


  1. Javian
    04.02.2023 12:08

    off Вопрос для знатоков античных клавиатур. От чего была клавиатура на фото ниже?
    В клавиатуру был встроен самодельный ZX Spectrum с памятью К565РУ7 и дисководом.

    фото


    1. hw_store
      04.02.2023 17:57

      О, помню такие наклейки. Кажется, они были сделаны методом фотоплёнкографии ;)


    1. Arcanum7 Автор
      04.02.2023 22:53

      1. Javian
        05.02.2023 14:39

        Это просто наклейка. Невысокого качества изготовления.


    1. mambet
      06.02.2023 00:10

      Вот здесь упоминается клавиатура, которая по изгибам корпуса и прорезям под кнопки абсолютно идентична приведённой на вашей фотографии. Если суммировать информацию по приведённой ссылке: ЕС 8003 / отделяемая клавиатура от модификации терминала МС6102.


  1. Morrigan1488
    06.02.2023 07:28

    Адептус Механикус одобряют вашу работу по возрождению в новом обличии древнего Духа Машины.