Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.
Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?
Видео:Как проверить CAN шину Используем симулятор ElectudeСкачать
Шина CAN
Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. — всё это работает и управляется по этой шине.
Физически, шина CAN представляет собой два перевитых провода и очень проста в монтаже и подключении. Несмотря на свою простоту, она, благодаря своей дифференциальной природе, хорошо защищена от различных наводок и помех. Высокая надежность и большая допустимая длина сети, до 1000 метров, помогла CAN завоевать широкую популярность у производителей различного, не только автомобильного оборудования.
Видео:CAN шина👏 Как это работаетСкачать
Контроллеры CANNY
Это целое семейство специализированных контроллеров, имеющих встроенную «родную» поддержку работы с шиной CAN. Это касается как «железной» части, так и поддержки на уровне «софта».
Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля — всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.
Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.
Видео:Подробно про CAN шинуСкачать
Визуальное программирование
Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.
Хорошо это или плохо? На мой взгляд, это дело привычки. Мне, как человеку привыкшему к «традиционному» программированию, было непривычно манипулировать блоками, вместо написания строк кода. С другой стороны, существует множество приверженцев именно такого подхода к составлению алгоритмов и считается, что для инженеров и «не программистов» это наиболее простой и доступный метод программирования микроконтроллеров.
Мне, как минимум, было «прикольно» составлять программы таким образом и через некоторое время мне это стало даже нравиться. Возможно, что если продолжить этим заниматься, то через некоторое время уже написание кода покажется неудобным.
CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции — достаточно распаковать файл с архивом — и вы можете начинать работу.
Видео:поиск нерабочей can шины, часть дваСкачать
Подключение
Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.
Видео:лекция 403 CAN шина- введениеСкачать
Практические примеры
Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.
Читайте также: Правила наложения шины при вывихе
В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.
Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи — сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.
Итак, конфигурируем пин четвертого канала как выход
Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение — 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно — программа готова, осталось только залить её в контроллер.
Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Режим симуляции
Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.
Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Заливка в контроллер
Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx.
После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто — в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.
Далее нужно отключить контроллер от USB порта компьютера, снять перемычку на плате и можно включать запрограммированный контроллер, который после включения будет работать по вашей программе.
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Аналоговые входы
Для того, чтобы лучше понять принцип программирования контроллеров CANNY в среде разработке CannyLab, давайте ещё разберём пример работы с аналоговым входом в этой системе.
Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.
Как и в предыдущем примере, конфигурируем 4-й пин как выход для того, чтобы иметь возможность управлять работой светодиода.
Включаем АЦП на 10-м канале.
Далее пользуемся двумя логическими блоками, которые выдают 1 на выход, если напряжение находится в заданном диапазоне. Полный диапазон от 0 до 4095.
Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.
Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.
Эти простые примеры составления программ даны для того, чтобы вы могли понять принцип визуального программирования микроконтроллеров CANNY. В дальнейшей работе вам поможет отличная справочная документация и поддержка разработчиков на сайте и форуме системы.
Видео:Компьютерная диагностика авто. K-линия и CAN шинаСкачать
Заключение по вводной статье цикла
Подключив контроллер CANNY к своему автомобилю вы сможете реализовать множество интересных и уникальных идей, например, нестандартную сигнализацию, которую не так то легко будет вскрыть (в силу её нестандартности) или добавите новые функции, о которых мечтали, но не надеялись, что это возможно реализовать на практике.
Если вам нравится визуальное программирование в стиле CannyLab, то контроллеры CANNY могут стать для вас интересной альтернативой Arduino или работать в связке с контроллерами Arduino. Об этом мы поговорим во второй статье цикла, в которой я расскажу вам об интеграции контроллеров CANNY с системой Arduino Mega Server.
Читайте также: Шины yokohama 195 75 r16c
Напомню, что AMS теперь работает не только на платах Arduino, но и на беспроводных Wi-Fi модулях ESP8266 и именно о такой связке пойдёт речь в следующий раз.
И как обычно, оставайтесь с нами, будет интересно!
Видео:Volvo XC60 2.0 T5 2015 - Проблемы по CAN шинеСкачать
Как разбудить кан шину
CAN шина, что же это такое? Много информации читал, но нихрена не понимал. А тут вот нашлось простое и доходчивое объяснение, которое поймёт и ребёнок. А может и не поймет…
В CAN сети все ЭБУ подключены к шине параллельно. Обмен данными производится короткими пакетами — сообщениями.
CAN сообщение
Каждое сообщение содержит идентификатор, который в сети является уникальным (например, «Температура двигателя 100 град» или «Скорость автомобиля 50 км/ч»). При передаче, все ЭБУ в сети получают сообщение и каждый из них проверяет идентификатор. Если сообщение имеет отношение к данному ЭБУ, то оно обрабатывается, в противном случае – игнорируется. Идентификатор может быть длиной 11 бит или 29 бит.
Арбитраж
В шине CAN биты 0 и 1 имеют ещё одно название: рецессивный уровень и доминантный уровень, соответственно. Если двумя разными передатчиками будет одновремнно передан рецессивный и доминантный уровни, то доминантный уровень подавит рецессивный. Этим механизмом подавления обеспечивается арбитраж на шине. Каждый передатчик одновремнено считывает то, что он предаёт в шину. Передатчик с более низким приоритетом вынужден отпустить шину, так как чужой доминантный уровень с более высоким приоритетом исказил его предачу. В то же время, пакет с более высоким уровнем остался неизменным. Передатчик, потерявший арбитраж, может повторить попытку через некоторе время.
Физический уровень
В автомобиле может применяться несколько типов шин CAN.
Высокоскоростной CAN (High speed) применяется в основном в сети управления двигателем и управления шасси. Там, где необходима высокая скорость реакции. Скорость обмена по этой шине 500 или 250 кбит/сек.
Схема подключения ЭБУ к высокоскоростной шине CAN
Низкоскоростной CAN (Low speed) применяется в сети управления кузова. Скорость обмена по этой шине, как правило, равняется 125 кбит/сек.
Схема подключения ЭБУ к низкоскоростной шине CAN
Однопроводный CAN (1-wire) Это удешевлённый варинат Low speed CAN, применяется в основном концерном GM. Используется для коммуникации между ЭБУ кузова машины. Работает на скорости 33,3 кбит/сек.
Схема подключения ЭБУ к однопроводной шине CAN
Надёжность
Двухпроводная шина сохраняет свою работоспособность при обрыве или замыкании одного из проводов (для двухпроводной шины).
Фазы работы
Шина CAN используется в автомобилях достаточно давно. Изначально шина CAN использовалась в простых конфигурациях. Например, для надёжной и быстрой связи между ЭБУ мотора и ЭБУ автоматической коробки передач. В этой конфигурации шина использовалась только для передачи данных. В ЭБУ заводилась линия питания и линия от замка зажигания, диагностика производилась по отдельным К-линиям, идущим из каждого ЭБУ.
В более современных автомобилях, по шине CAN передаётся не только управляющая, но и диагностическая информация. Помимо этого, шина CAN стала управлять системой питания ЭБУ. В этой конфигурации все ЭБУ подключены к общему питанию и шине CAN. Замок зажигания является электронным блоком управления и информация о включении зажигания передаётся от него по CAN шине.
Можно выделить четыре основные фазы работы шины:
Спящий режим
В этом режиме все ЭБУ, кроме ЭБУ замка, находятся в выключенном состоянии. На драйвер CAN подается питание. Драйвер так же находится в спящем состоянии. При этом, его энергопотребление составляет около 0,3 мА.
Пробуждение
Когда вставляется ключ зажигания или открывается дверь, замок выдаёт доминантное состояние в шину CAN. Это приводит к пробуждению CAN драйверов в спящих ЭБУ. Драйверы при обнаружении активности на шине включают стабилизаторы питания в своих ЭБУ.
Активный режим
В активном режиме ЭБУ постоянно обмениваются информацией. Энергопотребление каждого предатчика при доминантных уровнях может достигать 80 мА.
Засыпание
В момент выключения зажигания, по шине CAN выдаётся команда на выключение, после чего каждый ЭБУ сам себя обесточивает и преходит в спящий режим.
Примечание:
Для однопроводной шины CAN сигнал пробуждения имеет уровень 12 В, обычный обмен 0-4 В.
Читайте также: Чертеж ручного насоса для накачки шин
Немного отступлю от первоисточника.
Самый главный плюс, это очень высокая помехозащищённость сигнала. В чём прикол? Одновременно идут два дублирующих сигнала, только один высокий, второй низкий. Ловят они помеху. Помеха воздействует одинаково на оба сигнала. А на выходе у нас одинаковый уровень. Два уровня сигнала компенсируют помеху. Наглядно это выглядит вот так:
Вот такие пироги. Наткнулся тут : quantexlab
Видео:Как управлять автомобилем через CAN-шину?Скачать
CAN-шина впадает в спячку.
Все привет, устанавливал сигналку, вроде бы все ок, но после постановку на охрану через несколько минут засыпает CAN шина, соотвественно сигнался снимается с охраны, но не отпирает двери. Перепробовал все варианты, никак не допру, куда надо тыкать провод что бы пробуждать шину? Модель CAN от TEC.
Если CAN не будет «засыпать» , то резко возростает энергопортебление и будет относительнго быстро разряжаться батарея.
Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Re: CAN-шина впадает в спячку.
Все привет, устанавливал сигналку, вроде бы все ок, но после постановку на охрану через несколько минут засыпает CAN шина, соотвественно сигнался снимается с охраны, но не отпирает двери. Перепробовал все варианты, никак не допру, куда надо тыкать провод что бы пробуждать шину? Модель CAN от TEC.
самый лучший кан , не то что от мега-ф.
попробуй один из выходов сигналки подать на включение габаритов . как правило помогает.
Форум Авто Сигнализаций > Автосигнализации, иммобилайзеры, механическая защита > Тематические разделы продукции основных вендоров > Pandora, Pandect
Меню пользователя byasha |
Посмотреть профиль |
Найти ещё сообщения от byasha |
Меню пользователя Старик |
Посмотреть профиль |
Найти ещё сообщения от Старик |
Меню пользователя byasha |
Посмотреть профиль |
Найти ещё сообщения от byasha |
Приветствую. Действительно, в С2 было несколько одинаковых проводов. Переподключил на нужный, всё заработало. Сейчас при открытии с брелка пандоры даже включается плафоны освещения салона.
Но, после засыпания все равно замки открываются только после второго нажатия на открыть. Первое нажатие снимает с сигналки, второе открывает замки. Где косяк не пойму?
Второй момент. При постановке на охрану поворотники мигают два раза а сирена пикает один раз, при снятии поворотники два раза, сирена два раза. Почему при постановке на охрану поворотники мигают лишний один раз?
Меню пользователя byasha |
Посмотреть профиль |
Найти ещё сообщения от byasha |
byasha, у меня тоже фф3 тренд 2012 весна, зацеплено 2 канала на кнопку, статус ц.з. разрешен- никаких проблем нет с отпиранием/заперанием
По поводу аварийки — только на более свежих пандорах настратвается интервал, что бы корректно отмаргивался авто, пока пандора 3210 «нажимает» на кнопку, аварийка успевает дважды моргнуть
Меню пользователя SerjQwerty |
Посмотреть профиль |
Найти ещё сообщения от SerjQwerty |
Меню пользователя Старик |
Посмотреть профиль |
Найти ещё сообщения от Старик |
У меня ФФ3 июль 2013, видимо за год так намудрили с электроникой, что 10 минут и всё засыпает напрочь.
На данным момент решил проблему так: в настойках двухступенчатого запирания дверей разрешил I-9.15 «Двойной импульс для отпирания всех дверей» (канал, назначаемый для двухступенчатого отпирания дверей не назначал!, странно, почему двойной импульс заработал).
Сейчас при нажатии кнопки брелка пандоры сначала снимается с охраны, пикает и мигает, а только потом открываются замки дверей, то есть с некоторой задержкой.
На сколько критична такая работа ? Можно так и оставить?
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
- Правообладателям
- Политика конфиденциальности
📸 Видео
Сканер не подключается: поиск неисправности CAN шины (видео 57)Скачать
Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать
STM32 CAN шина. Часть 1. Настройка и странности HALСкачать
CAN-Hacker Как искать пакеты в CAN шине на примере Toyota Prius-C AquaСкачать
Проходим 3 уровень simulator electude Проверяем CAN шинуСкачать
MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Вебинар: Как найти любые данные из CAN-шины любого автомобиля?Скачать
#10. Как отправлять сообщения и команды в CAN-шину для управления автомобилем?Скачать