Здравствуйте, гость ( Вход | Регистрация )
1.11.2017, 16:55
Сообщение
#1
|
|
![]() Новичок ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 8.10.2013 Пользователь №: 65 978
|
Может, кому надо вариант подешевле.
Всё, что для этого надо, это Arduino Uno, два CAN шильда. Обратите внимание, что по ссылке цена сразу за два CAN шильда! Ардуину можно и не UNO, а допустим, Nano, меньше места занимает, но Uno можно запитать прям от бортовой сети 12в, приклеив на встроенный стабилизатор радиатор на всякий случай. Он может работать до 20в. Соединяем всё это по этой схеме: ![]() Сразу говорю, я художник не великий, поэтому нарисовал это в среде Fritzing, где уже есть готовые элементы, но CAN адаптеры немного другие, у которых ещё куча нам не нужных выводов, главное - у нужных названия совпадают. То же самое с разъёмом - каких надо нет, главное номера контактов - CAN L - 2, CAN H - 13. Разъём на радио называется С2, А вообще распиновка тут. Провода на самом деле на разъёме расположены один под другим, а не в одном ряду с разных концов. Можно было бы раздобыть разъёмы (только где?) как на схеме чтоб готовое устройство воткнуть между радио и машиной, но я тупо перерезал провода 2 и 13, удлиннил и вывел наружу через верхнюю крышку для опытов. На схеме слева - провода в машину, справа - в радио. В общем, когда это всё смотали, распаковываем прикреплёный скетч с либой как есть в одну директорию. Либу чуть-чуть изменил, добавил скорость 83,3 кбит/с (думал у меня такая скорость, оказалась 125). Есть разные версии этой либы, не совсем совместимые, с той что у меня точно работает. Скетч пересылает пакеты от шины в радио и наоборот, по пути в радио подменяет D на P, в общем в скетче прокомментировал где что. Думаю, потом ещё может какие фишки добавить, а может ну его нафиг. Сам всё настроил и дописал вчера, проверил, всё работает на RT 2008+, теперь надо это всё красиво собрать и напечатать коробочку на 3D принтере. Подобные устройства есть, но цена у них - 150 евро или типа того, а то что получилось у меня и 15 не стоит. Когда сканировал и вылавливал пакеты, провода от машины к радио соединял вместе и к ним подключал один из адаптеров.
DVD_on_D.zip ( 12.08 килобайт )
Кол-во скачиваний: 93-------------------- Chrysler Grand Voyager RT, квадрат, 2.8 дизель, 2008 г.
|
|
|
|
![]() |
6.11.2017, 11:06
Сообщение
#2
|
|
![]() Новичок ![]() ![]() Группа: Пользователи Сообщений: 43 Регистрация: 8.10.2013 Пользователь №: 65 978
|
Всё, нашёл, переделал - всё работает в движении! Навигацию в туннеле не проверял.
новый скетч для ардуино: Код #include "mcp_can.h" #include <SPI.h> unsigned long rxId; byte len; byte rxBuf[8]; char msgString[128]; byte txBuf0[] = {0x00, 0x00, 0x80, 0x20, 0x50, 0xFF, 0x0C}; // включен P, мотор заведён, тормоз отпущен. byte txBuf1[] = {0x00, 0x00, 0x84, 0x21, 0x44, 0xFF, 0x0C}; // включен D, мотор заведён, тормоз нажат. MCP_CAN CAN0(10); // на десятом пине CS от адаптера "в машину". MCP_CAN CAN1(9); // на десятом пине CS от адаптера "в радио". void setup() { Serial.begin(115200); // инициализация CAN0 bus, baudrate: 125k@8MHz Если шина медленная, на более старых моделях, // надо вместо CAN_125KBPS написать CAN_83K3BPS - 83,3Kbit/s, но там хз, может и коды другие. if(CAN0.begin(MCP_ANY, CAN_125KBPS, MCP_8MHZ) == CAN_OK){ Serial.print("CAN0: Init OK!\r\n"); CAN0.setMode(MCP_NORMAL); } else Serial.print("CAN0: Init Fail!!!\r\n"); // инициализация CAN1 bus, baudrate: 125k@8MHz Если шина медленная, на более старых моделях, // надо вместо CAN_125KBPS написать CAN_83K3BPS - 83,3Kbit/s но там хз, может и коды другие. if(CAN1.begin(MCP_ANY, CAN_125KBPS, MCP_8MHZ) == CAN_OK){ Serial.print("CAN1: Init OK!\r\n"); CAN1.setMode(MCP_NORMAL); } else Serial.print("CAN1: Init Fail!!!\r\n"); } void loop(){ if(!digitalRead(2)){ // на втором пине INT от адаптера со стороны машины. Считываем, если он в LOW. CAN0.readMsgBuf(&rxId, &len, rxBuf); // читаем из шины и посмотрим, пропускать ли дальше в радио. if(rxId == 0x20E){ // в сообщениях с этим ID передаются данные о положении ручки. if(rxBuf[2]==txBuf1[2] && // сравниваем не все байты, а только постоянные при rxBuf[4]==txBuf1[4] && // положении ручки в D. Другие меняются на rxBuf[5]==txBuf1[5] && // заглушенном двигателе и отпущенной педали тормоза. rxBuf[6]==txBuf1[6]){ memcpy(rxBuf, txBuf0, 7); // заменяем D на P } } if (rxId == 0x211){ // здесь передаётся так же скорость rxBuf[2] = 0x00; // во втором rxBuf[3] = 0x00; // и третьем байте всегда ставим в 0 } CAN1.sendMsgBuf(rxId, 0, len, rxBuf); // отсылаем в радио } if(!digitalRead(3)){ // на третьем пине INT от адаптера со стороны радио. CAN1.readMsgBuf(&rxId, &len, rxBuf); // Считываем, если он в LOW CAN0.sendMsgBuf(rxId, 0, len, rxBuf); // и пересылаем дальше в машину } } Или тут с библиотекой:
DVD_on_D.zip ( 12.33 килобайт )
Кол-во скачиваний: 31Сообщение отредактировал asix - 6.11.2017, 11:07 -------------------- Chrysler Grand Voyager RT, квадрат, 2.8 дизель, 2008 г.
|
|
|
|
asix Разблокировка видео при движении 1.11.2017, 16:55
asix Да, пока всё выглядит так: )) 1.11.2017, 17:06
asix В комменте скетча обнаружил ошибку, два раза напис... 1.11.2017, 18:28
kutuzov_ Интересно...
Но для большинства местных это темный... 1.11.2017, 19:12
u285ra Цитата(kutuzov_ @ 1.11.2017, 19:12) Интер... 1.11.2017, 21:16
monte carlo я бы себе тоже купил, а то моя кетайская приблуда ... 1.11.2017, 21:19
asix Ну, я с разъёмами возиться не собираюсь, если гото... 1.11.2017, 22:19
2-BROS Я тоже готов купить такой девайс! Открывайте п... 4.11.2017, 20:52
asix Собрал покрасивее, упаковал и поехал. И тут неждан... 5.11.2017, 23:18
monte carlo не даром кетайцы просят за всю приблуду около 500... 5.11.2017, 23:26
asix Цитата(monte carlo @ 5.11.2017, 22:26) не... 6.11.2017, 0:08
asix Скорость вроде как нашёл (заранее посканировал при... 6.11.2017, 0:03
Orion Здорово! Сейчас запишу и попробую.
Еще можно ... 6.11.2017, 15:56
asix Цитата(Orion @ 6.11.2017, 14:56) Здорово... 6.11.2017, 16:48
Orion Цитата(asix @ 6.11.2017, 17:48) Цитата(Or... 6.11.2017, 22:07
asix Цитата(Orion @ 6.11.2017, 21:07) Цитата(a... 6.11.2017, 22:33
Orion Цитата(asix @ 6.11.2017, 23:33) Цитата(Or... 6.11.2017, 22:54
asix Цитата(Orion @ 6.11.2017, 21:54) Цитата(a... 6.11.2017, 23:53
monte carlo ребята, а можно как-то попроще выражаццо??? а то я... 6.11.2017, 17:46
asix Цитата(monte carlo @ 6.11.2017, 16:46) ре... 6.11.2017, 21:49
kutuzov_ Цитата(monte carlo @ 6.11.2017, 17:46) ре... 6.11.2017, 21:50
asix О, вот что ещё нашёл на этом форуме:
http://forum... 7.11.2017, 0:12
Orion Цитата(asix @ 7.11.2017, 1:12) О, вот что... 7.11.2017, 20:51
u285ra Цитата(Orion @ 7.11.2017, 20:51) Я сегодн... 7.11.2017, 21:14

monte carlo Цитата(u285ra @ 7.11.2017, 22:14) Цитата(... 7.11.2017, 21:36


kutuzov_ Цитата(monte carlo @ 7.11.2017, 21:36) ес... 7.11.2017, 22:21

Orion Цитата(u285ra @ 7.11.2017, 22:14) Цитата(... 8.11.2017, 0:15

wital555 Цитата(Orion @ 7.11.2017, 23:15) Разъемы ... 6.3.2020, 2:01
asix Цитата(Orion @ 7.11.2017, 19:51) Цитата(a... 7.11.2017, 22:11
Orion Цитата(asix @ 7.11.2017, 23:11) Цитата(Or... 7.11.2017, 23:54
asix Цитата(Orion @ 7.11.2017, 22:54) Цитата(a... 8.11.2017, 1:30
MistrAL-SBor Впишусь тоже. Реально ли там организовать еще и до... 8.11.2017, 8:30
monte carlo дайте фото нужных разьёмов. попробую поискать. 8.11.2017, 9:25
asix Цитата(monte carlo @ 8.11.2017, 8:25) дай... 8.11.2017, 10:08
Orion Цитата(monte carlo @ 8.11.2017, 10:25) да... 8.11.2017, 10:32
u285ra Цитата(Orion @ 8.11.2017, 10:32) Да вприн... 8.11.2017, 17:46
asix Сегодня ещё покатался, потестил. В туннеле работае... 11.11.2017, 22:24
Orion Цитата(asix @ 11.11.2017, 23:24) Сегодня ... 12.11.2017, 2:08
asix Цитата(Orion @ 12.11.2017, 1:08) Цитата(a... 12.11.2017, 2:48
Orion Цитата(asix @ 12.11.2017, 3:48) Цитата(Or... 12.11.2017, 14:09
asix В архив добавил корпус для изготовления на 3D-прин... 12.11.2017, 1:59
Orion Цитата(asix @ 12.11.2017, 2:59) В архив д... 12.11.2017, 2:13
asix ЦитатаЯ тоже собрал все в корпус, правда брал гото... 12.11.2017, 2:41
Orion Цитата(asix @ 12.11.2017, 3:41) ЦитатаЯ т... 12.11.2017, 14:03
asix Цитата(Orion @ 12.11.2017, 13:03) Корпус ... 12.11.2017, 14:22
Orion Цитата(asix @ 12.11.2017, 15:22) Цитата(O... 12.11.2017, 14:27
asix я не силён в электронике и инглийском, но я так по... 12.11.2017, 3:04
Orion Цитата(asix @ 12.11.2017, 4:04) я не силё... 12.11.2017, 14:23
Orion Нашел название и точные размеры корпуса 90x 65x 35... 12.11.2017, 15:25
kutuzov_ Парни, если вам поможет: у меня голова штатная, ка... 12.11.2017, 19:46
asix Цитата(kutuzov_ @ 12.11.2017, 18:46) Парн... 12.11.2017, 21:40
monte carlo я умничать не буду. ибо не имею права, но:
1. на л... 12.11.2017, 20:05
asix Цитата(monte carlo @ 12.11.2017, 19:05) я... 12.11.2017, 21:45
Orion Цитата(asix @ 12.11.2017, 22:45) Цитата(m... 12.11.2017, 21:53
wital555 Цитата(asix @ 1.11.2017, 15:55) Arduino U... 14.11.2017, 16:56
asix Цитата(wital555 @ 14.11.2017, 15:56) Цита... 14.11.2017, 22:06
Юрий69 Цитата(Юрий69 @ 24.12.2019, 19:37) Доброг... 3.3.2020, 23:16
Юрий69 Цитата(wital555 @ 6.3.2020, 3:01) Цитата(... 6.3.2020, 18:36
Юрий69 Цитата(wital555 @ 3.3.2020, 22:55) Asix б... 6.3.2020, 19:11
Mish_gun Цитата(Юрий69 @ 6.3.2020, 19:36) Цитата(w... 10.3.2020, 15:07
Mish_gun Цитата(Mish_gun @ 10.3.2020, 16:07) Цитат... 12.3.2020, 10:44
Vladcd Доброго всем форумчанам дня! Прошу автора топ... 7.5.2021, 16:47![]() ![]() |
|
Текстовая версия | Сейчас: 6.11.2025, 21:32 | ![]() |
|
|
Мы в соцсетях:
|