Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нештатная информация на штатный дисплей
Международный форум любителей Мазда5/Премаси (Семейный автомобиль, минивэн) > ТЕХНИЧЕСКИЙ РАЗДЕЛ > ТЮНИНГ И ДОПОЛНИТЕЛЬНОЕ ОБОРУДОВАНИЕ > Электрические компоненты
Страницы: 1, 2, 3, 4, 5, 6, 7
_Michail_
Нашел интересный документик, может еще кто займется smile.gif
http://www.soel.ru/cms/f/?/441058.pdf
ustas
_Michail_, начну по порядку:

1. про "схему шины" - согласен, попробую, должно заработать (тем более, что вчера я уже разок увидел нужное сообщение на дисплее)
2. про арбитраж - это реализуется на аппаратном уровне, насколько я понял - нельзя сказать конкретному устройству "заткнись". Здесь просто на шине устраняется "балаган", когда все одновременно орут и толком никто ничего не слышит - просто наводится порядок в сообщениях и сообщения начинают доходить до адресатов - не более того
3. про "слушать коды" и отправлять в дисплй - с этого я и начал.. но вот представь себе стиуацию (штатная балалайка есть):
- балалайка флудит вывод на дисплей примерно раз в 150мс
- платка что-то там приняла (пусть для определенности это будет средний расход)
- платка отправила дисплею команду - "нарисуй расход"
- дисплей это принял и исполнил
- балалайка в очередной раз отправила команду - напиши название станциии

и... наше сообщение перетерто..

именно с этой проблемой "перетирания" я и борюсь.

4. документик хороший - он рассказывает об основах (аппаратный уровень, разрешение коллизий, коррекция ошибок и т.п.).. но в нашем случае это не так интересно, поскольку мы саму шину не реализуем - она у нас уже есть как данность (в машине), а за "низкоуровневую" реализацию отвечает MCP2515 и MCP2551 (а вот разработчики этих микросхем собаку съели на подобных документах). В своем устройстве я могу оперировать только адресами устройств, длинной пакета и его содержимым.. могу читать (фильтровать, преобразовывать и т.п.), могу передавать.... но при этом совершенно не заморачаваясь на тему "как оно там коллизии обходит".
_Michail_
Ну, эт понятно... Вы же эту стадию прошли раньше, а я сейчас по вашим стопам... просто мысли в слух smile.gif Чтоб по граблям не бегать smile.gif А еще попутный вопрос, нет ли параметра жизни/отображения сообщения? Типа показать в течении 15 секунд, не смотря на флуд других..
И еще вопрос, программно можно нажать на кнопку?
ustas
К сожалению, "времени жизни" сообщения - нет sad.gif (или я не знаю, куда смотреть). Но судя по тому, что магнитола флудит без умолку каждый 150мс - этого "времени жизни" просто нет.

Про программное нажатие кнопок - тут надо пробовать... вроде как нажатие кнопок на руле - должно транслироваться в CAN-шину (что подтверждается тут: http://www.madox.net/blog/projects/mazda-c...omment-page-1/) - соответственно, можно своим устройством отправить аналогичную команду - и будет "нажатие".

Аналогично, думаю, можно "слушать" сообщения о нажатии кнопок и эту информацию использовать для управлению разрабатываемым устройством (к примеру - переключиться в режим AUX - это можно отловить по сообщению для отображения на дисплее) и дальше слушать нажатие кнопки "mode" на руле (в этом режиме она не используется, но, надеюсь, информация о ее нажатии будет в шине). Аналогично с другими кнопками на руле - тогда можно будет и дату-время подстраивать и переключаться между режимами отображения информации и проч.).

Кстати, для тех, у кого нет штатной балалайки я уже готов сделать девайс по отображению информации маршутного компа (ну и даты-времени, если надо). Есть желающие?
перед запуском мелкого производства нужен хотя бы один "подопытный" - чтобы я подключил свой прототип к диагностическому разъему и проверил, что все работает (заодно и "подопытный" сможет подтвердить, что это не просто разговоры smile.gif))
_Michail_
Наткнулся на схему шины, я думаю что пригодится:

al4630z
Цитата(ustas @ 29.10.2014, 13:17) *
Кстати, для тех, у кого нет штатной балалайки я уже готов сделать девайс по отображению информации маршутного компа (ну и даты-времени, если надо). Есть желающие?
Я готов. Но маршрутник есть. Ранее писал хотелки. И с доставкой sad.gif
_Michail_
Я тут по изучал чуток, и пришел к выводу что:

1 Если врезаться между КАН шиной и дисплеем, нужно писать много коду, и следить за всеми сообщениями, но, есть преимущество, минимум переделок при подключении.
2 Если, смириться с некоторой доделкой, то по мне, проще врезаться между штатной балалайкой, и контролировать только ее сообщения, и уже будет по барабану, штатная голова стоит или нет. Глушить по необходимости ненужные на текущий момент сообщения, и выводить свои.
ustas
al4630z, хорошо, что-нибудь придумаем... но пока желающих маловато sad.gif самому плату делать - лень (хотел заказать в Китае, как уже делал неоднократно, но там от 10 плат sad.gif)... посмотрим, может, наберем хотя-бы 5-6 желающих - тогда можно будет сделать. Доставка - не проблема.

_Michail_, тут как посмотреть.. про "много кода" - ну да, на пару-тройку строк больше.. зато гибкость и можно реализовать максимально похоже на "штатное" (к примеру - отображается какое-то "нештатное" сообщение, а ты нажимаешь кнопку увеличения громкости - это отражается на дисплее (как и при штатном варианте), а потом все возвращается в исходное состояние)...
Кстати, можно схему с двумя интерфейсами (тот вариант, что я прорабатываю) подключить и между магнитолой и шиной - и тоже можно реализовать максимально похожее на штатное поведение.

В принципе, есть вариант поступить "по тупому" - поставить релюху между шиной и магнитолой, которая будет банально отрубать магнитолу от шины (соответственно, "глушить" ее сообщения в шину). Примерно так:


Но я все-таки хочу сделать "полную версию". Тем более, что сегодня все-таки победил "лабораторную" шину и у меня дома на столе система уже заработала.

Проблем в моем "стенде" оказалось две:
1. Нужен был "терминатор" (хватило одного резистора на 120Ом) - поставил у дисплея
2. По каким-то непонятным мне причинам подохла одна микросхема MCP2551 (сравнивал сигналы осциллографом на двух интерфейсах своего устройства). Заменил ее и все заработало.

Сейчас "лабораторный" стенд работает в полном объеме. Тестовая прошивка на один интерфейс выводит "Hello car", на другой "Hello disp". Теперь уже можно писать полный код для вывода полезной информации.

P.S. кстати, если оставить у дисплея подключение только к MS_CAN - не работает блок отображения климата.

P.P.S. вообще круто сделать три CAN-интерфейса: первый смотрит на высокоскоростную шину (там много чего о моторе можно узнать), второй - на среднескоростную (магнитола, управление климатом?, маршрутник и т.п.).. а третий - на дисплей, чтобы можно было все отображать как хочется
al4630z
Есть машинка с нештаткой и отсутствием маршрутника, о чём хозяин сетовал. Позвоню сегодня ему, думаю согласится.
По поводу сбыта можно и матрёшкинцев заинтересовать, разницы как я понимаю нет.
annik
Тоже готов быть испытателем. Мне тоже кажется, что 10 платок разойдутся как горячие пирожки. А какой порядок цен если заказывать 10-20-30-40-50 плат? Не обязательно же собирать все платы сразу- пусть лежат и по мере востребованности собирать. Возможно смогу поддержать проэкт материально. С удовольствием слежу за темой, в разговор не вмешиваюсь из-за нехватки знаний в данной области.
CODerSPB
Цитата(annik @ 30.10.2014, 11:29) *
Возможно смогу поддержать проэкт материально. С удовольствием слежу за темой, в разговор не вмешиваюсь из-за нехватки знаний в данной области.

+1
С не меньшим удовольствием. По той же причине не вмешиваюсь smile.gif
Единственное, что могу добавить - ГУ Phantom, вроде как нештатное ГУ, но на дисплей "флудит" как штатное (радио - диапазон, частота радиостанции; DVD (MP3) - номер трека, время).
Цитата(ustas @ 23.10.2014, 23:53) *
Собственно, началось с того, что когда-то давно кто-то уже делал вывод информаци с нештатного парктроника на штатный дисплей.
Был бы проект жив - просто купил бы и не парился.. но тот проект умер - пришлось все изучать самостоятельно.

Проект, возможно, умер. Но действующий экземпляр катается недалеко от меня smile.gif Да, Михаил?
_Michail_
Цитата(ustas @ 30.10.2014, 0:08) *
_Michail_, тут как посмотреть.. про "много кода" - ....


Ну, тут я образно smile.gif Про доп телодвижения smile.gif


Цитата
...."по тупому" - поставить релюху.....


Не не не, это не наш метод, нужно еще и кнопку вкл реле делать smile.gif

Цитата
вообще круто сделать три CAN-интерфейса....


А вот в этом что-то есть, тут уже будет полная информация, еще привязать всю эту песню к кнопкам на руле или еще куда... может своих пару тройку кнопок, которыми можно листать параметры. Типа назад в перед стоп, показывай с балалайки smile.gif
al4630z
Цитата(al4630z @ 30.10.2014, 9:01) *
Есть машинка с нештаткой и отсутствием маршрутника, о чём хозяин сетовал. Позвоню сегодня ему, думаю согласится.
Продал машину, гад


По финансам тоже поддержу.
ustas
Спасибо за поддержку - она пригодится smile.gif

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

Пока помогите определиться с составом "модулей" на плате.

Видится следующий список:
1. МК - atmega328 (с минимальным обвесом, но с тактированием от кварцевого резонатора на 16МГц - чтобы не снижать быстродействие)
2. контроллер CAN-шины на базе MCP2551+MCP2515 (минимальный необходимый обвес)
3. "пищалка" (для организации функции парктроника)
4. разъемы на плату и для кабелей + miniUSB-разъем (чтобы запитывать девайс от автомобильной зарядки или чего-то подобного)

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

5. модуль часов реального времени - "часы и календарь" (только нужно придумать, какую резервную батарейку на 3В использовать, которая бы была долгоиграющей и не боялась морозов)
6. второй контролер CAN - "для машин со штатной балалайкой"
7. DC-DC преобразователь ("блок питания" - проще говоря - т.е. все подключения можно будет сделать за торпедо)

Все компоненты (в т.ч. "полный набор") можно сделать на двусторонней плате размером где-то 10х6 см (примерно размеры моего прототипа). Платы такого размера (10 штук) китайцы изготовят за 25 долларов, доставка еще долларов 7-10.

Поскольку я в таком вопросе - "максималист" - я бы все включил в проект. В принципе, можно сделать "полную" версию платы, но дальше по желанию распаивать те или иные "модули" в зависимости от конкретной машины и желания. Правда, это усложнит процесс разработки прошивки (придется разработать несколько версий ПО под различные наборы железа).


И еще помогите придумать способ поблагодарить тех, кто сможет материально поддержать проект?

P.S. Парктроник - то, с чего все начиналось. На текущий момент понятен протокол Parkmaster 4-DJ-06 (только задний бампер, 4 датчика)‎, вероятно, заработает большая часть и остальных парктроников этого производителя (надеюсь, они не нагородили различных протоколов для каждой модели).
Чтобы добавить поддержку других пакрктроников - нужно будет получить "добавляемую" модель (на пару-тройку дней).


Что скажете? Включайтесь в проект smile.gif
Atomschik
Вот все, что удалось нафоткать. Все заклеено какой-то тканью и залито клеем.
П.С. Если лишнее, то можно удалить.
ustas
Всех с Наступившим!
Появилось свободное время - вернулся к проекту.
Сейчас пока "на столе" сделал: http://youtu.be/3FIvs9X5aWg

Завтра-послезавтра в машину перенесу разработку.
дантист
И Вас с Новым Годом ! отсчет идет по метражу на табло?
ustas
пока нет - написаны все функции, которые отвечают за вывод информации на дисплей.

В машине надо отладить получение информации с парктроника (он еще осенью был установлен, основные вещи уже были опробованы и расшифрован его протокол). Еще в планах отловить и расшифровать информацию о нажатии кнопок на руле и магнитоле (если эта информация присутствует в шине) - для расширения функционала.

измерение напряжения бортовой сети, думаю, тоже реализую...
al4630z
Поздравляю с достижением. Кнопки руля поключены на прямую к ГУ, а потом ГУ отправляет на дисплей подозреваю что тоже минуя CAN.
_Michail_
Врятли smile.gif Круиз не может управляться через ГУ smile.gif
al4630z
На счёт круиза ты прав.
Kaimynas33
Цитата(al4630z @ 5.1.2015, 13:21) *
Поздравляю с достижением. Кнопки руля поключены на прямую к ГУ, а потом ГУ отправляет на дисплей подозреваю что тоже минуя CAN.

Нет, ГУ и дисплай свяаны только CAN.
ustas
Собственно, первые тесты в машине показали, что "на столе" я отработал не все варианты - в машине не то чтобы все не работало, но почти все работало не так как надо.

Поэтому пришлось прошивку поделить на несколько "атомарных" (исполняющих только определенный набор функций) и отлаживать их по отдельности.

На текущий момент отлажено и работает:
  • Захват сообщений от головного устройства на штатный дисплей;
  • Трансляция этих сообщений;
  • Отображение своих произвольных сообщений на дисплее;
  • Переключение "штатных" и "своих" сообщений по задуманной ранее логике.

Грабли, по которым прошел:
  1. Система вообще не транслирует "оригинальные" сообщения.
  2. Через некоторое произвольное время CAN-интерфейс, который считывает информацию с шины автомобиля - зависает (?) или переполняет буфер (?). Выражается в том, что мой модуль перестает транслировать "штатные" сообщения на дисплей.

100% решение нашлось пока только по 1 проблеме - пришлось переписать обработчик прерывания (выкинуть из него вообще всю обработку).

По второй проблеме пока написан "костыль" - банальная перезагрузка контроллера CAN-шины раз в 10 секунд. Работает, но если знать, когда и куда смотреть - можно заметить "лишнюю" задержку (где-то до 0.2 сек) при отображении данных.

Решение второй проблемы, думаю, надо искать в аппаратной возможности отрабатывать фильтры и маски на уровне mcp2515 - потребуется дополнительное изучение этого контроллера. Решение этой проблемы существенно "облегчит жизнь" основному микроконтроллеру (atmega328).

И как результат того, что сегодня сделано - небольшое видео

Реализована следующая логика:
  • При старте выдается свое сообщение (для склеротиков: машина приветствует, сообщает о том, какая часть суток сейчас, день недели и текущая дата)
  • Если на дисплее в штатном режиме остается неизменным сообщение в течении 5 секунд, включается "альтернативный" режим (на текущий момент циклически выводятся различные представления даты, времени, дня недели)
  • Если же во время работы "альтернативного" режима происходят какие-то действия (например, на руле нажали кнопку изменения режима, громкости и т.п.) - система возвращается в "штатный режим".
  • При включении задней скорости включается "режим парктроника": игнорируются "штаные" сообщения, на дисплей выводится только информация с парктроника.

Ближе к концу видеоролика, я включаю заднюю скорость - просто для проверки фукнционирования "режима парктроника". Система этот режим отработала, но теперь надо разобраться принимаемыми данными - пока там что-то неадекватное сыпется...

Надеюсь, завтра продолжу.
Нажатие кнопок буду "отлавливать" после того, как парктроник начнет нормальные расстояния показывать.
ustas
Сегодня заработал еще кусочек: https://www.youtube.com/watch?v=gyNNjQz3kfI

P.S. не вынесла душа поэта - снова ушел в холодную машину.. и на текущий момент ВСЕ заработало (программа "минимум": дата/время/день недели в различных вариациях когда на штатном дисплее какая-либо надпись "висит" более 5 секунд, при включении задней скорости - дисплей переходит в режим парктроника).

Завтра сниму полное видео (надо код немного еще "причесать").

С Наступающим Рождеством!!!
ustas
Все заработало в полном объеме и так, как хотелось: http://www.youtube.com/watch?v=kjLbPTu9Ups

После того, как снял видео, еще добавил обработку включения "драйва" из состояния "паркинг" (при этом кратковременно включается задняя передача и мой модуль на мгновение входил в режим "паркинг": надпись и писк) - теперь это кратковременное включение просто игнорируется. Работает хорошо (переснимать видео было уже лень).

Ну и дома уже добавил еще "вольметр". При старте на 3 секунды (перед приветствием) выводится сообщение о напряжении бортовой сети: http://youtu.be/RMHUXDR6ozg
Достаточно такого времени отображения?

Еще можно добавить функцию вывода напряжения в режиме вождения, если напруга выходит за допустимые пределы (стало больше порогового напряжения или стало меньше другого порогового напряжения). Нужно такое? Какие пороги прописать в прошивке?

Думаю, что завтра надо бы это все проинсталлировать в машину... только надо оставить все "хвосты" для подключения программатора, чтобы можно было дорабатывать и дальше. Все остальные функции уже надо будет на машине делать (особенно интересует "отлов кнопок").

P.S. еще на видео видно, что вместо надписи "AUX" на моем дисплее выводится "MEDIA" - сделано just4fun - на кнопке-то именно MEDIA написано smile.gif

Что скажете?
annik
По поводу aux/media- согласен, что будет более правильно выводить media.
По кнопкам- насколько я помню, кнопки круиз-контроля были резистивными. могу предположить, что и кнопки медиа тоже резистивные.
По времени отображения- в принципе читабельно.
Вопрос по остальным хотелкам- получение и вывод информации бортового компьютера?
ustas
Цитата(annik @ 7.1.2015, 23:26) *
По поводу aux/media- согласен, что будет более правильно выводить media.

Мне тоже так показалось smile.gif

Цитата(annik @ 7.1.2015, 23:26) *
По кнопкам- насколько я помню, кнопки круиз-контроля были резистивными. могу предположить, что и кнопки медиа тоже резистивные.

Так и есть, кнопки в обоих случаях - резистивные. Но надо покурить схему - куда они заводятся? Сдается мне, что они идут на "мозг", а уж "мозг" транслирует эти нажатия в шину, чтобы разные девайсы исполняли свои функции (музыка - свое, круиз - свое).
Можно, конечно, тупо подцепиться к аналоговым "выходам" с блоков кнопок (где-нибудь в жгуте у руля) и уже на стороне моего микроконтроллера обрабатывать нажатия... и не заморачиваться с шиной (в данном вопросе). Надо подумать. В "аналоговом" варианте потребуется тянуть доп.провода. В "цифровом" варианте - изучать CAN-шину..

Цитата(annik @ 7.1.2015, 23:26) *
По времени отображения- в принципе читабельно.

По времени - читабельно. Но приветствие не слишком долго идет? Может, укоротить его?

Цитата(annik @ 7.1.2015, 23:26) *
Вопрос по остальным хотелкам- получение и вывод информации бортового компьютера?

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


Сейчас готовлю свой девайс к инсталляции в машину.
Оказалось, что дисплейчик "к машине" подключен коротеньким кабельком (около 7 см). На одной стороне у него разъем покрупнее (к шине автомобиля), а сдругой - помельче (втыкается в дисплей).
Думаю, что этот кабелек - идеальное место для "врезки". Там есть и питание (общий - черный, красный - 12В), и, естественно, CAN-шина (CAN-L - серый, CAN-H - зеленый).
CAN-шину надо разрезать (и со стороны дисплея - припаять резистор на 120 Ом - без него не работает). Получается вот так:
Нажмите для просмотра прикрепленного файла

Полный (на текущий момент) "набор на установку":
Нажмите для просмотра прикрепленного файла
В цветном шлейфе (7 проводов) - два CAN-интерфейса (один будет "слушать" машину, второй - "говорить" на дисплей), там же - общий и 12В (для контроля уровня заряда АКБ).
Серый кабель - для подключения программатора.
Другой цветной шлейф (4 проводника) - последовательный интерфейс для получения отладочной информации.


P.S. ОФФ: может кто-нибудь подарить/продать/и т.п. блок аудио-кнопок с руля от Мазда5 (с зеленой подсветкой)? Вдруг у кого-то остался после установки круиза?
annik
Мое мнение, не время приветствия долгое, а больше раздражает бегущая строка. Тут либо передвижение букв должно быть более плавным, либо должно быть как перелистывание кадров. И шрифт не очень хорошо читается- заглавные буквы лучше бы выглядели.
ustas
гм.. подготовил "кабелек" (взял его от дисплея, который купил на разборке).... и сейчас еще почитал, как салон разбирать и увидел на фотках, что на мазда5 - другой разъем smile.gif... в общем, завтра надо сначала разобрать свою машину, а там уже будет понятно, что и как переделывать... очень не хотелось бы в машине паять sad.gif
ustas
Цитата(annik @ 8.1.2015, 2:14) *
Мое мнение, не время приветствия долгое, а больше раздражает бегущая строка. Тут либо передвижение букв должно быть более плавным, либо должно быть как перелистывание кадров. И шрифт не очень хорошо читается- заглавные буквы лучше бы выглядели.

Более плавное движение букв не сделать: дисплей текстовый - можно только делать смещение на одно знако-место. Был бы графический - можно было бы попиксельно сдвигать... с перелистыванием кадров тоже не все так хорошо - на дисплее всего 12 символов.

Можно попробовать так:
  • Good evenyng
  • Wednesday
  • 8 january

Вроде все надписи влезут.

Заглавные лично мне нравятся меньше smile.gif (мои личные заморочки: НЕЧЕГО НА МЕНЯ КРИЧАТЬ!)
annik
Заглавные буквы более "плотно" пропечатаны, отсюда и лучшее восприятие. Надписи HELLO, MEDIA воспринимаются более читабельно на этом дисплее. А по поводу кричать/не кричать, то тут играет просто личное убеждение- а что если убедить себя, что заглавные буквы это строчные, а "маленьких" строчных на этом дислее нет? В любом случае, можно попробывать несколько вариантов и выбрать лучшее.
ustas
В общем, моя подготовка частично прошла впустую: в машине все-таки пришлось паять (но немного).

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

Подключение на Mazda5 - простое: потребуется подключить всего 6 проводков (все действия на кабеле сразу перед разъемом дисплея):
1. подключить "землю" (черный провод)
2. подключить "12В" (оранжевый провод)
3. перерезать серый (can-l) и фиолетовый (can-h) провода
4. подключить can-l и can-h (со стороны машины) к "слушающему" контроллеру CAN моего модуля
5. подключить can-l и can-h (со стороны разъема дисплея) к "говорящему" контроллеру CAN моего модуля.
Нажмите для просмотра прикрепленного файла
6. замотать все "синей изолентой" smile.gif (у меня кончилась - использовал черную)
Нажмите для просмотра прикрепленного файла

Все smile.gif

Ну и подключить еще кабель от парктроника к модулю.

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

Еще один "косяк" моей установкой в центральной консоли - пищалку плохо слышно (естественно, решаемо). В случае размещения за дисплеем, возможно, нужно будет просверлить маленькую дырочку и пищалку приклеить изнутри аккурат за ней.. но это после.

Кстати.. по ходу пришлось решить еще проблемку.. оказалось (вообще я этого ожидал, но на "стенде" дома это проверить было нельзя), что информация для маршрутника и климата "гуляет" ровно по той же шине... а поскольку я в своем коде обрабатывал только значения для средней части дисплея, а остальные сообщения просто игнорировал - то и получил соответствующий эффект:
Нажмите для просмотра прикрепленного файла

Поскольку ноут был с собой - на месте подкорректировал прошивку таким образом, что данные для центральной части дисплея отрабатывались согласно ранее разработанной логике, а все остальные данные - тупо транслировались дальше. И это сработало (что логично). Видео тут: https://www.youtube.com/watch?v=R5hyAQntqkQ (на мерцание не обращайте внимание, его нет - телефон дурил в сумерках).
Кстати, на видео видно, то получился "двойной" вольметр: при повороте ключа - сначала видим напряжение на АКБ, а после того, как машина завелась - напряжение бортовой сети.

Теперь прошивку нужно оптимизировать (естественно, там есть куда - выкидывать лишние проверки, убирать данные для отладки, ускорить работу с портами ввода/вывода). Потом можно добавлять всяческие "рюшечки".

Бегущая строка себя показала на холодной машине просто отвратительно: на холодном ЖК-экране просто нечитаемая "каша". Кстати, на видео вариант прошивки, где я отключил ее совсем (чтобы сразу видеть на дисплее основную информацию).

Но в любом случае, на сегодня мой модуль вполне показал свою жизнеспособность (и остался уже на "постоянку" в машине).
Эта установка еще даст результаты по "замораживанию". Посмотрим, вынесет ли новая резервная батарейка морозы и не будут ли сбиваться мои часы?
Опять же, несколько дней покатаюсь - посмотрю, как будет работать в реальных условиях при нормальной эксплуатации (надеюсь, ничего особенного не "вылезет").

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

Теперь нужно уже определяться: делать ли "серийную" партию?

  • Для этого мне нужно заново развести плату исходя из тех моментов, что я описал (от 2 дней до недели, думаю).
  • После этого заказать производство платы (уже делал - из поднебесной после заказа придет где-то через 3-4 недели).
  • Параллельно закупить комплектуху (ну и прошивку "допилить").
  • Смонтировать и прошить (день-два, ну... неделю (с запасом)).


т.е. полный цикл - 5-6 недель (если почта и китайский новый год не внесут дополнительных задержек).

Еще не понятно, что с парктроником (ради которого все затевалось первоначально) - я расковырял всего один конкретный парктроник. Добавлять поддержку других моделей, в принципе, возможно, но мне нужно будет получать "целевой" пакртроник на некоторое время и изучать его (не самая интересная работа, к сожалению: цеплять осциллограф, снимать эпюры напряжений, делать кучу замеров с различными расстояниями до датчиков (в разных комбинациях), включать "логический анализатор", попытаться угадать, как зашифрованы расстояния и т.п., написать кусок кода, который будет адекватно принимать и интерпретировать данные).

Можно, конечно, делать "кит": моя плата и Parkmaster 4-dj-06 (именно его я "расковырял" - на сегодня его цена около 3 тыс.руб.). Только это скорее для тех, у кого парктроника еще нет.

И с ценой еще нужно определиться... В текущих условиях пока не понимаю, во сколько реально встанет производство платы и комплектуха...

Понятно, что первая (если она будет) партия (возможно и единственная) - 10-20 плат... на форуме мазда3 "закинул удочку" - вроде как там тоже есть желающие...

Сплошные вопросы.

Если интересно - включайтесь в обсуждение вопросов. Тогда и решим, как быть дальше?

P.S. ну и собственно то, ради чего я этим всем занялся:
Нажмите для просмотра прикрепленного файла
annik
А парктроник за 3т.руб. это полный комплект? А скопировать парктроник не получится и "склеить" их в одну коробочку? Я готов заказать, только основная моя цель была получить бк, можно с парктроником. У меня дисплей без бк.
ustas
За 3 тыс - это полный комплект парктроника: 4 датчика, "основной блок", дисплейчик и вся проводка. Из этого комплекта дисплейчик - лишний.

Плюс - моя плата (о ее цене чуть ниже).

Скопировать парктроник... ну, потенциально можно, только стоить будет существенно дороже (да и датчики-то все равно покупать придется.. а датчики без комплекта - сразу заметно дороже становятся).

По поводу реализации БК - я это сделаю (точно получится сделать периодическое отображение информации БК - значения параметров 100% присутствуют в шине, вот с переключением режимов пока сложности - нужно понять, как работать с кнопками (для упрощения подключения лучше использовать "цифровой вариант")).
Можно воообще свою отдельную кнопку замутить, по нажатию которой будет переключение режимов и т.п., но в свою машину я бы такую кнопку ставить не стал (ну или куда-нибудь в очень неприметное место).

Плата совершенно спокойно будет работать и без функций "парктроника" (т.е. в машине просто "появится БК").

Сейчас сделал прикидку по комплектующим и стоимости производства плат... расчет делался исходя из производства серии в 10 устройств. В лучшем случае получается 4 тыс.руб. (ох уж этот нынешний курс - на него завязана как стоимость производства плат, так и комплектующих).
Цены могут стать несколько лучше при партии в 100 штук, но это уже совсем другая песня.. следующее улучшение цены - уже при партии от 500-1000 штук (а это уже вообще, имхо, нереально).

Понимаю, что дорого. Для себя, как хобби - нормально (хобби очень редко бывают малозатратными).

Боюсь, что при таких раскладах, даже тестовой партии в 10 штук не будет...
!Lnur
Цитата(ustas @ 8.1.2015, 21:07) *
Кстати.. по ходу пришлось решить еще проблемку.. оказалось (вообще я этого ожидал, но на "стенде" дома это проверить было нельзя), что информация для маршрутника и климата "гуляет" ровно по той же шине... а поскольку я в своем коде обрабатывал только значения для средней части дисплея, а остальные сообщения просто игнорировал - то и получил соответствующий эффект


Так и подмывает написать: "А я же говорил!" biggrin.gif

Цитата(!Lnur @ 27.10.2014, 14:48) *
ustas, всё-таки ответь, почему ты не хочешь вставить свою приблуду между балалайкой и машиной?
Зачем тебе отлавливать и транслировать все сигналы идущие на дисплей от машины (ЭБУ, климат)?
Тебе ведь только текстовый сектор в серединке дисплея нужен, а туда только балалайка флудит, так борись только с ней!
ustas
Вообще тут "что в лоб, что по лбу". С точки зрения приблуды - пофик, слушать-то все равно нужно все (к примеру, чтобы маршрутник реализовать)..
Все же хорошо разрешилось... надо просто дописывать код и оптимизировать его.
!Lnur
Да не совсем.
Поначалу да, ты мотивировал необходимость в таком способе подключения к шине тем что тестируешь прототип на диагностическом разъёме, но сейчас то всё изменилось: тебе пришлось РАЗРЕЗАТЬ шлейф проводов (шину) дисплея для того чтобы подключить готовое устройство.

Теперь рассмотри вариант подключения в разрыв CAN-шины идущей на штатную магнитолу:
1. Можно подобрать разъём на твою плату и подключать штатный шлейф с CAN-шиной идущей на магнитолу к нему.
При этом маздаводы заменившие штатную балалайку на нештатную получат возможность простым способом, подключив платку к свободному разъёму, дополнить пустующий дисплейчик доп. инфой, например БК. Таким способом ты приобретёшь существенно больше клиентов чем сейчас (не каждый согласится что-то разрезать и паять в своём авто). Это будет упрощённая версия платы с одним контроллером CAN-шины

2. Добавляя пару микросхем (MCP2551+MCP2515) и шлейф с разъёмом для штатной магнитолы на твою плату получаем возможность использовать её в полном составе (со штатной балалайкой).
ustas
А если я найду разъемы такие же, как на дисплее (маму и папу), то можно будет сделать вообще без разрезания: добраться до дисплея, отключить от него разъем и подключить его к моей плате, а разъем, который "выходит" из моей платы - воткнуть в разъем дисплея wink.gif. Вообще просто (и ничего резать не надо).

И разъем будет нужен только одного вида... а если подключать там, где балалайка - там другой разъем wink.gif вариаций больше получится.

хотя вариант с одним контроллером CAN-шины будет чуть дешевле... правда, при этом придется поддерживать (с программной точки зрения) две версии... а это, имхо, того не стоит.

В общем, я - за унификацию smile.gif

Решил все-же сделать полную схему (уже готова) и развести плату (сделаю в ближайшие дни). Завтра по схеме попробую закинуть китайцам на просчет стоимость комплектухи...
ustas
Все сделал и подготовил все для производства... отправил китайцам на просчет. Посмотрим, какую цену объявят.
Нажмите для просмотра прикрепленного файла
ustas
https://www.youtube.com/watch?v=0BdjdghX5YQ - тут вернул "приветствие" только без бегущей строки и большая часть - ЗАГЛАВНЫМИ буквами.

Так лучше?

P.S. сегодня выяснил, какие сообщения (точнее их идентификаторы) отвечают за вывод информации на дисплей (состоит из трех частей: маршрутник, центральная часть, климат). "Лишние" сообщения сейчас просто "фильтрую" (игнорирую). Уже четко понимаю, "где искать" данные для маршрутника... а вот с нажатием кнопок - пока не понимаю, искать очень сложно...
ustas
Вчера изучал интернет на предмет того, кто какие данные из шины вытащил (параллельно готовил свой код для маршрутника).

Итак.. что "доступно прямо сейчас" (права еще не проверял в машине, но уже подготовил):
  1. Текущая скорость
  2. Текущие обороты
  3. Одометр
  4. Состояние дверей (открыто/закрыто для каждой двери и багажника!)
  5. Состояние круиза (включен/выключен, но тут еще немного надо разобраться.. вкл/выкл или активен/неактивен)
  6. Средняя скорость
  7. Мгновенный расход
  8. Средний расход
  9. Запас хода


Понятно, что п.6 и далее - это "маршрутник" в чистом виде.

Текущая скорость - будет полезна, если получится через кан-шину управлять замками дверей.
Состояние дверей (в паре с текущей скоростью) - для писка и надписи, что "такая-то дверь открыта".
Одометр.. ну... можно "карту ТО" в машину забить.... на дисплее есть "незадействованный" индикатор "телефона" (или значок DolbyDigital) - который можно зажигать, например, километров на 200-300

Еще можно всякой фигни придумать.. типа, "результат поездки": в конце поездки выдать следующую информацию:
  • Пройдено ... км
  • Максимальная скорость ... км/ч
  • Время в пути ...


Ну и вообще гиковское (если круиз можно включать через CAN-шину): если едем длительное время (минут 5, например) с более-менее постоянной скоростью (плюс-минус 5%) - включить круиз (естественно, фича должна быть отключаемой).

В общем.. полет фантазии. Надеюсь, что сегодня в машине проверю получение данных.

P.S. китайцы пока молчат - считают...

P.P.S. еще поправил вольтметр, как просили (перечитывал тему, чтобы освежить память и сформировать список "хотелок"): при включении и отображении вольтметра идет постоянное измерение (было один раз измерение и просто показывалось заданное время). Теперь цифры "живые" и после того, как машина завелась - видно, как напряжение "выходит на режим".
ustas
В общем... сходил в машину и чуть прокатился.

Данные маршрутника получаются превосходно (кусочек лога отладочной информации):

"Катаюсь":

curRPM: 1534 curSpeedX100: 3198.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495

curRPM: 1477 curSpeedX100: 3152.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495

curRPM: 1431 curSpeedX100: 3103.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495

curRPM: 1381 curSpeedX100: 3061.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495

curRPM: 1339 curSpeedX100: 3015.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495

curRPM: 1296 curSpeedX100: 2940.00
avgSpeed: 36.00 insFConsX10: 87.00 avgFConsX10: 106.00 remaining: 495


"стою":

avgSpeed: 36.00 insFConsX10: -2.00 avgFConsX10: 106.00 remaining: 494
curRPM: -32768 curSpeedX100: -32768.00

avgSpeed: 36.00 insFConsX10: -2.00 avgFConsX10: 106.00 remaining: 494
curRPM: -32768 curSpeedX100: -32768.00


Таким образом, сделать "бортовой компьютер" - как два байта переслать... все данные есть, можно спокойно формировать сообщения для дисплея и показывать.

А вот остальное, что очень хотелось найти (круиз, состояние дверей, одометр и т.п.) - пока не нашел sad.gif

Есть желающие поковырять логи в поисках?
annik
Я так понимаю, эта информация (маршрутника), будет выводиться на центральную часть дисплея? Отображать её на левой части не получится?
ustas
Да, все именно так - только на центральную часть выводить.

Если бы был дисплей "с поддержкой маршрутника" - эта информация УЖЕ была бы там (можно почитать темы про замену дисплея).

----------------------------------------------------------------------------------------------------------------------

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

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

Машина знает о состоянии следующих дверей:
- левая передняя
- правая передняя
- какая-то задняя (открываем любую заднюю и тут же "взводятся" две "единички")
- багажник
Дополнительно машина знает о том, открыты или закрыты замки

Теперь о плохих новостях:
- нет команды (или я на текущий момент ее проглядел) на открытие-закрытие замков
- нет информации о нажимаемых на руле кнопках (теперь точно нужно смотреть схемы, чтобы понять, куда же идут сигнальные провода от руля?)
- одометр я тоже не нашел

В общем.. часть функций [просто] не реализуема sad.gif

Открыть-закрыть ЦЗ можно, но придется тянуть доп.провод от моего модуля до модуля ЦЗ (я к этому потенциально был готов, плата была разработана с учетом вот таких подобных "граблей"). Скорее всего, я этим все-таки заморочусь.

Остается еще вопрос по настройке модуля (к примеру, установка даты/времени). Сейчас это все - в момент прошивки.. но если резервная батарейка сядет (правда, в нормальных условиях ее хватит лет на 7-10), то часы собьются (ну или банально будут немного подвирать) - потребуется корректировка.

Разбирать для этого полмашины (и искать программатор, и разбираться, как же задать правильные параметры), имхо, неправильно.

Что можно придумать:

1. все-таки подключиться к блоку аудио-кнопок, но использовать "аналоговое подключение" (скорее всего, просто один проводок надо будет накинуть... возможно, потребуется пару резисторов, но не сложнее) - и тогда обрабатывать их. Могут быть, например, такие "шаманские" действия: (открыть водительскую и заднюю дверь, перевести магнитолу в режим MEDIA и тогда мой блок поймет, что надо "слушать" нажатия кнопок и мы в режиме "настройки").

2. добавить блок "своих кнопок" (можно вывести куда-нибудь в центральную консоль, чтобы доступ был не сильно сложным)

Или "похоронить" часть функций (календарь, часы). Оставить только маршрутник и парктроник. Причем, маршрутник можно включать-выключать просто устанавливая перемычку на плате в процессе установки (т.е. кому надо - перемычку ставят, те, у кого это уже есть - не ставят).

Да, парктроник является "автоматической опцией", т.е. если его не подключать - система будет спокойно работать и без него (т.е. полное сохранение штатного функционала). Но если в нем появится потребность - достаточно будет правильно подключить соответствующий кабель и оно "автоматом" заработает (без изменения прошивки модуля).


Что скажете?
ustas
Вот же блин...

информация о круизе, одометре все-таки есть в CAN-шине... но в другой!!!... нужные сообщения "бегают" в HS-CAN.. блин, ну не городить же плату с тремя CAN-интерфейсами из-за этого.... правда, польза от их знания пока еще достаточно призрачная...
annik
Ну у меня Дорестайл, поэтому у меня круиз-контроля нет, поэтому на эту информацию мне фиолетово (ну если только в вашей плате не будет предусмотренно установка КК на дорестайл со всеми указаниями и пожеланиями и подробными инструкциями как это пошагово сделать, то я только ЗА!)
Про маршрутник- нет возможности управлять сегментами (индикаторами) в левой части?
Про парктроник- конечно лучше, когда есть возможность модернизировать с минимальными затратами. Платы сильно будут отличаться в цене с парктроником и без него?
ustas
Круиз на моей плате не реализовать, так что, увы sad.gif

В наших машинах дисплей - это не "набор сегментов", а самостоятельное устройство, которое "слушает шину" и когда приходят сообщения с соответствующими идентификаторами - отображает соответствующую информацию. Одно из таких сообщений - данные маршрутника (идентификатор 0x400). Если дисплей "с поддержкой маршрутника" - данные из такого сообщения отображаются в левой части (за это отвечает контроллер дисплея). Если же дисплей "без поддержки маршрутника" - сообщения с идентификатором 0x400 просто игнорируются. Моя же плата эту ситуацию исправляет, но направить вывод полученной информации возможно только на центральную часть sad.gif

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

Сегодня реализовал чисто программную функцию - контроль незакрытых дверей: на скорости выше 10 км/ч система орет дурным голосом и на дисплее пишет, какая именно дверь не закрыта.

Теперь то, что касается опциональной функции закрытия дверей на скорости: сейчас доработаю плату таким образом, чтобы появились еще два контакта (достаточен один, но на всякий случай сделаю два независимых канала) - для подключения к ЦЗ (как это делают сигналки). Желающим иметь такой функционал достаточно будет просто подключить еще один проводок. Тем кому не надо - просто не подключают. Прошивка при этом у всех одна.

Еще появилась мысль, что для того, чтобы уверенно слышать писк парктроника - надо бы приглушать звук "балалайки". Решить это можно аппаратно. Практически у всех балалаек (как штатных, так и нештатных) есть специальный контакт в разъеме (обычно SYSTEM MUTE) - подавая на него сигнал можно приглушать звук. Это будет еще один отдельный контакт на моей плате. Желающие его подключают, остальные - игнорируют.

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

На этом, думаю, функционал блока я закончу.

P.S. цену от китайцев еще так и не получил sad.gif
CODerSPB
Цитата(ustas @ 14.1.2015, 15:33) *
Тихо, сам с собою я веду беседу...

Немного не так. Вот лично я себя студентом на лекции ощущаю. И лекция интересная, и препод "в теме".
Продолжайте, мы вас очень внимательно слушаем. Буквально, с открытым ртом. laugh.gif
annik
Да-да, я тоже кивал головой, полностью соглашаясь с ходом мыслей оратора.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.