audiohobby.ru audiohobby.ru

Вариант модуля индикации для Amanero на SSD1322 OLED модуле

Всем доброго дня. Предлагаю вашему вниманию собственный вариант модуля индикации, работающий с модулем гальванической развязки  для Amanero. В процессе сборки AH-D6 встал вопрос отображения информации о потоке  и режимов работы цапа. Основным критерием при выборе дисплея было желание  стилизовать изображение под VFD дисплеи.  В ходе экспериментов выбор пал на OLED модуль 3.12’’ 256х64 на контроллере SSD1322, покупал на али. Варианты цветов свечения- белый, синий, зеленый, желтый. Следует  уточнить, что продавцы присылают дисплеи,  сконфигурированные для работы по параллельному  интерфейсу 8080.  Для работы в данном устройстве следует настроить для работы в 4SPI, согласно таблице на плате дисплея  (R6 переместить в позицию R5). Схема устройства приведена ниже.

Как видно из рисунка,  схема устройства предельно проста и вопросов вызвать не должна.  Контроллер модуля индикации- stm32f103c8t6. Дисплей работает по 4 wire SPI интерфейсу на частоте 9 МГц. Управление инкрементальным энкодером, в моем случае установлен  RE1103EF2-V01-4318. Отдельно хочу остановиться на  разъеме J1, он не pin-to-pin совместим  с разъемом оригинального модуля гальванической развязки от Андрея.  Пины 9 и 10 поменяны местами. На 8 пин вывел сигнал с микроконтроллера  m/slЕго дальнейшем планирую  использовать для переключения источников. Эти различия следует учесть при сборке.

Логика управления следующая. Вращение энкодера по часовой стрелке — переключение по кругу четырех режимов цифрового фильтра SHARP, SLOW, SHARP SD, SLOW SD, против часовой стрелки- переключение по кругу входов USB(цап переводится в master, m/sl  устанавливается в 0), S/PDIF (цап переводится в slave, m/sl  устанавливается в 1).

Нажатие на кнопку энкодера- вход в меню модуля со структурой:

INPUT SELECT(выбор входа)

DIGITAL FLT(выбор режима цифрового фильтра)

DSD CONFIG(режим  автоматического определения  DSD потока ON/OFF)

SAMPLE RATE(режим автоматического определения частоты дискретизации ON/OFF)

BRIGHTNESS(настройка яркости свечения индикатора)

EXIT(выход из меню и сохранение настроек во flash, при следующем включении    конфигурация будет загружена  из памяти)

        Управление от пульта ДУ не стал делать, показалось лишним, при желании легко добавить. Исходники и сам файл прошивки прилагаю к статье. Проект собран для Keil 5 MDK-ARM. Программирование  контроллера производится через разъем J2 SWO, для прошивки понадобится программатор- отладчик ST-LINK и STM32 ST-LINK Utility.

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

Модуль смонтирован на печатной плате 50х150 мм., файл для SprintLayout во вложениях.

И еще несколько фотографий

Так выглядит в темноте

 

Вложение:
schematic.png 53 Кбскачан 342 раза
Вложение:
glcd-parser.zip 5 Кбскачан 389 раз
+18
0
zokir zokir 3 года назад #

Отличная работа. Соберупроверю и дополню отзыв

0
rucrim rucrim 3 года назад #

Управление от пульта ДУ не стал делать, показалось лишним, при желании легко добавить.

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

0
dega dega 3 года назад #

По поводу часов думал, не устраивает точность rtc в stm32. Если делать, то на внешнем чипе rtc. Подумаю, может прикручу часики. 

0
caleb caleb 3 года назад #

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

0
dega dega 3 года назад #

Спасибо. По стоимости вопрос спорный. Да, oled индикаторы довольно дорогие. Но если сравнивать этот индикатор с oled 1602 от winstar, то разница в 4$ уже не так существенна.

0
caleb caleb 3 года назад #

Он по мне даже лучше смотрится чем oled 1602, как-то более красиво что ли, выразительно.

0
Yaroslav Yaroslav 3 года назад #

Отличная работа. Поделитесь информацией — как формировали шрифты?

0
dega dega 3 года назад #

Спасибо. Пробовал разные варианты, даже пытался делать вручную, по итогу остановился на следующем алгоритме. На  сайте  рисую нужный символ (16px by 24px, row major, big endian). Полученный код символа вставляю в верхнее текстовое поле утилиты, что написал для этого. После генерации в нижнем поле забираю готовый для использования результат. Утилитку приложу к статье.

0
rucrim rucrim 3 года назад #

Собрал этот модуль работает красиво. Спасибо автору проекта.

0
rucrim rucrim 3 года назад #

Дисплей покупал - здесь, есть выбор цвета. 

0
rucrim rucrim 3 года назад #

Доработка разъема J1 под плату адаптера amanero гальваноразвязки от Андрея, переворот пинов 9 с 10. 

0
rucrim rucrim 3 года назад #

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

0
dega dega 3 года назад #

Панель собственного изготовления? С размером шрифта можно поиграться.

0
rucrim rucrim 3 года назад #

Лицевая панель толщиной 8мм и размерами 320X70мм. Корпус ЦАП черный анодированный куплен на алиэкспресс, окно фрезеровано по размеру видимой части индикатора, по моему с вариантом белой панели здесь нужно чуть уменьшить шрифт или увеличивать размеры окна.

0
Co_balt Co_balt 3 года назад #

Сами фрезеровали или отдавали куда-то?

0
rucrim rucrim 3 года назад #

С местными авиамоделистами договорился недорого 3Д фрезеровку сделали.

+2
rucrim rucrim 2 года назад #

Увеличил размер окна до 85X27мм, на 3мм с каждой стороны от видимой части индикатора и тоньше рамка 1мм перед фильтром, фильтр покупал здесь ND2.

0
dega dega 2 года назад #

Красиво получилось. Так намного лучше смотрится.

0
ppy ppy 1 год назад #

А часом не сохранились исходники фонта. Или может монолинейный шрифт донор есть?

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

+4
ppy ppy 1 год назад #

… уф! нарисовал самостоятельно полный английский набор этого замечательного шрифта.

dotmatrix_OLED.RHF

И программа конвертации в сишный код

https://gitlab.com/riva-lab/matrixFont#matrixfont