Электротранспорт
Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск    

Реклама:

Создание прошивки дисплейного модуля Куги.

Страницы: 123 ... 13>>Вниз

Автор Тема: Создание прошивки дисплейного модуля Куги.  (Прочитано 4006 раз)

0 Пользователи и 1 Гость просматривают эту тему.

Mit

  • Неравнодушный
  • **
  • Репутация: 8
  • Сообщений: 235
  • Россия, Санкт-Петербург, Озерки
  • Ездю на всем что с колесами ))
  • Оффлайн Оффлайн
    • Награды
Ребята, я знаю, наверняка среди нас есть программисты, работающие с железом.
Давайте перепишем прошивку дисплея куги? ))
Хотел сначала сделать сам, но понял, что на данный момент мне это не особо интересно,
так как кугу почти не использую - есть еще два самоката меньше и больше и оба самосборы - вот они в ходу))
Поэтому, делюсь с общественностью тем, что есть на данный момент.

Какая возможна польза от новой прошивки:
- Точное отображение оставшегося заряда батареи (так как известен ток потребления колеса, можно считать Ah и Wh).
- Бездемпферное отображение напряжение (можно видить реальную просадку батареи под нагрузкой).
- Настройка порога ограничения мощности для защиты батареи.
- Возможность прогнозировать оставшийся пробег.
- Возможность задать требуемый пробег и ограничивать под это мощность исходя из остатка батареи.
- Плавный старт.
- Круиз-контроль / выход на заданную скорость по кнопке.
- Пики при превышении заданной скорости.
- Ограничение максимальной скорости (для детей, Европ и прочего).
- Защита от выпадения / резкого нажатия курка.
- Регулировка яркости фары (легкая дневная подсветка).
- Вариации со щтатным сигналом (возможно пи-пи-пи лучше чем штатное пиии).
- Код блокировки при включении.
- Плюшки при реализации полного привода (придумайте сами).
- И т.д. и т.п.

Что внутри дисплея.
Скрытый текст
* MCU - простенький STM8 (STM8S903K3) - 8K флешки, 1K RAM, 640 байт eeprom;
* LCD-панель с контроллером holtek HT1621B;
* UART для управления контроллером МК;
* 5 кнопок;
* АЦП акселератора и тормоза;
* АЦП на входное питание;
* АЦП на выходное питание контроллера МК (питание на контроллер МК идет через шунт 2R2 не знаю зачем);
* ШИМ на подсветку дисплея / фонарь / пищалку.



Протокол взаимодействия с контроллером МК.
Протокол снят и разобран коллегой , огромное спасибо ему за это))
Скрытый текст
От дисплея к контроллеру МК идут пакеты по 8 байт.
Пакеты идут с частотой 20 Гц.
Идут следующие данные:

3E 04 - старт протокола (опознавательные данные для контроллера МК);
01 - текущая передача (01 / 02 / 03);
00 - неизвестно (при попытке передать другие данные ничего не меняется);
00 - уровень акселератора (0~100 %);
00 - уровень торможения рекуперацией (0~100 %);
00 05 - контрольная сумма пакета (2 байта суммы, за исключением 1-го байта 3E).

Если контроллер МК перестает получать пакеты от дисплея более 1 секунды,
то контроллер МК блокируется (включает электро-тормоз) и в пакетах от
контроллера МК байт статуса устанавливается в 00 (блокировка).

От контроллера МК к дисплею идут пакеты по 11 байт.
Пакеты идут примерно 2 раза в секунду.
Идут следующие данные:

3С 07 - старт протокола (опознавательные данные для дисплея);
01 - статус контроллера МК (00 - блокировка / 01 - нормальная работа / 03 - настройки приняты);
00 - сервисные индикаторы (используются 4 младших бита, по биту на каждый индикатор);
00 - ток потребления (дисплей может отображать и отрицательные значения, но контроллер МК не передает значения тока рекуперации);
0B B8 - время между импульсами таходатчика (скорость);
00 00 - неизвестно;
00 CB - Контрольная сумма пакета (2 байта суммы, за исключением 1-го байта 3C).

Передача настроек от дисплея на контроллер МК.

Через 2 секунды после включения дисплея, сохранения или отмены сохранения сервисных настроек
контроллер дисплея посылает контроллеру МК 16-байтный пакет данных:

3E 2C - старт протокола (опознавательные данные для контроллера МК);
0B - версия прошивки контроллера дисплея (параметр 0 сервисного меню);
00 - zero старт (параметр 1 сервисного меню);
3С - ограничение скорости (параметр 2 сервисного меню);
28 - диаметр колеса (параметр 3 сервисного меню);
1E - количество магнитов (параметр 4 сервисного меню);
32 - мощность первой скорости (параметр 5 сервисного меню);
46 - мощность второй скорости (параметр 6 сервисного меню);
64 - мощность третей скорости (параметр 7 сервисного меню);
01 - отключение круиз-контроля (параметр 8 сервисного меню);
00 - параметр 9 сервисного меню;
00 - параметр 10 сервисного меню;
00 - параметр 11 сервисного меню;
01 96 - контрольная сумма пакета (2 байта суммы, за исключением 1-го байта 3E).

После приема настроек, контроллер МК отвечает со значением байта статуса = 03 (настройки приняты).

Железо.
Скрытый текст
Распиновка MCU дисплея STM8S903K3.
PIN   NAME   DESTINATION
1   NRST    Debug [Dbg.4]
2   PA1   Кнопка 1 (SPEED) [active GND]
3   PA2   Kнопка 2 (фара) [active GND]
4   VSS   GND
5   VCAP   CAP C1
6   VDD   5V
7   PA3   5V
8   PF4   NotUsed
~
9   PB7   5V
10   PB6   GND
11   PB5   NotUsed
12   PB4   NotUsed
13   AIN3   Тормоз      ADC (без делителя) [0.8V~4.2V]
14   AIN2   Газ      ADC (без делителя) [0.8V~4.2V]
15   AIN1   Uвx.      ADC (делитель 11)
16   AIN0   Uмк      ADC (делитель 11) [через 2R2, то есть I контроллера мк = (Uвх-Uмк)/2.2]
~
17   TIM1_CH1N   Подсветка дисплея (полевичек) [active 5V]
18   TIM1_CH2N   Сигнал (полевичек) [active 5V]
19   TIM1_CH3N   Фара (полевичек) [active 5V]
20   PC3   Kнопка 5 (сигнал) [active GND]
21   PC4   Kнопка 4 (SET) [active GND]
22   PC5   HT1621B.12 (DATA)
23   PC6   HT1621B.11 (~WR)
24   PC7   HT1621B.9 (~CS)
~
25   PD0   NotUsed
26   SWIM   Debug [Dbg.2]
27   PD2   NotUsed
28   PD3   NotUsed
29   PD4   Kнопка 3 (ON/OFF) [active GND]
30   UART1_TX   Контроллер МК (передача) [5-белый]
31   UART1_RX   Контроллер МК (прием) [4-зеленый]
32   PowerEna   Поддержка питания [active 5V]

LCD контроллер HT1621B.
LCD 32x4
ADDR 0...31 --> SEG0...SEG31 (LCD segment outputs)
DATA 0...3  --> COM0...COM3 (LCD common outputs)
Запись данных.
1. CS_ena + 101 A5 A4 A3 A2 A1 A0 D0 D1 D2 D3 + CS_disa
2. CS_ena + 101 A5 A4 A3 A2 A1 A0 D0 D1 D2 D3 D0 D1 D2 D3 D0 D1 D2 D3 ... + CS_disa [addres auto inc]
Data on the DATA line are latched into the HT1621 on the rising edge of the WR signal.
All pins with pull-high resistor.
Даташит легко гуглится, если нужен.

Коннектор отладчика (Dbg):
1. VCC
2. SWIM
3. GND
4. RESET

фото внутренностей контроллера
https://electrotransport.ru/ussr/index.php?msg=1387392

Отладчик ST-LINK V2:
https://ru.aliexpress.com/item/STLINK-ST-ST-LINK-V2-CN-STM8-STM32-Emulator-download-programmer/32693170276.html

Чем я могу помочь - у меня есть стенд на дисплее куги с чистым STM8 и отладчик ST-LINK.
То есть возможна отладка кода с моей помощью, не выводя из строя родную плату.

Как-то так))

Обновления:

15.07.18 в протокол взаимодействия с контроллером МК добавлена передача настроек на контроллер МК.
Благодарим тут: https://electrotransport.ru/ussr/index.php?msg=1398542!

интересные сообщения (inwin)
покупка экрана на али
https://electrotransport.ru/ussr/index.php?msg=1413083
включение круиза по кнопке
https://electrotransport.ru/ussr/index.php?msg=1413773
экранчик для куги за 2300 с али
https://electrotransport.ru/ussr/index.php?msg=1419956
обсуждение экрана
https://electrotransport.ru/ussr/index.php?topic=16463.0#topmsg
значение одного из четырех символов на экране, верхний слева
https://electrotransport.ru/ussr/index.php?msg=1432893
« Последнее редактирование: 24 Авг 2018 в 16:29 от inwin »

Сообщение понравилось: jnarical, Sonar, light2some, inwin, Lord_Veron, Slavemaster, BLADLust, Tekram, sevzirfo, vitojim

inwin

  • Модератор
  • Старожил
  • *
  • Репутация: 3
  • Сообщений: 2587
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #1 : 01 Июл 2018 в 14:48 »
На дисплее есть не задействованный индикатор температуры. Вы не знаете куда идет датчик температуры и как активировать датчик температуры?

Sonar

  • Неравнодушный
  • **
  • Репутация: 4
  • Сообщений: 191
  • Санкт-Петербург, Приморский
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #2 : 01 Июл 2018 в 15:05 »
, сам по себе дисплей сделан универсально, для разного эл. транспорта. Там ещё и поворотники есть. Самого датчика температуры на куге нет, но если переписывать прошивку дисплейного контроллера и припаять к ножке контроллера какой-нибудь датчик (терморезистор или что-нибудь цифровое от Dallas), то можно отображать температуру.

Сообщение понравилось: inwin

Electros

  • Местный
  • ****
  • Репутация: 0
  • Сообщений: 533
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #3 : 02 Июл 2018 в 12:05 »
На мой взгляд, единственное, чего аппарату явно не хватает - гнезда для подключения флэш-карты для ведения лога поездки. Ну, можно ещё с бортовой телекамеры изображение писать. Но тогда понадобится и встроенный таймер.
А если по мелочам: музыку менять на клаксоне, яркость фары регулировать, яркость подстветки индикатора.
 Ну и температуры отслеживать колеса и аккума тоже неплохо бы.

vip69

  • Местный
  • ****
  • Репутация: 2
  • Сообщений: 529
  • Россия, МСК
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #4 : 02 Июл 2018 в 13:27 »
На мой взгляд, единственное, чего аппарату явно не хватает
вы льстите ему! там не работает даже то что заявлено - например зеростарт - мне так и не удалось включить (ячейка 1). ну и основное, что там хотелось бы иметь - настройки движения (старта) и торможения (не как сейчас - дискретное, по сути).
а вот про температуру - согласен. в колесо датчик, и в батарейку...
а все остальное - баловство.
имхо.

Сообщение понравилось: Seafarer61

Sonar

  • Неравнодушный
  • **
  • Репутация: 4
  • Сообщений: 191
  • Санкт-Петербург, Приморский
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #5 : 02 Июл 2018 в 21:04 »
Отслеживание температур батареи и колеса предполагает и программную и физическую модификацию обоих контроллеров самоката (если не изменять кол-во проводов связи между контроллерами), так что с температурой всё сложно. На счёт резкого старта и торможения - я бы для начала порекомендовал посмотреть на напряжение, выдаваемое датчиком холла от курков при разном положении. От кого-то из форумчан проскользнула фраза, что в курки могли установить цифровые датчики холла, но это так, в порядке слуха.

Сообщение понравилось: vip69

vip69

  • Местный
  • ****
  • Репутация: 2
  • Сообщений: 529
  • Россия, МСК
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #6 : 02 Июл 2018 в 22:27 »
, да, скорее всего с температурой так просто не пройдет, а насчет курков - да, спасибо, уже предполагали. надо только понять, как с минимумом вреда разобрать курки и проверить (и холлы, и магниты). я просто не на 100% понял принцип разборки курков (именно разборки рабочих) и, предполагаю, что каждая принудительная разборка - снижает и без того низкую надежность курка.

Сообщение понравилось: inwin

inwin

  • Модератор
  • Старожил
  • *
  • Репутация: 3
  • Сообщений: 2587
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #7 : 02 Июл 2018 в 23:34 »
, да, курки лучше лишний раз не трогать, бороздки можно поломать.

Добавлено 02 Июл 2018 в 23:36
может еще в шапку добавить фото контроллера с разных сторон, который в гусе?

Сообщение понравилось: vip69

Mit

  • Неравнодушный
  • **
  • Репутация: 8
  • Сообщений: 235
  • Россия, Санкт-Петербург, Озерки
  • Ездю на всем что с колесами ))
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #8 : 02 Июл 2018 в 23:56 »
На дисплее есть не задействованный индикатор температуры.
А в кабеле мотор-колеса есть не задействованный провод))
Скрытый текст


Сообщение понравилось: inwin, Yurain, Seafarer61

vip69

  • Местный
  • ****
  • Репутация: 2
  • Сообщений: 529
  • Россия, МСК
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #9 : 03 Июл 2018 в 00:00 »
может еще в шапку добавить фото контроллера с разных сторон
тогда уж... и назначение выводов (цвета, разъемы) и... общую схему соединения всего этого  :ah:

Сообщение понравилось: inwin

inwin

  • Модератор
  • Старожил
  • *
  • Репутация: 3
  • Сообщений: 2587
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #10 : 03 Июл 2018 в 00:48 »
, не понятно что же все таки это за белый провод. он припаян на плату слева.

https://electrotransport.ru/ussr/index.php?topic=35504.msg1124350#msg1124350
Цитата
- Бездемпферное отображение напряжение (можно видить реальную просадку батареи под нагрузкой).
тут как будто обновление идет при старте через 3 секунды.
« Последнее редактирование: 03 Июл 2018 в 00:53 от inwin »

GENnady

  • Старожил
  • *****
  • Репутация: 0
  • Сообщений: 1111
  • Москва, ВАО, Гольяново
  • под 100кг, 183см
  • Онлайн Онлайн
    • Награды
Дисплей куги.
« Ответ #11 : 03 Июл 2018 в 00:49 »
Цитата: vip69
назначение выводов (цвета, разъемы)
это по ТВОВ, но наверное схоже..


Сообщение понравилось: vip69, inwin

vip69

  • Местный
  • ****
  • Репутация: 2
  • Сообщений: 529
  • Россия, МСК
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #12 : 03 Июл 2018 в 00:59 »
это по ТВОВ, но наверное схоже..
но это только мк, а остальные соединения... вся схема - от батарейки до мк, через дисплей, контроллер, курки, зарядку...

gde700

  • Старожил
  • *****
  • Репутация: 27
  • Сообщений: 6844
  • Москва, Марьино
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #13 : 03 Июл 2018 в 02:04 »
Там просто. От батареи через предохранитель провода в контроллер, с контроллера на дисплей общий минус, батарейный плюс, rx и tx. С дисплея на контроллер выход на питание слаботочки батарейный плюс через ключ. Разъём зарядки параллельно проводам с батареи.

Sonar

  • Неравнодушный
  • **
  • Репутация: 4
  • Сообщений: 191
  • Санкт-Петербург, Приморский
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #14 : 03 Июл 2018 в 06:11 »
А в кабеле мотор-колеса есть не задействованный провод))
Который так же не задействован и в самом мотор-колесе)) Жаль, когда перебирал своё МК, не догадался сразу повесить термодатчик туда. А теперь колесо загермечено, вскрывать будет гораздо сложнее.

Slavemaster

  • Старожил
  • *****
  • Репутация: 9
  • Сообщений: 1214
  • Санкт-Петербург, центр
  • Езжу на батарейках
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #15 : 03 Июл 2018 в 09:36 »
, белый провод в МК никуда не припаян, на фото видимо так получилось, что зеленый провод кажется белым (либо у него такой светло-зеленый цвет).

vip69

  • Местный
  • ****
  • Репутация: 2
  • Сообщений: 529
  • Россия, МСК
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #16 : 03 Июл 2018 в 10:17 »
белый провод в МК никуда не припаян
но тогда, это, как минимум - возможность установить термодатчик внутрь колеса без танцев с бубном необходимости решения вопроса с лишним проводом. прилепить типа ds18, если достаточно 110° к этому проводу. а в контроллере - обрабатывать.
в конце концов, можно вообще просто купить готовый градусник за 100р на али https://ru.aliexpress.com/item/Mini-Digital-LCD-Thermometer-Fridge-Temperature-Sensor-Freezer-Thermometer-for-KitChen-Bar-Use/32866110334.html и на руль его присобачить, а его датчик (тот самый ds18) - в колесо. Только мк надо разбирать... не каждый будет готов. В общем, "лишний" провод это, в любом случае - возможность! и/или услуга  :ah:
ЗЫ такой же градусник - можно, наверное внутрь батареи. если бы он еще с пищалкой на превышение температуры был...

Oleg9

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 63
  • Волгодонск РО.
  • Владелец линБольного линБола
  • Оффлайн Оффлайн
    • Награды
Дисплей куги.
« Ответ #17 : 03 Июл 2018 в 23:51 »
Великое дело затеяли :wow: Буду с интересом наблюдать, так как я в этих делах 0, и удачи в разгадке китовских поделок.

Страницы: 123 ... 13>>Вверх
 

Помощь форуму | Отказ от ответственности | Новая версия форума
©, Форум электротранспорта, electrotransport.ru, 2007—2018.
Копирование материалов возможно только с согласия правообладателя.

Размер занимаемой памяти: 5.75 мегабайт.
Страница сгенерирована за 0.246 секунд. Запросов: 119.