Драйвер ИЭЛ: различия между версиями
Radiolok (обсуждение | вклад) |
Radiolok (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Строка 12: | Строка 14: | ||
* Общая схема - 595 + MOC3020 или типа того. | * Общая схема - 595 + MOC3020 или типа того. | ||
* Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате. | * Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате. | ||
*[https://github.com/radiolok/el_panel Схемы, прошивки] | |||
== 16-канальный драйвер на оптосимисторах == | == 16-канальный драйвер на оптосимисторах == | ||
[[Файл:Eldriver 16ch.png|центр|безрамки|450x450пкс]] | [[Файл: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 Справочный листок] | |||
== Сверхминиатюрный многоканальный драйвер ЭЛИ (Проект) == | == Сверхминиатюрный многоканальный драйвер ЭЛИ (Проект) == | ||
Строка 27: | Строка 115: | ||
Слева - 6 микросхем HV5530 - 32канальные open-drain дрова строк. | Заготовка миниатюрной универсальной платы драйвера ЭЛИ. В центре - МК MSP430F5137, как в проекте ГИП10000 на стероидах. | ||
Слева - 6 микросхем HV5530 - 32канальные open-drain дрова строк. Их можно отломить по три Т.е. если лишнего - отламываем, если не хватает - подпаиваем отломанное :) Предполагаются снизу источники питания 300В. | |||
Справа по тому же принципу - две микросхемы HV507 - 64-канальные push-pull дрова. Эту часть можно будет отломить целиком. | Справа по тому же принципу - две микросхемы HV507 - 64-канальные push-pull дрова. Эту часть можно будет отломить целиком. | ||
Строка 54: | Строка 143: | ||
К этой мега-плате вернусь позднее. А может не вернусь и буду уже делать драйвера по месту. Изначально идея этой платы была в запуске матричного МЭЛ-1 с полем 160*27 точек | К этой мега-плате вернусь позднее. А может не вернусь и буду уже делать драйвера по месту. Изначально идея этой платы была в запуске матричного МЭЛ-1 с полем 160*27 точек | ||
== Литература == | |||
# О.Н.Казанкин, И.Я.Лямичев, Ю.Н.Николаев и др. Прикладкная электролюминесценция. под.ред. М.В.Фока. М. Сов. радио. 1974 | |||
# А.В. Касименко Электролюминесцентные буквенно-цифровые индикаторы М. Сов. радио 1971 | |||
# Г.Хениш Электролюминесценция. пер. с английского М.М.Горшкова, под ред. В.С.Вавилова. М. изд Мир, 1964 | |||
# И.К. Верещагин. Электролюминесценция кристаллов. М. наука. 1974. | |||
# Б.Л. Агранат, Ф.Я. Вайсберг, Л.А.Гуревич Электролюимнесцентные прокрытия и их применение в технике. Л. 1965. | |||
# И.К. Верещагин, Б.А.Ковалев, Л.А. Косяченко, С.М. Кокин. Электролюминесцентные источники света. Энергоатомиздат. 1990. |
Текущая версия на 12:59, 11 июня 2023
Плата драйвера, собираемая в цепочку и предназначенная для управления электролюминесцентными индикаторами любой сложности.
Техническое задание
- Питание от 12В
- Одна плата содержит 16 драйверов
- На плате располагается источник питания 200В 1200Гц. Напряжение - регулируется потенциометром.
- Общая схема - 595 + MOC3020 или типа того.
- Платы соединяются в цепочку шлейфом. 200В питание достаточно иметь только на первой плате.
- Схемы, прошивки
16-канальный драйвер на оптосимисторах
Электролюминесцентные индикаторы ожидают на входе переменное напряжение амплитудой 200-300В и частотой 400-1200Гц. Коммутация синусоидального напряжения возможна c помощью симисторных оптопар. МОС3021 обычно используется в качестве гальванической развязки для управления мощными тиристорами или симисторами, но в данном случае может использоватья для управления сегментами ЭЛИ напрямую, ибо ток одного сегмента очень маленький.
на каждой плате располагаются 16 оптопар, подключенных к сдвиговым регистрам 75HC595 таким образом, что платы можно соединять в длинные цепочки для увеличения числа выходов.
Вот например 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 долларов за штуку
Может использоваться как для управления отдельными сегментами, так и в составе драйвра матричного индикатора - для управления столбцами. для строк необходимо использовать микросхемы с КМОП-выходом, например HV507
Microchip HV507 - 64-канальный высоковольтный драйвер до 300В с выходами типа пуш-пулл
Может использоваться для управления матричным индикатором - когда часть линий отвечает за строки, часть - за столбцы. Питается постоянным напряжением, имеет вход модуляции. Интерфейс - последовательный.
Сверхминиатюрный многоканальный драйвер ЭЛИ (Проект)
Заготовка миниатюрной универсальной платы драйвера ЭЛИ. В центре - МК 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 точек
Литература
- О.Н.Казанкин, И.Я.Лямичев, Ю.Н.Николаев и др. Прикладкная электролюминесценция. под.ред. М.В.Фока. М. Сов. радио. 1974
- А.В. Касименко Электролюминесцентные буквенно-цифровые индикаторы М. Сов. радио 1971
- Г.Хениш Электролюминесценция. пер. с английского М.М.Горшкова, под ред. В.С.Вавилова. М. изд Мир, 1964
- И.К. Верещагин. Электролюминесценция кристаллов. М. наука. 1974.
- Б.Л. Агранат, Ф.Я. Вайсберг, Л.А.Гуревич Электролюимнесцентные прокрытия и их применение в технике. Л. 1965.
- И.К. Верещагин, Б.А.Ковалев, Л.А. Косяченко, С.М. Кокин. Электролюминесцентные источники света. Энергоатомиздат. 1990.