Меню

Аналоговый сигнал в can шину

Преобразование аналогового сигнала тахометра с генератора в Can

CANNY forum → Программируемые контроллеры CANNY 7.x (7, 7.2 duo) → Преобразование аналогового сигнала тахометра с генератора в Can

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений 3

1 Тема от Nap13 23-03-2020 22:40:29 (24-03-2020 11:05:55 отредактировано Nap13)

  • Nap13
  • Активный участник
  • Неактивен
  • Зарегистрирован: 28-02-2020
  • Сообщений: 50

Тема: Преобразование аналогового сигнала тахометра с генератора в Can

Контроллер Canny 7.2duo. Приборная панель изначально получает данные из эбу об оборотах двигателя в формате об/мин x4, то есть 1000об/мин = 4000 dec = 0FA0 hex, байт3 байт4
Требуется перевести аналоговый сигнал, снятый с W клеммы генератора в формат сообщения по Can.
Соотношение шкивов коленвала и генератора = 2,92. Мы имеем при 1000об/мин=2920 импульсов генератора.
Добавочный коэффициент — 4000/2920=1,369, округлим до 1,37. Далее при расчетах данных по Сan нам нужно умножать полученное число импульсов с генератора на коэффициент 1,37
и отправлять полученные данные по адресу 280 8 0000 00D3 D400 0000 каждые 20мс.
Максимальное число об/min на шкале тахо 6500, 6500×2.92 = 18980×1.37 = 26002.6 импульсов
За основу взята диаграмма одного подобного проекта: ww.drive2.ru/l/541942135578953914/, сама диаграмма в оригинале yadi.sk/d/kImednLqRRmP2Q, контроллер 5nano.
Я скопировал диаграмму для 7.2Duo, убрав лишние блоки и добавив свои yadi.sk/d/D1gO3WVqrORXrg

Использовав пример№4 отправки сообщений в Can, я получил работающий тахометр приборной панели с фиксированным значением оборотов, заданным значениями байт3 байт4 в диаграмме контроллера.

Далее у меня возникли несколько нерешенных мной вопросов:

1. В диаграмме не могу добавить «Регистр входного значения канала №0» — компонент неактивен, не могу его выбрать. Соответственно не могу присвоить каналу значение «Дискретный положительный вход», как это было сделано в оригинальной диаграмме для 5nano.

2. Как реализовать дополнительный множитель 1,37 для моей конкретной задачи.

3. Как записать полученное значение для передачи по одному байту в 2 регистра. (в оригинале данные передаются в 2х байтах одного регистра)

4. Могу ли я напрямую подключить выход с клеммы W генератора(замеры произвести нет возможности, но предполагаю, что напряжение будет примерно 14,5 вольтам) , не понижая напряжение до 5 Вольт на каналN0.

1000обмин.jpg 753.55 кб, скачивался 36 раз, последний раз 2020-03-23

Taho canny7.2duo.cfd 13.57 кб, скачивался 134 раз, последний раз 2020-03-23

c5nano_impulse2_PROBA1_SPEED_TACHO.cfd 16.73 кб, скачивался 117 раз, последний раз 2020-03-23

Источник

Can шина принцип работы

Что такое CAN-шина

CAN-шина не имеет никакого отношения к автомобильным покрышкам. Дело в том, что в электронике «шиной» называют систему, по которой передаются данные. Это своего рода река с ручейками, если говорить проще. Что касается аббревиатуры, расшифровывающейся как Controller Area Network (сеть контроллеров), то за ней стоит стандарт промышленной сети для объединения в единую сеть различных исполнительных устройств и датчиков.

Принцип работы CAN-шины

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

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

Виды CAN-шин

Существует три основных вида.

Силовые обеспечивают синхронизацию и обмен данными между ЭБУ двигателя и основными агрегатами и системами автомобиля – коробкой передач, зажиганием и другими. «Комфортные» нужны, соответственно, для работы опций комфорта. Например, климатической системы, электропривода зеркал и обогрева сидений.

Информационно-командные введены для обмена данными между ЭБУ и такими вспомогательными информационными комплексами как навигационная система.

Как передается информация

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

Читайте также:  Что будет если поставить диски без датчиков давления в шинах

Сигналы рассылаются по витой паре трансивером или приемопередатчиком. Он нужен для целого ряда задач – усиления сигналов, защиты линии в случае повреждения CAN-шины, создания условий помехозащищенности передаваемых импульсов и регулировки скорости их передачи. В автомобильной промышленности применяются передатчики двух типов с говорящими названиями High Speed и Fault Tolerant. Первый обеспечивает передачу данных на высокой скорости, до 1 мегабита в секунду. Второй не столь быстрый и передает в секунду до 120 килобит в секунду, но при этом допускает отклонение от параметров CAN-шины и не столь чувствителен к ее качеству.

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

Общее сопротивление нагрузки зависит от числа подключенных к шине электронных блоков управления и исполнительных механизмов.

Рис. 2. Фрагмент CAN-шины с распределением нагрузки в проводах: CAN High CAN Low

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

Рис. 3. Блок-схема межсетевого интерфейса

Схемы CAN-шины

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

Все сообщения, которые передаются по шине, имеют определенный цифровой код.

Это позволяет производить компьютерную диагностику при помощи опроса блоков по шине.

Диагностическое устройство преобразует цифровые коды и сигнал в абсолютные значения либо коды ошибок.

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

Видео «Диагностика авто с помощью CAN шины»

Разновидности функций шин

Существуют разные типы представленного устройства.

  1. КАН-шина агрегата силового. Это быстрый канал, который передает послания со скоростью 500 кбит/с. Его главная задача заключается в коммуникации блоков управления, например трансмиссия-двигатель.
  2. Система «Комфорт» — более медлительный канал, передающий данные со скоростью 100 кбит/с. Он связывает все устройства системы «Комфорт».
  3. Информационно-командная программа шины также передает сигналы медленно (100 кбит/с). Ее основное предназначение — обеспечить связь между обслуживающими системами, например телефоном и навигацией.

Типы сообщений

Протоколом предусматривается использование при обмене информацией посредством шины CAN четырех типов команд.

  1. Data Frame. Такой тип сообщений (фреймов) передает сигналы с определенным идентификатором.
  2. Error Frame представляет собой сообщение сбоя в процессе обмена. Он предлагает повторить действия сначала.
  3. Overload Frame. Послание появляется в момент необходимости перезапустить работу контроллера.
  4. Request Frame Remout Transmission обозначает запрос данных, где именно находится идентификатор.

II — резистор сопротивления;

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

Функциональность системы

Команда состоит из 3 разделов: имени, значения события, времени наблюдения за переменной величиной.

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

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

Разрешение конфликтов на шине

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

Читайте также:  Шины 185 60 r15 для каких машин

Существует градация сообщений по приоритетной и рецессивной градации. Информация, имеющая самое низкое числительное выражение поля арбитража, выиграет при наступлении конфликтного положения на шине. Остальные передатчики постараются отослать свои фреймы позже, если ничего не изменится.

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

Физические составляющие

Устройство шины состоит, помимо кабеля, из нескольких элементов.

Микросхемы приемопередатчика часто встречаются от компании Philips, а также Siliconix, Bosch, Infineon.

Для этого на конец проводников устанавливаются резисторы сопротивления по 120 Ом. Это необходимо, дабы устранить отражения сообщения на конце шины и убедиться, что она получает соответствующие уровни тока.

Сам проводник в зависимости от конструкции может быть экранированным или неэкранированным. Концевое сопротивление может отходить от классического и находиться в диапазоне от 108 до 132 Ом.

Скорость передачи данных CAN-шины

Все составляющие сети CAN должны иметь единую скорость передачи информации. Однако данный стандарт не задает одного определенного параметра, ограничиваясь лишь максимальным пределом – 1Мбит/с. Изменения объема передаваемого кадра должно успеть распространиться по всей длине сети, что ставит в обратную зависимость скорости от протяженности – чем длиннее провод, тем ниже скорость. Для передачи 1Мбита за 1секунду нужная длина должна составлять не менее 40 метров. Добавьте к этому объективные факторы, снижающие скорость – защита от помех и разветвленная сеть, где происходят множественные отражения сигнала.

В угоду ускорения процесса разработчики уменьшают протяженность проводов, одновременно увеличивая число цепей с возможностью подключения большего количества приборов. Например, общая длина шины, составляющая 10 метров, способна пропускать через себя кадры, со скоростью 2 Мбит/c, с 64 подключенными приборами. Если автомобиль снабжен большим числом электрооборудования, то добавляется одна, две цепи или более.

Источник

Как я добавил функции автомобилю по шине CAN, не умея программировать

Цель этой статьи — рассказать о моём опыте модификации автомобиля и экспериментах с шиной CAN.

С чего всё началось

Сначала я решил добавить фронтальную камеру в свой 2017 Chevrolet Cruze. Поскольку у автомобиля уже есть заводская камера заднего вида, то на высоком уровне нужно было выяснить две вещи:

  1. Способ передачи видео с фронтальной камеры, которую я добавлю.
  2. Способ отображения на экране картинки с камеры заднего вида в любое время.

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

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

Шина CAN

У Chevrolet две разные шины данных. Первая — это стандартная CAN, быстрая (500 Кбит/с) и надёжная, она используется для критических данных. Вторая — то, что GM называет LAN (GMLAN), более старая и медленная шина (33,3 Кбит/с), которая используется для данных, не связанных с безопасностью.

Мне нужен был способ прослушивать трафик по CAN, то есть снифер. Для этой цели невероятно полезно устройство PCAN.


Peak Can

Peak Can (PCAN) представляет собой USB-устройство, способное перехватывать и передавать сообщения. Благодаря программному обеспечению Pcan View можно начинать работу без особого обучения.

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

Самая простая точка доступа — разъём OBD2. Я подключил Peak Can к шине GMLAN, запустил программное обеспечение — и сразу началось прослушивание трафика.

Интеграция

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

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

Читайте также:  Can шина lexus rx300

Передача сообщения через PCAN

Впрочем, я не планировал постоянно ездить с ноутбуком. Нужен был способ автоматизировать эти функции — и здесь пригодилась Arduino. Возможность напрямую получать питание 12V в сочетании с большим количеством ресурсов и поддержки в интернете сделала этот выбор очевидным.

В дополнение к Arduino для завершения проекта мне понадобилось два компонента: модуль CAN и модуль реле. По сути, Arduino — это мозг, запускающий и выполняющий код. Модуль CAN предоставляет возможность взаимодействовать с шиной данных, а реле обеспечивает питание фронтальной камеры, а также действует как видеомикшер между ней и камерой заднего вида.


Модуль mcp2515 (сверху), Arduino Uno (посередине), модуль реле (снизу)

После добавления и настройки соответствующих библиотек Arduino установил связь с автомобилем.

Прослушивание трафика через Arduino

Поскольку я уже знал, что могу запустить дисплей, то начал думать о том, КАК это сделать. Первоначальная идея состояла в том, чтобы установить на панели специальную кнопку мгновенного вызова, но я начал думать: «А что ЕЩЁ в сети можно использовать в качестве триггера?»

В ходе экспериментов я обнаружил, что по шине GMLAN также передаются сообщения с ID, соответствующим кнопке «Отмена круиз-контроля». Это было идеально, потому что круиз-контроль включается на скоростях более 65 км/ч, когда я буду использовать переднюю камеру, а на скоростях ниже 15 км/ч будет включаться камера заднего вида, чтобы помочь с парковкой, так что они никогда не будут перекрываться. После написания некоторого кода я смог заставить Arduino распознать, когда нажимается кнопка отмены круиз-контроля.

Распознавание однократного нажатия кнопки

Однако я не хотел, чтобы камера активировалась каждый раз, когда я отменяю круиз-контроль, поэтому я решил, что лучший подход — превратить её (по сути) в многофункциональную кнопку. Камера активируется только в том случае, если кнопка «дважды нажата».

После долгого уикенда изучения функции millis и отладки кода я успешно запрограммировал распознавание двойного нажатия.

Распознавание двойного нажатия

И когда я привязал его к своим командам для управления дисплеем, у меня собралась довольно крутая небольшая утилита.

Функциональность

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

На блок-схеме я изобразил, как я это представляю.

Я быстро понял, что для такой системы нужно в любой момент времени знать состояние трёх переменных:

  • Модуль передней камеры: водитель включил или выключил его?
  • Дисплей камеры: изображение на дисплее включено или выключено?
  • Задний ход: автомобиль в реверсе или нет?

Не имея опыта программирования, это было очень сложно сделать, и я всё свободное время думал о разных подходах.

В конце концов, я добился успеха!

Теперь я смог реализовать операционную логику, которая контролирует реле.

На протяжении всего процесса я всё больше узнавал об Arduino и заметил, что версия Nano способна делать всё, что нужно, при этом у неё меньший размер и более низкая цена. Она идеально подходит для постоянной установки в автомобиль. Я разработал модель и распечатал на 3D-принтере корпус для размещения компонентов в качестве компактного блока для установки.


3D корпус

Всё вместе

Наконец настал день, когда я увидел результаты. Хотя нужно ещё повозиться с таймингом, но было приятно видеть, что модуль корректно работает.

Включение/выключение режима парковки, включение/выключение фронтальной камеры, автоматическое переключение на камеру заднего вида и автоматическое переключение обратно

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

Источник

Adblock
detector