Универсальный модуль can шины

Универсальный модуль can шины

Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.

Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?

Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

Шина CAN

Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. — всё это работает и управляется по этой шине.

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

Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать

Экспресс диагностика CAN шины на автомобиле. №21

Контроллеры CANNY

Это целое семейство специализированных контроллеров, имеющих встроенную «родную» поддержку работы с шиной CAN. Это касается как «железной» части, так и поддержки на уровне «софта».

Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля — всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.

Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.

Видео:Универсальная плата CAN шиныСкачать

Универсальная плата CAN шины

Визуальное программирование

Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.

Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.

Мне, как минимум, было «прикольно» составлять программы таким образом и через некоторое время мне это стало даже нравиться. Возможно, что если продолжить этим заниматься, то через некоторое время уже написание кода покажется неудобным.

CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции — достаточно распаковать файл с архивом — и вы можете начинать работу.

Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать

Can Bus - что это такое ? Зачем нужен ? Как настроить ?

Подключение

Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.

Видео:Универсальный CAN адаптер MFD207CAN-UN (часть 2)Скачать

Универсальный CAN адаптер MFD207CAN-UN (часть 2)

Практические примеры

Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.

В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.

Читайте также: Шины для цветного дыма

Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи — сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.

Итак, конфигурируем пин четвертого канала как выход

Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение — 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно — программа готова, осталось только залить её в контроллер.

Видео:Трансиверы CAN шины TJA1050, MCP2551 как альтернатива RS485Скачать

Трансиверы CAN шины TJA1050, MCP2551 как альтернатива RS485

Режим симуляции

Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.

Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Заливка в контроллер

Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx.

После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто — в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.

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

Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.

Аналоговые входы

Для того, чтобы лучше понять принцип программирования контроллеров CANNY в среде разработке CannyLab, давайте ещё разберём пример работы с аналоговым входом в этой системе.

Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.

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

Включаем АЦП на 10-м канале.

Далее пользуемся двумя логическими блоками, которые выдают 1 на выход, если напряжение находится в заданном диапазоне. Полный диапазон от 0 до 4095.

Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.

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

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

Видео:CanHacker из 2CAN модуля своими руками КанХакер подробно в деталяхСкачать

CanHacker из 2CAN модуля своими руками КанХакер подробно в деталях

Заключение по вводной статье цикла

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

Если вам нравится визуальное программирование в стиле CannyLab, то контроллеры CANNY могут стать для вас интересной альтернативой Arduino или работать в связке с контроллерами Arduino. Об этом мы поговорим во второй статье цикла, в которой я расскажу вам об интеграции контроллеров CANNY с системой Arduino Mega Server.

Напомню, что AMS теперь работает не только на платах Arduino, но и на беспроводных Wi-Fi модулях ESP8266 и именно о такой связке пойдёт речь в следующий раз.

Читайте также: Давление в шинах nissan note e11

И как обычно, оставайтесь с нами, будет интересно!

Видео:CAN Эмулятор скорости из модуля CAN StarLine Stm32f103c8t6 Подмотчик скорости по кан шине (без схем)Скачать

CAN Эмулятор скорости из модуля CAN StarLine Stm32f103c8t6 Подмотчик скорости по кан шине (без схем)

Для чего нужен КАН-модуль в автосигнализации

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

Рассмотрим пример – подключение датчиков открытия дверей. На старых автомобилях концевики дверей сводились в одну точку, замыкая лампу подсветки салона на «массу» или подавая на нее «плюс» — соответственно, достаточно было подсоединить к ним «минусовой» или «плюсовой» вход концевиков дверей от сигнализации. На более сложных автомобилях концевики уже идут с отдельными проводами до контроллера бортовых цепей или бортового компьютера, приходится собирать диодную развязку, врезая часть диодов в штатную проводку, чтобы штатная электроника не «сошла с ума».

Теперь добавим к системе автозапуск – после остановки двигателя нам уже придется заставлять автомобиль правильно «засыпать», иначе у нас, например, останется включенной магнитола. Значит, нам потребуется в большинстве случаев имитировать открытие и закрытие водительской двери – именно к этому событию в штатной проводке привязывается «засыпание». Для этого мы используем программируемый дополнительный канал, не забывая, что подключать его придется в правильное место относительно развязывающих диодов, иначе сигнализация после глушения двигателя начнет включать тревогу.

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

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

Видео:CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТСкачать

CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТ

Принцип действия КАН-модуля

Кан-модуль для сигнализации фактически является интерфейсным блоком, который позволяет прошивке охранной системы управлять цепями автомобиля типизированным образом. Например, при постановке автомобиля на охрану центральный блок подает на CAN-модуль соответствующую команду, а дальнейшие действия уже будут определяться прошивкой модуля. Однократно выполнив программирование КАН-модуля в процессе установки, о нем в дальнейшем можно просто забыть – сервисные функции сигнализации можно будет настраивать так же, как если бы его и не было.

При этом само по себе программирование не низкоуровневое, то есть установщику не обязательно знать, какие конкретно команды нужно подавать на шину для определенного действия: достаточно просто выбрать номер прошивки, соответствующий модели и комплектации автомобиля. Узнать номер можно на сайте производителя охранной системы. Например, прошивка КАН-модуля «Старлайн» для Honda CR-V 2017 года с кнопкой «Старт-Стоп» имеет номер 2444.

Видео:CAN-Bus адаптер для VW Audi Seat Skoda Peugeot Citroen Mercedes BMW Ford - магнитола будет работать!Скачать

CAN-Bus адаптер для VW Audi Seat Skoda Peugeot Citroen Mercedes BMW Ford - магнитола будет работать!

Нужен ли CAN-модуль для моей машины?

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

КАН-модуль «Старлайн» дает ряд функций, которые при аналоговом подключении недоступны:

  1. Функция Slave – безопасное снятие автосигнализации с охраны штатными кнопками на радиоключе, брелок переходит в режим радиометки, подтверждающей право на запуск двигателя.
  2. Кодовый иммобилайзер – можно запретить запуск двигателя, пока не будет нажата заранее заданная последовательность штатных кнопок автомобиля.
  3. Бесключевой обход штатного иммобилайзера – больше не требуется вынимать чип из одного штатного ключа, чтобы обеспечить работу автозапуска, через CAN-шину система сможет самостоятельно имитировать присутствие «правильного» ключа в автомобиле.

Читайте также: Шины delinte winter wd52

Видео:Что такое кан модуль.

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

Даже на ряде бензиновых автомобилей корректно считываемый сигнализацией тахометрический сигнал получить трудно. Например, на холостом ходу у Citroen C4 «Старлайн» не распознает сигнал с форсунок, если не собрать самодельный сумматор, и будет глушить мотор после того, как он сбросит обороты. На дизелях же возможностей тахометрического входа еще меньше. В то же время подключение CAN-модуля даст сигнализации возможность однозначно определить, работает двигатель или нет, вовремя отключая стартер и не отключая зажигание при ошибках считывания оборотов по физическому сигналу.

Видео:Arduino CAN Monitor (простейший монитор шины CAN)Скачать

Arduino CAN Monitor (простейший монитор шины CAN)

Настройка CAN-модуля

Рассмотрим процесс программирования модуля CAN-шины на примере популярной StarLine A93. Сам модуль устанавливается непосредственно на плату центрального блока, где предусмотрены специальные гнезда. На плате модуля есть USB-разъем, который в дальнейшем позволит обновлять прошивку.

Универсальный модуль can шины

Чтобы войти в режим программирования модуля, временно отключите от сигнализации разъемы питания и CAN-шины. Зажав кнопку Valet, возвращаем на место разъем питания и продолжаем удерживать кнопку, пока не отзвучат пять сигналов сирены.

Система подаст еще 4 сигнала, когда кнопка будет отпущена. Теперь перейдите в соответствующее меню настроек CAN-модуля однократным нажатием кнопки Valet. Затем вводим четырехзначный номер прошивки, быстро нажимая кнопку число раз, соответствующее очередной цифре номера. Например, для кода 1312 нужно нажать кнопку 1 раз, дождаться одиночного сигнала сирены, нажать ее три раза, после трехкратного сигнала нажать дважды, прослушать двойной «кряк» сирены, нажать кнопку еще два раза. После двойного сигнала с небольшой паузой система подаст еще два оповещения, если номер введен правильно, или четыре, если такой номер прошивки не найден.

Далее настраиваются функции модуля, для чего предусмотрено несколько уровней меню:

  1. Статусные функции: двукратное нажатие Valet
  2. Управляющие функции: трехкратное нажатие
  3. Дополнительные функции: четыре нажатия

Можно полностью сбросить CAN-модуль на заводские настройки пятикратным нажатием Valet – если Вы запутались в настройке, и проще начать ее «с нуля»

Меню статусных функций позволяет задать, какие именно информационные сигналы будут считываться с CAN-шины. Например, если Вы подсоединили аналоговый контроль концевиков дверей, считывание информации концевиков с CAN-шины отключите, иначе аналоговый вход не будет работать. Аналогично в меню управляющих функций можно определить, будет ли CAN-модуль управлять «аварийкой», закрытием и открытием центрального замка (причем закрытие и открытие настраиваются отдельно), замком багажника, автозапуском и так далее. В меню дополнительных функций настраивается функция Slave.

Как определить, какие функции нужно реализовать по аналогу, а какие доступны через CAN-шину? Достаточно выбрать на портале can.starline.ru модель автомобиля и тип модуля (2CAN, CAN+LIN и так далее), чтобы узнать номер прошивки, скачать последнюю версию и увидеть перечень функций, доступных в этой прошивке через CAN.

На Chevrolet Cruze до 2015 года с замком зажигания актуальная на момент написания статьи прошивка 1765 потребует включение управление аварийной сигнализацией «по аналогу», а вот управление штатным центральным замком уже можно смело настраивать по CAN-шине, не подключая дополнительные провода. Блокировку запуска придется подключать внешнюю, потому что заглушить мотор через диагностическую шину в этой прошивке тоже нельзя.

Ещё кое-что полезное для Вас:

Универсальный модуль can шины

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

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле


    🎬 Видео

    Магия CAN-шиныСкачать

    Магия CAN-шины

    Кан шина, что это? Поймет школьник! принцип работыСкачать

    Кан шина, что это? Поймет школьник! принцип работы

    Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать

    Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED  I2C, TJA 1020

    поиск нерабочей can шины, часть дваСкачать

    поиск нерабочей can шины, часть два

    CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)Скачать

    CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)

    STM32 CAN шина. Часть 1. Настройка и странности HALСкачать

    STM32 CAN шина. Часть 1. Настройка и странности HAL

    лекция 403 CAN шина- введениеСкачать

    лекция 403  CAN шина- введение
Поделиться или сохранить к себе:
Технарь знаток