Это видео недоступно.
Сожалеем об этом.
Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)
HTML-код
- Опубликовано: 7 дек 2019
- Arduino CAN Frame Sender
Arduino отправка can пакетов
Небольшое видео по просьбам подписчиков , по отправке пакетов данных в CAN на базе плат Ардуино.
drive.google.c...
Донат для поддержки канала:
new.donatepay....
Донат для поддержки канала:
www.donational...
Поддержи канал подпиской , это поможет развиваться и снимать разные видео на разную тематику а не заниматься сугубо заработком на одних и тех же авто !!! :
/ @lisai-auto
Дополнительный ресурс нашего канала на котором так же можно поддержать канал и автора ну и еще получить какую либо информацию или софт :
boosty.to/genn...
+79060130349
мои страницы :
gennadi...
/ gennadi.lisai
/ gennadilis
ok.ru/gennady....
/ gennadilisai
Мои группы :
/ autoservice_moscow
mercede...
autoser...
truckdi...
ok.ru/group590...
/ autoservice.moscow
/ mercedes.moscow.club
/ truckdiagmoscow
Адрес в Дзене
zen.yandex.ru/...
Заказал платы с китая, буду пробовать, раньше даже не думал про это, очень интересную тему подкинул, спасибо
Пожалуйста, а еще мне тут многие пишут что инфо навалом :):)
Ее то много , но как говорится подтолкнуть
10:02 Народ! Для того, чтобы шина Arduini Nano справлялась со скоростями 500KBPS и выше на CAN линии нужно установить терминирующий резистор 120ом, то есть на CAN шильде нужно установить перемычку J1
Спасибо за информацию 👍👍👍
Привет. Спасибо за познавательные видео на канале. Вы один из не многих кто несёт знание для тех кто хочет учится и познавать. И за толчок в саморазвитии многим, кто смотрит постоянно или случайно включил это и другие ваши фильмы.
Спасибо
Очень помогли ваши видео !!! Спасибо огромное 🔥🔥🔥🔥🔥
видео вдохновило на покупку ардуино и разбор полетов)
установил и поманиторил.теперь осталось научится загружать)
дай бог терпения и творческих успехов тебе!
спасибо
Спасибо!
Спасибо большое. Классное видео.
Очень интересное видео, спасибо
Очень интересно, долго искал похожую информацию.
Пожалуйста .
Будем в свободное время стараться ещё снимать
Спасибо автору за интересное видео. После свапа не могу запустить электроуселитель руля на VW Touran. Теперь буду пробовать.
Спасибо очень интересно посмотреть видео.
спасибо
Забыл, лайк и подписка, спасибо 🙏💕
Да о главном не забывать :):):)
Спасибо очень полезно👍👍👍
лайк тебе, сразу ставлю. молодец
Спасибо, очень подробно все разжевано! Самое время свой форум открывать для вопросов))
Группа есть в ватсап , но для клиентов :):) и их вопросов :):)
За отзыв спасибо
Придется стать клиентом)!
Спасибо, отличное видео
спасибо за обратную связь
Привет, очень интересно, спасибо за ваш труд, хочу сделать автоматьческое включение подогрева сидений при автозапуске, на шевроле Круз, пойду заказывать с алиэкспресс все компоненты)))))
Вступление.... достойно.
спасибо за видео!!!!!
Всегда пожалуйста
Круто!!! Спасибо!!!
Спасибо Вам.
Спасибо большое ещё надо такое видео
Обязательно будет , просто катастрофически не хватает времени на все , особенно летом
Здравствуйте как с вами связаться?
Просто и чудно
молодец, спасибо
Спасибо большое!
Не обращайте внимания на нахалов. Блокируйте и всё. Видео очень познавательные.
👍🏼👍🏼
Спасибо за видео! Хотелось бы узнать как по нажатию кнопки или по срабатыванию ЦЗ оформитть отправку в кан шину ? Каким должен быть скетч для и томуподобные нюансы
Ну по отправке в кан все то же самое
Если по кнопке или питанию , то добавить пин и условие. В принципе как в стандартной библиотеке например с диодом , только вместо диода отправка кан пакета
Благодарю за инфу. Чем можно делать тоже самое с кан500?
Можно и на Ардуино на на слабо нагруженных сетях , а так esp32, stm32 , nxp , gd и им подобные МК
Есть на канале пару примеров с эмулятором новым и шлюзом
В скором скорее всего на форуме нашем создадим отдельную ветку по программированию и там отдельные темы - на все просто катастрофически не хватает времени
Благодарю. Поищу еще реализации.
Хочу узнать возможно ли... Короче задача для электро самоходной платформы : стоят три инвертора Zappi ( на тягу , гидро насос и ЭУР ) всё три имеют CAN BUS.
На Ардуино привязать аналоговый джойстик передавать в CAN BUS на выполнение команд, реально управлять платформой. Передвижение вперёд-назад, на лево-на право, вира-майна. Заранее благодарю, видос по теме! Лайкос и подписка!
Watsap +79060130349
Сделать принципе все можно :):)
Очень полезное видео. Можно подробно рассказать про шину Lin (чтение и передача)
Можно , но позже :)
@@lisai-auto Буду ждать :)
Что интересно. Соединил по CAN две nano через MCP2515.
Первой шлю canMsg1, и одновременно принимаю от второй canMsg2. (на второй соответственно наоборот)
Прошу вывести на Serial Monitor1 только canMsg2 , а он мне печатает и canMsg1 и canMsg2
#include
#include
MCP2515 mcp2515(10);
struct can_frame canMsg1;
struct can_frame canMsg2;
void setup() {
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS);
mcp2515.setNormalMode();
Serial.begin(9600);
}
void loop() {
canMsg1.can_id = 0x01;
canMsg1.can_dlc = 4;
canMsg1.data[0] = 0x01;
canMsg1.data[1] = 0x01;
canMsg1.data[2] = 0x01;
canMsg1.data[3] = 0x01;
mcp2515.sendMessage(&canMsg1);
if (mcp2515.readMessage(&canMsg2) == MCP2515::ERROR_OK)
{
Serial.print("canMsg2= ");
Serial.print(canMsg2.can_id, HEX); Serial.print(" ");
Serial.print(canMsg2.can_dlc, HEX); Serial.print(" ");
Serial.print(canMsg2.data[0], HEX); Serial.print(" ");
Serial.print(canMsg2.data[1], HEX); Serial.print(" ");
Serial.print(canMsg2.data[2], HEX); Serial.print(" ");
Serial.print(canMsg2.data[3], HEX); Serial.println(" ");
}
delay(3000);
}
ОгОнЬ ... Спасибо...
д.д. Геннадий , если есть возможность подсказать . на стадии компиляции этого скетча происходит ошибка aggregate can_frame canMsg1 has incomplete type and cannot be defined . вроде все символы прописаны верно , перепроверил подключение к шильду , тоже все ок . простенький скетч blink записывается а этот нет . если можете подсказать в чем ошибка . спасибо .
Возможно не та библиотека
Или проверьте на объявленные в начале скетча кан сообщения ( на что в принципе и ругается )
@@lisai-auto геннадий . большое спс за ответ . эта ошибка происходила в такой последовательности - когда я скетч записывал вручную и я все перепроверил до рези в глазах . все проблемы прошли когда я все-таки скачал ваш файл мср2515 геннадийлисай и все вроде то же самое но все начало компилировать и записывать . склоняюсь что в моей зписи вручную какие-то символы были записаны не корректно но какие пока что не понимаю . спс за ответ .
А два id -шника ардуино сможет отправлять?
сможет
Здравствуйте Геннадий! Спасибо за Вашу просветительскую работу!!! Я нашёл на своё авто табличку с описанием PID-ов (если не ошибаюсь, так называются), но не пойму как использовать данные из неё. Может подскажете? Там содержатся след. данные, например: название передаваемой команды "Set Battery Cooling Fan Speed 4", кр. название - SFS4, ModeAndPin - "30810604", Equation - "A", MinValue - 0, MaxValue - 0, Header - "7E2". Этих данных достаточно для формирования canMsg в вашем примере? Если да, то подскажите как их преобразовать, чтобы заполнить все параметры canMsg. Буду признателен! Заранее спасибо!!!
на приус мутишь охлаждение мутишь?)
Приветствую! Спасибо такие видео. Нужное дело, хороший пинок начать. А нет случайно, скетча что б вылавливать нужное с кан-шины? Необходимо (например) выловить нажатие штатной кнопки или события в машине и выдать в кан команду?
В одном и з видео вы упоминали, что в MCP можно применять фильтры и маски что б проц не грузить. Что почитать в этом направлении?
Даташит на mcp2515
И содержимое библиотек
Там описаны майлбоксы и аппаратные фильтра
@@lisai-auto Спасибо,за ответ. Лет 20 не брал в руки шашку - тяжко вспоминать. Накупил всяких модулей - потихоньку третий день ковыряю. Канхакер и сендер запустил, накидал в сендер нужных команд. Теперь встал вопрос чем управлять - не хочется каких то не штатных кнопок в машину прикручивать. Вот размышляю как вылавливать имеющиеся кнопки и рычаги.
Ещё раз спасибо за совет. Подписался, ждем видео.
А на дешевых STM32F103 под ардуино не пробовал подобное устройство приема/передачи собирать? Стоит сборка на нано в шине 500кб/с в роле фильтра перед приборной панелью с подменой битов, иногда зависает... Мощности не хватает судя по всему, но виснет редко, от раза в неделю до пары месяцев.
Пробовали и на stm и на lpc и на nxp и ещё много на чем . На канале есть видео с stm32 в котором какова и отправляли пакеты в Кан
Да по ардуино есть вопросы с быстродействием . Больше всего понравилось на pic , процессор с обвязкой и все
@@lisai-auto сейчас поищу видео с stm. PIC дороже в реализации.
@@lisai-auto Здравствуйте, не могу найти это видео. Пытаюсь зашить stm скетчем из данного видео, но не получается.
Если есть готовое решение могу купить. Нужно наладить работу на пару десяток платформ и электро погрузчиков.
Готовых решений уйма вопрос в том что нужно вам :)
Пишите на ватсап
+79060130349
Здравствуйте, спасибо. А можно через CAN шину управлять инвертором Тоеты? Можете сделать такую плату?
Думаю можно
Но как минимум нужна одна рабочая машина для снятия логов и данных и ну сам инвертор
@@lisai-auto здравствуйте, спасибо, конструктоюивно. А вы где живёте.
@@lisai-auto у меня есть и родной Инвертор от Лексуса, но он из 288 вольт делает 650 вольт на мост Лексуса. Но у меня Вбатарея на 244 вольт. По этому я купил от такой же машины как и у меня Тоеты Авалон-Камри ещё один инвертор, он из 244 вольт делает 650, но мой двигатель Тоета 5000 оборотов 650 вольт в пике, а мотор-редуктор заднего моста Лексуса 10000 оборотов 650 вольт в пике. Проблема ли, что батарея Тоета меньше вольтажем для Лексусовского инвертора. И проблема ли что Тоеты инвертор запитывал электродвигатель на 5000 оборотов, а нужно 10000 ему давать?
@@lisai-auto машину для замеров я найду в любом городе, это не на долго же? Я денежку оплачу водителю машины. Инвертор свой я вам переслать готов. На каком мне остановиться инверторе на Лексусе из 288 вольт в 650, или на Тоете из 244 вольт в 650. С учётом что у меня батарея 244 вольт. Да, а внешняя часть резольвера на этом мотор-редекторе фишка есть, нужен ли он? Я его уже вварил в траверсу на сайлентблоки, но могу снять показыва ария какие скажешь. Проводки пучок родной Лексуса есть. Может и инвертор все таки от Лексуса взять? Проблема ли, что аккумулятор у меня в Тоете 244 вольта, а не 288 как в Лексусе?
Добрый день! Может ли arduino + mcp2515 работать с программой car bus analyzer. Интересует bomber для приборной панели Honda accord 7.
Со старыми версиями может , с небольшими изменениями в библиотеке и скетче
Ну чё,круть.мона приколоться с блевотиной,и написать какойнить полезный/е макрос/ы команд,в какомнить дроидскрипт,чтоб кнопочки макрокоманд были на таче фона.или жсм прикрутить,с самопальным keeloq.
Это да
Большинство заводских адаптеров по тому же принципу и сделаны
@@lisai-auto да,но речь то про сам.сам дешевле,в том и прикол.да и функциональные можно сделать.завод это программист далёкий от нужд каждого.
Здравствуйте, а какие контроллеры использовать для передачи в высокоскоростной шине?
Стм нхп пик и им подобные
@@lisai-auto спасибо
Возможно ли сделать работу что бы одна команда в шину отправлялась при поступлении определенной Команды из шины на этих же элементах? Спасибо.
Да возможно
@@lisai-auto спасибо, многим было бы интересно
Здорово, а управлением кнопкой может отправлять? Например если пин три high то выполнить отправку этого кода, если пин 4 high то дугой код послать в кан.
Да так тоже можно
@@lisai-auto о! Пойду закупаться! Спасибо за видео!
Здравствуйте, подскажите, пожалуйста, почему в программе CanHacker данные шины прекрасно принимаются (данные бегают), но отправить код данных внизу в окошке Transmit не получается???данные вводятся правильно, выбираю Periodic, потом нажимаю Single Shot но ничего не происходит
Так отправленные данные и не отображаются
Только рядом со строчкой есть счетчик сколько сообщений отправлено
@@lisai-auto Спасибо большое, разобралась. Если не сложно, подскажите еще одну вещь: сообщения должны отправляться по нажатию кнопки, а когда отпускаешь сообщения не должны передаваться. Пишу на СТМ. подключила 4 EXTI, 4 EXTI Handler получилось. ИТОГ: после 2 нажатий, начинает ошибаться, глючить...Как так? Сбросы всяких флагов уже в обработчике ведь!!!!Всю голову сломала, уже 3 месяца ничего не получается, Debug пользоваться не умею...Вообще HAL создает 4 обработчика, а Callbackov тоже 4 должно быть? хоть маленькую подсказку дайте если знаете! Спасибо заранее что нашли время прочитать
Уважаемый автор! Возможно ли использовать сей девайс в качестве эмулятора сан шины для запуска сидушек от BMW E65?
да возможно
ардуина чикает шину. палит что включили зажигание и завели мотор. далее смотрит температуру на улице и если там холодно (ниже 10гр) то включает подогрев руля и сидения
реально такое сделать?
На ардуино можно но если шина не сильно нагруженная и она будет справляться .
Лучше на stm или nxp
Подскажите какие контроллеры можно применить, что бы успевало работать на высоких скоростях? Может есть опыт с ESP8266? Спасибо за подробные разъяснения.
STM32 или NXP лучший вариант
8266 тоже теряет пакеты так как на работает по SPI
ESP32 можете юзануть там есть кан
Ардуино с применением фильтра на самой MPC и с выборкой данных тоже не плохо работает на высоких скоростях
Ну естественно есть сложности с настройкой ну и временем запуска контроллера
Так получается узкое место это SPI, а не контроллер?
в случае с нано и то и то
Скажите, если мне нужно будет отправить несколько сообщений, то я просто пишу с новой строки другой id и байты?
Да , там если посмотреть файл mcp2515.h в нем все возможности и команды библиотеки написаны .
А все вычислительные операции и функции на С
Приветствую Геннадий! Время через которое отправляется сообщение регулируется параметром delay, как отрегулировать время отправки между пакетами, если в скетче прописано несколько пакетов? Мне нужны паузы между отправкой каждого ID.
Delay это задержка выполнения всей программы , то есть всего скетча .
Рассмотрите такие варианты как Millis , Tim . Да и вообще для более нормальной работы с каном рассмотрите arm процессоры.
@@lisai-auto Решил свою задачу проставив функцию delay с нужным мне временем после каждого сообщения. Просто нужен был девайс для посылки нескольких пакетов в кан, ардуино с этим справилась. Для более серьёзных задач я использую stm32.
ясно отлично
А можно ли присваивать CAN сообщениям какое-то имя, чтобы его идентифицировать при приеме? Как передаваемые данные перевести в понятное исчисление? То есть как, например, передать температуру воздуха?
На программном уровне можно , в самом кан в е данные в hex
Температуру , ну взять и передать в hex формате
Добрый день! Можно ли с помощью этого скетча отправлять 4 пакета данных с разным периодом одновременно, и если да, то как это правильно оформить в скетче?
Можно
Пока времени нет , чуть позже что-то отснимем
Здравствуйте, можно таким образом отправить данные о скорости авто, за ранее спасибо!
да можно
в принципе намотки коновые так и делают :)
May i know arduino canbus sketch ?
Когда в блоке сертификации ключей имеется счётчик на каждый родной ключ, при открытии крутится именно только тот который привязан именно к этому ключу.
Или нет?
Нет
Добрый день! Как скачать скетч? Гугл Диск просит доступ для скачивания
В комментариях посмотрите. Там продублировано
drive.google.com/file/d/1WWTcChfFOPA0ZMagIOXneIqWmWvBY_A_/view?usp=sharing
Привет.подскажите а как отправлять ID 29бит как можно
Через Кан хакер поставить галочку на отправке 29 битный I’d
@@lisai-autoнет не прокатывает но он ещё и не принимает 29 битные .. 11четко .видимо скетч нужно что-то дописать .со скетчем для отправки я разобрался как отсылать 29бит пакет а с кан хакером не могу нет приема нет передачи
Можно так спидометр мотать?
Можно
А скетч этот же?
этот же но с вашими данными
точнее под ваш авто
Жаль бомбер не сработает(((
Бомбер немного другими методами
Но в принципе и с отправкой можно написать и изменением байт +1
++++++
о давидыч
Добрый день!
Скачал папку arduino-mcp2515-canSend_gennadilisai и полностью переместил ее в library.
появилось: IDE -> Examples -> autowp-mcp2515 -> CAN-write
Открывается такой пример:
#include
#include
struct can_frame canMsg1;
struct can_frame canMsg2;
MCP2515 mcp2515(10);
void setup() {
canMsg1.can_id = 0x0F6;
canMsg1.can_dlc = 8;
canMsg1.data[0] = 0x8E;
canMsg1.data[1] = 0x87;
canMsg1.data[2] = 0x32;
canMsg1.data[3] = 0xFA;
canMsg1.data[4] = 0x26;
canMsg1.data[5] = 0x8E;
canMsg1.data[6] = 0xBE;
canMsg1.data[7] = 0x86;
canMsg2.can_id = 0x036;
canMsg2.can_dlc = 8;
canMsg2.data[0] = 0x0E;
canMsg2.data[1] = 0x00;
canMsg2.data[2] = 0x00;
canMsg2.data[3] = 0x08;
canMsg2.data[4] = 0x01;
canMsg2.data[5] = 0x00;
canMsg2.data[6] = 0x00;
canMsg2.data[7] = 0xA0;
while (!Serial);
Serial.begin(9600);
mcp2515.reset();
mcp2515.setBitrate(CAN_80KBPS);
mcp2515.setNormalMode();
Serial.println("Example: Write to CAN");
}
void loop() {
mcp2515.sendMessage(&canMsg1);
mcp2515.sendMessage(&canMsg2);
Serial.println("Messages sent");
delay(100);
}
поменял на Serial.begin(9600); CAN_80KBPS
В итоге:
avrdude: ser_open(): can't open device "\\.\COM6": �� ������� ����� ��������� ����.
настройте плату и подключение к ней
у вас сама программа не видит плату ардуино
@@lisai-auto Да. Спасибо. Забыл проверку драйверов отключить при загрузке компьютера. Продолжаю изучение. 🤔