Шахматный компьютер "Стратег" Минского завода вычислительной техники, год выпуска 1988

Сегодня мне посчастливилось стать обладателем, без сомнения, уникальных электронных шахмат "Стратег" разработки Минского завода вычислительной техники (Беларусь). Начало выпуска этих шахмат можно установить достаточно достоверно по заводскому номеру (у моего экземпляра он 11) и даты изготовления печатных плат - это март 1988 года.

Шахматы представляют собой специализированный компьютер на базе микропроцессора КР580ВМ80А и полноразмерную интерактивную деревянную доску с набором магнитных шахматных фигур для проведения игровой партии. Размер доски внушительный - 45х47х9 см. Масса шахматного комплекта около 7,5 кг.

Шахматный компьютер "Стратег" (общий вид).
 
Шахматный компьютер "Стратег".

Шахматный компьютер "Стратег" (крупный план).

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


На борту - 16Кб ПЗУ, 4 КБ ОЗУ и типичный набор микросхем микропроцессорного комплекта серии КР580. 

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

Шахматный компьютер "Стратег" (плата микропроцессора).

Шахматный компьютер "Стратег" (плата управления).

Конструкция доски - это матрица герконов и светодиодов под контролем параллельного интерфейса периферийных устройств К580ИК55. Печатная плата матрицы размещена в добротном деревянном корпусе.

Шахматный компьютер "Стратег"
(устройство доски, общий вид).

Шахматный компьютер "Стратег"
(плата параллельного интерфейса для управления доской).

Шахматный компьютер "Стратег"
(матрица светодиодов и герконов шахматной доски).
Шахматный компьютер "Стратег"
(клетки поля шахматной доски).

Питание конструкции осуществляется от специального блока питания с выходными напряжениями GND, +5В, -5В, +12В. Подключение к доске выполняется с помощью разъёма МРН4-1 (розетка). Подключение может выполняться как к доске, так и к самому компьютеру. Разъём совместим.

Шахматный компьютер "Стратег"
(питание).

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

Шахматный компьютер "Стратег"
(преобразователь напряжения на макетной плате).

Корпус для преобразователя и корпус разъёма МРН4-1 изготовлены методом 3D печати. Подключение преобразователя - к минимум одноамперному зарядному устройству от телефона. 

Шахматный компьютер "Стратег"
(преобразователь напряжения в корпусе).

Шахматный компьютер "Стратег"
(преобразователь напряжения в корпусе).

Все эти и другие дополнительные материалы по шахматному компьютеру "Стратег" одним фалом по этой ссылке

Telegram чат бот ПроКиношка

ПроКиношка

Простенький Telegram бот который тягает краткое описание фильмов с сайта «Кинопоиск». Можно быстро найти фильм и отправить ссылку товарищу. Присоединяйтесь «ПроКиношка».

Эмулятор микрокомпьютера "Электроника МК85" со встроенным компилятором Ассемблер (PDP11)

Эмулятор микрокомпьютера "Электроника МК85" с командной строкой и встроенной возможностью компиляции Бейсик и Ассемблер (PDP11) программ. Можно скомпилировать исходный код калькулятора на ассемблере (есть в комплекте) или запустить пример простой программы «helloworld.asm» и посмотреть, как она работает.

Что сделано (отличие от оригинальной версии):
  • возможность работы с командной строкой;
  • возможность быстрой загрузки Бейсик программ;
  • Ассемблер;
  • доработан исходный код микрокомпьютера mk85.asm для корректной компиляции;
  • пример программы "Hello word!" на Ассемблере;
  • анимация движения по коду и комментарии в дебагере.

За основу взяты исходники с сайта https://calculators.pdp-11.ru/

Проект с открытым исходным кодом https://github.com/MatrexAl/mk85emsl. Любая помощь приветствуется и не будет лишней.

Ассемблер программа "helloworld.asm"
Ассемблер программа "helloworld.asm" для  микрокомпьютера "Электроника МК85"

Программа "helloworld.asm" в эмуляторе
Программа "helloworld.asm" в эмуляторе  микрокомпьютера "Электроника МК85"

Исходный код микрокомпьютера "Электроника МК85"
Исходный код микрокомпьютера "Электроника МК85"

Маломощный низковольтный УНЧ радиоприёмника "Волхова"

Ниже представлена схема достаточно простого низковольтного УНЧ приемника "Вохова". Питается усилитель от 2,5-3В, чем, собственно и привлекает внимание. 

Синим указаны номиналы деталей, который устанавливал лично я. 

Настройка сводится к установке рабочего напряжения транзистора VT5 за счет R19 (позже установлен постоянный резистор) и напряжения средней точки КТ6 (регулировкой R24). Установить напряжение в половину питающего у меня не получилось (выставлено 1,4В), но эффект "ступеньки" удалось исключить. Настройка напряжения VT5 выполняется без подключенного входного сигнала. Ступенька контролировалась с помощью осциллографа на синусоидальном сигнале с частотой 1000Гц. Динамик использовал 4-х Ом-ный от старой блютуз-колонки.

Схема УНЧ "Волхова"

Печатная плата усилителя:

Печатная плата УНЧ "Волхова"
Печатная плата УНЧ "Волхова"

Фото собранного УНЧ "Волхова"




Пример звучания УНЧ "Волхова"


Архив одним фалом (принципиальная схема, печатная плата, дополнительная информация)



Мощный трансформаторный блок питания для ноутбука



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

Такой мощный трансформаторный блок питания можно использовать для питанию любых устройств с напряжением питания 19V и током нагрузки от 5-10А. Правильно собранное устройство из исправных деталей работает сразу и в наладке не нуждается. Ёмкости входного (С1) и выходного (С3) конденсаторов могут быть увеличены для улучшения характеристик блока питания.

Схема мощного трансформаторного блока питания.



Печатная плата мощного трансформаторного блока питания.


Печатная плата мощного трансформаторного блока питания
изготовлена методом ЛУТ, протравлена и обработана жидкой канифолью.


Мощный блок питания в сборе.


Блок питания в корпусе.
Для улучшения отвода тепла установлен вентилятор.

STM32. Режим отладки. Debug.

Рассмотрим настройку режима отладки для IDE SW4STM32 (System Workbench for STM32) с использованием ST-LINK V2. Настройку будем выполнять на примере программы из статьи "Первая программа для STM32. Мигание светодиода".

1. Запустим конфигуратор отладчика через контекстное меню проекта "Debug as - Debug Congigurations".


2. В открывшемся окне выберем "Ac6 STM32 Debugging" и нажмем кнопку "New launch configuration".


3. Укажем *.elf файл отладчика нажав кнопку "Search project". Обязательно следует обратить внимание на то, что бы файл *.elf был из папки DEBUG.


4. На вкладке "Debuger", нажав "Show generator options", изменим метод сброса микроконтроллера. Для ST-LINK V2 это "Software system reset". Нажимаем "Apply" и "Close".


5. Теперь с панели инструментов IDE можно запустить программу в режиме отладки, управлять шагом отладчика и просматривать состояние переменных.















Первая программа для STM32. Мигание светодиода.

По традиции первая программа для микроконтроллера (отладочной платы) это программа, которая с заданной периодичностью мигает светодиодом.

Для разработки нам потребуются три программы: среда разработки IDE (System Workbench for STM32, он же SW4STM32), программа конфигурирования периферии процессоров STM (STM32CubeMX), программа для прошивки микроконтроллера (STM32 ST-LINK Utility). Последние актуальные версии перечисленных программ можно скачать с официальных сайтов: IDE, CubeMX, ST-LINK Utility, однако обращаю ваше внимание на то, что хоть программы и бесплатны, все равно придётся зарегистрироваться на ресурсах для получения актуальных ссылок.

С точки зрения материального обеспечения необходима отладочная плата STM32F407VGT6 (или подобная, приобретенная тут) и программатор ST-LINK V2.

1. Создадим новый проект в STM32CubeMX.


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

3. Настраиваем порты ввода вывода "System Core - GPIO". Для своей отладочной платы я знаю, что светодиод подключен на вывод PA1, поэтому сконфигурирую его как цифровой выход "Output Push Pull", а так же задам ему пользовательскую метку "Led".

4. Сконфигурируем источник тактового сигнала "System Core - RCC", установив High Speed Clock (HSE) = Crystal\Ceramic Resonator.

5. Настроим характеристики тактового сигнала на вкладке "Clock Configuration". У моей платы основной тактовый генератор, Input frequency = 8МГц. Так же изменим базовую частоту, на которой будет работать процессор HCLK =
 168 МГц.

6. Настроим параметры проекта на вкладке "Project Manager". Укажем имя проекта Project Name = FirstProg, папку расположения проекта Project Location = D:\Program.all\STM, средство разработки Toolchain/IDE = SW4STM32. Остальные настройки оставим без изменения.

7. Сгенерируем шаблон проекта, нажав кнопку "GENERATE CODE". В папке ProjectLocation\ProjectName (у меня это D:\Program.all\STM\FirstProg) будет сгенерирован шаблон проекта, который необходимо добавить в рабочее пространство IDE.

8. Добавляем проект в IDE System Workbench for STM32. Для чего в окне приветствия выберем "Import existing projects" (если окно не видно, отобразить его можно выбрав в основном меню Help - Welcome). Нажав кнопку "Browse" выбираем папку с сгенерированным ранее шаблоном проекта - у меня это D:\Program.all\STM\FirstProg. Нажимаем кнопку "Finish".

Новый проект будет добавлен в IDE.

9. Напишем первую программу для мигания светодиодом. Скорректируем main.c, добавив следующий код:
  
HAL_GPIO_TogglePin(Led_GPIO_Port, Led_Pin); // Переключаем состояние пина
HAL_Delay(500); // Задержка в мс  

Код следует разместить в процедуре int main(void), в цикле while (1), до комментария /* USER CODE END WHILE */. Это позволит безопасно изменять конфигурацию процессора в STM32CubeMX (например настраивать другие пины на ввод-вывод), не боясь того, что ваш код будет затерт.

10. Сменим конфигурацию сборки проекта на Release.

11. Скомпилируем проект. HEX будет сохранен в папке проекта, подпапке Release, т.е. d:\Program.all\STM\FirstProg\Release\

11. Подключим отладочную плату STM32F407VGT6 к программатору ST-LINK V2. Схема подключения пинов следующая "Программатор - Плата"

SWCLK - CLK
SWDIO - DIO
GND - GND
3,3V - 3V3



12. Заливаем программу в микроконтроллер. Запускаем STM32 ST-LINK Utility, подключаем программатор и настраиваем его параметры, выбрав "Target - Settings". Обращаем внимание на метод сброса: Reset mode = Software system reset.



12. Выбираем HEX файл для прошивки выбрав "Target-Program", нажав в открывшемся окне кнопку "Browse". Настройки по умолчанию не трогаем. Затем нажимаем кнопку "Start". Программа будет залита в отладочную плату.


Видео с разработкой первой программы для STM32 ниже.







Согласование антенны. Практический пример.

Теория по согласованию антенны и кабеля доступным языком изложена в статье "Согласование импеданса антенны и кабеля", я же сосредоточусь на практической реализации. Практика, изложенная ниже, справедлива при настройке любых видов антенн на любую резонансную частоту, я же буду согласовывать диполь на частоту FM 98 МГц, рассчитанный в статье "Полуволновой диполь. Расчет параметров антенны."

Конструкция диполя на 98МГц.

Для оптимальной работы приемника (передатчика) антенну с кабелем необходимо согласовать. Предполагается что кабель с приёмником (передатчиком) согласован - кабель для подключения антенны с внутренним сопротивлением 50 Ом и приемник (передатчик), работающий с 50-и Ом-ной нагрузкой - иначе придётся согласовывать кабель с девайсом.

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

Векторный анализатор nanoVNA.

Согласование необходимо начать со снятия импеданса антенны - её нагрузки и реактивной составляющей. nanoVNA должен быть откалиброван с учетом кабеля, которым антенна будет подключена к приемнику (передатчику).

Выставляем предел измерения по частоте для nanoVNA. Антенна рассчитана на 98МГц, предел измерения установим с запасом - от 88МГц до 108МГц. На экране должны отображаться графики SMITH (диаграмма Смита), IMAG (мнимое число измеряемой величины), SWR (коэффициент стоячей волны, КСВ).

Колёсиком сверху устанавливаем частоту 98 МГц и снимаем характеристики антенны. Ниже представлены три замера характеристик одной и той же антенны в разное время суток.

Характеристики антенны снятые в 9:00.

Характеристики антенны снятые в 19:00.

Характеристики антенны снятые в 22:00.

Антенна с такими характеристиками SWR (КСВ) считается плохо настроенной. Допустимый КСВ, а по сути потери, на расчетной резонансной частоте принято считать в пределах от 1 (идеально) до 1,5 (приемлемо).

Такое расхождение с теоретическим расчётом объясняется тем, что данный вид антенн является симметричным устройством, а кабель нет. Подключение кабеля без согласующего устройства напрямую к антенне будет вносить искажение в характеристики, т. к. оплётка подключённая к вибратору напрямую будет является его продолжением. Для компенсации этого эффекта при подключения кабеля к антенне используется трансформатор (балун) или адаптер (в самом простом случае LC цепочка).

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

Для себя я решил, что согласование буду выполнять с помощью LC адаптера, под следующие характеристики антенны:

Импеданс: 81,5 Ом
Реактивная составляющая: 0,285j (если в характеристике присутствует знак "минус" это важно)
КСВ: 2,74

Расчет адаптера выполним с помощью калькулятора "LC Impedance matching network designer". Там же выберем схему для согласования.

Расчет адаптера.

Расчётные значения для изготовления адаптера. Индуктивность: 167,5 nH, ёмкость: 40,92 p. Используем элементы, максимально соответствующие расчётным - у меня это 150 nH и 39 p.

Ёмкость и индуктивность для изготовления адаптера. 

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

Изготавливаем адаптер. Адаптер, в готовой конструкции, следует поместить в экранируемый и защищённый от атмосферного воздействия корпус:

Конструкция адаптера для согласования.

Конструкция адаптера для согласования в сборе.

Подключаем адаптер к антенне:

Снимаем характеристики антенны повторно (обратите внимание на график IMAG - он стал довольно-таки симметричным, как и должно быть для симметричной антенны):

Характеристики антенны после подключения адаптера.

КСВ на частоте 98МГц составляет 1,25 что является приемлемым при конструировании антенн. 
Реальная резонансная частота, на которую настроена антенна (при минимальном КСВ=1,17) - 96,2 MГц. Погрешность изготовления антенны: 1,8%.

Реальная резонансная частота антенны.

За счёт укорочения длины вибраторов (помните я говорил что они делаются с запасом) можно добиться смещения графика SWR (КСВ) для получения более низкого его значения на расчётной резонансной частоте.