vak: (Улыбка)
[personal profile] vak
Самодельный калькулятор МК-54 с наклейками на клавиши.

Самодельный калькулятор вполне дозрел. За отчетный период:

(1) Прошивка переделана на МК-61. Это ее немного замедлило, так как приходится моделировать три микросхемы ИК13 вместо двух. Впрочем можно собрать и МК-54, добавив флаг -DMK_54 в Makefile.

(2) Программа сохраняется в flash-памяти микроконтроллера, так что отключение питания ее не стирает.

(3) Наступила определенность с выбором микроконтроллера: PIC32MX220F032B. На microchipdirect такой стоит $2.74. Flash-память команд размером 32 кбайт используется на 91%. Память данных 8 кбайт вообще с избытком. Старшие модели MX230F064B и MX250F128B тоже годятся. Готовую прошивку можно взять здесь: mk61-mx220-12mhz.hex.

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

(4) Добавлен протокол общения с компьютером через USB. Тип устройства USB HID не требует установки драйвера под Windows. Идентификаторы устройства VID/PID = ca1c/0061 для МК-61 и ca1c/0054 для МК-54. Протокол очень простой: шлем устройству пакет в 64 байта, ожидаем 64 байта в ответ.

(5) Сделана утилита pmktool, которая умеет показывать текущий стек, регистры, программу, и загружать новую программу по USB. Содержит простой ассемблер и дизассемблер. Утилита в стиле command line, работает под Linux, Windows и Mac OS X. Готовый бинарник для Windows есть здесь: pmktool.exe. Исходники открытые: желающие могут добавить GUI.

(6) В качестве пробы ассемблера была адаптирована самая первая из известных игр для МК-61: "Колхоз", позднее известная как "Остров". Оригинал можно посмотреть на сайте Евгения Кузниченко, адаптированный текст здесь.

(7) Для оценки скорости вычислений был запущен классический тест "8 ферзей", взятый с сайта Сергея Тарасова [livejournal.com profile] arbinada. Адаптированный текст здесь. Время выполнения составило 1 час 19 минут 30 секунд. Известно, что на оригинальном МК-56 потребовалось три часа девять минут, то есть реплика в 2.4 раза быстрее.

(8) Написан тест, демонстрирующий забавную недокументированную особенность калькуляторов этого семейства: главные и побочные ветви выполнения. Поведение в точности соответствует ожидаемому. Спасибо [livejournal.com profile] 1500py470 за подсказку.

(9) Измерен ток потребления: от 29 до 35 мА, в зависимости от количества светящихся разрядов на индикаторе. При емкости батареек 2000мАч получится порядка 60 часов работы. Оригинальный МК-61 кушает 90 мА.

(10) Проект перенесен на отдельный сайт: https://github.com/sergev/mk-61. Там сложены все исходники и документация, а также принципиальная схема (PDF) и чертежи разведенной платы, готовые к производству (replica61.zip).

Предыдущие сообщения:
http://ramlamyammambam.livejournal.com/266692.html
http://ramlamyammambam.livejournal.com/266277.html

Date: 2014-01-19 07:31 (UTC)
From: [identity profile] raydac.livejournal.com
там смотрю схема оригинального мк, а твоя схема где?

Date: 2014-01-19 10:24 (UTC)
From: [identity profile] raydac.livejournal.com
а чем программишь PICи?

Date: 2014-01-19 09:47 (UTC)
From: [identity profile] potan.livejournal.com
Великолепно!
А что по деньгам получается?

Date: 2014-01-19 12:02 (UTC)
From: [identity profile] amarao-san.livejournal.com
А почему не github?

Date: 2014-01-20 05:34 (UTC)
From: [identity profile] klapaucy.livejournal.com
Приятно увидеть...

Date: 2014-01-21 12:58 (UTC)
From: [identity profile] vitasam.livejournal.com
А вот вопрос по USBHID - если его использовать в клммерческих устройствах, нужна ли лицензия? Вроде GPL там где-то пробегал

Date: 2014-02-20 21:26 (UTC)
From: [identity profile] webushka.livejournal.com
Хорошая штука была microchipdirect, Жалко она у нас больше недоступна, приходится на фарнелл ходить.

Date: 2014-02-20 22:03 (UTC)
From: [identity profile] webushka.livejournal.com
С доставкой в Россию у них не сложилось ровно одно - все заказы от частных лиц из отсюда - перехватывает эксклюзивный говнодистрибьютор из питера под названием Гамма (которая gamma.spb.ru). Который деньги за доставку к заказу суммирует, получает, но потом оказывается, что это доставка до их офиса. Дальше сами, ногами заходите и получайте.
Они мне так уже полтора года заказ с microchipdirect везут. Сначала для них было шоком, что я из другого города. Потом они таки преправили заказ в Москву и предлагали мне зайти к ним в представительство ровно на другом конце города и ещё полчаса на оленях от метро. И строго в рабочее время.
Я похихикал с идиотов и забил на покупки этим путём.

мк 61

Date: 2015-06-23 12:30 (UTC)
From: [identity profile] starsergei.livejournal.com
скажите как можно скачать прошивку если ни одна ссылка не работает, а также сайт mk-61.googlecode.com очень хочется собрать сей девайс.
From: [identity profile] starsergei.livejournal.com
а где там hex прошивку скачать можно
From: [identity profile] starsergei.livejournal.com
можно-ли найти схему мк-161 нового года выпуска с semico для самостоятельной сборки там он с экраном, а не светодиодной матрицей или можно к этому подключить экранчик.
From: [identity profile] starsergei.livejournal.com
какой лучше использовать USB программатор для прошивки MX220 у меня ноут DELL 3537
From: [identity profile] starsergei.livejournal.com
Спасибо но уже купил в магазине PicKIT3 за 2.5 т. руб. с диском MPLAB IDE подойдет-ли он для прошивания и теперь самый главный вопрос нигде не могу достать кнопок может дадите точную ссылку где их можно купить . я живу в Севастополе. и еще непонятно что такое ICSP на 6 выводов может это разъем для внутренних соединений. и еще купил индикаторы с общим анодом ARK SR810361G4 1246 подойдут-ли они тут я как думаю главное с общим анодом но теще может важен ток потребления и напряжение питания

мк 61

Date: 2015-08-17 21:58 (UTC)
From: [identity profile] starsergei.livejournal.com
Спасибо за ответы и еще вопросы. 1-е, что такое J4 разъем или микро USB? и если USB то для чего он нужен, можно-ли через него заносить программы для калькулятора с компа и на комп сохранять обратно результаты вычислений. 2-е, P1 Header2, что это контактная группа для подключения питания и какое у него входное напряжение 5в? или можно три пальчиковых аккумулятора поставить? 3-е. фото платы в pdf есть, а нет-ли в .lay для программы Sprint layout в готовом масштабе, что-бы сразу напечатать для травления. и еще привезли микросхему PIC32MX220F032B в чип исполнении очень маленькая квадратная 7на7 мм. можно-ли ее использовать и что на нее вводить в программаторе. вопрос по поводу экрана может кнему можно подключить какой-нибудь экран от нокии или что-то подобное чтобы уменьшить его (мк61) размер. скажите, а можно-ли сделать прошивку как у мк161 который на экране показывает изображение на этом PIC32MX220F032B.
Edited Date: 2015-08-17 22:05 (UTC)

мк-61

Date: 2015-09-30 00:36 (UTC)
From: [identity profile] starsergei.livejournal.com
Здравствуйте. спасибо за ответы на мои вопросы, Вы могли-бы прикрепить хотя-бы несколько фотографий спаянных плат с боку со стороны usb разъема и с других сторон, чтобы было немного понятнее. и еще можно использовать atmega , а то pic32mx220 с ножками не могу купить, нет доставки в Крым. скажите у Вас нет в планах написать прошивку БЗ-34 для этой схемы. вопрос по схеме: надо-ли ставить токограничительные резисторы на индикаторы, а то я читал на форумах, что они без них начинают потреблять большой ток и быстро выгорают. пока все, Спасибо.

мк 61

Date: 2015-10-03 21:07 (UTC)
From: [identity profile] starsergei.livejournal.com
Здравствуйте Сергей,спасибо за пояснения, пока буду разбираться, хотел-бы поставить АЛ304В индикаторы зеленые с общим катодом или можно заменить ваши индикаторы с общим анодом на индикаторы с общим катодом и что для этого нужно заменить в схеме может регист сдвига с другой буквой как для АЛ304В (общий катод) ставиться К514ИД1 , а для АЛ304Г (общий анод) ставиться дешифратор К514ИД2Ю. В общем мой вопрос заключается в том что у нас на рынке только индикаторы с общим катодом и как их подключить в Вашей схеме.

Re: мк 61

Date: 2015-10-03 22:03 (UTC)
From: [identity profile] starsergei.livejournal.com
и скажите пожалуйста что там обсуждалоь http://digitalinvitro.blogspot.ru/ может мк61 с дисплеем от телефона. спасибо

Re: мк 61

Date: 2015-10-14 18:43 (UTC)
From: [identity profile] starsergei.livejournal.com
Вас понял, спасибо но все-же, что тут обсуждалось http://4.bp.blogspot.com/_E9iC2oUZmVA/Sg7v_lNlg7I/AAAAAAAAAD8/MveZP7KwPdM/s400/IMG_1243.JPG , может они с МК61 вывели через внешний контроллер индикацию на жк экран Нокии. Да пока купил через инет оригинал МК61 очень рад, хотя по сравнению с эмулятором долго думает. возможно скоро пришлют две микросхемы в DIP PIC32MX220 и MX250 , но вот главная проблема будет видимо с кнопками, наверное придется делать отдельную плату под сменную клавиатуру. кстати есть вопрос к Вам, а если с линукса то какой программой залить в него прошивку. и скажите пожалуста почему все-таки Вы сразу не разрабатывали под жк экран наверное индикаторы с общим анодом было прще использовать. спасибо

Re: мк-61

Date: 2015-12-31 09:04 (UTC)
From: [identity profile] a-avl.livejournal.com
Про ATMeg-у забудьте. Я попробовал - один цикл требует порядка восьмидесяти миллионов тактов процессора (около трёх секунд на максимальной тактовой частоте). Единственное, если извратиться, и поставить 3 меги в кольцо, как на оригинальном калькуляторе :) , и то будет медленно.

Re: мк-61

Date: 2016-01-10 19:25 (UTC)
From: [identity profile] sergsei.livejournal.com
Здравствуйте. Всех с Новым годом и Рождеством. Наконец то привезли два микроконторллера pic220 и pic250 в dip с ножками. теперь могу их прошить,но остается проблема с индикаторами с общим анодом как на схеме купил, но они очень большие по габаритам, а те которые поменьше они с общим катодом и хотел-бы поставить цифры АЛ304В общий катод зеленые, как это реализовать?
Edited Date: 2016-01-10 19:29 (UTC)