Драйвер ИЭЛ: различия между версиями

Материал из DekatronPC
(Новая страница: «[Категория:Проекты] == Техническое задание == * Питание от 12В * Одна плата содержит 16 драйв...»)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
[Категория:Проекты]
 
 
 
 
[[Категория:Проекты]]
 
Плата драйвера, собираемая в цепочку и предназначенная для управления электролюминесцентными индикаторами любой сложности.


== Техническое задание ==
== Техническое задание ==
Строка 8: Строка 14:
* Общая схема - 595 + MOC3020 или типа того.
* Общая схема - 595 + MOC3020 или типа того.
* Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате.
* Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате.
*[https://github.com/radiolok/el_panel Схемы, прошивки]
== 16-канальный драйвер на оптосимисторах ==
[[Файл:Eldriver 16ch.png|центр|безрамки|450x450пкс]]
Электролюминесцентные индикаторы ожидают на входе переменное напряжение амплитудой 200-300В и частотой 400-1200Гц.  Коммутация синусоидального напряжения возможна c помощью симисторных оптопар. МОС3021 обычно используется в качестве гальванической развязки для управления мощными тиристорами или симисторами, но в данном случае может использоватья для управления сегментами ЭЛИ напрямую, ибо ток одного сегмента очень маленький.
[[Файл:El driver 16-ch sch.png|центр|безрамки|600x600пкс]]
на каждой плате располагаются 16 оптопар, подключенных к сдвиговым регистрам 75HC595 таким образом, что платы можно соединять в длинные цепочки для увеличения числа выходов.
[[Файл:Eldriver 16ch mnemopanel.png|центр|безрамки|450x450пкс]]
Вот например 6 плат дают 96 каналов для питания сегментов мнемопанели. Далее эти платы подключются к SPI микроконтроллера, в данном случае - плате Arduino nano и на выходы подаются случайные данные для создания эффекта живой панели.<syntaxhighlight lang="cpp">
#define DIN 21
#define OE 20
#define STCP 19
#define SHCP 18
#define MR 17
uint8_t MegaArray[12] = {0};
void clr(){
  digitalWrite(MR, LOW);
  digitalWrite(MR, HIGH);
}
void strobe(){
  digitalWrite(STCP, HIGH);
  digitalWrite(STCP, LOW);
}
void writeBit(bool data){
  digitalWrite(DIN, data);
  digitalWrite(SHCP, HIGH);
  digitalWrite(SHCP, LOW);
  digitalWrite(DIN, LOW);
}
void writeByte(uint8_t data){
  for (uint8_t i = 0; i < 8; ++i)  {
    writeBit((data & (1 << i)) ? HIGH : LOW);
  }
}
void writeArray(uint8_t *data, uint8_t size){
  for (uint8_t i = 0; i < size; ++i)  {
    writeByte(data[i]);
  }
  strobe();
}
void setup() {
  for (uint8_t i = 17; i < 21 ; ++i)  {
    pinMode(i, OUTPUT);
  }
  digitalWrite(DIN, LOW);
  digitalWrite(OE, LOW);
  digitalWrite(STCP, LOW);
  digitalWrite(SHCP, LOW);
  digitalWrite(MR, HIGH);
}
unsigned long prevUpdate = 0;        // will store last time LED was updated
const long intervalUpdate = 250;          // interval at which to blink (milliseconds)
void loop() {
  static uint8_t state = 0;
  // put your main code here, to run repeatedly:
  unsigned long currentMillis = millis();
  if (currentMillis - prevUpdate >= intervalUpdate)
  {
    prevUpdate = currentMillis;
    if (state)
      memset(MegaArray, 0xff, 12);
      else
      memset(MegaArray, 0, 12);
    state++;
    if (state > 1)
    {
      state = 0;
    }
    writeArray(MegaArray, 12);
  }
}
</syntaxhighlight>Вариант с оптосимисторами очень дешев, однако громоздок. Известно использование резисторных оптопар.
== Специализированные интегральные микросхемы ==
=== Microchip HV5530 - 32-канальный высоковольтный драйвер до 300В ===
Микросхема позволяет подключить 32 сегмента ЭЛИ к своим выводам и питать их прямоугольным сигналом. для этого у микросхемы есть специальный вход модуляции - POL. Стоимость - 9-10 долларов за штуку
[https://www.microchip.com/en-us/product/HV5530 Справочный листок]
[[Файл:Hv5530 func diagram.png|центр|безрамки|450x450пкс]]
Может использоваться как для управления отдельными сегментами, так и в составе драйвра матричного индикатора - для управления столбцами. для строк необходимо использовать микросхемы с КМОП-выходом, например HV507
=== Microchip HV507 -  64-канальный высоковольтный драйвер до 300В с выходами типа пуш-пулл ===
[[Файл:HV507 func diagram.png|центр|безрамки|450x450пкс]]
Может использоваться для управления матричным индикатором - когда часть линий отвечает за строки, часть - за столбцы. Питается постоянным напряжением, имеет вход модуляции. Интерфейс - последовательный.
[https://www.microchip.com/en-us/product/HV507 Справочный листок]
== Сверхминиатюрный многоканальный драйвер ЭЛИ (Проект) ==
[[Файл:HV507 universal.png|центр|безрамки|450x450пкс]]
Заготовка миниатюрной универсальной платы драйвера ЭЛИ. В центре - МК MSP430F5137, как в проекте ГИП10000 на стероидах.
Слева - 6 микросхем HV5530 - 32канальные open-drain дрова строк.  Их можно отломить по три Т.е. если лишнего - отламываем, если не хватает - подпаиваем отломанное :) Предполагаются снизу источники питания 300В.
Справа по тому же принципу - две микросхемы HV507 - 64-канальные push-pull дрова.  Эту часть можно будет отломить целиком.
Итого по умолчанию плата будет способна обеспечить сигналом матричный ЭЛИ до 192х128 точек.
Либо 10 19-сегментных индикаторов в статике, либо безумные количества в динамике.
САМОЕ ГЛАВНОЕ - плату можно будет использовать и для ИНок - статика-динамика. и для ВЛИ. В последнем случае HV5530 выглядят чрезмерным решением, так как микросхема высоковольтная, а для ВЛИ столько не надо.
Временно приостанавливаю разработку этой платы, так как процесс затянулся, а время поджимает. Из текущих проблем:
1️⃣ HV507 требует 5В питание и сигналы, HV5530 - 10В питание и сигналы. MSP430F5510 - работает на 3,3В и если HV507 от таких уровней еще будет уверенно работать, то HV5530 - нет.
Соответственно, нужны преобразователи уровней. Требуемая скорость передачи данных - 8Мбитсек. преобразователей 3.3->5В - вагон. Преобразователей 3.3->10В на такие скорости просто не существует. максимум 500-700кбитсек. Можно конечно и HV5530 от 5В завести, и так даже делают. Еще можно уменьшить длину цепочки микросхем, посадив группы по 3 на свой канал SPI, но тут приходит другая проблема
2️⃣ Выбранный MSP430F5510, коих у меня лежит после гип100000 на стероидах еще штук 5, в корпусе tqfp-48 умеет только 2 канала SPI. Версия VFQFN-64 имеет полноценные 4 канала. Не всегда брать МК минимально удовлетворяющий твоим нуждам - рационально. (преждевременная оптимизация - зло).
Аппетит в экспериментальных устройствах приходит во время еды.
3️⃣ Система питания 300В из проекта  Ben Krasnow (<nowiki>https://github.com/benkrasnow/EL_driver_multi</nowiki>) Две зарядки конденсатора для вспышки LT3468 работающие параллельно. Это работаетоднако это маломощное решение, его вряд ли хватит чтобы зажечь по настоящему БОЛЬШУЮ площадь, да и стоимость этого решения очень высокая. микросхема идет по 5$, трансформатор - 1.2$ и их минимум пару штук надо.
<nowiki>=============</nowiki>
К этой мега-плате вернусь позднее. А может не вернусь и буду уже делать драйвера по месту. Изначально идея этой платы была в запуске матричного МЭЛ-1 с полем 160*27 точек
== Литература ==
# О.Н.Казанкин, И.Я.Лямичев, Ю.Н.Николаев и др. Прикладкная электролюминесценция. под.ред. М.В.Фока. М. Сов. радио. 1974
# А.В. Касименко Электролюминесцентные буквенно-цифровые индикаторы  М. Сов. радио 1971
# Г.Хениш Электролюминесценция. пер. с английского М.М.Горшкова, под ред. В.С.Вавилова. М. изд Мир, 1964
# И.К. Верещагин. Электролюминесценция кристаллов. М. наука. 1974.
# Б.Л. Агранат, Ф.Я. Вайсберг, Л.А.Гуревич Электролюимнесцентные прокрытия и их применение в технике. Л. 1965.
# И.К. Верещагин, Б.А.Ковалев, Л.А. Косяченко, С.М. Кокин. Электролюминесцентные источники света. Энергоатомиздат. 1990.

Текущая версия на 12:59, 11 июня 2023


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

Техническое задание

  • Питание от 12В
  • Одна плата содержит 16 драйверов
  • На плате располагается источник питания 200В 1200Гц. Напряжение - регулируется потенциометром.
  • Общая схема - 595 + MOC3020 или типа того.
  • Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате.
  • Схемы, прошивки

16-канальный драйвер на оптосимисторах

Eldriver 16ch.png

Электролюминесцентные индикаторы ожидают на входе переменное напряжение амплитудой 200-300В и частотой 400-1200Гц. Коммутация синусоидального напряжения возможна c помощью симисторных оптопар. МОС3021 обычно используется в качестве гальванической развязки для управления мощными тиристорами или симисторами, но в данном случае может использоватья для управления сегментами ЭЛИ напрямую, ибо ток одного сегмента очень маленький.

El driver 16-ch sch.png

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

Eldriver 16ch mnemopanel.png

Вот например 6 плат дают 96 каналов для питания сегментов мнемопанели. Далее эти платы подключются к SPI микроконтроллера, в данном случае - плате Arduino nano и на выходы подаются случайные данные для создания эффекта живой панели.

#define DIN 21
#define OE 20
#define STCP 19
#define SHCP 18
#define MR 17

uint8_t MegaArray[12] = {0};

void clr(){
  digitalWrite(MR, LOW);
  digitalWrite(MR, HIGH);
}
void strobe(){
  digitalWrite(STCP, HIGH);
  digitalWrite(STCP, LOW);
}

void writeBit(bool data){
  digitalWrite(DIN, data);
  digitalWrite(SHCP, HIGH);
  digitalWrite(SHCP, LOW);
  digitalWrite(DIN, LOW);
}

void writeByte(uint8_t data){
  for (uint8_t i = 0; i < 8; ++i)  {
    writeBit((data & (1 << i)) ? HIGH : LOW);
  }
}

void writeArray(uint8_t *data, uint8_t size){
  for (uint8_t i = 0; i < size; ++i)  {
    writeByte(data[i]);
  }
  strobe();
}

void setup() {
  for (uint8_t i = 17; i < 21 ; ++i)  {
    pinMode(i, OUTPUT);
  }
  digitalWrite(DIN, LOW);
  digitalWrite(OE, LOW);
  digitalWrite(STCP, LOW);
  digitalWrite(SHCP, LOW);
  digitalWrite(MR, HIGH);
}
unsigned long prevUpdate = 0;        // will store last time LED was updated
const long intervalUpdate = 250;           // interval at which to blink (milliseconds)

void loop() {
  static uint8_t state = 0;

  // put your main code here, to run repeatedly:
  unsigned long currentMillis = millis();
  if (currentMillis - prevUpdate >= intervalUpdate)
  {
    prevUpdate = currentMillis;
    if (state)
      memset(MegaArray, 0xff, 12);
      else
      memset(MegaArray, 0, 12);
    state++;
    if (state > 1)
    {
      state = 0;
    }
    writeArray(MegaArray, 12);
  }
}

Вариант с оптосимисторами очень дешев, однако громоздок. Известно использование резисторных оптопар.

Специализированные интегральные микросхемы

Microchip HV5530 - 32-канальный высоковольтный драйвер до 300В

Микросхема позволяет подключить 32 сегмента ЭЛИ к своим выводам и питать их прямоугольным сигналом. для этого у микросхемы есть специальный вход модуляции - POL. Стоимость - 9-10 долларов за штуку

Справочный листок

Hv5530 func diagram.png

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

Microchip HV507 - 64-канальный высоковольтный драйвер до 300В с выходами типа пуш-пулл

HV507 func diagram.png

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

Справочный листок

Сверхминиатюрный многоканальный драйвер ЭЛИ (Проект)

HV507 universal.png


Заготовка миниатюрной универсальной платы драйвера ЭЛИ. В центре - МК MSP430F5137, как в проекте ГИП10000 на стероидах.

Слева - 6 микросхем HV5530 - 32канальные open-drain дрова строк. Их можно отломить по три Т.е. если лишнего - отламываем, если не хватает - подпаиваем отломанное :) Предполагаются снизу источники питания 300В.

Справа по тому же принципу - две микросхемы HV507 - 64-канальные push-pull дрова.  Эту часть можно будет отломить целиком.

Итого по умолчанию плата будет способна обеспечить сигналом матричный ЭЛИ до 192х128 точек.

Либо 10 19-сегментных индикаторов в статике, либо безумные количества в динамике.

САМОЕ ГЛАВНОЕ - плату можно будет использовать и для ИНок - статика-динамика. и для ВЛИ. В последнем случае HV5530 выглядят чрезмерным решением, так как микросхема высоковольтная, а для ВЛИ столько не надо.

Временно приостанавливаю разработку этой платы, так как процесс затянулся, а время поджимает. Из текущих проблем:

1️⃣ HV507 требует 5В питание и сигналы, HV5530 - 10В питание и сигналы. MSP430F5510 - работает на 3,3В и если HV507 от таких уровней еще будет уверенно работать, то HV5530 - нет.

Соответственно, нужны преобразователи уровней. Требуемая скорость передачи данных - 8Мбитсек. преобразователей 3.3->5В - вагон. Преобразователей 3.3->10В на такие скорости просто не существует. максимум 500-700кбитсек. Можно конечно и HV5530 от 5В завести, и так даже делают. Еще можно уменьшить длину цепочки микросхем, посадив группы по 3 на свой канал SPI, но тут приходит другая проблема

2️⃣ Выбранный MSP430F5510, коих у меня лежит после гип100000 на стероидах еще штук 5, в корпусе tqfp-48 умеет только 2 канала SPI. Версия VFQFN-64 имеет полноценные 4 канала. Не всегда брать МК минимально удовлетворяющий твоим нуждам - рационально. (преждевременная оптимизация - зло).

Аппетит в экспериментальных устройствах приходит во время еды.

3️⃣ Система питания 300В из проекта Ben Krasnow (https://github.com/benkrasnow/EL_driver_multi) Две зарядки конденсатора для вспышки LT3468 работающие параллельно. Это работаетоднако это маломощное решение, его вряд ли хватит чтобы зажечь по настоящему БОЛЬШУЮ площадь, да и стоимость этого решения очень высокая. микросхема идет по 5$, трансформатор - 1.2$ и их минимум пару штук надо.

=============

К этой мега-плате вернусь позднее. А может не вернусь и буду уже делать драйвера по месту. Изначально идея этой платы была в запуске матричного МЭЛ-1 с полем 160*27 точек

Литература

  1. О.Н.Казанкин, И.Я.Лямичев, Ю.Н.Николаев и др. Прикладкная электролюминесценция. под.ред. М.В.Фока. М. Сов. радио. 1974
  2. А.В. Касименко Электролюминесцентные буквенно-цифровые индикаторы М. Сов. радио 1971
  3. Г.Хениш Электролюминесценция. пер. с английского М.М.Горшкова, под ред. В.С.Вавилова. М. изд Мир, 1964
  4. И.К. Верещагин. Электролюминесценция кристаллов. М. наука. 1974.
  5. Б.Л. Агранат, Ф.Я. Вайсберг, Л.А.Гуревич Электролюимнесцентные прокрытия и их применение в технике. Л. 1965.
  6. И.К. Верещагин, Б.А.Ковалев, Л.А. Косяченко, С.М. Кокин. Электролюминесцентные источники света. Энергоатомиздат. 1990.