Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.
Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?
- Шина CAN
- Контроллеры CANNY
- Визуальное программирование
- Подключение
- Практические примеры
- Режим симуляции
- Заливка в контроллер
- Аналоговые входы
- Заключение по вводной статье цикла
- Для чего нужен КАН-модуль в автосигнализации
- Принцип действия КАН-модуля
- Нужен ли CAN-модуль для моей машины?
- Видео:Что такое кан модуль.
- Настройка CAN-модуля
- 🎬 Видео
Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Шина CAN
Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. — всё это работает и управляется по этой шине.
Физически, шина CAN представляет собой два перевитых провода и очень проста в монтаже и подключении. Несмотря на свою простоту, она, благодаря своей дифференциальной природе, хорошо защищена от различных наводок и помех. Высокая надежность и большая допустимая длина сети, до 1000 метров, помогла CAN завоевать широкую популярность у производителей различного, не только автомобильного оборудования.
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Контроллеры CANNY
Это целое семейство специализированных контроллеров, имеющих встроенную «родную» поддержку работы с шиной CAN. Это касается как «железной» части, так и поддержки на уровне «софта».
Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля — всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.
Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.
Видео:Универсальная плата CAN шиныСкачать
Визуальное программирование
Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.
Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.
Мне, как минимум, было «прикольно» составлять программы таким образом и через некоторое время мне это стало даже нравиться. Возможно, что если продолжить этим заниматься, то через некоторое время уже написание кода покажется неудобным.
CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции — достаточно распаковать файл с архивом — и вы можете начинать работу.
Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать
Подключение
Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.
Видео:Универсальный 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Скачать
Режим симуляции
Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.
Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.
Видео:CAN шина👏 Как это работаетСкачать
Заливка в контроллер
Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx.
После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто — в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.
Далее нужно отключить контроллер от USB порта компьютера, снять перемычку на плате и можно включать запрограммированный контроллер, который после включения будет работать по вашей программе.
Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Аналоговые входы
Для того, чтобы лучше понять принцип программирования контроллеров CANNY в среде разработке CannyLab, давайте ещё разберём пример работы с аналоговым входом в этой системе.
Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.
Как и в предыдущем примере, конфигурируем 4-й пин как выход для того, чтобы иметь возможность управлять работой светодиода.
Включаем АЦП на 10-м канале.
Далее пользуемся двумя логическими блоками, которые выдают 1 на выход, если напряжение находится в заданном диапазоне. Полный диапазон от 0 до 4095.
Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.
Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.
Эти простые примеры составления программ даны для того, чтобы вы могли понять принцип визуального программирования микроконтроллеров CANNY. В дальнейшей работе вам поможет отличная справочная документация и поддержка разработчиков на сайте и форуме системы.
Видео: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-модуль имеет собственную прошивку, что позволяет легко адаптировать автосигнализацию к разным машинам, не затрагивая прошивку самого центрального блока, который остается универсальным для всех моделей машин. Такая сигнализация станет гораздо более гибкой в настройке, сможет лучше адаптироваться к особенностям конкретной модели авто.
Видео:CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТСкачать
Принцип действия КАН-модуля
Кан-модуль для сигнализации фактически является интерфейсным блоком, который позволяет прошивке охранной системы управлять цепями автомобиля типизированным образом. Например, при постановке автомобиля на охрану центральный блок подает на CAN-модуль соответствующую команду, а дальнейшие действия уже будут определяться прошивкой модуля. Однократно выполнив программирование КАН-модуля в процессе установки, о нем в дальнейшем можно просто забыть – сервисные функции сигнализации можно будет настраивать так же, как если бы его и не было.
При этом само по себе программирование не низкоуровневое, то есть установщику не обязательно знать, какие конкретно команды нужно подавать на шину для определенного действия: достаточно просто выбрать номер прошивки, соответствующий модели и комплектации автомобиля. Узнать номер можно на сайте производителя охранной системы. Например, прошивка КАН-модуля «Старлайн» для Honda CR-V 2017 года с кнопкой «Старт-Стоп» имеет номер 2444.
Видео:CAN-Bus адаптер для VW Audi Seat Skoda Peugeot Citroen Mercedes BMW Ford - магнитола будет работать!Скачать
Нужен ли CAN-модуль для моей машины?
Чтобы получить ответ на этот вопрос, проще всего ознакомиться с функциями, которые выбранная сигнализация может обеспечить через CAN-шину. При этом нужно учитывать, что ведущие производители охранных комплексов постоянно обновляют прошивки модулей и их список постоянно расширяется. То есть, если CAN-шина физически присутствует в автомобиле, помимо упрощения установки мы получим еще и больший набор функций по сравнению с аналоговым подключением.
КАН-модуль «Старлайн» дает ряд функций, которые при аналоговом подключении недоступны:
- Функция Slave – безопасное снятие автосигнализации с охраны штатными кнопками на радиоключе, брелок переходит в режим радиометки, подтверждающей право на запуск двигателя.
- Кодовый иммобилайзер – можно запретить запуск двигателя, пока не будет нажата заранее заданная последовательность штатных кнопок автомобиля.
- Бесключевой обход штатного иммобилайзера – больше не требуется вынимать чип из одного штатного ключа, чтобы обеспечить работу автозапуска, через CAN-шину система сможет самостоятельно имитировать присутствие «правильного» ключа в автомобиле.
Читайте также: Шины delinte winter wd52
Видео:Что такое кан модуль.
Уже хотя бы ради бесключевого обхода иммобилайзера установка КАН-модуля становится привлекательным решением, даже если всю систему нетрудно подключить «по аналогу». Для автозапуска CAN-подключение интересно еще и возможностью точного контроля факта работы двигателя. При аналоговом подключении для этого приходится использовать либо специальный вход тахометрического сигнала, либо идти более грубыми путями (по росту напряжения в сети при включении генератора, по изменению напряжения на его выходе контрольной лампы).
Даже на ряде бензиновых автомобилей корректно считываемый сигнализацией тахометрический сигнал получить трудно. Например, на холостом ходу у Citroen C4 «Старлайн» не распознает сигнал с форсунок, если не собрать самодельный сумматор, и будет глушить мотор после того, как он сбросит обороты. На дизелях же возможностей тахометрического входа еще меньше. В то же время подключение CAN-модуля даст сигнализации возможность однозначно определить, работает двигатель или нет, вовремя отключая стартер и не отключая зажигание при ошибках считывания оборотов по физическому сигналу.
Видео:Arduino CAN Monitor (простейший монитор шины CAN)Скачать
Настройка CAN-модуля
Рассмотрим процесс программирования модуля CAN-шины на примере популярной StarLine A93. Сам модуль устанавливается непосредственно на плату центрального блока, где предусмотрены специальные гнезда. На плате модуля есть USB-разъем, который в дальнейшем позволит обновлять прошивку.
Чтобы войти в режим программирования модуля, временно отключите от сигнализации разъемы питания и CAN-шины. Зажав кнопку Valet, возвращаем на место разъем питания и продолжаем удерживать кнопку, пока не отзвучат пять сигналов сирены.
Система подаст еще 4 сигнала, когда кнопка будет отпущена. Теперь перейдите в соответствующее меню настроек CAN-модуля однократным нажатием кнопки Valet. Затем вводим четырехзначный номер прошивки, быстро нажимая кнопку число раз, соответствующее очередной цифре номера. Например, для кода 1312 нужно нажать кнопку 1 раз, дождаться одиночного сигнала сирены, нажать ее три раза, после трехкратного сигнала нажать дважды, прослушать двойной «кряк» сирены, нажать кнопку еще два раза. После двойного сигнала с небольшой паузой система подаст еще два оповещения, если номер введен правильно, или четыре, если такой номер прошивки не найден.
Далее настраиваются функции модуля, для чего предусмотрено несколько уровней меню:
- Статусные функции: двукратное нажатие Valet
- Управляющие функции: трехкратное нажатие
- Дополнительные функции: четыре нажатия
Можно полностью сбросить CAN-модуль на заводские настройки пятикратным нажатием Valet – если Вы запутались в настройке, и проще начать ее «с нуля»
Меню статусных функций позволяет задать, какие именно информационные сигналы будут считываться с CAN-шины. Например, если Вы подсоединили аналоговый контроль концевиков дверей, считывание информации концевиков с CAN-шины отключите, иначе аналоговый вход не будет работать. Аналогично в меню управляющих функций можно определить, будет ли CAN-модуль управлять «аварийкой», закрытием и открытием центрального замка (причем закрытие и открытие настраиваются отдельно), замком багажника, автозапуском и так далее. В меню дополнительных функций настраивается функция Slave.
Как определить, какие функции нужно реализовать по аналогу, а какие доступны через CAN-шину? Достаточно выбрать на портале can.starline.ru модель автомобиля и тип модуля (2CAN, CAN+LIN и так далее), чтобы узнать номер прошивки, скачать последнюю версию и увидеть перечень функций, доступных в этой прошивке через CAN.
На Chevrolet Cruze до 2015 года с замком зажигания актуальная на момент написания статьи прошивка 1765 потребует включение управление аварийной сигнализацией «по аналогу», а вот управление штатным центральным замком уже можно смело настраивать по CAN-шине, не подключая дополнительные провода. Блокировку запуска придется подключать внешнюю, потому что заглушить мотор через диагностическую шину в этой прошивке тоже нельзя.
Ещё кое-что полезное для Вас:
В дальнейшем, когда прошивка обновится, появятся дополнительные функции, можно будет просто активировать их в настройках CAN-модуля, не отключая ранее выведенные в штатную проводку аналоговые каналы.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🎬 Видео
Магия CAN-шиныСкачать
Кан шина, что это? Поймет школьник! принцип работыСкачать
Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать
поиск нерабочей can шины, часть дваСкачать
CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)Скачать
STM32 CAN шина. Часть 1. Настройка и странности HALСкачать
лекция 403 CAN шина- введениеСкачать