Краткая справка
ГИП-10000 была разработана Рязанским НИИ “Плазма” в 1977. Дальнейшее её производство, вплоть до развала СССР, осуществлялось на Ровенском заводе “Газотрон”.
Конструктивно ГИП-10000 представляет собой пакет из двух стёкл, между которыми находятся диэлектрическая маска и две взаимно перпендикулярные системы анодных и катодных электродов. Внутренний объём панели заполнен газовой смесью Пеннинга (98-99% Ne + 1-2% Ar) под давлением около 100 мм.рт.ст. По периметру пакет заклеен компаундом.
Напротив пересечений электродов в диэлектрической маске сделаны отверстия размером 0.6мм с шагом 1мм. В катодных электродах так же сделаны отверстия, которые образуют информационные ячейки (пиксели) панели. При подаче напряжения величиной 240В в этих ячейках возникает тлеющий разряд:
Режим индикации только динамический с построчным (покатодным) сканированием.
ИМГ-1-02
Ко мне эта матрица попала в составе полуфабриката под названием ИМГ-1-02.
Этот дисплей представляет из себя конструкцию в виде “бутерброда” из двух печатных плат. На нижней плате распаян катодный коммутатор, состоящий из дешифратора, сделанного на основе цифровой логики 133 серии, и высоковольтных ключей в виде транзисторных npn-сборок К1НТ661А. К этой же плате припаяна и приклеена непосредственно сама газоразрядная панель ГИП-10000:
На верхней плате распаяны анодные ключи на базе таких же транзисторных сборок, система защиты дисплея от остановки развертки, а также 4 полиэтиленовых шлейфа, служащие для питания и управления дисплеем:
Первая проблема, с которой я столкнулся – на этот дисплей нет нормальной документации. Есть справочный листок с техническими характеристиками и есть рекламка из журнала "Электронная промышленность" за октябрь 1980 года:
Ни распиновки шлейфов, ни принципа управления, ни электрических схем – в сети ничего нет. Конечно, можно было бы попробовать самому составить схему по рисунку дорожек на печатных платах, но бездеструктивно это вряд ли получилось бы сделать.
К счастью, в сети нашелся человек под ником cool.e1337, который поделился со мной распиновкой шлейфов. Огромное человеческое спасибо ему за это.
Распиновка шлейфов ИМГ-1-02
Axxx – входы коллекторов транзисторов анодных ключей
ENxx-xx – входы эмиттеров транзисторов анодных ключей сгруппированных в десятки
X1-X8 – входы дешифратора выбора строк
Разобравшись с распиновкой, первым делом я подключил питание +240В и +5В с целью проверки работоспособности самой газоразрядной панели. На дисплее зажглась первая строка:
Но почему строка зажглась, ведь на входы анодных ключей ничего не подано? А всё дело в том, что каждый анодный ключ у ИМГ-1-02 выполнен на одном NPN-транзисторе:
В момент, когда транзистор закрыт, ток течет через резистор R1 и в этом случае ячейка панели светится. А когда транзистор открыт, то ток течет по цепи R1-R2-кэVT1, и ячейка в этом случае не светится, так как напряжение на выходе ключа составляет около 90В, что значительно ниже напряжения возникновения и поддержания разряда. Энергия при этом рассеивается в тепло на резисторах и транзисторе.
С точки зрения энергоэффективности это не самое удачное схемотехническое решение. Для улучшения ситуации разработчики дисплея, видимо, предлагали использовать входы ENxx-xx и отключать неиспользуемые десятки анодных ключей. Но это неудобно, так как усложняет управление дисплеем. К слову, в изделии ИМГ-1-03 входы ENx просто притянуты земле (GND), разработчики там тоже не заморачивались.
Далее необходимо было убедиться в работоспособности катодного коммутатора. Дешифратор принимает на вход номер строки в двухразрядном двоично-десятичном виде (BCD), X1-X4 соответствуют единицам строк, X5-X8 десяткам. К его входам я подключил микроконтроллер atmega328p, который быстро перебирал строки от 1 до 100, чтобы полностью зажечь всё поле дисплея:
Из-за конструктивных особенностей катодных электродов, у ранних версий ГИП-10000 (с желтой маской) некоторые пиксели кривые:
Это вызвано тем, что газовый разряд возникает не ровно по центру этих ячеек, а немного в стороне:
В более поздних версиях ГИП-10000 (с серой маской) этот дефект устранён:
Подключение к МК
Почему я назвал этот дисплей полуфабрикатом? Потому что ни схемы развертки, ни знакогенератора, ни ОЗУ, ни фреймбуфера, ни высоковольтного преобразователя здесь нет – всё это нужно делать самому. Просто так сходу подключить его к какой-нибудь условной "ардуине" не получится.
Первым делом нужно было решить, как и чем управлять сотней анодных ключей. Ничего лучше, проще и дешевле, чем “паровозик” из 13 сдвиговых регистров 74HC595 я не придумал. Для управления дешифратором я поставил в “паровозик” ещё один регистр.
Вторая проблема – как физически соединить дисплей с микроконтроллером? У дисплея есть 4 гибких шлейфа по 32 контакта с шагом 1.25мм и логично было бы попробовать их использовать, вместо того, чтобы паять лапшу из МГТФ.
Под руку попали два 50-контактных SCSI шлейфа. Как раз то что надо для 100 анодных ключей. Для соединения шлейфов с дисплеем я сделал две небольшие переходные платки:
Регистры 74HC595 распаял на макетных платах МГТФом:
Получилась такая схема:
Таким образом, управление всем дисплеем осуществляется по шине SPI всего лишь по трём проводам (не считая питание). Загружаем 13 байт с графическими данными строки, загружаем 1 байт с номером строки, щёлкаем “защёлкой” – строка отображается на дисплее, переходим к следующей. И так все 100 строк, минимум 60 раз в секунду.
Теперь можно подключить дисплей к МК и что-нибудь отобразить:
Как видно на фотографии, на дисплее светится крайний левый столбец (на самом деле это первая строка, так как дисплей стоит боком), но светится явно он не должен. Почему это происходит?
Если запустить очень медленную развертку, то можно увидеть откуда возникает данный дефект:
Дело в том, что в газоразрядных индикаторах тлеющий разряд возникает не мгновенно после приложения электрического потенциала на электроды, а спустя некоторое время, называемое временем запаздывания развития разряда.
Оно зависит от многих факторов: от состава газа, от площади электродов, от уровня начальной ионизации, от температуры, от уровня внешней освещённости, от величины тока/напряжения и т.п. Для его уменьшения используются различные методы и решения.
Чаще всего это, так называемые keep-alive элементы, т.е. элементы индикации которые горят постоянно, создавая вокруг себя облако ионизированного газа.
В некоторых газоразрядных панелях американского производства эти элементы размещаются возле катодов с которых начинается развёртка и светят на обратную сторону дисплея. А в “Электронике МС6205”, например, постоянно подсвечиваются промежутки между строками.
В ИМГ-1-02 применяется метод в виде форсирующей цепочки (вольтдобавки), включенной в цепь первого катодного электрода:
В момент, когда дешифратор включает первую строку, происходит разрядка конденсатора C1, что приводит к кратковременному выбросу напряжения на катоде величиной -120 В (240-120), относительно “земли”:
Разность потенциалов между анодом и катодом в этом момент составляет 360В (240+120), что и вызывает подсвечивание всей строки.
Для отключения форсирующей цепочки достаточно отпаять один из выводов конденсатора C1, после чего дефект изображения исчезнет.
Bad Apple!!
Разобравшись с выводом графики на дисплей можно попробовать запустить на нём Bad Apple!!:
Для этого я написал простенькую программку на python, которая последовательно читает кадры из видеоролика, делает необходимые преобразования при помощи OpenCV (resize, threshold, crop), переводит кадр в битовый формат и шлет его построчно-побайтно по UART.
Со стороны МК (atmega328p) тоже очень простая программа, которая в бесконечном цикле постоянно обновляет картинку на дисплее, а в прерывании от UART помещает принятый байт в фреймбуфер. Интересно то, что я не использовал двойную буферизацию – приёмный буфер кадра и буфер отображения один и тот же (так как размер фреймбуфера 1300 байт, а объём SRAM у atmega328p всего 2048 байт). Так, конечно, делать не надо, но тем не менее всё очень хорошо работало.
Но монохромная графика это слишком просто и скучно. Можно попробовать вывести на дисплей что-нибудь более интересное, например Лену в 8 оттенках “серого”:
Тут используется нечто похожее на FRC (frame rate control), т.е. кадр формируется с градациями цветов из нескольких монохромных изображений. Для формирования восьмицветного кадра требуется 3 монохромных изображения.
Но, как показала практика, 8-ми оттенков для этой панели слишком много, так как разница между некоторыми градациями цветов практически не заметна даже в статических сценах.
Наиболее оптимальной является четырехцветная палитра, для которой требуется всего 2 монохромных изображения, которые можно сформировать по следующему алгоритму:
Читаем изображение и преобразуем его палитру в градации серого (256 уровней).
Преобразуем изображение в 4-цветное с палитрой [0,85,170,255]. Для сглаживания рекомендуется применить какой-нибудь алгоритм дизеринга. В принципе, если не использовать дизеринг, то этот шаг можно пропустить.
Снижаем глубину цветности до 2-бит. Для этого целочисленно делим значение цвета каждого пикселя на 64. Получаем изображение с палитрой [0,1,2,3]
Первое монохромное изображение формируется из остатков от деления значения каждого пикселя на 2.
Для второго изображения сначала целочисленно делим значение каждого пикселя на 2, а затем так же формируем из остатков от деления на 2.
Для удобства дальнейшей работы сразу при этом объединяем два изображения в один вертикальный кадр.
Код на python для последних четырёх пунктов:
def img_to_raw_frame(input_img, output_frame):
output_frame = numpy.zeros((input_img.shape[0] * 2, input_img.shape[1]), dtype=np.uint8)
input_img = input_img >> 6 # Reduce bitdepth to 2-bit
for y in range(input_img.shape[0]):
for x in range(input_img.shape[1]):
for i in range(2):
output_frame[y + input_img.shape[0] * i][x] = (input_img[y][x] >> i) % 2
return output_frame
Теперь при следующих вариантах комбинаций первого и второго изображения на дисплее можно получить 4 оттенка:
При выводе изображения на дисплей, каждая строка второго изображения должна быть включена ⅔ от общего времени горения строки, а каждая строка первого ⅓ времени. За счет персистенции зрения (инерционности) и достигается эффект многоцветности.
Чтобы было понятнее, вот небольшая гифка иллюстрирующая в упрощённом виде происходящее. Слева – то, что происходит на дисплее в очень замедленном виде, справа – то что в итоге видит глаз:
Возможно возникнет логичный вопрос – почему бы просто не выводить в нужном порядке каждое монохромное изображение целиком? Увы – из-за физических особенностей газоразрядных панелей изображение при этом начинает сильно мерцать. Для подавления мерцания можно многократно увеличить частоту развертки, но при этом возникает проблема с яркостью изображения и временем поджига строки (чем выше частота развертки, тем ниже уровень остаточной ионизации и тем хуже и дольше поджигается каждая последующая строка).
Новый драйвер
В ходе работы с этим проектом вылезло несколько подводных камней:
Родные шлейфы дисплея оказались очень плохого качества. Во-первых они изготовлены из полиэтилена, который плавится от малейшего прикосновения паяльником. Даже если пытаться охлаждать место пайки металлической пластинкой, то полиэтилен всё равно скукоживается. Во-вторых медные проводники шлейфа от старости окислились и стали очень хрупкими. Они постоянно ломались в местах пайки и изгиба. Потом искать среди сотни проводников какой конкретно отвалился было не самой приятной задачей. Нужно менять эти шлейфы на что-то другое. Конечно, самый простой вариант припаять напрямую провода типа МГТФ, но мне всё-таки хотелось бы некоторой модульности и возможности, при необходимости, разобрать всю эту конструкцию.
Повышающий преобразователь, который обеспечивал высоковольтное питание дисплея был построен на контроллере mc34063 по топологии step-up. Он прекрасно работал с выходным напряжением 200В, но этого мало для ГИП-10000 (для более-менее нормальной работы нужно как минимум 230В). А вот при повышении выходного напряжения выше 210В уже начинались проблемы с КПД, максимальной мощностью и нагревом компонентов. Нужно было менять его на что-то более эффективное.
Стекло панели ужасно бликует.
Вся эта конструкция в виде переходных плат, SCSI-шлейфов и макеток была очень громоздкой и неудобной. А с учётом того, что всё было ещё соединено при помощи проводков для беспаечных макетных плат, то постоянно возникала проблема, когда что-то где-то отвалилось или плохо контачит. Нужно сделать одну плату на которой должно быть всё распаяно.
Сперва я начал поиски замены шлейфов. Перелопатив большое количество каталогов, я остановил свой выбор на комплекте разъёмов KLS1-XL6-1.25-30-H (розетка на кабель) и KLS1-XL6-1.25-30-RM2 (разъём на плату). Это 30 пиновые разъёмы с шагом 1.25 мм, которые идеально встали на место родных шлейфов:
Для борьбы с бликами я применил самое простое решение – наклеил на стекло панели матовую пленку для планшетов:
Повышающий преобразователь
В ИМГ-1-02 используется не самая удачная конструкция анодных ключей. При самом неблагоприятном исходе (момент, когда высокое напряжение подано, а дисплей ничего не отображает, т.е. все транзисторы анодных ключей открыты) потребление тока по высоковольтной шине составляет почти 40 мА при напряжении 240 В. Почти 10 Вт уходят на обогрев помещения.
Изначально я планировал сделать преобразователь на каком-нибудь специализированном ШИМ-контроллере, типа MAX1771, но по ряду причин отказался от этого варианта.
В итоге я сделал обыкновенный обратноходовой повышающий преобразователь на ШИМ-контроллере UC2843. Это очень старый, широко распространенный и дешёвый контроллер. Применяется он буквально везде, начиная от зарядных устройств для смартфонов, заканчивая сварочными инверторами. Несмотря на свой возраст (первые упоминания о нём я находил в статьях за 1982 год), свою работу он выполняет отлично.
Схема преобразователя получилась следующая:
Ничего необычного, за исключением того, что вместо RCD-снаббера применяется рекуперирующая цепочка.
Почему и зачем
Главным недостатком любого обратноходового преобразователя является выброс напряжения на стоке силового ключа от индуктивности рассеивания, который может достигать нескольких сотен вольт. И если не предпринимать никаких мер, то рано или поздно этот выброс пробьёт силовой ключ.
Обычно для борьбы с этим выбросом применяют RCD-снаббер, или снаббер на TVS-диоде, или их связку. Но этот метод рассеивающий, т.е. всё что он делает - в нужный момент времени преобразует энергию от индуктивности рассеивания в тепло. Понятно, что на КПД преобразователя это влияет негативным образом, и логично было бы попробовать направить эту энергию обратно в источник питания, т.е. рекуперировать её. К счастью не пришлось изобретать велосипед, так как уже есть готовые методы и решения.
Скажу лишь, что основной недостаток такого метода – требуется дополнительная обмотка рекуперации, количество витков которой примерно равно количеству витков первичной обмотки. В повышающих преобразователях это не проблема, так как число витков первичной обмотки невелико. А вот в сетевых блоках питания, где первичная обмотка содержит пару сотен витков, такое решение становится уже слишком накладным, поэтому повсеместно не используется. Да и производителям в общем-то плевать на то, что 5-Ваттная зарядка будет иметь КПД 80%, а не 90.
Сделав пробную плату (собирать на макетке такие преобразователи противопоказано), я провел нагрузочные испытания, результаты которых свел в табличку:
U in, V |
I in, A |
U out, V |
I out, A |
P in, W |
P out, W |
КПД, % |
10 |
1,158 |
239,9 |
0,0431 |
11,58 |
10,339 |
89,289 |
12 |
0,966 |
239,7 |
0,0436 |
11,592 |
10,451 |
90,157 |
14,5 |
0,787 |
239,9 |
0,0427 |
11,412 |
10,244 |
89,765 |
16 |
0,722 |
239,8 |
0,0432 |
11,552 |
10,36 |
89,681 |
КПД 89-90%, что для обратноходового повышающего преобразователя очень неплохой результат. А если учесть, что стоимость его деталей чуть больше 100 руб., то результат просто замечательный.
Одновременно со всем этим я не спеша трассировал печатную плату для нового драйвера. Суть осталась та же - паровозик из регистров 74HC595, только теперь в корпусе TTSOP. Также на плате распаян вышеописанный повышающий преобразователь:
Далее платы были заказаны в Китае, изготовлены, отправлены, получены, распаяны. После чего мне предстояла очень муторная и монотонная работа – обжатие нескольких сотен (я делал несколько драйверов сразу) проводков калибром 26AWG клеммами KLS1-XL6-1.25-T. Это гораздо сложнее, чем обжим клемм под контакты с шагом 2.54мм, так как одно неловкое движение, приложил чуть большее усилие – и либо клемму передавливает, либо перерезает провод.
Наконец, ИМГ-1-02 начал приобретать вид законченного изделия:
Подключение к ПК и запуск Doom
Запуск DOOM на этой панели это, конечно, громко сказано. На самом деле DOOM будет работать на ПК, а ИМГ-1-02 будет работать в качестве монитора, а если точнее – будет просто показывать захваченную область экрана. Но тем не менее, выглядит это очень необычно.
Для начала я сменил МК на STM32F103С8. Суть осталась примерно та же, что и в проекте c Bad Apple!! – по таймеру обновляем картинку на дисплее, принимаем данные по UART и помещаем их в буфер. Только теперь их два – в один записываются принятые данные по UART, второй используется в качестве фреймбуфера. После прихода очередного кадра буферы меняются местами. Приёмом данных и записью их в буфер теперь занимается контроллер DMA.
Со стороны ПК программа тоже претерпела изменения. Во-первых, в качестве входного потока она теперь принимает область экрана (модуль MSS). Во вторых программа обзавелась полноценным GUI (модуль dearpygui), в котором можно настроить:
Com-порт и скорость соединения
Размер и положение области захвата
Тип алгоритма дизеринга: Флойд-Стейнберг, Аткинсон, Бёркес, Сиерра, Байер, либо вообще отключить его
Параметры изображения либо в ручном режиме (яркость, контрастность, гамма)
Либо в автоматическом. На выбор два алгоритма – либо автоматическое выравнивание гистограммы, либо адаптивное контрастно-ограниченное выравнивание (CLAHE)
Для того, чтобы это всё быстро шевелилось и выдавало стабильные 60 FPS, для всех функций, связанных с обработкой изображений (за исключением использующих OpenCV), я использую JIT-компилятор Numba.
Результат моих трудов можно увидеть в этом видео:
Думаю, у многих возникнет закономерный вопрос – а какая задержка между тем, что отображается на мониторе и тем, что отображает ИМГ-1-02?
Технически, конечно, можно замерить время выполнения питоновского кода для обработки одного кадра и исходя из этого прикинуть величину лага. Но этот метод не совсем корректный, так как при таком способе имеет место быть “эффект наблюдателя”.
Поэтому я воспользовался старым дедовским методом – включил секундомер с миллисекундами, так чтобы он отображался и на мониторе и на ИМГ-1-02, и сделал несколько фотографий. Результат, честно говоря, превзошёл все ожидания:
Да, изображение на ИМГ-1-02 отображается в среднем на 0.03-0.04 секунды раньше, чем на мониторе. Т.е. можно сказать, что лаг отрицательный (относительно монитора).
Заключение
В заключение хотелось бы сказать пару слов про “доставаемость” таких дисплеев. На сегодняшний день ИМГ-1 (ИМГ-1-02 и ИМГ-1-03) уже можно отнести к разряду сложнодоставаемых. Во-первых их и так было выпущено не очень много (тираж за всё время производства составил меньше 10000 штук). Во-вторых много таких дисплеев было уничтожено золотодобытчиками-афинажниками. Тут ещё сыграл злую шутку желтый цвет маски, который некоторые принимали за позолоту.
Но, как я писал в самом начале статьи, ГИП-10000 применялась в изделии под названием Электроника МС6205. Этот девайс найти гораздо проще (особенно жителям Украины). Он представляет из себя текстовый знакосинтезирующий дисплей и изначально в графическом режиме работать не может.
После публикации своих первых результатов с ИМГ-1-02 мне стали неоднократно поступать вопросы по поводу переделки МС6205 в графический вариант. Чтобы не курочить свои дисплеи я приобрел несколько останков от МС6205, с которых были сняты все золотосодержащие компоненты, но самое ценное для меня – панели ГИП-10000 были живы. Спустя некоторое время я родил вот такой вот драйвер:
В качестве анодных ключей здесь используются микросхемы от плазменных телевизоров SN755870N, а в качестве катодных связка из дешифратора основе 74HC238 и 74HC139 + ULN2803. Оно всё прекрасно работает, но, к сожалению, всплыло несколько подводных камней (устранимых), из-за которых я пока заморозил этот проект. Но рано или поздно я обязательно доведу его до победного конца и обязательно про это напишу.
На этом пока всё. С радостью отвечу в комментариях на все ваши вопросы, мысли, идеи, предложения.
Репозиторий проекта
https://github.com/iiiytn1k/IMG-1-02
Источники
https://www.edn.com/power-tips-91-how-to-improve-flyback-efficiency-with-a-nondissipative-clamp/
Якимов О. П. Газоразрядные матричные индикаторные панели. – М.: Советское радио, 1980
Вуколов Н. И., Михайлов А. Н. Знакосинтезирующие индикаторы: Справочник – М.: Радио и связь, 1987.
Комментарии (64)
ereinion
11.11.2021 14:40+9Это просто великолепный эксперимент! Было очень интересно читать, спасибо!
P.S. Скази-шлейфы сберегите, не выкидывайте, 50-пиновые нынче та еще редкость.
drWhy
11.11.2021 14:48+2Закон парных случаев в действии — второй плазменный дисплей за сутки, первый в ноутбуке GridCase 1520.
Старички выглядят интересно и похоже с поправкой на десятилетнюю разницу в возрасте.
Работа проведена колоссальная, результат её стоит.
Arcanum7
11.11.2021 15:00+1Умножаемый, а что насчёт времени наработки? Можно ли их "безболезненно" использовать в режиме 24/7, допустим, на метеостанции чтобы показывало значения с датчиков? Или 2000 часов и всё, на помойку?
iiiytn1k Автор
11.11.2021 15:36+5Ранние версии панели (с желтой маской) скорее всего такой режим эксплуатации не переживут. Это, конечно, не означает, что по истечении этих 2000 часов панель превратится в тыкву. Но часть пикселей скорее всего погаснет. Теоретически можно попробовать их восстановить повышенным током, как это делается на знаковых индикаторах, но я не пробовал (у меня просто нет изношенных панелей).
Панели последних годов выпуска (с серой маской) более живучи за счет большей площади пикселя. Я лично знаю человека, у которого часы на таком дисплее проработали 5 лет практически не выключаясь и ни один пиксель после этого не погас.
borisxm
11.11.2021 17:56+4Или 2000 часов и всё, на помойку?
Это сильно зависит от тока разряда. Наибольший срок службы будет при наименьшем возможном токе, но и яркость, и быстродействие будут оставлять желать лучшего. Поэтому, если яркость не критична, и в конкретном экземпляре нет точек с повышенным напряжением зажигания, то при правильном выборе тока, вполне можно рассчитывать даже на 7-10 лет непрерывной работы.
Раньше крупные матричные индикаторы делали на «неонках» и тиратронах МТХ-90 — они вполне себе работали пару десятков лет, лишь изредка требуя замены одной из ламп.
sim2q
11.11.2021 22:10В МС6205 есть штатно режим "прогон" - зажигает все пиксели, рекомендуется включать время от времени. В ленте у меня был товарищ с метеостанцией как раз, за несколько лет(если не ошибаюсь), вроде не выгорело. У меня были часы, но зажигалось на неск сек и в разных местах :)
0x6b657239
11.11.2021 15:14А ПЛИС в качестве основы драйвера не рассматривали? Она бы сюда идеально подошла.
iiiytn1k Автор
11.11.2021 16:29Рассматривал, но во-первых ПЛИС с таким количеством IOs достаточно дорогие, во-вторых у меня практически нет никакого опыта работы с ними.
psycho-coder
11.11.2021 15:20+3Вопрос не по теме, это хабракат так работает, что убирает анонс из статьи, или специально так сделано?
quwy
11.11.2021 15:42+5В новом редакторе хабраката больше нет. Теперь анонс -- это отдельная микро-статья, которая может быть какой угодно. И если не проследить за этим специально, то в процессе публикации анонс полностью откусывается от основного тела.
Radon17
11.11.2021 16:09+1Замечательная статья!
Почему-то подумалось о возможности применения таких газоразрядных панелей в псевдо-ретро сборках. Например, видится мне ноутбук с ГИП-10000, у которого микросхемы драйверов расположены не за экраном, а вокруг него. В таком случае толщина откидного экрана будет зависеть только от высоты стеклянного «соска» дисплея.
А в качестве железа в ноутбуке применить Н1836ВМ3 или подобную начинку. Да, остро стоит вопрос в питании такого индикатора, но думаю что аккумулятор можно вообще выкинуть и питать устройство только от сети.
BootSector
11.11.2021 22:17Просто эталонный пост! И проделанная работа, и рассказ о ней восхищают. Очень хочется видеть больше подобного!
sim2q
11.11.2021 23:04+9Спасибо за статью!
Сам когда-то очень давно начал переделывать свой МС6205, сначала для подключения к тогда ещё LPT, потом отодрал подсветку знакомест. Потом стали подбешивать горячие ТТЛ счётчики потреблявшие в статике аж по 90мА каждый! (ИЕ6,7)
Остановиться было сложно, в итоге от родного МС6205 остались только две платы ключей и длинный сдвиговый регистр - память строки на 561 серии (т.к. CMOS - потреблением можно пренебречь) и немного ЛА8. Объединив адресную и шину данных стало возможным использовать всего <10 линий управления от МК.
Знакогенератор, память и развёртку сделал на stm32f030k6, в высоковольтном преобразователе использовался штатный трансформатор (пуш-пул) с прямым управлением мосфетов от МК. Делалось для возможности настройки частоты,скважности для экономии (дисплей задумывался в т.ч. как переносной терминал).
Но это всёне очень интереснобанально - проект немного отложил по причине как раз таки проблемы начального поджига. Слишком большая неравномерность яркости и мерцание в зависимости от места на экране и заполнения строки (видно на картинке - и это не худший вариант). Пробовал разные оптимизации со сканированием, с разными направлениями и тд, но всё это слишком усложняло код и почти не давало результата. Остановился на том, что нужно поднимать напряжение, но применённая схема dc/dc пуш-пул не позволяет поднять напряжение выше 240 - нужно поднимать питание выше 12V.
Ваша статья и упоминание в ней вольтдобавки, а также видео где нет паразитной засветки и джиттера - воодушевляет, что проблема решаема!)Думал на счёт графики и в т.ч. про эти 64-битные вв сдвиговые регистры благо есть, но панель у меня приклеена да и графика не так что бы очень актуальна и - слишком трудоёмко.
ps были мысли, что если когда-нибудь доделаю, написать статью сюда дабы наконец-то ставить плюсики :)
seri0shka
11.11.2021 23:12У меня совершенно случайно есть похожий дисплей (даже не помню откуда), правда без электроники и разрешением 8*160 примерно. Давно хотел попробовать подключить, но при переезде на новую квартиру затерялся в коробках с хламом. Периодически вспоминал о нём, пытался найти хотя бы информацию о нём в интернете, но трудно найти то, чего ни модель, ни даже тип не знаешь. Хотя принцип действия я интуитивно понял ещё сразу, как он ко мне попал, и методом научного тыка я пиксели (тогда и слова такого не было) зажигал.
И надо же, неделю назад нашёл дисплей! Правда состояние оказалось чуть хуже, чем в моих воспоминаниях, выводы пары строк оборваны по самое стекло, и многие столбцы тоже. Кроме того, столбцы довольно странно соединены, вроде каждый четвёртый.
P.S. Хотел сейчас глянуть, но опять куда-то положил. В этот раз вроде легче найти будет )
И да! Статья выше всяких похвал, читается на одном дыхании. Проделанной работой восхищаюсь.
sim2q
11.11.2021 23:39выводы пары строк оборваны по самое стекло
там токи маленькие, можно попробовать токопроводящий клей вогнать
K36
12.11.2021 12:29Очень аккуратно подпаяться, потом зафиксировать эпоксидкой.
drWhy
12.11.2021 13:06Прозрачные проводники не радуют разнообразием или удобством работы. Залудить проводник на стекле (практически?) невозможно. В мониторах/телевизорах шлейфы к стеклу матрицы клеят с нагревом под давлением клеем, содержащим проводящие микросферы, в случае отслоения шлейфа приклеить его обратно проблематично, но комментариях на форумах пишут что не невозможно.
iiiytn1k Автор
12.11.2021 06:14Интересно было бы взглянуть. Если это ГРИ, то по описанию это похоже на ГИПС-16 или ИГПС1-222/7 (если, конечно, дисплей отечественного производства).
seri0shka
12.11.2021 23:30Выводы строк проволочные, выводы столбцов ленточные. Все выводы столбцов соединены в три группы, мне это непонятно.
iiiytn1k Автор
12.11.2021 23:46Это индикатор ГИПС-16-1. Точнее то, что от него осталось.
seri0shka
14.11.2021 17:16Газоразрядный индикатор постоянного тока с самосканированием- здесь, как мне кажется, содержится подсказка по поводу коммутации. Как управлять сотней катодов, соединённых в три группы? К сожалению, набор букв "гипс" очень затрудняет поиск в гугле.
seri0shka
14.11.2021 17:51П. С. вот нашёл описание процесса, не очень понял: https://dekatronpc.com/index.php/%D0%98%D0%93%D0%9F%D0%A11-111/7
Но если кто хочет (и может) повозиться, отдам в хорошие руки в Украине.
Karlson_rwa
12.11.2021 00:38Вы молодец!
Очень здорово! Продолжайте в том же духе, читать и смотреть было очень интересно!
Impuls
12.11.2021 08:54Задам, наверное, глупый вопрос. А почему для питания нельзя использовать диодный мост и выпрямить сетевое напряжение? Или дело только в гальваническая развязке? Я понимаю что действующее значение напряжения больше, но конденсатор для этой панели явно не обязателен.
iiiytn1k Автор
12.11.2021 12:59Во-первых это небезопасно (даже можно сказать смертельно опасно). Во-вторых это не будет работать, развязка по-любому нужна.
nixtonixto
12.11.2021 09:40а в качестве катодных связка из дешифратора основе 74HC238 и 74HC139 + ULN2803
Я бы не рекомендовал ставить в такую схему 50-вольтные ключи, даже если у вас на столе всё работает. Ставьте вместо них 300-вольтные транзисторы в сот-23, на плату они влезут, и это будет гораздо дешевле УЛН, тем более что у вас используется не дешёвая УЛН2003. Сборку партии плат отдайте на станок-установщик, он вашу сотню сот-23 поставит почти бесплатно, ему это пара минут работы…iiiytn1k Автор
12.11.2021 13:39Там не всё так просто. Для питания панели используется двухполярный преобразователь с выходными напряжениями +120 и -90В. В результате и SN755870N прекрасно себя чувствуют(у них максимально допустимое около 165В) и ULNки. Подобная система питания используется с завода на панели Vishay/Dale APD-240M026A. Собственно, оттуда я и взял идею и преобразователь.
К тожу же на зажжённом пикселе панели падает практически все напряжение. К155ИД1, которые любят использовать часостроители, тоже имеет максимально допустимое напряжение 60В.sim2q
12.11.2021 19:40SN755870N прекрасно себя чувствуют(у них максимально допустимое около 165В)
А откуда про них 165?
кроме распиновки не смог на них ничего нагуглить, но как будто помню, что-то около 80Viiiytn1k Автор
12.11.2021 20:06+1Я перебрал где-то с десяток сервис-мануалов от плазменных телевизоров, в которых применялся этот драйвер, и смотрел какое напряжение он там коммутирует. В среднем где-то 120-140 В. Потом, при помощи регулируемого высоковольтного БП, опытным путём установил при каком напряжении микросхема выйдет из строя.
A_Arkhipov
12.11.2021 16:52+1Отличная работа, прекрасный способ подачи информации, профессиональный подход. Спасибо, прочитал с большим удовольствием.
EugeneH
13.11.2021 09:29+1Я в шоке от отрицательного лага между монитором и картинкой, захваченной mss. Получается, на 60 fps монитор отстаёт на 2 кадра.
srg27y
15.11.2021 12:26на моей первой работе была такая савецкая плазма)))
в составе блока ЭВМ для управленія электроэрозінным станком
только с 3й платой, эвм отправляла на него аски команды символа и позиции
RavilMuslyumov
15.11.2021 21:56+3Контроллер для вывода алфавитно цифровой информации с процессора 580ик 80 на дисплей ИМГ был моей первой разработкой когда пришел после института КАИ в свой НИИ в 1981. Реализовал на 564 серии и 580ИК55. Применялся в автоматизированной системе контроля (АСК) РЭА ЛА.на производстве.
SGordon123
16.11.2021 10:41Чисто из любопытства, почем в совейской дисплеине аглицкие обозначения выводов, как то не кошерно ....
theghost69
16.11.2021 14:55+1У меня модуль на базе ИМГ1-03 (вроде), сборка из 4 элементарных ячеек, с управляющей электроникой на КТ605 и регистрами. Но - нет схемы подключения, куда-то задевалась. Помню, что там питание было +200 и +9 вольт, и был расписан алгоритм работы с регистрами (вплоть до диаграмм логических уровней). Сколько искал, увы.:(
А панель из таких индикаторов (метра 3 на 4) до сих пор стоит (в 2020-м стояла) в фойе в одном из зданий в Зеленограде, НИИ Физических Проблем им Ф. В. Лукина.
iiiytn1k Автор
16.11.2021 14:59+1Речь скорее всего идёт про ИМГ-3-01. @radiolok ковырял такую https://dekatronpc.com/index.php/%D0%98%D0%9C%D0%93-3-01
sim2q
19.11.2021 04:38+1Интересная модификация - в качестве поддерживающего ионизацию не подчеркивание, а первая строка!
royalroad
27.11.2021 15:09Уважаемый, статья просто превосходная! Работы проведено много и она очень интересная. Я подписался на ваш YouTube-канал ибо он тоже меня увлёк. Надеюсь, что Вы продолжите писать о подобных раритетах из серии газоразрядных и VFD матричных индикаторов и/или дисплеев.
Сам скоро стану владельцем Futaba GP1160A02A. Очень интересно было бы узнать как в Вашем случае проходил процесс дешифровки протокола контроллера для этого дисплея. У меня есть желание написать Linux-драйвер для работы с GP1160A02A чтобы иметь возможность подключаться к одноплатникам типа Raspbberry. Начну со стандартного UART'а, но и возможность работать напрямую с контроллером для приличного FPS тоже интересует.
Ещё раз спасибо за статью! Буду признателен если в дальнейшем поделитесь информацией по работе с Futaba GP1160A02A.
barabanus
29.11.2021 21:54Замечание к Python-коду: очень странно видеть вложенный цикл для обработки массива, раз уж вы используете библиотеку Numpy. В таких случаях обычно пользуются Matlab-нотацией.
vsemenov141
05.12.2021 13:35+1Превосходная статья ! Автор, безусловно, талантлив. Методы работы с ИМГ впечатляют, а общий энтузиазм просто заразителен. Но, зачем это в 21-м веке ? Мне, конечно, приятно, что есть такие Мастера. Да и мы, получается, хоть и давно, но были не хуже. Ровно 45 лет я применял ИМГ-1 в устройствах ЧПУ 2С22, 2С33. Управление сделал на К580ИК80 и сдвиговых регистрах ИР1. Тогда это был первый в СССР дисплей с микро-процессорным управлением. Но ИМГ нам навязали принудительно. Цена его без доп. плат была от 5 тыс. полновесных советских рублей, а в готовом виде переваливала за 10 тыс. Поэтому во всех ЧПУ стояли ЭЛ-трубки, часто цветные, с графическим возможностями и по стоимости на 2 порядка меньше. Опыт работы с ИМГ, конечно, оценить невозможно, поскольку он безценен. В итоге воспитываются Лучшие Специалисты с редким (самостоятельным) типом мышления. И давно существует обоснованное мнение, что лучшие программисты вырастают из схемотехников. А "упражнения" с ИМГ как раз и формируют таких профи. Еще раз поздравляю с Успехом !
redsh0927
05.12.2021 15:44Для отключения форсирующей цепочки достаточно отпаять один из выводов конденсатора C1, после чего дефект изображения исчезнет.
Тобишь при комнатной температуре индикатор нормально работает и без форсирующей цепочки и без кипэлайв-пикселей?Разность потенциалов между анодом и катодом в этом момент составляет 360В (240+120), что и вызывает подсвечивание всей строки.
Этот момент тоже не совсем понятен — строка же должна быть погашена? Т.е. на выключенных анодах +100 и выброс на катодах до -120, т.е. 220в получается же, а не 360?iiiytn1k Автор
05.12.2021 16:40+1Тобишь при комнатной температуре индикатор нормально работает и без форсирующей цепочки и без кипэлайв-пикселей?
Он относительно нормально работает если использовать двухстороннюю развёртку, т.е. сканирование происходит сначала сверху-вниз потом снизу-вверх. В таком случае нет резкого перехода из области с высоком уровнем ионизации в область с низким. Ну и нужно хоть какое-нибудь внешнее освещение панели, потому что в полной темноте индикатор плохо работает. Очень хорошо помогает подсветка ближним УФ светом (395-405нм), я в этом убедился когда ещё работал с ИГПП-32/32. Причём УФ-подсветка газоразрядных панелей используется даже в промышленности: вот панель Vishay/Dale APD-192G088-6, у которой по периметру строят УФ-светодиоды:Т.е. на выключенных анодах +100 и выброс на катодах до -120, т.е. 220в получается же, а не 360?
Да, если анод выключен, то 220В, если включен, то 360В. Теоретически.
На практике всё сложнее. Если в первой строке нет ни одного включенного пикселя, то на медленной развёртке в момент включения строки подсвечивания не происходит. А вот на быстрой развёртке (от 100 Гц и выше) строка всё равно подсвечивается. Причём она может подсвечиваться, даже если на дисплее вообще нет ни одного включенного пикселя.
Если в первой строке есть хотя бы один включенный пиксель — то тогда даже на медленной развёртке происходит подсвечивание строки. И что интересно — выброс напряжения возникает даже на выключенных анодах.redsh0927
05.12.2021 17:07Если в первой строке нет ни одного включенного пикселя, то на медленной развёртке в момент включения строки подсвечивания не происходит.
Надо полагать, и толку от отрицательного импульса тогда никакого?)
А если снизить напряжение на погашенных анодах до 0 и поставить форсирующие цепочки на все катоды, удастся тогда избавиться от всех недостатков (тобишь застветов, постоянно включенных элементов, необходимости внешней подсветки)?
У меня валяется несколько гипп-10000 без родной электроники (вернее, с начисто ободранными «жёлтыми» транзисторными сборками). Давно хочу запустить, вопрос только как этим грамотно управлять…iiiytn1k Автор
05.12.2021 17:56Надо полагать, и толку от отрицательного импульса тогда никакого?)
Да, поэтому я и отключил эту цепочку. Но есть одно «но» — дефект в виде подсветки строки возникал только на том экземпляре панели, что использовался для написания статьи. Я делал ещё два драйвера для других панелей, и на них не было этого дефекта. Но при этом они гораздо хуже работали. Для справки: панель в статье 1987 года выпуска, другие панели были 1982 и 1983 года.
А вообще, наверное, можно было бы не отключать цепочку, а поиграться с ёмкостью конденсатора С1 — подобрать её так, чтобы засветки не было.А если снизить напряжение на погашенных анодах до 0 и поставить форсирующие цепочки на все катоды, удастся тогда избавиться от всех недостатков (тобишь застветов, постоянно включенных элементов, необходимости внешней подсветки)?
Можно сделать как на ИГПП-32/32 или ИМГ-3-01 — форсирующую цепочку перенести в анодную часть.Давно хочу запустить, вопрос только как этим грамотно управлять…
Если я бы сейчас делал всё с нуля и у меня не было бы драйверов от плазменных телевизоров, то для анодов я бы использовал микросхемы HV5122, а для катодов HV5222, либо опять каскад дешифраторов + ULN2803 или MMBTA42.redsh0927
05.12.2021 18:04Кстати, ULN2803 всего на 50в по даташиту. Не маловато ли?
Я подумываю делать рассыпные драйверы на mmbta42/92 с форсирующими цепочками. Монтаж в jlc обойдётся в цену пары-тройки HV5122 :)
radiolok
С почином!
Да, основной косяк МС6205 - что приклеенная к дисплею плата не дает полного доступа ко всем линиям стекла и требует полной замены.
То же самое проявляется в каких-то поздних версиях ИМГ1. Благо мои блоки ИМГ1 все с полноценными платами, но с текстовым интерфейсом.
iiiytn1k Автор
Плату можно оставить (на последней фотке собственно плата катодного коммутатора от МС6205 с которой удалено всё лишнее)
ЕМНИП, у тебя 9 ИМГшек?
Даёшь ГИП-90000 на стероидах!