Программирование ARM 2.9inch e-Paper Module (B) Manual Wed, April 30 2025  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


2.9inch e-Paper Module (B) Manual Печать
Добавил(а) microsin   

[Версии индикатора]

V4: совместима со старой версией в контексте аппаратуры и интерфейсов. V4 demo добавило такой функционал, как быстрое обновление (fast refreshing) и частичное обновление (black-and-white partial refreshing). Если вы первый раз приобрели такой индикатор, и на его обратной стороне есть метка V4, то можете непосредственно использовать V4 demo.

V3: совместима со старой версией в контексте аппаратуры и интерфейсов. Если вы первый раз приобрели такой индикатор, и на его обратной стороне есть метка V3, то вы можете непосредственно использовать V3 demo.

[Параметры]

Устройство e-Paper адаптировано для технологии отображения Microencapsulated Electrophoretic Display (MED). Основной принцип работы индикатора: заряженные наночастицы, взвешенные в жидкости, подвергаются воздействию электрического поля для создания их перемещения. Экран e-Paper работает по принципу отражения окружающего света от этих частиц, так что ему не нужна фоновая подсветка. В условиях внешнего освещения экран e-Paper сохраняет высокую видимость изображения при самых широких углах обзора, почти 180 градусов. Это идеальный выбор для отображения электронных книжек.

Параметр Значение
Размер 2.9 дюймов
Размеры платы драйвера 89.5 × 38.0 мм
Внешние размеры (только экрана) 79.00 × 36.70 × 1.20 мм
Размеры изображения на экране 66.90 × 29.06 мм
Рабочее напряжение 3.3V / 5V(1)
Интерфейс подключения SPI
Размеры точки (Dot Pitch) 0.227 × 0.226 мм
Разрешающая способность 296 × 128 точек
Цвета экрана Black, White, Red
Градаций яркости (Grey Scale) 2
Время полного обновления (Full Refresh Time) 14 сек(2)
Энергопотребление при обновлении (Refresh Power) 30 мВатт (typ.(3))
Ток потребления в режиме ожидания (Standby Current) < 0.01 мкА (почти 0)
Рабочая температура 0 .. 40 °C
Температура хранения -25 .. 60 °C

Примечания:

(1) Имеются в виду уровни сигналов интерфейса.
(2) Время обновления: это экспериментальные результаты, фактическое время обновления будет отличаться. В процессе глобального обновления будет эффект мерцания, это нормальное явление.
(3) Энергопотребление: это экспериментальные результаты. Фактическое потребление энергии может отличаться, в зависимости от драйвера и условий применения.

[Метод обмена данными]

EPD 2 9 manual fig01

CSB (CS): сигнал выборки чипа, активный уровень 0 (если CS==0, то работа чипа разрешена).

SCL (SCK/SCLK): сигнал тактов SPI.

D/C (DC): сигнал для указания, что будет передаваться - данные (Data) или команда (Command). Команда передается при DC==0, данные/параметр передаются, когда DC==1.

SDA (DIN): сигнал данных SPI.

Тайминг SPI: CPHL=0, CPOL=0 (SPI mode 0).

Примечание: специальную информацию по протоколу SPI ищите в Интернете.

[Принцип программирования]

Для монохромной картинки определено, что бит 0 кодирует черную точку (Black), а 1 белую точку (White).

White: □ Bit 1
Black: ■ Bit 0

Точка на экране называется пикселом. 1 бит кодирует цвет одного пикселя, а байт кодирует цвет для 8 пикселей. Например, если мы установим первые 8 пикселей черными, и последние 8 пикселей белыми, то получится 16-битное значение:

Pixel  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
Index  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
Bit 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Color

Для компьютера обычно эти данные сохраняются в формате MSB (старший значащий бит идет первым):

Pixel  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
Index  7  6  5  4  3  2  1  0  7 6 5 4 3 2 1 0
Bit 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Color
Байты 0x00 0xFF

Таким образом, для 16 точек мы будем использовать 2 байта.

Для индикатора 2.9-inch e-Paper (B), у которого трехцветное отображение (RED, BLACK, WHITE), нам нужно разделить отображаемую на экране картинку на два образа: один для части BLACK/WHITE (черно-белая картинка), и другую для части RED/WHITE (красно-белая картинка). Во время передачи один регистр управляет отображением картинки BLACK/WHITE, а другой отображением RED/WHITE. Таким образом, для 1 байт управляет 8 точками BLACK/WHITE, и 1 байт 8 точками RED/WHITE.

Для примера предположим, что у нас 8 пикселей, первые 4 красные, и последние 4 черные. Тогда нам нужно разделить изображение на BLACK/WHITE картинку и на RED/WHITE картинку. На обоих картинках будет 8 пикселей, но но первые 4 пикселя картинки BLACK/WHITE будут белыми и последние 4 пикселя черные, а у картинки RED/WHITE первые 4 пикселя черные, а последние 4 пикселя белые.

  Перед разделением
  После разделения
BLACK/WHITE
RED/WHITE

Если мы укажем, что белый цвет сохраняется как 1, а красный или черный сохраняется как 0, то получится следующее представление:

Бит 1 2 3 4 5 6 7 8
BLACK/WHITE
Биты хранилища 1 1 1 1 0 0 0 0
Байт 0xF0
Бит 1 2 3 4 5 6 7 8
RED/WHITE
Биты хранилища 0 0 0 0 1 1 1 1
Байт 0x0F

Важные замечания:

1. Для дисплеев e-Paper, которые поддерживают частичное обновление (partial refresh): обратите внимание, что нельзя использовать постоянно режим частичного обновления. После того, как частичное обновление было произведено несколько раз, необходимо сделать один раз полное обновление (fully refresh EPD). Иначе работа экрана будет ненормальной.

2. Будет нормальным, что отображение цветов трехцветного экрана или многоцветного экрана EPD будет отличаться в различных партиях. Поэтому рекомендуется использовать программу для очистки всех картинок на EPD и хранить их экраном вверх. Перед включением очистите экран несколько раз.

3. Имейте в виду, что на экран нельзя долго оставлять во включенном состоянии. Когда экран не обновляется, установите экран в режим сна (sleep mode) или выключите у него питание. Иначе, когда экран долго остается под высоким напряжением, это повреждает e-Paper, и его нельзя будет восстановить!

4. При использовании дисплея e-Paper рекомендуется, чтобы интервал обновления был не менее 180 секунд, и чтобы он обновлялся одного раза каждые 24 часа. Если e-Paper долго не используется, то нужно использовать программу для очистки экрана перед его хранением (см. даташит для информации по требованиям к условиям хранения).

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

6. Управляйте регистром 0x3C или 0x50 (подробности см. в даташите) для подстройки цвета бордюра. В demo вы можете настроить регистр Border Waveform Control или VCOM_AND_DATA_INTERVAL_SETTING для установки бордюра.

7. Если вы обнаружите, что созданные данные изображения отображаются некорректно, то рекомендуется проверить настройки размера изображения, поменять настройки ширины (width) и высоты (height) образа, и попробовать еще раз.

8. Рабочее напряжение экрана e-Paper составляет 3.3V. Если вы купили просто панель (raw panel), то нужно добавить схему преобразования уровней для совместимости с напряжением 5V. На новую версию платы драйвера (V2.1 и последующие версии) была добавлена схема обработки уровней, так что поддерживаются и 3.3V, и 5V. Старые версии поддерживают только рабочее окружение 3.3V. Следует проверить версию вашей платы перед использованием (номер версии находится под именем платы).

9. FPC-кабель, идущий от экрана, довольно нежный: не изгибайте кабель в вертикальном направлении по отношению к экрану во избежание его разрыва. Избегайте чрезмерного изгиба этого кабеля, не перегибайте кабель к передней части экрана во избежание его отсоединение от панели. Рекомендуется использовать фиксированную проводку во время отладки и разработки.

10. Экран e-Paper относительно хрупкий, избегайте его падения, ударов по нему и нажатий на поверхность экрана.

11. Рекомендуется использовать поставляемую программу примера для тестирования экрана с соответствующей отладочной платой.

[Подключение и использование]

Подключение. При подключении к Raspberry Pi можно непосредственно использовать её 40PIN коннектор, уделив внимание на корректность подключения сигналов. Если у вас кабель 8PIN, то сверьтесь со следующей таблицей:

 e-Paper 
Raspberry Pi
 BCM2835     Board   
VCC 3.3V 3.3V
GND GND GND
DIN MOSI 19
CLK SCLK 23
CS CE0 24
DC 25 22
RST 17 11
BUSY 24 18

Разрешение интерфейса SPI. Откройте терминал Raspberry Pi и введите следующую команду в интерфейсе конфигурации:

$ sudo raspi-config

Выберите Interfacing Options -> SPI -> Yes для разрешения интерфейса SPI.

EPD 2 9 manual RPI open SPI fig02

EPD 2 9 manual RPI open SPI fig03

EPD 2 9 manual RPI open SPI fig04

После этого перезагрузите Raspberry Pi:

$ sudo reboot

Проверьте /boot/config.txt, и вы увидите, что в него записано 'dtparam=spi=on'.

# Раскоментируйте некоторые или все эти строки, чтобы разрешить опциональные аппаратные интерфейсы
dtparam=i2c_arm=on
#dtparam=i2s=on dtparam=spi=on

Для гарантии, что SPI не занят, рекомендуется закрыть все другие драйверы. Для проверки вы можете использовать ls /dev/spi*. Если в терминале выведется /dev/spidev0.1 и /dev/spidev0.1, то SPI не занят.

$ ls /dev/spi*
/dev/spidev0.0   /dev/spidev0.1

[Запуск примера на языке C]

1. Установите библиотеку lg. Для этого откройте терминал и запустите следующие команды:

$ wget https://github.com/joan2937/lg/archive/master.zip
$ unzip master.zip
$ cd lg-master
$ make
$ sudo make install

Для дополнительной информации см. исходный код библиотеки lg [3].

2. Установите библиотеку gpiod (необязательный шаг):

$ sudo apt-get update
$ sudo apt install gpiod libgpiod-dev

3. Установите BCM2835:

$ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
$ tar zxvf bcm2835-1.71.tar.gz
$ cd bcm2835-1.71/
$ sudo ./configure && sudo make && sudo make check && sudo make install

Для дополнительной информации посетите официальный сайт библиотеки [4].

4. Установите WiringPi (необязательный шаг):

$ sudo apt-get install wiringpi

Для систем Raspberry Pi после мая 2019 (для более старых систем это может не понадобиться) может понадобиться апгрейд:

$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb
$ gpio -v

В ответ на команду gpio -v появится версия 2.52. Если это не так, то инсталляция была неправильная.

5. Для установки Bullseye branch system используйте команду:

$ git clone https://github.com/WiringPi/WiringPi
$ cd WiringPi
$ ./build
$ gpio -v

В ответ на gpio -v появится версия 2.60. Если это не так, то произошла ошибка инсталляции.

6. Загрузите demo, если вы это еще не сделали:

$ git clone https://github.com/waveshare/e-Paper.git
$ cd e-Paper/RaspberryPi_JetsonNano/

Или:

$ wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip
$ unzip E-Paper_code.zip -d e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

Альтернативный метод распаковки:

$ sudo apt-get install p7zip-full
$ 7z x E-Paper_code.zip -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

7. Скомпилируйте demo. Здесь опция -j4 используется для компиляции в 4 потока, количество потоков можете подстроить при необходимости. EPD=epd2in9bV3 указывает определение макроса, где epd2in9bV3 соответствует тесту демонстрации (test demo) в функции main.

Запустите эти команды в каталоге e-Paper/RaspberryPi_JetsonNano:

$ cd c
$ sudo make clean
$ sudo make -j4 EPD=epd2in9bV3

8. Запуск demo:

$ sudo ./epd

[Запуск примера на языке Python]

1. Установите библиотеки функций. В случае Python3:

$ sudo apt-get update
$ sudo apt-get install python3-pip
$ sudo apt-get install python3-pil
$ sudo apt-get install python3-numpy
$ sudo pip3 install spidev

В случае Python2:

$ sudo apt-get update
$ sudo apt-get install python-pip
$ sudo apt-get install python-pil
$ sudo apt-get install python-numpy
$ sudo pip install spidev

2. Библиотека gpiozero устанавливается в системе по умолчанию. Если это не так, то вы можете установить её следующими командами. В случае Python3:

$ sudo apt-get update
$ sudo apt install python3-gpiozero

В случае Python2:

$ sudo apt-get update
$ sudo apt install python-gpiozero

3. Загрузите demo, если вы это еще не сделали.

$ git clone https://github.com/waveshare/e-Paper.git
$ cd e-Paper/RaspberryPi_JetsonNano/

Или:

$ wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip
$ unzip E-Paper_code.zip -d e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

Альтернативный метод распаковки:

$ sudo apt-get install p7zip-full
$ 7z x E-Paper_code.zip -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

4. Запуск demo. Перед выполнением этих команд убедитесь, что вы находитесь в каталоге e-Paper/RaspberryPi_JetsonNano/:

$ cd python/examples/
$ python3 epd_2in9b_V3_test.py

Также см. Raspberry Pi Documentation (https://www.waveshare.com/wiki/Raspberry_Pi_Documentation).

Подключение. Если у вас кабель 8PIN, то сверьтесь со следующей таблицей:

 e-Paper 
Arduino Uno
Mega2560
VCC 5V 5V
GND GND GND
DIN D11 D51
CLK D13 D52
CS D10 D10
DC D9 D9
RST D8 D8
BUSY D7 D7

1. Установите Arduino IDE (https://www.waveshare.com/wiki/Arduino_ide_download).

2. Загрузите архив demo (https://files.waveshare.com/upload/7/71/E-Paper_code.zip), распакуйте содержимое архива E-Paper_code.zip в папку E-Paper_code. В папке будет следующее содержимое:

EPD 2 9 manual Arduino SPI fig05

3. Откройте демонстрационный скетч E-Paper_code\Arduino\epd2in9b_V3\epd2in9b_V3.ino.

EPD 2 9 manual Arduino SPI fig06

4. Выберите в меню Tools соответствующую плату (Board) и порт подключения (Port).

EPD 2 9 manual Arduino SPI fig07

5. Кликните Upload, успешная загрузка будет выглядеть примерно так (в среде Arduino 1.8.13):

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p) avrdude: reading input file avrdude: writing flash (6916 bytes):
Writing | ################################################## | 100% 2.64s
avrdude: 6916 bytes of flash written
avrdude done. Thank you.

Подключение. Коннектор 40PIN платы Jetson Nano совместим по цоколёвке с коннектором 40PIN Raspberry Pi, и предоставляется библиотека Jetson.GPIO, у которой такое же API, как и у библиотеки RPI.GPIO Raspberry Pi, так что подключаемый здесь серийный номер такой же, как и у Raspberry Pi. Модуль экрана может быть непосредственно подключен к коннектору 40Pin Jetson Nano, если у модуля экрана интерфейс 40PIN.

Если вы подключаете модуль экрана кабелем 8PIN, то сверьтесь со следующей таблицей:

 e-Paper 
Jetson Nano Developer Kit
 BCM2835        Board      
VCC 3.3V 3.3V
GND GND GND
DIN 10 (SPI0_MOSI) 19
CLK 11 (SPI0_SCK) 23
CS 8 (SPI0_CS0) 24
DC 25 22
RST 17 11
BUSY 24 18

[Запуск примера на языке C]

1. Загрузите demo, если вы это еще не сделали.

$ git clone https://github.com/waveshare/e-Paper.git
$ cd e-Paper/RaspberryPi_JetsonNano/

Или:

$ wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip
$ unzip E-Paper_code.zip -d e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

Альтернативный метод распаковки:

$ sudo apt-get install p7zip-full
$ 7z x E-Paper_code.zip -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

2. Скомпилируйте demo. Здесь JETSON это указанное устройство, и RPI по умолчанию не указывается. Опция -j4 применена для компиляции в 4 потока, выберите количество потоков по своему усмотрению. EPD=epd2in9bV3 указывает определение макроса, где epd2in9bV3 соответствует тесту демонстрации (test demo) в функции main.

Перед запуском этих команд проверьте, что вы находитесь в каталоге e-Paper/RaspberryPi_JetsonNano:

$ cd c
$ sudo make clean
$ sudo make JETSON -j4 EPD=epd2in9bV3

3. Запуск demo:

$ sudo ./epd

[Запуск примера на языке Python]

1. Установите библиотеки функций.

$ sudo apt-get update
$ sudo apt-get install python3-numpy
$ sudo apt-get install python3-pip
$ sudo pip3 install Jetson.GPIO

2. Загрузите demo, если вы это еще не сделали.

$ git clone https://github.com/waveshare/e-Paper.git
$ cd e-Paper/RaspberryPi_JetsonNano/

Или:

$ sudo apt-get install p7zip-full
$ wget  https://files.waveshare.com/upload/3/39/E-Paper_code.7z
$ 7z x E-Paper_code.7z -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

Альтернативный метод распаковки:

$ sudo apt-get install p7zip-full
$ 7z x E-Paper_code.zip -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

3. Запуск demo. Перед запуском этих команд проверьте, что находитесь в каталоге e-Paper/RaspberryPi_JetsonNano/:

$ cd python/examples/
$ python3 epd_2in9b_V3_test.py

Подключение. Если на индикаторе коннектор 40PIN, то вы можете напрямую подключить в коннектор 40PIN Sunrise X3 Pi. Если вы подключаете модуль экрана кабелем 8PIN, то сверьтесь со следующей таблицей:

 e-Paper 
Sunrise X3 Pi
       BCM              Board      
VCC 3.3V 3.3V
GND GND GND
DIN MOSI 19
CLK SCLK 23
CS CE0 24
DC 25 22
RST 17 11
BUSY 24 18

Разрешение SPI. По умолчанию SPI разрешен. Если вы запретили его, то разрешите с помощью следующих шагов.

Введите команду:

$ sudo srpi-config

Выполните следующие настройки:

EPD 2 9 manual Sunrise X3 Pi enable SPI fig08

EPD 2 9 manual Sunrise X3 Pi enable SPI fig09

EPD 2 9 manual Sunrise X3 Pi enable SPI fig10

[Запуск примера на языке Python]

1. Установите библиотеки функций.

$ sudo apt-get update
$ sudo apt-get install python-pip
$ sudo apt-get install python-pil
$ sudo apt-get install python-numpy
$ sudo pip install Hobot.GPIO
$ sudo pip install spidev

2. Загрузите demo, если вы это еще не сделали.

$ git clone https://github.com/waveshare/e-Paper.git
$ cd e-Paper/RaspberryPi_JetsonNano/

Или:

$ wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip
$ unzip E-Paper_code.zip -d e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

Альтернативный метод распаковки:

$ sudo apt-get install p7zip-full
$ 7z x E-Paper_code.zip -O./e-Paper
$ cd e-Paper/RaspberryPi_JetsonNano/

3. Запуск demo. Перед выполнением этих команд убедитесь, что находитесь в каталоге e-Paper/RaspberryPi_JetsonNano/:

$ cd python/examples/
$ python3 epd_2in9b_V3_test.py

Подключите индикатор по следующей таблице:

 e-Paper 
  STM32  
VCC 3.3V
GND GND
DIN PA7
CLK PA5
CS PA4
DC PA2
RST PA1
BUSY PA3

Загрузите архив demo (https://files.waveshare.com/upload/7/71/E-Paper_code.zip), распакуйте содержимое загруженного архива E-Paper_code.zip в папку E-Paper_code.

EPD 2 9 manual STM32 fig11

Запустите IDE Keil v.5, откройте в нем epd-demo.uvprojx из директории E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM. Если у вас не открыт тулбар компиляции, то откройте его.

EPD 2 9 manual STM32 fig12

В выпадающем списке примеров теста выберите EPD_2in9b_V3_test, как показано на рисунке.

EPD 2 9 manual STM32 fig13

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

Linking...
Program Size: Code=24732 RO-data=19288 RW-data=396 ZI-data=53428
FromELF: creating hex file...
"epd-demo\epd-demo.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:12

[FAQ]

Q01. При запуске Python demo на Raspberry Pi происходит следующее:

pi@user:~/e-Paper/RaspberryPi_JetsonNano/python/examples $ python3 epd7in5_V2_test.py
INFO:root:epd7in5_V2 Demo
INFO:root:init and Clear
INFO:root:[Errno 2] No such file or directory

A01. Введите команду ls /dev/spi*, в результате может появиться следующее:

pi@user:~/e-Paper/RaspberryPi_JetsonNano/python/examples $ ls /dev/spidev*
/dev/spidev0.1  /dev/spidev1.1  /dev/spidev1.2

Причина в том, что SPI занят в файле /boot/config.txt.


dtpatam=spi=on dtoverlay=spi1-3cs dtoverlay=mcp251xfd,spi0-0,interrupt=25 dtoverlay=mcp251xfd,spi1-0,interrupt=24


Как исправить:

- Удалите оккупацию spi0-0 в файле /boot/config.txt.
- Измените месторасположение, показанное на картинке, в файле /e-Paper/RaspberryPi_JetsonNano/lib/waveshare_epd/epdconfig.py, и поменяйте параметры функции open на 0, 1.

Q02. Компиляция кода STM32 в MDK показывает, что места в памяти недостаточно.

A02. Демонстрационный код использует микроконтроллер STM32f103ZET6. Если у вас другая модель, такая как STM32F103RBT6, то места в RAM может оказаться недостаточно. Может помочь уменьшение размера стека (stack size) или кучи (heap size) в файле первоначального запуска микроконтроллера (startup file).

Q03. Когда передача шрифта использует Data Start Transmission 1, и когда Data Start Transmission 2?

A03. При передаче данных BLACK/WHITE используйте Data Start Transmission 1, а при передаче данных RED/WHITE используйте Data Start Transmission 2.

Q04. e-Paper показывает черный бордюр.

A04. Цвет бордюра экрана можно изменить регистром Border Waveform Control, или VCOM_AND_DATA_INTERVAL_SETTING.

Q05. После нескольких частичных обновлений шрифт отображается светлее.

A05. В этом случае необходимо уменьшить положение частичного обновления и очистить экран после 5 частичных обновлений. Увеличение напряжения VCOM может улучшить цвет, но увеличит остаточное изображение (afterimage).

Q06. Когда экран e-Paper находится в режиме глубокого сна, обновление экрана не приводит к чистому экрану, когда он просыпается в первый раз.

A06. Процесс пробуждения экрана e-Paper фактически это включение питания. Таким образом, когда EPD пробуждается, экран должен быть сначала очищен во избежание феномена остаточного изображения.

Q07. При тестировании программы происходит зависание на занятости (e-Paper busy)

A07. Это может быть связано с некорректным драйвером SPI.

- Сначала проверьте корректность подключения.
- Проверьте, что SPI разрешен и правильно сконфигурирован (SPI baud rate, SPI mode и другие параметры).

Q08. Почему не отображается картинка, когда происходит полное обновление (full refresh) после частичного обновления (partial refresh)?

A08. Должна быть добавлена функция инициализации полного обновления, когда экран e-Paper переключается из partial refresh в full refresh.

Q09. Почему при запуске программы Python печать информации выводится нормально, но экран e-Paper не отвечает?

A09. Может быть подобная ситуация на библиотеке BCM2835, которая ранее запускала программу языка C. Тогда нужно перезапустить Raspberry Pi, а затем запустить демонстрацию Python.

Q10. Ошибка "ImportError: No module named Image".

A10. Установите библиотеку imaging командой "sudo apt-get install python-imaging".

Q01. Может Arduino 5V управлять экраном e-Paper?

A01. Может, в настоящий момент на плате драйвера индикатора применяется чип преобразования уровней, поддерживающий уровни 5V.

Q02. На что обратить внимание при разработке платы драйвера индикатора?

A02. Согласованные входные напряжения уровней экрана e-Paper составляют 2.3 .. 3.6V. Если у вас система с уровнями 5V, то требуется преобразование уровней. Также напряжение не должно быть ниже 2.5V. Выбирайте модель индикатора и схему подключения в соответствии с информацией даташита.

Q03. Можно ли использовать аналоговый SPI?

A03. Да, только соблюдайте тайминги.

Q04. Почему уровень сигнала BUSY всегда показывает занятость?

A04. Могут помочь советы:

- Проверьте корректность сигналов SPI.
- Убедитесь, что сигнал BUSY нормально инициализируется как вход.
- Может быть не было нормального сброса, попробуйте сократить длительность импульса лог. 0 сброса (слишком длинный сигнал может привести к ошибке инициализации).
- Если функция занятости посылает команду 0x71, то вы можете попробовать это закомментировать.

Q05. Какова спецификация кабеля интерфейса?

A05. Могут использоваться следующие кабели (у всех шаг контактов 0.5 мм):

1.64 дюймов, 2.36 дюймов, 3 дюйма, 26Pin.
1.02 дюйма, 30Pin.
4.37 дюйма, 7.3 дюйма, 50Pin.

Остальные кабели (относящиеся к непараллельным портам) 24Pin.

Q06. Какой используется тип коннектора экрана e-Paper?

A06. Сокет гибкого плоского кабеля 0.5-XXpin rear-flip 2.0H (коннектор FPC).

Q01. Какие должны быть условия использования экрана e-Paper?

A01. Должны соблюдаться следующие параметры:

Рабочие условия Диапазон температур 0 .. 40°C (для экрана 7 цветов 15 .. 35°C); диапазон влажности 35% .. 65% RH.
Условия хранения Диапазон температур ниже 30°C; диапазон влажности ниже 55% RH; максимальное время хранения 6 месяцев.
Условия транспортировки Диапазон температур -25 .. 50°C; максимальное время транспортировки 10 дней.
После распаковки Диапазон температур 20°C ± 5°C; диапазон влажности 50 ± 5% RH; максимальное время хранения: сборка в течение 72 часов.

Q02. На что обращать внимание для обновления экрана?

A02. Обратите внимание на следующее.

• Режим обновления

- Полное обновление: экран e-Paper будет несколько раз мерцать в течение процесса обновления (количество мерцаний зависит от времени обновления). Эти мерцания нужны для устранения эффекта остаточного изображения (afterimage).
- Частичное обновление: во время этого процесса экран e-Paper не мерцает. Имейте в виду, что после нескольких таких обновлений нужно выполнять операцию полного обновления, которое удалит остаточного изображения, иначе проблема остаточного изображения станет более серьезной, или даже может повредить экран (в настоящий момент только некоторые черно-белые экраны поддерживают частичное обновление, за полной информацией обращайтесь к страничке описания продукта).

• Частота обновления

- Рекомендуемый интервал обновления экрана e-Paper должен быть как минимум 180 секунд (кроме продуктов, которые поддерживают функцию частичного обновления).
- Во время процесса standby (т. е. после операции обновления) рекомендуется установить экран e-Paper в режим сна (sleep mode), или выключить питание (узел питания экрана e-Paper может быть отключен аналоговым ключом, например на полевом транзисторе), чтобы уменьшить потребление энергии и увеличить продолжительность жизни экрана e-Paper (если некоторые экраны e-Paper остаются запитанными долгое время, то экран повреждается без возможности восстановления).
- При использовании трехцветного экрана e-Paper рекомендуется обновлять экран как минимум один раз каждые 24 часа (если на экране остается одинаковое содержимое долгое время, то произойдет сгорание экрана, которое будет сложно исправить).

• Условия использования

- Рекомендуется использовать e-Paper в помещении, не на открытом воздухе.
- Если предусматривается сценарий использования на улице, то нет гарантии правильного функционирования экрана. Если экран e-Paper использовался не в помещении, и был поврежден, то гарантийное обслуживание для него не предоставляется.
- При разработке устройств с применением e-Paper следует обеспечить требуемые условия эксплуатации для экранов e-Paper.

Вот некоторые защитные меры для использования вне помещения, но все равно нет гарантии, что e-Paper будет нормально работать даже при соблюдении этих мер предосторожности:

- Избегайте направлять на экран e-Paper прямой солнечный свет, примените защиту от ультрафиолета. Длительное воздействие интенсивного облучения может высушить заряжаемые частицы, делая их неактивными и неспособными к обновлению, что необратимо.
- Полностью закройте белую клеевую часть соединительной ленты экрана e-Paper лентой 3M. Полное покрытие и отсутствие покрытия дают разные эффекты под воздействием ультрафиолета.
- Поместите экран e-Paper в относительно затененные места, такие как под деревьями, или в тень карнизов.

Q03. Сколько допустимых обновлений (какое время жизни) у экрана e-Paper?

A03. Идеально, при нормальном использовании обновление может быть произведено 1000000 (1 миллион) раз.

Q04. После некоторого времени использования обновление экрана (полное обновление) показывает серьезную проблему остаточного изображения. Это можно исправить?

A04. Когда питание на разрабатываемой плате поддерживается долгое время, после каждой операции обновления рекомендуется перевести экран в режим сна (sleep mode) или непосредственно выключить питание. Иначе экран может сгореть, когда находится под высоким напряжением долгое время.

Q05. После входа экрана e-Paper в режим сна (sleep mode) можно его снова обновить?

A05. Да, но сначала необходимо провести его повторную программную инициализацию.

Q06. Почему изображение показывается со смещением?

A06. Причины могут быть следующие:

- Слишком большая скорость SPI, из-за чего происходит потеря данных. Попробуйте уменьшить скорость SPI.
- Недостаточное или нестабильное питание, которое приводит к потере данных.
- Кабель данных настолько длинный, что это приводит к потере данных. Кабель расширения не должен превышать 20 см.

Q07. Что такое файл формы сигнала (waveform file) экрана e-Paper, и что он делает?

A07. Этот файл предоставляет следующую информацию:

• Шкала серого дисплея электрофорезной электронной бумаги определяется пространственным положением частиц в микрокапсуле (Microcapsule, или Microcup). Явление электрофореза происходит между чёрными частицами и белыми частицами под действием напряжения. Эта последовательность напряжений, которая способствует электрофоретическому движению частиц, является движущей волной электронной бумаги. Форма сигнала возбуждения является основной частью дисплея на электронной бумаге, и оптимизация формы сигнала возбуждения будет непосредственно влиять на эффект отображения дисплея. Файл формы сигнала возбуждения используется для описания параметров, формируемых последовательностью напряжений, которая способствует электрофоретическому движению частиц, и его необходимо регулярно вызывать при обновлении электронной бумаги.
• Для разных партий мембран e-Paper электрофоретические матрицы требуют разных значений напряжения при управлении дисплеем из-за материалов, производственных процессов и т. д. Форма сигнала экрана e-Paper отражается во взаимосвязи между шкалой серого, напряжением и температурой. Вообще говоря, после формирования каждой партии матрицы электрофореза будет соответствующий файл формы сигнала в виде файла .wbf. Производитель пленки предоставит файл формы сигнала и матрицу электрофореза производителю экрана e-Paper, а затем производитель экрана e-Paper интегрирует защитную плату, подложку и драйвер, а затем предоставляет их клиентам; если файл формы сигнала не соответствует экрану, вероятно, изображение не может быть отображено или эффект отображения является неудовлетворительным. Как правило, файл формы сигнала имеет OTP, встроенный в микросхему драйвера экрана e-Paper при выходе с завода, а некоторые программы, которые мы предоставляем, также называются внешними файлами формы сигнала для управления экраном e-Paper.

Q08. Что такое LUT, OTP, EPD?

A08. LUT это аббревиатура от Look Up Table (таблица поиска данных), а OTP это аббревиатура от One Time Program (память, программируемая однократно). Изначальное предназначение LUT - загрузка файлов waveform, и файлы waveform подразделяются на OTP и REGISTER. Отличие между ними в том, что OTP это встроенное постоянное хранилище данных, а REGISTER предоставляет возможность загрузки waveform из внешнего хранилища. EPD это аббревиатура от Electronic Paper Display (экран типа "электронная бумага").

Q09. Что собой представляет процесс частичного обновления (partial refresh)?

A09. Существует два основных типа экранов e-Paper:

• Один из них подразумевает предварительное обновление фонового образа.
• Другой позволяет альтернативно обновить старые данные новыми данными.

Q10. Как частично обновить изображение в разных позициях одновременно?

A10. Одновременное обновление частей экрана в различных местоположениях должно выполняться в проекте программы, т. е. сначала должны подготавливаться данные экрана, собранные для различных местоположений экрана для микросхемы e-Paper, и потом должно происходить единообразная операция Update/TurnOnDisplay.

Q11. Имеет ли трехцветная электронная бумага разные цвета (красный/желтый)?

A11. Да, при формировании партии e-Paper могут происходить некоторые отличия по цвету, это нормальный феномен. Храните e-Paper лицевой стороной вверх, чтобы в некоторой степени уменьшить красноватость/желтоватость.

Q12. Поставляются ли оголенные экраны с пленкой?

A12. Да, они поставляются в пленке.

Q13. Есть ли в e-Paper встроенный датчик температуры?

A13. В настоящее время все экраны имеют встроенные датчики температуры, и также можно использовать контакты IIC внешнего датчика температуры LM75.

Q14. Какие номера деталей и/или спецификации используются для винтов/стоек?

A14. Используются винтики с резьбой M2.5 (SMTSO-M2.5-4ET).

Техподдержка. Если вам нужна техническая поддержка, то на официальном сайте для этого есть специальная кнопка Submit Now для создания тикета. Поддержка waveshare ответит вам в течение 1 или 2 рабочих дней. Рабочее время 9 AM - 6 PM GMT+8 (с понедельника по пятницу).

Примечание переводчика: техподдержка действительно работает. На мой вопрос (заданный конечно по-английски): есть ли возможность программного определения типа индикатора BW или BWR? Быстро пришел однозначный ответ: такой возможности нет.

[Ссылки]

1. 2.9inch e-Paper Module Manual site:waveshare.com.
2. 2.9inch e-Paper Module (B) Manual site:waveshare.com.
3. gpiozero / lg - библиотека lg (GitHub).
4. C library for Broadcom BCM 2835 as used in Raspberry Pi.

 

Добавить комментарий


Защитный код
Обновить

Top of Page