Easyelectronics.ru

Электроника для всех
Текущее время: 20 ноя 2017, 05:22

Часовой пояс: UTC + 5 часов



    • 10 шт. 2-слоя 100*100mm 2$. Быстрый заказ: JLCPCB.com
    • JLCPCB - это крупнейшая фабрика PCB прототипов в Китае.
    • Имеющий более 290,000 клиентов и выполняющий более 8,000 заказов в день.
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 22 ] 
Автор Сообщение
 Заголовок сообщения: Контролер для 3-х двигателей.
СообщениеДобавлено: 02 июл 2017, 14:36 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
Мне нужно сделать драйвер для 3-х двигателей. Двигатели обычные DC Motors 24V. Двигатели имеют энкодеры для отслеживания позиции.
Хотелось чтоб энкодеры были апаратные. Обычно это делается на таймерах.
Вот задумался какой контроллер выбрать. PWM+Encoders требуют таймера. К тому же на мои нужды нужно еще 3 таймера.
У ST вроде нет контролеров заточенных под motion. У TI есть но что то не хочется связываться с TI. К тому же 3 двигателя. Есть контроллеры под такую задачу?
Основная проблема - аппаратно обработать 3 энкодера. На атмеловских AVRках я пользовался внешними интераптами но это, как мне кажется, не очень хороший способ.


Вложения:
Drawing1.jpg
Drawing1.jpg [ 39.3 Кб | Просмотров: 1565 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 02 июл 2017, 14:51 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2381
STM32F303 подойдет под вашу задачу. 3 таймера под шим, с аппаратным dead-time и прочими штуками, еще 3 под hall-sensor. Останется еще 5 штук не считая SysTick.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 02 июл 2017, 15:57 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
Hold писал(а):
STM32F303 подойдет под вашу задачу. 3 таймера под шим, с аппаратным dead-time и прочими штуками, еще 3 под hall-sensor. Останется еще 5 штук не считая SysTick.

Да. Посмотрел даташит - просто шикарно. По таймерам я в полном шоколаде. Наверно остановлюсь на нем. Спасибо.

насколько я понял только TIM2/TIM3/TIM4 support quadrature encoders или я ошибаюсь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 13:43 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
Решил вернутся к теме. То есть как решил - жизнь заставила.
Для 3-х моторов взял STM32F303VCT6. Там хватает таймеров для 3-х PWM и 3-х encoders . Но сейчас поставлена задача - управлять пятью моторами. Есть камень с достаточными ресурсами? Не обязательно STM32.
Я бы с большим удовольствием поставил FPGA но цены на них сумашедшие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 14:22 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 3365
Поставьте 5хF030/F103


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 14:31 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
u37 писал(а):
Поставьте 5хF030/F103

А управляющий контролер как будет разговаривать с пятью F103? по какой шине?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 15:25 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 354
Тип шины не важен, главное общая синхронизация по времени.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 15:39 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
мда... единственная вменяемая шина для комуникации - SPI. не очень весело.
периферийные камни должны быть слейвами а мастер все время должен их опрашивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 17:36 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 3365
Посмотрите на UART и надстройку над ним. LIN


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 18:33 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1903
Откуда: КЧР, поселок Нижний Архыз
А я, намучившись с управлением пятью ШД с кучей концевиков и Холлов (+термодатчики и т.д., и т.п.) одним камнем, решил пойти по пути упрощения. Один МК на 2 шаговика, общение по UART (если близко и внутри прибора) или 485/CAN.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 20:43 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2966
Откуда: Кемеровская область, Киселевск
spi можно запараллелить и передавать сразу всем мк пакет, в пакете данные сразу для N мк. можно с мастера взять сигнал mco и синхронизировать все мк.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 23:29 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
так UART не запаралелишь. это на каждый слейв нужен UART.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 23:41 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2966
Откуда: Кемеровская область, Киселевск
Почему это? В чем проблема? Вам не позволяет религия установить микросхему RS485? Голова нужна не только шапку носить.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 27 окт 2017, 23:46 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 3365
"так UART не запаралелишь"
Вы бы документацию читали. За вас разрабатывать?
Вариант - однопроводный интерфейс UART.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 28 окт 2017, 01:01 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1903
Откуда: КЧР, поселок Нижний Архыз
jenya77 писал(а):
так UART не запаралелишь

Элементарно. Некий аналог RS485.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 28 окт 2017, 13:28 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 354
Кстати, для сервомоторов и шаговых двигателей применяется разное управление. Для шагового двигателя управление сводится к подаче команды в чётко рассчитанное время. А для драйвера сервомотора всё немного иначе. Вместо точно рассчитанного по времени управления - подаётся три типа данных в одном пакете: контрольная точка, время для контрольной точки, и скорость в контрольной точке. По сути -векторное управление. Двигатель начинает движение после получения двух контрольных точек, все промежуточные положения он рассчитывает самостоятельно.
Можно подать команду на движение портала вдоль всей оси передачей всего четырёх контрольных точек. В результате портал начнёт разгон, продолжит движение на стабильной скорости, и выполнит торможение. Полностью автономное выполнение команд.
Прервать выполнение движения можно в любое время, для этого требуется передача двух новых точек на промежутке ещё не пройденного пути. Контрольная тока на пройденом пути, или в прошедшем времени - будет восприниматься как ошибка.

Векторное управление применяется в случае когда точности шаговых двигателей уже не хватает. Предел для шаговых двигателей получается при увеличении их количества, уменьшении шага, и повышенным требованиям к плавности движения (малый шаг). Ну то-есть после пяти шаговых проще ставить сшесть векторных. Станки которые требует сервомоторов имеют от шести до девяти степеней свободы. То-есть это немного больше чем китайский лазерный гравёр на двух осях.

Использовать серводвигатель можно даже для одной оси, он от этого не поломается. Но это дорого!!!!

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

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 28 окт 2017, 13:39 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 613
AVI-crak писал(а):
Для шагового двигателя управление сводится к подаче команды в чётко рассчитанное время. А для драйвера сервомотора всё немного иначе. .

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

Или имеется ввиду способ задания перемещения, вращения? Но в этом случае вообще нет разницы, что перед нами - шаговик или серво, или вообще частотник. Шаговикам так же нужна S-кривая, чтобы не было проскальзывания и рывков механизма. Шаг многих ШД около 1°, и даже его можно уменьшить полушаговым или микрошаговым режимами. Но ШД плохо работают на больших скоростях, у них есть резонансные частоты, на которых ШД будет сильно гудеть и вибрировать.

Команду "переместить из пункта А в пункт Б со скоростью V" можно передавать любому контроллеру любого двигателя. А контроллер двигателя уже сам должен рассчитать, что, как, куда и насколько быстро крутить, и так же сам должен определить по обратной связи, правильно ли добрались до точки Б


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 28 окт 2017, 14:26 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1099
AVI-crak писал(а):
Использовать серводвигатель можно даже для одной оси, он от этого не поломается. Но это дорого!!!!

http://tropical-labs.com/index.php/mechaduino


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 29 окт 2017, 12:04 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
А если не ставить драйвер 485 и предположить что слейвы только отвечают мастеру - можно соединить напрямую?


Вложения:
uart.png
uart.png [ 29.51 Кб | Просмотров: 831 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 29 окт 2017, 17:36 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 613
Угу... А лог.0 на входе мастера как получать планируете?
При том, что нормальное состояние простоя - лог.1 на входе. Иначе - ошибка фрейма


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 29 окт 2017, 17:56 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 1903
Откуда: КЧР, поселок Нижний Архыз
Не нужны диоды на Tx: просто нога настраивается на opendrain, а у мастера ставится 4.7к подтяжка к +3.3В.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контролер для 3-х двигателей.
СообщениеДобавлено: 29 окт 2017, 19:56 
Заглядывает иногда

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 166
Eddy_Em писал(а):
Не нужны диоды на Tx: просто нога настраивается на opendrain, а у мастера ставится 4.7к подтяжка к +3.3В.

понял. спасибо.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB