Муфты электромонтажные от производителя Fucon
РадиоЛоцман - Все об электронике

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Мастер Кит MP712m MP718m

Начиная с версии прошивки 519, модули MP712m Laurent-5 и MP718m Laurent-5G могут работать с внешним символьным LCD дисплеем для отображения на нем различной информации, в том числе, актуальных показаний различных датчиков и системных переменных. Рассмотрим в данной статье практический пример использования LCD в связке с Laurent-5. В частности, реализуем систему визуализации ряда настроек модуля, а также текущего состояния некоторых аппаратных ресурсов.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Начиная с версии прошивки 519, модули MP712m Laurent-5 и MP718m Laurent-5G могут работать с внешним символьным LCD дисплеем для отображения на нем различной информации, в том числе, актуальных показаний различных датчиков и системных переменных.

Рассмотрим в данной статье практический пример использования LCD в связке с Laurent-5. В частности, реализуем систему визуализации ряда настроек модуля, а также текущего состояния некоторых аппаратных ресурсов. Предусмотрим так же механическую кнопку для пользователя, с помощью которой он сможет «листать» страницы дисплея (переходить к другим блокам информации, т.к. все, что мы захотим визуализировать, едва ли поместится на одном экране).

Подключение LCD

Первым шагом подключим знакосинтезирующий LCD дисплей к модулю. Будем использовать символьный дисплей с двумя строками по 16 символов в каждой строке. Конкретная модель – МЭЛТ МТ-16S2H-2YLG. Можно также использовать дисплеи с другим разрешением или других производителей, например, WinSTAR.

Дисплей подключается в четырехбитном режиме шины данных к «штырьковому» разъему на лицевой стороне платы.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Схема подключений линий штырькового разъема модуля и LCD дисплея МЭЛТ МТ-16S2H-2YLG представлена на иллюстрации ниже.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Контакт
«штырькового»
разъема модуля
Имя линии Описание Номер контакта
MT-16S2H-2YLG
11 D7 Шина данных LCD дисплея (старший бит в 4-битном режиме
передачи данных)
14
12 D6 Шина данных LCD дисплея 13
13 D5 Шина данных LCD дисплея 12
14 D4 Шина данных LCD дисплея (младший бит в 4-битном режиме
передачи данных)
11
15 E Сигнал разрешения обращений к LCD дисплею (а также
строб данных)
6
16 RW Выбор режима записи или чтения данных по шине LCD дисплея 5
17 A Адресный сигнал LCD дисплея — выбор между передачей
данных и команд управления
4
18 GND «Земля» 1
19 +5 Питание дисплея (+5 В) 2

 

Используя пины штырькового разъема модуля, можно подключить и другие модели знакосинтезирующих дисплеев с паралельной шиной данных; главное проверить назначение контактов конкретного LCD. Например, на фото ниже показан подключенный дисплей 4 × 16 МЭЛТ MT-20S4A-2YLG

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

После подключения дисплея можно оперативно проверить его работоспособность через WEB интерфейс. Заходим в соответствующий раздел WEB:

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

По умолчанию модуль настроен на работу с дисплеем 2 × 16 (как раз наш случай). Если нет – следует указать актуальное разрешение используемого дисплея для корректной работы с ним.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Запишем простую строку данных, в частности, из примера. Все остальные настройки пока оставим как есть.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Помимо обычного текста, можно выводить и показания датчиков/ системных переменных с помощью динамических переменных.

Полный список всех динамических переменных, поддерживаемых модулем, можно найти в соответствующем документе Описание Ke-команд управления.

Например, на рисунке ниже выведем текущее время RTC на первую строку дисплея.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Виртуальные страницы

Однако, вернемся к «боевой» задаче. Необходимо на LCD экране выводить много разнообразной информации: настройки модуля, системные параметры, показания датчиков. Очевидно, что на одном экране в 2 строки и 16 символов такой объем не поместится.

Поэтому в модулях Laurent-5/5G предусмотрены виртуальные страницы дисплея. Необходимая информация сначала заполняется на виртуальную страницу. Это поле размером с физический экран хранится в оперативной памяти модуля. Затем та или иная страница отображается (переносится) на физический дисплей.

Предположим, что мы хотим отображать на дисплее следующие данные:

  • Имя версии прошивки
  • IP адрес модуля
  • Текущее время
  • Состояние всех реле

Пусть имя прошивки и IP будут размещены на первой и второй строках первой виртуальной страницы. Время и реле – на первой и второй строках второй виртуальной страницы. Итого, нам будут нужны две виртуальные страницы. Необходимо «сказать» об этом модулю. Это можно сделать через WEB интерфейс либо Ke-командой:

$KE,LCD,PAGE,SET,2

Полный список всех Ke-команд, поддерживаемых модулем, можно найти в соответствующем документе Описание Ke-команд управления.

ВАЖНЫЙ МОМЕНТ: необходимо, чтобы информация (текущее время, состояния реле и т.д.) динамически менялась на экране (отображалось бы актуальное текущее значение) силами самого модуля.

Тут нам понадобится система CAT – встроенная программируемая логика. Создадим в ней несколько событий по изменению интересующих нас параметров, а в качестве реакции будем выводить нужные данные на виртуальные страницы дисплея. Создание и управление CAT событиями можно удобно проводить в WEB интерфейсе модуля.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Для отрисовки информации, которая не изменяется (вернее, считывается единожды при старте модуля), такой как версия прошивки и начальный IP, воспользуемся CAT событием по системному времени (время с момента старта модуля).

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

В качестве условия укажем сработать событию, когда системное время будет равно 5 с. То есть когда с момента старта платы пройдет 5 с, это событие сработает (один раз).

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Секцию дополнительных условий пропускаем. Настройки квот можно оставить по умолчанию. На следующем шаге – реакция. Задаем ее в виде списка Ke-команд. В частности, используя команду $KE,LCD,WR, запишем на первую виртуальную страницу информацию о версии прошивки (первая строка LCD, динамическая переменная ~FW~) и текущем IP адресе (вторая строка LCD, переменная ~IP~):

$KE,LCD,WR,1,L,C,1,FW: ~FW~

$KE,LCD,WR,1,L,C,2,~IP~

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

На последнем шаге можно дать удобное текстовое имя событию. После создания события оно появляется в списке в выключенном состоянии. Его следует включить с помощью соответствующей иконки-кнопки.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Для автоматического отображения изменяющегося времени, а также состояний реле, по аналогии воспользуемся событием CAT по системному времени, но срабатывать событие будет регулярно. То есть будем обновлять информацию на дисплее с тактом один раз в секунду.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

При этом данные будем записывать уже на вторую виртуальную страницу. Информацию по времени на первую строку, сводное состояние всех реле (через динамическую переменную ~RR~) – на вторую строку.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Ke-команды для удобства копирования:

$KE,LCD,WR,2,L,C,1,Time: ~TM~

$KE,LCD,WR,2,L,C,2,Rele: ~RR~

В итоге события системы CAT будут выглядеть примерно следующим образом:

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Теперь мы можем «перелистывать» виртуальные страницы на дисплее, используя WEB интерфейс (кнопки Предыдущая, Следующая):

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Либо, используя соответствующие Ke-команды (переход: на конкретную страницу под номером N, следующую, предыдущую):

$KE,LCD,PG,SET

$KE,LCD,PG,NEXT

$KE,LCD,PG,PREV

Если перейти на первую страницу, то увидим, например, следующее:

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

А если перейти на вторую страницу, то увидим «тикающее» время и сводную строку состояний всех реле модуля (0 – выключено, 1 – включено). В данном случае третье реле включено, остальные выключены. Существуют также динамические переменные для отражения состояния каждого конкретного реле в отдельности.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Механическая кнопка

Доработаем немного систему: сделаем для пользователя возможность «листать» виртуальные страницы с помощью механической кнопки (как часто делается на промышленных приборах с небольшим LCD дисплеем – есть кнопки вперед/назад, выход в главное меню и т. д.). Сейчас сделаем только одну кнопку – листание виртуальных страниц в одну сторону.

Будем использовать линию общего назначения IO_1 настроенную «на вход» для обработки нажатия механической кнопки. По умолчанию линия IO настроена на «выход». Настроим линию «на вход», например, в WEB интерфейсе:

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

На странице линий IO отражен факт того, что линия IO_1 сейчас настроена на «выход» («стрелка» слева на право, текст OUT). Следует нажать на стрелочку, чтобы перевести ее на «вход».

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Теперь линия переведена в режим «на вход» (то есть мы сможем определять, какой уровень сигнала на ней установлен «снаружи» модуля – низкий или высокий). Также видим желтый индикатор статуса линии, говорящий о том, что на линии сейчас высокий уровень напряжения.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Начиная с версии прошивки 519 линии IO в режиме «на вход» автоматически подтягиваются к уровню +3.3 В (pull-up), чтобы избежать ложных срабатываний линии из-за наводок, если она не подключена к источнику сигнала («висит в воздухе»). При настройке линии «на выход» подтяжка автоматически отключается.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Процедуру изменения настройки линии можно также выполнить через Ke-команду:

$KE,IOD,SET,1,1

Добавим теперь к линии IO_1 механическую кнопку. Если кнопка нажата, на линии IO_1 будет низкий уровень сигнала («посажена» на землю). Если кнопка не нажата, на линии будет высокий уровень из-за описанной выше внутренний подтяжки к +3.3 В.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Свяжем событие нажатия на кнопку с переходом на следующую виртуальную страницу дисплея. Создадим новое CAT событие по изменению уровня сигнала входной IO линии.

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Настроим событие реагировать на переход уровня на линии IO_1 с высокого (кнопка не нажата) на низкий (кнопка зажата).

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Секцию дополнительных условий пропускаем. Настройки квот можно оставить по умолчанию. На следующем шаге – реакция. Задаем ее в виде списка Ke-команд. Используем команду $KE,LCD,PG,NEXT, которая переносит содержимое следующей виртуальной страницы на физический дисплей. При достижении последней страницы (в нашем случае у нас их всего две) будет осуществлен переход на первую страницу (зацикливание).

$KE,LCD,PG,NEXT

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

В итоге созданное CAT событие по нажатию кнопки, подключенной к линии IO_1, может выглядеть следующим образом (необходимо включить событие, так как по умолчанию после создания оно будет выключено).

MP712m Laurent-5 и MP718m Laurent-5G: пример работы с LCD

Теперь, если нажать на кнопку, на LCD дисплее будет отображаться следующая виртуальная страница со своим набором информации, обновляемой в режиме реального времени с помощью других CAT событий.

Послесловие

В качестве дальнейших шагов по развитию и наращиванию возможностей данной тестовой установки можно увеличивать количество виртуальных страниц для вывода большего объема различной информации. А также, например, добавить дополнительные механические кнопки – «перелистывание» в обратную сторону (актуально, если страниц много).

Мастер Кит

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя