Перейти к содержанию
    

Подключение CanOpen датчика давления к микроконтроллеру

Пытаемся подключить CanOpen датчик давления CMP8270 фирмы Trafag к микроконтроллеру 1986ВЕ1Т.

К сожалению - это первый:

1. наш опыт общения с контроллером CAN.

2. наш опыт общения с протоколом CanOpen.

3. наш первое и единственное устройство.

 

Пока результаты скромные, если не сказать нулевые.

Мы научились отправлять заданную посылку с заданной частотой. (20 кв/с)

Пытаемся обратиться к датчику по протоколу службы LSS - COB-ID 0x7E5

данные - 0x04 0x01 0x0 0x0 0x0 0x0 0x0 0x0

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

датчик молчит как партизан.

 

Дополнительная беда, что датчик сперва установили в систему (надо было хоть как то сдать) и только потом отдали нам на отработку. Так что есть и небольшие сомнения в его исправности.

В связи с вышеизложенным следующие вопросы.

 

1. При подаче питания на датчик в диапазоне от 8 до 19В потребление от 10 до 20 мА.

Выходы CAN_L CAN_H устанавливаются на уровне 1В при 8В питания и при добавлении до 19В плавно поднимаются до 2В.

- Нормальное ли это поведение.

2. Должно ли устройство CanOpen выдавать AСK подтверждение при обнаружении посылки.

3. Насколько важно согласование шины при полуметровой длинне и скорости 20 кв/с.

4. Насколько точно должна соблюдаться скорость 20 кв/с. У меня получается ошибка в 10%.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. Должно ли устройство CanOpen выдавать AСK подтверждение при обнаружении посылки.

да, исключение - если режим прослушки (например для автоопределения скорости обмена)

3. Насколько важно согласование шины при полуметровой длинне и скорости 20 кв/с.
работаем на более высоких скоростях и при такой длинне как минимум 1 резистор (120 Ом) в линии.

Насколько точно должна соблюдаться скорость 20 кв/с. У меня получается ошибка в 10%.

10% очень много (от внутреннего источника тактируетесь?). посмотрите BOSH CAN UG, там есть расчет допустимого отклонения скорости. На 250-500 кбит/сек у меня получалось от 0,7-1,5%

С CANOpen не работал (читал некоторые статьи), вроде как датчик перед установкой должен быть сконфигурирован - типа скорость и адрес.Но это лучше в мануале на датчик посмотреть, могу и ошибаться.

на 1986ВЕ91 проблем с CAN не было (использовался внешний кварц).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было бы неплохо, если бы у вас был хоть какой-то реально работающий USB адаптер для CANopen или на худой конец CANopen Мастер. В общем что, то что гарантированно умеет этот протокол и соблюдает скоростные и битовые параметры. Хотя бы одолжите у кого-нибудь на время.

Например USB/CAN адаптер IXXAT, VEctor или PEAK. Тогда с помощью бесплатного софта вы хотя бы сможете попытаться "поговорить" с датчиком и посмотреть, что он будет отвечать. Уже будет проще. Или ПЛК с CANopen мастером - он будет тоже лучше, чем ничего.

 

Без этого попробуйте добиться того, чтобы датчик начал что-то посылать на шину - по спецификации он должен слать Heartbeаt автоматически. Но при автоопределении скорости может и ничего не слать.

 

1. При подаче питания на датчик в диапазоне от 8 до 19В потребление от 10 до 20 мА.

Выходы CAN_L CAN_H устанавливаются на уровне 1В при 8В питания и при добавлении до 19В плавно поднимаются до 2В.

- Нормальное ли это поведение

Да

2. Должно ли устройство CanOpen выдавать AСK подтверждение при обнаружении посылки.

Да, но вы это вряд-ли увидите.

3. Насколько важно согласование шины при полуметровой длинне и скорости 20 кв/с.

Вам надо просто поставить два 120 Омных резистора между CAN-H и CAN-L

4. Насколько точно должна соблюдаться скорость 20 кв/с. У меня получается ошибка в 10%.

Это очень много - надо намного точнее. А лучше возьмите адаптер сперва.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вернулись к проекту.

Датчик ответил AСKом !!!

Проблема была в неправильно установленной частоте обмена (заплутали в коэффициентах).

Сейчас осваиваем SDO что бы установить нужный нам темп обмена и тип данных передаваемых в PDO .

Спасибо за советы и поддержку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...