Нештатная информация на штатный дисплей
|
Здравствуйте, гость ( Вход | Регистрация )
Нештатная информация на штатный дисплей
|
26.5.2017, 23:29
Сообщение
#321
|
|
Участник Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) |
Чуть более сложный пример (работающий на 100%). Работает с двумя CAN-контроллерами, подключенными к однму МК (думаю, догадаешься, как поправить, чтобы был один):
Код // demo: CAN-BUS Shield, send data #include <mcp_can.h> #include <SPI.h> #define ID_PART0 0x28F #define ID_PART1 0x290 #define ID_PART2 0x291 MCP_CAN CANcar(10); MCP_CAN CANdsp(9); // Set CS to pin 10 void setup() { Serial.begin(115200); /* START_INIT: if(CAN_OK == CAN.begin(CAN_125KBPS)) // init can bus : baudrate = 500k { Serial.println("CAN BUS Shield init ok!"); } else { Serial.println("CAN BUS Shield init fail"); Serial.println("Init CAN BUS Shield again"); delay(100); goto START_INIT; } */ CANcar.begin(CAN_125KBPS); CANdsp.begin(CAN_125KBPS); } unsigned char myStr1[8] = { 0xC0, 'H', 'e', 'l', 'l', 'o', ' ', 'c'}; unsigned char myStr2[8] = { 0x87, 'a', 'r', ' ', ' ', ' ', ' ', ' '}; unsigned char myStr3[8] = { 0xC0, 'H', 'e', 'l', 'l', 'o', ' ', 'd'}; unsigned char myStr4[8] = { 0x87, 'i', 's', 'p', ' ', ' ', ' ', ' '}; unsigned char stmp[8] = {0xD1, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01}; void loop() { // send data: id = 0x00, standrad flame, data len = 8, stmp: data buf CANdsp.sendMsgBuf(ID_PART0, 0, 8, stmp); CANdsp.sendMsgBuf(ID_PART1, 0, 8, myStr3); CANdsp.sendMsgBuf(ID_PART2, 0, 8, myStr4); CANcar.sendMsgBuf(ID_PART0, 0, 8, stmp); CANcar.sendMsgBuf(ID_PART1, 0, 8, myStr1); CANcar.sendMsgBuf(ID_PART2, 0, 8, myStr2); delay(100); // send data per 100ms } Удачи! P.S. "на столе" резистор в 120Ом к дисплею подключать обязательно (без него не заведется). Ну и проверить, что подключаешься именно к CAN-шине дисплея (и не путаешь полярность). "Земли" должны быть общие + еще два провода на CAN. Сообщение отредактировал ustas - 26.5.2017, 23:31 Спасибо сказали:
|
|
|
27.5.2017, 6:07
Сообщение
#322
|
|
Активный участник Группа: Маздаводы Сообщений: 270 Регистрация: 19.8.2016 Из: Челябинская область, г. Кыштым Пользователь №: 34564 Спасибо сказали: 82 раз(а) |
Попробовал ваш пример - не работает, дисплей только время показывает. В принципе в примере настройки CAN-шины, адреса, пакеты сообщений все те же самые, что и у меня, только несколько синтаксис другой.
120 Ом на CAN-шине есть. Полярность CAN уже по-разному пробовал подключать. Ардуинку и дисплей запитал от одного источника 12В, так что земля у них общая. По-поводу подключения дисплея. У меня к дисплею подключено сейчас 4 провода. Распиновку нашел на стр. 208 электросхем (0922-3): B - питание H - земля L - CAN-L J - CAN-H В этой теме вы выкладывали фото какие провода резать в жгуте около дисплея, сравнил - я подключаюсь к тем же контактам. Попробую за выходные непосредственно в машине посидеть, поотправлять сообщения и почитать CAN-шину. Возможно у меня просто CAN-модуль дохлый и не отправляет сообщения по CAN-шине. |
|
|
27.5.2017, 20:39
Сообщение
#323
|
|
Активный участник Группа: Маздаводы Сообщений: 270 Регистрация: 19.8.2016 Из: Челябинская область, г. Кыштым Пользователь №: 34564 Спасибо сказали: 82 раз(а) |
В общем сегодня подцепил информационный дисплей на место.
Ардуинку через CAN-адаптер подцепил к разъему OBDII (6 и 14 контакты). Результат все тот же - центральная часть дисплея ничего не показывает. Заливал как скетчи, которые должны что-то отправлять на дисплей, так и скетчи, которые должны слушать CAN-шину. Подключал как с резистором 120 Ом, так и без него. Менял местами контакты идущие к CAN-шине. Думаю, что очень вероятно у меня CAN-адаптер дохлый, хотя сообщение "CAN BUS Shield init ok!" исправно выдает (и перестает выдавать, если отключить один из провод идущий к адаптеру). В понедельник на работу с собой Ардуинку возьму, посмотрю на осциллографе идут ли какие-нибудь сигналы с CAN-разъемов адаптера. |
|
|
30.5.2017, 18:58
Сообщение
#324
|
|
Активный участник Группа: Маздаводы Сообщений: 270 Регистрация: 19.8.2016 Из: Челябинская область, г. Кыштым Пользователь №: 34564 Спасибо сказали: 82 раз(а) |
Ардуину с шилдом на работе проверил. Подключал CAN-адаптер к осциллографу. На выходе микросхемы 2515 (ноги 1 и 2) тишина (постоянный уровень сигнала, не помню 0 или 1). На входах SCK, SI, CS красивые пачки импульсов (биты информации). А вот на входе SO — мусор какой-то (нет четкого уровня "0", зазубрины, какие-то всплески, которые намного короче импульсов на трех предыдущих контактах).
Ну и соответственно на выходе микросхемы TJA1050 тоже тишина. Попробовал пропаять плату, но результата не дало. В общем придется заказывать новый адаптер. |
|
|
13.6.2017, 9:30
Сообщение
#325
|
|
Участник Группа: Маздаводы Сообщений: 56 Регистрация: 6.6.2016 Из: Минск, Беларусь Пользователь №: 34407 Спасибо сказали: 28 раз(а) |
Какой кварц на вашем шилде стоит?
В вашем скетче стоит 8Мгц. Если речь про TJA то чую что у вас 8 МГц как и на моем тестовом. Взяли ли вы соответствующую библиотеку, которая поддерживает настройку под частоту кристалла. В примере ustas 16 Мгц. Попробуйте для начала чтение данных с шины настроить. В частности дисплей постоянно флудит по адресу 0х401. так можно проверить и полярность и все остальное. Отсутствие сигнала на выходе TJA1050 ничего не значит. Если MCP2515 не инициализирована или инициализирована неправильно то она в первую очередь сваливается в ошибку и ничего не шлет на TJA. Если есть интерес полезть дальше то можно обойти библиотеку и работать с 2515 напрямую по spi, там можно смотреть более подробно что не так и живой ли ваш шилд. Из практики убить 2515 почти нереально, я по криворукости "пытался" но не получилось. Примеров в инете масса. <noindex> Там же находится текущая версия платы под которую и пишется прошивка. (Плата 3.1 имеет ошибки, так что если что 3.2 на подходе). По своей наработке пока борюсь с помехами при подключению аудио модуля для передачи звука по блютусу, уже 2 платы сгорело (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) а они медленно идут с али. Сообщение отредактировал Malishok1452 - 13.6.2017, 10:59 |
|
|
13.6.2017, 21:09
Сообщение
#326
|
|
Активный участник Группа: Маздаводы Сообщений: 270 Регистрация: 19.8.2016 Из: Челябинская область, г. Кыштым Пользователь №: 34564 Спасибо сказали: 82 раз(а) |
Кварц действительно на 8 МГц, но я качал и соответствующую библиотеку.
Монитор порта в Ардуино IDE показывает соединение с шилдом ("CAN BUS Shield init ok!"). Как писал выше, на входе SO — мусор какой-то (нет четкого уровня "0", зазубрины, какие-то всплески, которые намного короче импульсов на трех предыдущих контактах). AKIP0023_SO_5.jpg ( 72.32 килобайт ) Кол-во скачиваний: 18 Я считаю такого быть не должно. На чтение данных тоже шилд настраивал, результат тот же - тишина. В общем нужно новый шилд заказать с Китая, все руки пока никак не доходят. Просто хочу сделать сразу крупный заказ позиций на 10 у какого-нибудь одного продавца, пока выбираю. |
|
|
25.2.2019, 21:43
Сообщение
#327
|
|
Новичок Группа: Маздаводы Сообщений: 6 Регистрация: 25.12.2018 Пользователь №: 36063 Спасибо сказали: 0 раз(а) |
Всем привет, тема с выводом информации на дисплей ещё актуальна?
|
|
|
25.2.2019, 22:43
Сообщение
#328
|
|
Участник Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) |
А что именно интересует? (IMG:https://m5club.ru/forum/style_emoticons/default/wink.gif) у меня в машине как поставил - так и работает
|
|
|
4.11.2019, 17:23
Сообщение
#329
|
|
Новичок Группа: Маздаводы Сообщений: 18 Регистрация: 25.9.2019 Из: Deutschland Lubeck Пользователь №: 36490 Спасибо сказали: 21 раз(а) |
Приветствую всех!
С недавних пор стал обладателем мазды 5. До этого ездил на прадо 95. С паяльником и программированием МК (pic) дружу, правда не на таком уровне как автор топика. К сожалению дел с avr не имел. В своей мазде уже переделал подсветку щитка и центральной консоли. В прадик собирал себе часы (на OLED дисплее) с функцией напоминания о прохождении очередного ОТ, страховки, тех осмотра. Там я брал информацию о пройденном пробеге на щитке, считал импульсы с датчика скорости. Хочу сделать нечто подобное и на мазде. Но столкнулся с проблемой что сигнала скорости (импульсного) как такового нет. Щиток получает скорость по кан от абс. Читая форум натолкнулся на эту интересную тему. Вот зародилась мысль считывать информацию о пройденном пробеге из CAN шины, а отображать информацию на информационный экран как в этом проекте. Я не на столько хорошо знаком с кан шиной, что бы самостоятельно создать такой проект. Вот хотелось бы немного информационной помощи. Есть ли в кан шине среднескоростной информация о пройденом расстоянии и в каком эта информация виде? Ну если бы уважаемый Ustas поделился бы наработками в этом направлении, то это было бы вообще супер! |
|
|
17.11.2019, 17:16
Сообщение
#330
|
|
Участник Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) |
информацию о пройденном пробеге из CAN шины Я такую информацию в шине не нашел. Ну если бы уважаемый Ustas поделился бы наработками в этом направлении, то это было бы вообще супер! Прошивку раскрывать не собираюсь, все что хотел рассказать об этом проекте - уже рассказал на этом форуме и на Для себя этот проект официально считаю "закрытым": Мазда5 уехала с новым хозяином. P.S. осталась ПОСЛЕДНЯЯ плата (держал для себя, как резервную, но не пригодилось). |
|
|
Текстовая версия | Сейчас: 4.11.2024, 3:13 |