laker 0 24 мая, 2020 Опубликовано 24 мая, 2020 (изменено) · Жалоба Добрый день, я являюсь новичком в работе с can, но возникла необходимость связаться с этим протоколом. Описываю задачу: нужно реализовать блок управления бесколлекторным электродвигателем (с датчиками холла) с защитой от перегрузок (скорее всего придётся обойтись его математической моделью). Так вот, основной задачей данного проекта является наблюдение показаний датчиков Холла, и нужно видеть (контролировать) ток на обмотках двигателя, данный список параметров до конца мне не известен, возможно он расширится, но минимум такой. Так вот, как я понимаю, чтобы отслеживать данные параметры в режиме реального времени (даже пусть это математическая модель), мне нужно реализовать стек протоколов CanOpen, речи о сети не идёт, нужно только наладить CanOpen связь между ПК и микроконтроллером stm32f103c8t6. Я поковырялся на различных форумах, сайтах, и нашёл информацию про 2 библиотеки под данное семейство микроконтроллеров - это CanOpenNode и CanFestival. Данные библиотеки реализованы, как я прочитал, с использованием стандартов ds-301, ds-302 и ds-305, а для реализации устройств CANopen для приводов нужен стандарт ds-402 ( возможно я несу полную околесицу ), который не указан ни в CanOpenNode, ни в CanFestival. Я правильно понимаю, что для выполнения моей задачи библиотека должа содержать стандарт ds-402 или можно обойтись без этого стандарта (ds-402), а реализовать "сеть" на основе имеющихся библиотек. Если всё же это так (библиотека должна содержать стандарт ds-402), то подскажите есть ли такая библиотека в бесплатном доступе? А если ответ будет " можно реализовать на основе имеющихся библиотек", то какую лучше выбрать с точки зрения простоты реализации? Изменено 24 мая, 2020 пользователем laker Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew_Q 0 25 мая, 2020 Опубликовано 25 мая, 2020 · Жалоба Для Вашего контроллера я бы рекомендовал CanFestival. CanOpenNode нужен если ужиматься. Использовал оба, портируются легко. Но для CanFestival редактор словаря, на мой взгляд, интереснее. А DS-402, судя по описанной Вами задаче, Вам не нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 25 мая, 2020 Опубликовано 25 мая, 2020 · Жалоба 9 hours ago, laker said: Добрый день, я являюсь новичком в работе с can, но возникла необходимость связаться с этим протоколом. Описываю задачу: нужно реализовать блок управления бесколлекторным электродвигателем (с датчиками холла) с защитой от перегрузок (скорее всего придётся обойтись его математической моделью). Так вот, основной задачей данного проекта является наблюдение показаний датчиков Холла, и нужно видеть (контролировать) ток на обмотках двигателя, данный список параметров до конца мне не известен, возможно он расширится, но минимум такой. Из описания ваших потребностей не видно необходимости в CANopen. Даже необходимости в CAN не видно. Такое делают на USB. Будет многократно проще , и не надо будет никаких словарей и прочей протокольной атрибутики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
laker 0 25 мая, 2020 Опубликовано 25 мая, 2020 · Жалоба 13 часов назад, Andrew_Q сказал: я бы рекомендовал CanFestival. Простите за глупый вопрос, а с CanFestival можно работать на языке программирования Си или он только для python, просто в инструкции к установке было сказано установить python. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrew_Q 0 26 мая, 2020 Опубликовано 26 мая, 2020 · Жалоба Python Вам понадобится, чтобы сформировать, а затем модифицировать словарь объектов. А сама целевая программа вся на C. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 26 мая, 2020 Опубликовано 26 мая, 2020 (изменено) · Жалоба Почитайте внимательно протоколы! Скажем, когда мне притащили пусироботовский драйвер ШД, я тоже поначалу испугался, что придется всяких монстров вроде CanFestival окучивать (а для начала - написать прослойку для своего преобразователя CAN<>USB). Но все оказалось гораздо проще: "полноценного" CanOpen там и отродясь нет, все элементарно решилось своими силами А еще у нас 6-метровый телескоп крутят двигатели, управляемые приводами CanOpen. Но на нижнем уровне тоже никто не парился с этими "фестивалями": мы просто нужным образом PDO настроили и работали через них. Изменено 26 мая, 2020 пользователем Eddy_Em Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 26 мая, 2020 Опубликовано 26 мая, 2020 · Жалоба On 5/24/2020 at 11:32 PM, laker said: Так вот, основной задачей данного проекта является наблюдение показаний датчиков Холла, и нужно видеть (контролировать) ток на обмотках двигателя, данный список параметров до конца мне не известен, возможно он расширится, но минимум такой. Так вот, как я понимаю, чтобы отслеживать данные параметры в режиме реального времени (даже пусть это математическая модель), мне нужно реализовать стек протоколов CanOpen, речи о сети не идёт, нужно только наладить CanOpen связь между ПК и микроконтроллером stm32f103c8t6. Да, если датчик у вас свой, то я тоже не вижу смысла в CANopen. Только если вы собираетесь использовать уже готовый датчик с CANopen внутри, тогда вам нужно реализовывать этот протокол. Нарисуйте блок-схему, так будет понятней. 20 hours ago, laker said: Простите за глупый вопрос, а с CanFestival можно работать на языке программирования Си или он только для python, просто в инструкции к установке было сказано установить python. Сам CanFestival сделан полностью на Си. Но вам нужно будет создать специальный .с и .h файл словаря для вашего устройства, описывающий ваши переменные. Этот файл формируется из программы - редактора словаря objdictedit, который написан на Питоне. Небольшой изврат, но так оно работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться