LCD-дисплей для JK BMS и еще одна зарисовка на тему автономки

Небольшой фотоотчет-заметка.

В прошлом посте на тему автономки упоминалась собираемая знакомому батарея. На днях ее закончили; попутно были работы по переносу инвертора. В итоге вышло так:

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

Как и на моей батарее, на этой было решено поставить дисплей для отображения текущих параметров. В свою очередь мне захотелось попрактиковаться в  использовании с ESP32 LCD-дисплеев на базе HD44780 – они более крупные и вполне приятно смотрятся. Вместо лежащих по коробочкам в ожидании своего часа новых дисплеев, решил пристроить в работу дисплей со старенького FXO BestIP 2002+, который все равно никак не получалось применить:

Дисплей был извлечен, штатная гребенка удалена, вместо нее запаял более длинные пины. Так как у ESP32 C3 было в избытке свободных выводов – решил не использовать переходник i2c->hd44780, а подключать все напрямую к контроллеру в 4-битном режиме: всего потребовалось задействовать 6 ног. Еще пара использовалась для общения с JK BMS. Как и в прошлый раз, в качестве преобразователя с 48V на 5V использовался небольшой сетевой БП – он получался меньше по размерам, чем закрытый вариант. В итоге вышла такая конструкция:

Из особенностей:

  • Для жесткой стыковки плат в ход пошли металлические стойки-шестигранники на 2 мм.
  • Подсветка на дисплее выводится с противоположной стороны от основной гребенки. Макетка туда не дотягивается. Но рядом с выводами подсветки есть пара перемычек, которыми можно подключить ее к шине питания дисплея. Вместо одной из перемычек поставил резистор на 22 Ома для ограничения тока. Что интересно, пока занимался отладкой – подключал весь модуль через USB-порт на мониторе и подсветка ощутимо мерцала – сказывалась нестабильность 5В монитора и чувствительность подсветки. При запитке в готовой конструкции такого не было. Причем, USB-тестер, воткнутый в тот же USB-порт монитора особо скачков не показывает – колебания на уровне единиц милливольт.
  • Питание на гребенке сделано “наоборот” – 1-й вывод это “плюс”. Возможно, контроллер на деле KS0066.

Подключение тривиально:

Контрастность подсветки подобрал опытным путем.

Элементы, отображаемые на дисплее, постарался максимально сделать такими же, как было на первом дисплее. В итоге пришлось дополнить штатный перечень символов стрелочками вверх/вниз и символом паузы. В целом, рисовать их весьма просто даже без каких-либо генераторов символов: единичка – точка, нолик – пустое место.

- 0b00100
- 0b01110
- 0b10101
- 0b00100
- 0b00100
- 0b00100
- 0b00100
- 0b00100
С адресацией на символы вышла небольшая загвоздка: если первые 2 можно было вывести через “\x08” и “\x09”, то 3-й никак не хотел показываться (пробовал разные варианты, а индикатор стоял уже на панели и каждый раз приходилось бегать к нему). В итоге вывел его через “\02”, но  в целом надо будет попрактиковаться.
Ну и напоследок – пара графиков о скорости балансировки. Пара ячеек чуть отличалась по заряду от остальных.

На сейчас все идеально отбалансировано, но продолжаю наблюдение.

Одна мысль про “LCD-дисплей для JK BMS и еще одна зарисовка на тему автономки”

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