Бортовой компьютер для Опель Зафира.

lev2606
Offline
Зарегистрирован: 19.06.2019

MaksVV, привет! Немного застрял со своим проектом БК для Нексии. Хочу регулировать яркость дисплея, а то ночью он глаза слепит.

Дисплей ILI9486, библиотека MCUFRIEND_kbv. Но в библиотеке нет регулировки яркости. Из даташита яркость записывается в дисплей командой 51h, данные устанавливаются от 00 до FF. Но вот не пойму в каком файле находятся функции для отправки команд и данных на TFT. Макс, можешь подсказать? 

MaksVV
Offline
Зарегистрирован: 06.08.2015

нет, я этого не знаю. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

viki13viki пишет:
Похоже косяк происходит из за того что я тогда сбил суточный. Как убрать эту зависимость от полного цикла суточного пробега. Я так понимаю что от привязки к целому суточному циклу средний расход от этого зависит а за ним уже и км в баке пляшут.  Так как привычка сбивать при следующей полной заправке не уйдет, и будут вечно косяки может вернуть как то логику как была раньше, я все время сбивал суточный и на средний расход это никак не влияло 

Макс эти строки делают зависимость от полного суточного пробега 2000?

if (kmAge>km_prev) kmTrip_refuel = kmAge - km_prev;
 if (kmAge<km_prev)  kmTrip_refuel = 2000 - (km_prev - kmAge);
 if (kmAge==km_prev) kmTrip_refuel = 0;

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

В старых же скетчах измерения проводились за один цикл зажигания. А в новом, данные пробега начала измерения хранятся в еепром, и система помнит расчёт даже при перевключении зажигания. Расстояние до заправки понятно дело будет корявое, т.к. оно считается по среднему расходу. 

А логика раньше была измерение за 10 км. Точность должна была быть никакущая. 

viki13viki
Offline
Зарегистрирован: 14.11.2016

Понял Макс. Спасибо

lev2606
Offline
Зарегистрирован: 19.06.2019

привет, viki13viki, а ты регулируешь яркость дисплея при изменении освещения?

viki13viki
Offline
Зарегистрирован: 14.11.2016

Дарова. Нет.

Komandir
Онлайн
Зарегистрирован: 18.08.2018

lev2606 Надо курить команды библиотеки UTFT - LCD_Write_COM, LCD_Write_DATA и LCD_Write_COM_DATA

lev2606
Offline
Зарегистрирован: 19.06.2019

Komandir, спасибо. 

lev2606
Offline
Зарегистрирован: 19.06.2019

Не смог разобраться с программным управлением подсветкой. Поэтому собрал схему на транзисторе для внешнего управления подсветкой через ШИМ. Доволен! Правда пришлось шилд дисплея немного покромсать! )))

MaksVV
Offline
Зарегистрирован: 06.08.2015

а результат? бортовик завершён ? 

shurf83
Offline
Зарегистрирован: 10.07.2019

вы с родного датчика температуры брали информацию(за бортом)?

 

viki13viki
Offline
Зарегистрирован: 14.11.2016

привет. нет я его от мозгов не отключал, так как он нужен для работы тех же мозгов. я вывел свой датчик в решетку и вывел его на мой бортовик

shurf83
Offline
Зарегистрирован: 10.07.2019

 

у меня как-то так получилось. Вектра б 

b707
Онлайн
Зарегистрирован: 26.05.2017

shurf83 пишет:

у меня как-то так получилось. Вектра б 

круто, конечно, только непонятно зачем, все эти данные и так на приборке есть. Интересней вывести информацию, которую иначе не достанешь :)

 

lev2606
Offline
Зарегистрирован: 19.06.2019

Привет, Макс! Вот только увидел твой вопрос. Бортовик еще не доделал, времени не хватает. Застрял на интерфейсе. Все значки и надписи сделал, только по цветам есть вопросы. Могу выложить фото и даже видео, если тут это возможно. Готов выслушать все мнения и пожелания

MaksVV
Offline
Зарегистрирован: 06.08.2015

любой облачный  диск в помощь

lev2606
Offline
Зарегистрирован: 19.06.2019

фотографии получаются отвратительными! на фоне жуткой полимеризации экрана цвета меняются, блекнут, а до кучи еще и фон становится синим вместо черного! ))) Будем как-то это бороть!

lev2606
Offline
Зарегистрирован: 19.06.2019

MaksVV
Offline
Зарегистрирован: 06.08.2015

На экран скорее всего отдельный мк будет нужен или уже работает?

lev2606
Offline
Зарегистрирован: 19.06.2019

с этим экраном еще не пробовал полноценный БК. Надеюсь что плата Мега 2560 потянет. Думаю реализовать обновление экрана как у  Vladiman81 в статье Mitsubishi Lanser. БК в приборку

lev2606
Offline
Зарегистрирован: 19.06.2019

при фотографировании дисплея со вспышкой цвета стали почти реальные

lev2606
Offline
Зарегистрирован: 19.06.2019

lev2606
Offline
Зарегистрирован: 19.06.2019

lev2606
Offline
Зарегистрирован: 19.06.2019

vmpol
Offline
Зарегистрирован: 30.12.2019

Доброго дня и с Наступающим Новым Годом!!!

Вами  проделана огромная работа, молодцы!

Тоже планирую сделать БК для своей машинки. Пока собираю инфу и подбираю аппаратную часть, на чем делать.

У вас много времени ушло на борьбу с дисплеем. 

Не рассматривали в качестве дисплея - дисплеи от Nextion? http://electrik.info/obzor/1526-chto-takoe-displei-nextion-i-kak-s-nimi-rabotat.html

Конечно они дороговаты, но освобождают ардуину от работы с дисплеем. На Nextion по UART передается только имя переменной и ее значение, все остальное делает дисплей.

Соотв. сократится код, не нужны будут все эти _last -ы, исчезнут задержки связанные с работой с дисплеем.

это ни в коей мере не реклама. Сам дисплей Nextion пока не держал в руках. Думаю его использовать.

У кого есть опыт работы с ними - поделитесь впечатлениями.

 

 

KAURUSAR
Offline
Зарегистрирован: 04.01.2020

Не значительная часть KW82 уже как больше 10 лет в свободном доступе в сети есть. Там есть такой параметр как калибровка тестера по ID параметру. За место 0211 надо послать запрос 0215, это запрос калибровки тестера, в ответе ID мин макс параметрами и байт преобразования. Если панель отдаст ответ положительный на этот запрос то преобразовать параметры с ответа на 0211 будет проще. В ответе на 0211 после 23A104 много нулей, это ошибки и статус ошибок там заносится, 8 ошибок и 2 статус байта ошибок( выглядит это как первые 4 ошибки статус байт их и вторые 4ошибки статус байт).   Очень большую работу вы проделали.  

lev2606
Offline
Зарегистрирован: 19.06.2019

Привет, viki13viki. Скажи, а как часто твой БК опрашивает ЭБУ? Я хочу энкодер использовать для управления БК, но четкая работа с энкодером у меня получилась только при использовании прерываний. Вот и чешу репу как часто мне нужно будет включать и отключать прерывания... )))

viki13viki
Offline
Зарегистрирован: 14.11.2016

Привет. Мы много эксперементировали. Я думаю для разных эбу индивидуально. Пробовали от меньше секунды до 3 секунд. Проблема что нужно подобрать такое время запроса которое не будет ломать полученные сообщения. Нужно менять время в скетче и смотреть чтобы сообщения возвращались целыми и через время не заваливалиь в сбой от нагрузки посылок. Как то так. У меня вроде каждую секунду

MaksVV
Offline
Зарегистрирован: 06.08.2015

чаще чем раз в секунду, что то около раз в 150 мс. 

Komandir
Онлайн
Зарегистрирован: 18.08.2018

Аппаратный USART будет пытаться вызвать прерывания на каждый передаваемый/принимаемый байт !

lev2606
Offline
Зарегистрирован: 19.06.2019

спасибо. Если обновлять данные на экране чаще 2 раз в секунду, то получится неприятное мерцание. Тогда, наверно, не имеет смысл запрашивать данные чаще 2-х раз в секунду? С другой стороны, чем чаще получаем данные-тем точнее результаты (особенно это касается подсчета расхода топлива). Получается, что нужно опрашивать ЭБУ через каждые 150мс для подсчета расхода, а для вывода на экран других данных какие-то усреднять, а какие-то выдавать последние полученные. Как вы думаете, обновлять измененные данные на экране 2 раза в секунду не слишком часто? Viki13viki, как часто у тебя обновляются данные на экране?

viki13viki
Offline
Зарегистрирован: 14.11.2016

Обороты и топливная и актуальные данные как мгновенный расход уровень в баке и еще некоторые раз в секунду другие типа километры и температура и еще некоторые раз в 30 секунд или минуту, не помню, а остальные выводятся когда происходит перерасчет например километров в баке остаток топлива и еще некоторые

Mppstrit
Offline
Зарегистрирован: 22.08.2019

lev2606 Доброго времени суток не поделитесь своими наработками? Только начал знакомится с Ардуиной. У меня похожий автомобиль, шевроле лачетти, эбу такой же как и у ВАС. За ранее спасибо.

mppstrit@gmail.com

teramix
Offline
Зарегистрирован: 07.05.2020

MaksVV пишет:

автору спасибо за труды. Предстоит тоже самое. Но у меня задача еще сложнее. Надо не только вытянуть информацию из K-Line но изапихать её в CAN. Машина хонда старая. Вернее двигатель от хонды старой. а теперь стоит на аккорде 7. где уже щиток приборов уже CANовый и нужно тахометр оживить. 

У меня такая же ситуация. Не удалось решить эту проблему?

lev2606
Offline
Зарегистрирован: 19.06.2019

Mppstrit, только что прочитал Ваше сообщение. Если просьба еще актуальна, то пишите-все что есть могу переслать

Mppstrit
Offline
Зарегистрирован: 22.08.2019

lev2606 пишет:

Mppstrit, только что прочитал Ваше сообщение. Если просьба еще актуальна, то пишите-все что есть могу переслать

lev2606 если не трудно скиньте свои наработки, попробую разобратся и сделать БК, за ранее спасибо. mppstrit@gmail.com

lev2606
Offline
Зарегистрирован: 19.06.2019

MaksVV, привет! У меня с БК такая засада: разные иконки прорисовываются на дисплее до 105 мСек, а большие числа крупных размеров до 150 мСек! Соответственно если включатся сразу несколько иконок и нужно будет изменить несколько чисел, то задержка может достигнуть секунды. А может сделать опрос ЭБУ без привязки к интервалам опроса, а просто после прорисовки иконок и изменения чисел? По кругу, одно за другим, когда закончится одно-начнется другое. Макс, у тебя в постах №157 и №1321 скетчи, в которых опрос ЭБУ привязан к интервалам опроса. Зачем ? Как ты думаешь, можно ли не привязывать жестко ко времени опрос ЭБУ?

Komandir
Онлайн
Зарегистрирован: 18.08.2018

Не MaksVV, но отвечу. Я думаю вы понимаете что не получив данные, вам будет нечего выводить на экран. Так что получение данных в приоритете.

b707
Онлайн
Зарегистрирован: 26.05.2017

Командир, по этой ветке кстати вопрос - удалось тогда решить проблему с выводом фона для кастомных фонтов?

Komandir
Онлайн
Зарегистрирован: 18.08.2018

b707 да конечно - 

http://arduino.ru/forum/proekty/bortovoi-kompyuter-dlya-opel-zafira?page=36#comment-471039

плюс еще несколько сообщений, там есть правка что бы и пробел был с фоном...

+еще ширина (вроде) знакоместа не высчитывается автоматически 

lev2606
Offline
Зарегистрирован: 19.06.2019

Komandir, понятно про данные, но их можно собирать и раз в 5 секунд! Я про то, важно ли опрашивать ЭБУ через одинаковые промежутки и чтобы эти промежутки были минимальны?

Komandir
Онлайн
Зарегистрирован: 18.08.2018

Тут от задачи зависит. Вы же не смотрите в прибор постоянно - рулить же надо ещё. Обороты двигателя - раз в пять секунд это малоинформативно. Общий расход топлива и раз в минуту достаточно ... 

lev2606
Offline
Зарегистрирован: 19.06.2019

 я планирую включение/переключение Номера Передачи, включение/выключение иконок ДХО, Круиз-Контроля, Габаритов, Ближнего Света и др отображать 2 раза в секунду (или в течение полсекунды с момента события) , ну а все изменения часов, пробега, уровня топлива-по факту изменения. Мгновенный расход хочу сделать в виде графического экономайзера, там сдвигать риску(стрелку) надо бы почаще- 2 или даже 4 раза в секунду. У одного товарища видел опрос ЭБУ Митсубиси раз в сек, хватало времени и на отображение (но экранчик у него маленький), и на вычисление. На точность вычислений расхода вроде он не жаловался. P.S. обороты двигателя не интересуют, есть тахометр )))

Komandir
Онлайн
Зарегистрирован: 18.08.2018

Главное не перерисовывать весь экран, а только то что поменялось - тогда на ВСЁ должно хватить времени !

b707
Онлайн
Зарегистрирован: 26.05.2017

Komandir пишет:

Главное не перерисовывать весь экран, а только то что поменялось - тогда на ВСЁ должно хватить времени !

или взять МК побыстрее :)

Я к атмеге попробовал экранчики цеплять - обплевался. перешел на СТМ

MaksVV
Offline
Зарегистрирован: 06.08.2015

Опросы эбу можно делать как нравится. Но есть таймаут, по прошествии которого, если ничего не посылать на эбу, сеанс связи закроется. Если нужно реже этого таймаута опрашивать , то необходимо посылать холостой запрос на эбу, т.н. запрос присутствия.
Запросы эти делать так, чтобы частота их укладывалась в таймаут . Величина таймаута не знаю какая, да и разная она скорее всего на разных эбу.

_Quasar_
Offline
Зарегистрирован: 05.08.2021

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

Надеюсь MaksVV или viki13viki  еще видит эту ветку. Отпишите. Без вас точно не вывезу.

Думаю стоит отдельную ветку создавать.

MaksVV
Offline
Зарегистрирован: 06.08.2015

Иногда захожу сюда.