MK61S, производство

Обсуждения: печатная плата, детали, 3Д корпус для печати и т.п.

Плата

Forums: 

Завел тему

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

Спасибо! Пока еще рано скидываться, наверное, мы не знаем, рабочая ли плата. Я заказал 5 плат, попробую собрать один экземпляр. Если плата без ошибок, то можно уже заказывать партию.

Но если есть желающие, то можно заказать плату себе, нужные файлы лежат в Гитлаб репозитории:

  1. Гербер файлы платы версии 1.10
  2. Список компонентов

Я заказал на jlcpcb.com
Себе я оставлю 4 платы на эксперименты, если кто захочет, могу выслать одну.

Приехали печатные платы, версия 1.10
PCB v1.10
PCB v1.10

Отлично, дело движется!

Сообщники, кроме меня есть желающие поучаствовать в первой опытной партии и получить свой экземпляр?

Ретрокомпьютер-бейдж для участников конференции Hackaday в Белграде: сбывшиеся мечты прошлого
https://habr.com/ru/post/371525/

Ретрокомпьютер-бейдж

Да, подход к конечному изделию похож, даже по части эмулятора.

https://github.com/search?l=C&q=hi-tech&type=Repositories

(во вкладке для Си языка)

P.S. Поиск по CP/M на old-dos.ru http://old-dos.ru/index.php?page=search&string=cp%2Fm
Всё таки CP/M была очень популярной системой до DOS.

Много подобных, вот с лиспом https://www.technoblogy.com/show?2AEE

Уважаемый Vitasam любезно выслал мне экземпляр платы, который пролежал почти месяц!

Наконец-то приехали ко мне почти все детальки, и настала пора собирать аппарат. Пока спаял плату без процессора (это важно), цифрового потенциометра, разъёмов и ЖКИ - первая задача проверить систему питания. Штатные дроссели на 22мкГн из первоначальной схемы не подходят по току, поэтому я подобрал более мощные, которые смогли влезть на штатное посадочное место. Дорожки по силовым линиям тонковаты, но преобразователи на удивление запустились стабильно!

Напряжение канала 3,3В, питание процессора:

3V3

Напряжение канала 5В, питание ЖКИ:

5V

Коммутатор питания на TPS22929D также работает нормально и при нажатии на кнопку SW3 подаёт питание на преобразователи. Питание на схему подавалось от двух батареек АА, но в обход диодной сборки Шоттки BAT54S - почему-то банально не тянут диоды даже небольшой потребляемый ток! Даже запайка второй диодной сборки Шоттки сверху вторым этажом не помогла... Осциллограф не выявил заметных шумов и пульсаций по линиям питания.

Можно смело запаивать микроконтроллер, но скорее всего понадобится паяльная станция :)

Напоследок фотки! Верхняя сторона:

верх

Нижняя сторона:

низ

И наконец, участок платы с преобразователями:

питалово

Пока всё идёт хорошо, но я настоятельно порекомендую запаивать процессор в последнюю очередь, особенно в связи с мировым дефицитом :)

Ураа!!!
Радует, что питание завелось. Жду Шоткки с алиэкспресс, надеюсь, скоро питание распаяю.
Диодную сборку BAT54S в следующей ревизии платы надо будет заменить, наверное. Добавлю в список исправлений для следующей платы.

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

гигантский скачок для всего человечества сообшества любителей ПМК! :)
С нетерпением жду впаянного экрана.

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

Увы, но радоваться пока рано - видимо у микроконтроллера работают не все контакты на выход. Впаял ЖКИ - ничего не кажет, регулировка контрастности результатов не дала. Закоротил кнопку сброса, чтобы процессор не запускался и подал на индикатор внешние сигналы с интэковской платки - индикатор завёлся:
2004
ХЗ, может брак, а может как-то перегрел процессор при пайке... Вот это засада! Придётся заказывать ещё одну микросхему :(
Кстати, я ещё забыл заказать цифровой потенциометр для регулировки контрастности - пока временно подключил вывод регулировки контрастности ЖКИ на общий провод через резистор 0805 сопротивлением 1,5кОм.

Жалко, похоже что чип сдох.

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

Да, бывает :) Но это нонсенс.

Лопнул корпус с одной стороны с торца (вот оно что щёкнуло при пайке!) и отвалились как раз те ноги, который шли к индикатору. Под микроскопом это всё отлично видно, но ХЗ как сфотографировать.

Поддел скальпелем и сразу сбоку корпус выкрошился - ХЗ почему, похоже обычный брак :( Фотографировал вебкамерой после выкрашивания части корпуса
-

На нижней крышке располагантся кристалл, который разварен к контактным площадкам, когда корпус разошёлся разварка соответственно накрылась :(

Я уже думаю, может, чёрную таблетку найти и с неё сбомбить микросхему :)

А какая температура фена была? И фен с этой стороны, где выкрошилось, дул?

Что-то около 350 градусов. Феном как раз дул сверху на крышку микросхемы. Корпус лопнул во время лужения контактов мини-паяльником - и то, после успешного лужения трёх сторон. Со стороны где выкрошилось пшикнуло каким-то дымом, но я при первом осмотре не нашёл ничего подозрительного! А сегодня решил порассматривать микросхему под микроскопом и удивился!

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

Пришли две "чёрные таблетки" под бомбление :) Перепаял процессор на плату МК61S, прошил 0.6.11, заставка ЕСТЬ!
МК61S
Система питания запускается даже от одной пальчиковой батарейки, но мощности явно не хватает - напряжение на батарейке просаживается до вольта а на выходе преобразователей напряжения вместо 3,3В и 5В достигают всего 2,5В и 4,1В.

Отлично! Можно сказать, половина функционала работает!

Корпус 3D-печатать надо будет под две АА-батарейки.

Проходит ли тест "короткие билеты"?

R[@8!0@0@1+@2+@3-@4-@5-F<19@71+!7F@03G]R1!1!2!3!4!50!710!8G

Работает ли выключение питания? (послать # из терминала)

(А, у тебя, вроде, не распаян еще USB коннектор)

Тест "короткие билеты":

MK61S; FW version 0.6.11
MK61S:[ 0,           ]
R[@8!0@0@1+@2+@3-@4-@5-F<19@71+!7F@03G]R1!1!2!3!4!50!710!8G
Code:R (0x52); x:4, y:9
MK61S:[ 0,           ]

Code:[ (0x5B); x:0, y:0
MK61S:[          , 00]

Code:@ (0x40); x:8, y:9
MK61S:[          , 00]

Code:8 (0x38); x:0, y:0
MK61S:[ 68       , 01]

Code:! (0x21); x:6, y:9
MK61S:[ 68       , 01]

Code:0 (0x30); x:0, y:0
MK61S:[ 40 68    , 02]

Code:@ (0x40); x:8, y:9
MK61S:[ 40 68    , 02]

Code:0 (0x30); x:0, y:0
MK61S:[ 60 40 68 , 03]

Code:@ (0x40); x:8, y:9
MK61S:[ 60 40 68 , 03]

Code:1 (0x31); x:0, y:0
MK61S:[ 61 60 40 , 04]

Code:+ (0x2B); x:2, y:8
MK61S:[ 10 61 60 , 05]

Code:@ (0x40); x:8, y:9
MK61S:[ 10 61 60 , 05]

Code:2 (0x32); x:0, y:0
MK61S:[ 62 10 61 , 06]

Code:+ (0x2B); x:2, y:8
MK61S:[ 10 62 10 , 07]

Code:@ (0x40); x:8, y:9
MK61S:[ 10 62 10 , 07]

Code:3 (0x33); x:0, y:0
MK61S:[ 63 10 62 , 08]

Code:- (0x2D); x:3, y:8
MK61S:[ 11 63 10 , 09]

Code:@ (0x40); x:8, y:9
MK61S:[ 11 63 10 , 09]

Code:4 (0x34); x:0, y:0
MK61S:[ 64 11 63 , 10]

Code:- (0x2D); x:3, y:8
MK61S:[ 11 64 11 , 11]

Code:@ (0x40); x:8, y:9
MK61S:[ 11 64 11 , 11]

Code:5 (0x35); x:0, y:0
MK61S:[ 65 11 64 , 12]

Code:- (0x2D); x:3, y:8
MK61S:[ 11 65 11 , 13]

Code:F (0x46); x:11, y:9
MK61S:[ 11 65 11 , 13]

Code:< (0x3C); x:9, y:9
MK61S:[ 5E 11 65 , 14]

Code:1 (0x31); x:0, y:0
MK61S:[ 5E 11 65 , 14]

Code:9 (0x39); x:0, y:0
MK61S:[ 19 5E 11 , 15]

Code:@ (0x40); x:8, y:9
MK61S:[ 19 5E 11 , 15]

Code:7 (0x37); x:0, y:0
MK61S:[ 67 19 5E , 16]

Code:1 (0x31); x:0, y:0
MK61S:[ 01 67 19 , 17]

Code:+ (0x2B); x:2, y:8
MK61S:[ 10 01 67 , 18]

Code:! (0x21); x:6, y:9
MK61S:[ 10 01 67 , 18]

Code:7 (0x37); x:0, y:0
MK61S:[ 47 10 01 , 19]

Code:F (0x46); x:11, y:9
MK61S:[ 47 10 01 , 19]

Code:@ (0x40); x:8, y:9
MK61S:[ 5r 47 10 , 20]

Code:0 (0x30); x:0, y:0
MK61S:[ 5r 47 10 , 20]

Code:3 (0x33); x:0, y:0
MK61S:[ 03 5r 47 , 21]

Code:G (0x47); x:2, y:9
MK61S:[ 50 03 5r , 22]

Code:] (0x5D); x:0, y:0
MK61S:[ 0,           ]

Code:R (0x52); x:4, y:9
MK61S:[ 0,           ]

Code:1 (0x31); x:0, y:0
MK61S:[ 1,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 1,           ]

Code:1 (0x31); x:0, y:0
MK61S:[ 1,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 1,           ]

Code:2 (0x32); x:0, y:0
MK61S:[ 1,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 1,           ]

Code:3 (0x33); x:0, y:0
MK61S:[ 1,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 1,           ]

Code:4 (0x34); x:0, y:0
MK61S:[ 1,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 1,           ]

Code:5 (0x35); x:0, y:0
MK61S:[ 1,           ]

Code:0 (0x30); x:0, y:0
MK61S:[ 0,           ]

Code:! (0x21); x:6, y:9
MK61S:[ 0,           ]

Code:7 (0x37); x:0, y:0
MK61S:[ 0,           ]

Code:1 (0x31); x:0, y:0
MK61S:[ 1,           ]

Code:0 (0x30); x:0, y:0
MK61S:[ 10,          ]

Code:! (0x21); x:6, y:9
MK61S:[ 10,          ]

Code:8 (0x38); x:0, y:0
MK61S:[ 10,          ]

Code:G (0x47); x:2, y:9
RUN...
+MK61S:[ 1,           ]
MK61S:[ 1,           ]

Выключение через символ # также работает.

Основной функционал работает. Осталось написать код клавиатуры.

Мои детали еще не приехали, даже питание еще не спаял

С Али приехали Шоттки диоды, начинаю собирать питание

Ура, питание завелось с первого раза - нажатие кнопки Power работает:
Power OK

Дальнейшая сборка стопорится из-да задержек оставшихся деталей.

Цифровая регулировка контраста дисплея работает:

Регулировка контраста работает!

Регулировка заработала с первого раза :)
Сейчас заказал недостающие детали с Amazon.de и с Али, если всё придет, то деталей хватит на обе платы.

Вторая МК61S ожила:
MK61S жива

Паять stm32 моей древней паяльной станцией оказалось еще той жестью. Заказал станцию получше.
Дальнейшие шаги:
1. Ожидание оставшихся деталей для сборки платы уважаемому Арбинаде
2. Дописывание поддержки клавиатуры в прошивку.

В плате версии 1.10 обнаружился очень неприятный баг - столбец клавиатуры KBD_9 оказался неразведен вообще.

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

Баг с KBD_9 исправлябельный, хотя паяться очень нетривиально:
фикс
фикс 1

Классика жанра - патч @fixme :)

Хотя хардварные баги сложнее править, чем софтовые.

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

Это позволило продолжить сборку MK61S #3. Питание ожило: нажатие на кнопку "ВКЛ" делает 5 и 3.3 вольта:
МК61S #3
МК61S #3
МК61S #3
МК61S #3

UPDATE: цифровой контраст впаянного экрана тоже заработал. Следущие шаги - исправления ошибок разводки и впайка микроконтроллера.