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

Контролер для 3-х двигателей.

Решил вернутся к теме. То есть как решил - жизнь заставила.

Для 3-х моторов взял STM32F303VCT6. Там хватает таймеров для 3-х PWM и 3-х encoders . Но сейчас поставлена задача - управлять пятью моторами. Есть камень с достаточными ресурсами? Не обязательно STM32.

Я бы с большим удовольствием поставил FPGA но цены на них сумашедшие.

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


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

Я бы с большим удовольствием поставил FPGA но цены на них сумашедшие.

Странно. Вы наверное смотрите что-то из последних моделей, недавно присмотрел себе серию SmartFusion Microsemi - это AFE+Cortex-M3+FPGA в одном чипе, например A2F060 550р. в корпусе TQFP-144.

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


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

Странно. Вы наверное смотрите что-то из последних моделей, недавно присмотрел себе серию SmartFusion Microsemi - это AFE+Cortex-M3+FPGA в одном чипе, например A2F060 550р. в корпусе TQFP-144.

я смотрю чипы от Altera так как я работал только с ними, они мне знакомы, с ними как то легче.

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


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

Я бы с большим удовольствием поставил FPGA но цены на них сумашедшие.

Цены на них очень приемлемы, особенно с появлением дешевых китайских плат с Циклонами4. Много конструкций на них появилось в последнее время. Но вот вопрос- какую архитектуру Вы планируете впихнуть в эту FPGA?

Будет синтезированное ядро типа ARM или MIPS c сопроцессором плавающей точки для рассчета траектории движения или только ШИМ таймера и таймера-счетчики энкодеров а процессор внешний? Потому что эти два подхода очень разные по требованию к обьему и быстродействию FPGA.

Последняя философия реализована в картах mesa drive http://www.mesanet.com/, для которых и исходники прошивок есть и их достаточно легко адаптировать под любую ПЛИС, хотя изначально там Xilinx применен.

Данные для движения им готовит хост- компьютер, и подает или по PCI, или по Ethernet готовые микрокадры движения. Петли обратной связи по позиции замкнуты через софт.

Хотя после долгого перерыва у них появилась и карта с микропроцессором. 4C81 - WIRELESS ORIENTED PC/104-PCI CPU http://www.mesanet.com/cpucardinfo.html но там полноценный линух используется в виде NetBSD. Соответственно можно пакет править под свои задачи, но это не так уж просто.

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


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

спасибо. посмотрю.

Изменено пользователем Herz
Избыточное цитирование

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


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

Мне нужно сделать драйвер для 3-х двигателей. Двигатели обычные DC Motors 24V. Двигатели имеют энкодеры для отслеживания позиции.

 

Не знаю, говорилось тут или нет, но зачем тут энкодеры?? Точность в ед. градусов не получить, направление и так известно, достаточно простого датчика оборотов, скажем на магнитоуправляемой МС и простого счетчика в МК. Зачем усложнять себе жизнь?

 

Странно. Вы наверное смотрите что-то из последних моделей, недавно присмотрел себе серию SmartFusion Microsemi - это AFE+Cortex-M3+FPGA в одном чипе, например A2F060 550р. в корпусе TQFP-144.

 

Вот уж ПЛИСы здесь точно из пушки по комарам :rolleyes:

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


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

Но сейчас поставлена задача - управлять пятью моторами. Есть камень с достаточными ресурсами?

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

короче, сериал мыши и кактус

 

 

Вот уж ПЛИСы здесь точно из пушки по комарам

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

Изменено пользователем Огурцов

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


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

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

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

 

 

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


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

Прихожу к мысли, что нужно делать модуль контроль+сила, который может работать автономно. Причем такой чтоб умел драйвить и 3-х фазные и ДС моторы, так как есть системы с 3-х фазными моторами, еще одно нововведение на мою ж... голову.

А понадобиться драйвить Х осей - связывать модули по CAN/SPI/UART c мастером который будет axis manager.

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


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

Прихожу к мысли, что нужно делать модуль контроль+сила, который может работать автономно. Причем такой чтоб умел драйвить и 3-х фазные и ДС моторы, так как есть системы с 3-х фазными моторами, еще одно нововведение на мою ж... голову.

А понадобиться драйвить Х осей - связывать модули по CAN/SPI/UART c мастером который будет axis manager.

 

У вас похоже кто-то не особо дружит с головой, кто ТЗ делает, ибо целиком задачу не видит и каждый раз придумывает что-то новое. Тут выход один - делать что-то сверхмасштабируемое и дорогое или сменить конструктора по ТЗ :biggrin:

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


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

На микроконтроллерах с такой задачей справится оказалось сложно

а тригонометрию вы покупали ? а реализация сколько ячеек заняла ? для мк же оно ничего не стоит ни по софту, ни по ресурсам, т.е. реальный ноль - хоть $3 за 6 осей

 

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


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

Вот решение близко к идеальному. https://geektimes.ru/post/286324/

Изменено пользователем Jenya7

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


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

а тригонометрию вы покупали ?

Нет, CORDIC использовали условно-бесплатный для аппроксимации траектории между базовых точек. На самом деле это был жуткий колхоз, т.к сначала предполагалось использовать станок в режиме нарезания резьбы метчиками ( синхронная с вращением шпинделя подача по Z оси) но конструкторы промахнулись по моменту привода шпинделя). Тогда появилась идея с фрезерованием резьбы, но используемые контроллеры при интерполяции делали граненные отверстия, куда винты не вкручивались. И тогда была слеплена приспособа на ПЛИС которая в режиме step-dir рулила приводами в "ручном режиме" в цикле фрезерования резьбы, при этом грубая траектория прогружалась в виде таблицы снаружи, а ПЛИС занималась интерполяцией траектории и синхронизацией всех осей.

Я к тому, что это весьма специфический случай был и межконтроллерное взаимодействие ( каждая ось привода имела свой сервоконтроллер промышленный и отдельный контроллер оптической линейки) не справилось с задачей т пришлось лепить костыли. Если бы там был EtherCAT, то возможно бы и успели, но был обычный profibus.

Тут вся проблема, как делить петлю обратной связи относительно интерфейса и успеет ли она в риалтайме. Как пример картинка.

post-1741-1509281617_thumb.jpg

PS. http://www.iftomm2015.tw/IFToMM2015CD/PDF/OS13-011.pdf

Вот такое потяните в одиночку?

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


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

условно-бесплатный

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

значит поэтому это должен быть мегатолстый закачик

писать же самому тригонометрию, да с плавучкой - пупок развяжется

 

ПЛИС занималась интерполяцией траектории

да я ж не убеждаю, что не получится

просто я тоже прошёлся по этим граблям в несколько итераций и в результате вернул всё взад, на мк, где оно просто и удобно

 

Если бы там был EtherCAT, то возможно бы и успели, но был обычный profibus.

обычный profibus, это который медный на уарте ? ну ой, взяли бы хотя бы голый уарт, сильно урезавшись в хотелках, можно было организовать обмен, иначе никак

сразу ethercat - другая крайность, эзернета было бы достаточно, хотя да, это должен был быть точно не обычный эзернет, обычный легко может случиться медленнее чем profibus

 

Вот такое потяните в одиночку?

да всё что угодно, буде время и деньги

Изменено пользователем Огурцов

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


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

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

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

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

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

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

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

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

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

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