реклама на сайте
подробности

 
 
> На чем лучше организовать 180 IO
iiv
сообщение Sep 18 2012, 08:43
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Всем привет,

хочу двигать 10-12 моторами (скорее всего степ моторами) с обратной связью через оптоэнкодер и концевиками, посылая команды из линукс копьютера. На мотор нужно 11 дигитальных выходных ножек, 5 дигитальных входных и 2 аналоговые ноги. Стою перед выбором, на чем это все организовать, вижу четыре варианта:

1. поставить на каждый мотор atmega328p (там как раз 18 свободных ног в дип корпусе, не считаю ком порта) а ком порт воткнуть в mega2560. В самой Arduino mega2560 есть только 4 свободных ком порта, остальные 8 проэмулировать на софтверном уровне.

2. поставить три плиски типа Terasic DE0, у каждой из которых есть 66 дигитальных и 12 аналоговых портов, соединить их между собой, а какой-нибудь интерфейс с плиски вывести на FTDI и на комп.

3. поставить 3 штуки Arduino mega2560, к каждой подключить по 4 мотора, выходы каждой из них воткнуть в USB линукс компьютера,

4. купить что-то, что бы имело 24 аналоговых и 192 дигитальные ножки, и могло бы ими очень ассинхронно дрыгать, типа какой-то правильной плисоборды.

Недостаток варианта 1 - моторы могут разползтись во время работы, что не есть хорошо + проблемы по организации 12 ком портов с Arduino mega2560.
Недостаток варианта 2 - не очень тривиально все это запрограммировать, хотя, думаю, я бы смог бы,
Недостаток варианта 3 - может не хватить ресурсов Arduino mega2560 чтобы организовать все необходимые обработки ввода вывода на моторы,
Недостаток варианта 4 - не знаю что бы это могло быть sm.gif

Посоветуйте, пожалуйста, к чему склоняться, что выбрать, возможно есть еще более разумные варианты?

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

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
attache
сообщение Sep 18 2012, 10:30
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 27-02-08
Из: Донецк>Москва
Пользователь №: 35 427



А зачем СОМ порты? Можно объеденить через SPI.
Если будут применяться относительные энкодеры, то желательно применять ПЛИС.
Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 18 2012, 14:23
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(attache @ Sep 18 2012, 16:30) *
А зачем СОМ порты? Можно объеденить через SPI.
Если будут применяться относительные энкодеры, то желательно применять ПЛИС.

SPI ножек много съест, так как надо и туда и обратно данные таскать, хотелось для этого решения остаться в дип28 корпусе, да и замахаюсь синхронизовать все через одну шину. У ком порта свои недостатки sad.gif

Правильно я понимаю, что из-за дребезга контактов и скорости надо плиску брать? В моем случае я планирую иметь только 20-30кГц с оптоэнкодера, что, по идее, не так много даже для дохлых атмег на уровне прерывания.

С логикой - в принципе это идейно, спасибо за идею, VCO! Тогда можно сильно сожмотить число ног и воткнуть все в одну плиску, которой уже управлять как единым целым.
Go to the top of the page
 
+Quote Post
izerg
сообщение Sep 18 2012, 15:25
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 531
Регистрация: 1-02-05
Из: Украина, Киев
Пользователь №: 2 342



На сколько надежным должно быть управление этими 10-12 моторами?
Какова цена ошибки управления? ... что будет если пропустим шаг 1 мотора? ... или не вовремя сделаем шаг?
Синхронность шагания?
Какая скорость шагания? Какой режим планируется использовать , шаг, микрошаг?

Для "шагового" кодера двигателя достаточно 1 счетчика и диодного шифратора, это если сильно экономить sm.gif
Обработчик энкодера - тоже вполне строится на логике, хотя есть и готовые микросхемы со счетчиками внутри.

От компа с линухом вполне может хватить 1 шт. КОМ порта в режиме 485, и каждый мотор на чем нибудь вроде ModBus.
Программно будет проще и меньше писать. Модбас - протокол верхнего уровня, можно передавать как "1 шаг " конкретному мотору, так и макросы, или тот же G-code.

"20-30кГц с оптоэнкодера" Мега может не успеть делать остальную задачу, опто энкодеры обычно на моного шагов расчитаны, и мега завязнет в математике, дребезг опять же...

SPI - тоже не фонтан ... либо веер строит (10 chip select) либо проходную шину строить, если 1 мотор не успел, занят, отвалился - время затянется на восстановлении и коррекции ошибок.

В общем мало данных по задаче ... может прийти модератор и отправить читаь "Гайку М3" sm.gif
Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 18 2012, 16:19
Сообщение #5


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(izerg @ Sep 18 2012, 20:25) *
На сколько надежным должно быть управление этими 10-12 моторами?
Какова цена ошибки управления? ... что будет если пропустим шаг 1 мотора? ... или не вовремя сделаем шаг?
Синхронность шагания?
Какая скорость шагания? Какой режим планируется использовать , шаг, микрошаг?


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

Скорость должна быть до 40об/сек, точность позиционирования 1.8градуса. Оптоэнкодер, который я присмотрел HEDM-5540-H06 имеет три выхода и точность 0.9градуса. В принципе есть желание по возможности переходить на микростеп, но, не факт, что это желание будет всегда. По умолчанию мне нужна точность 3.6градуса, которая реализуется без микростепа.

Почему 11 выходов:
8 на два полных моста,
1 на реле, выключающее питание одной пары полного моста,
2 на управление датчика Холла (можно 1), которым мониторить ток, идущий на мотор - для проверки не перегрелся ли мотор, и не сдохли ли мосфеты. Сдыхание мотора и/или мосфета может тут же потянуть на большие последствия.

Почему 2 аналоговых входа:
опорное напряжение, и выход с датчика Холла,

почему 5 входов:
3 сигнала с енкодера,
2 сигнала с концевиков.

А, да, забыл сказать, моторы Nema 42 c 23нм моментом, как я понял их правильнее питать от выпрямленного сетевого.

Управление всего - не Г-код, а нечно, на лету вычисляемое самопально сделанным софтом. То есть реально могу сам подстроиться под команды и хоть длину пульса посылать, хоть коэффициенты сплайна на приращение сдвига.

EDIT: концевики планировал использовать в качестве градуировки и самонастройки, поэтому их всех запараллелить вроде бы нельзя. Оси по полтора метра.

Цитата(_pv @ Sep 18 2012, 20:09) *
но, наверное, проще и дешевле взять что-нибудь вроде http://www.aliexpress.com/item/Free-Shippi.../346355514.html

может я ошибаюсь, но под мой мотор только один такой драйвер 180 бакс будет стоить и тут-то как раз хотелось бы сожмотить, так как два полных моста я могу с бюджетом в 30 бакс построить.
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 18 2012, 19:30
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(iiv @ Sep 18 2012, 22:19) *
может я ошибаюсь, но под мой мотор только один такой драйвер 180 бакс будет стоить и тут-то как раз хотелось бы сожмотить, так как два полных моста я могу с бюджетом в 30 бакс построить.

ну телепат из меня хреновый, то что нужны драйвера ампер на 8-10 как-то не догадался.
тем не менее я бы всё равно поискал сначала готовые драйвера.
там есть и более могучие http://www.aliexpress.com/item/Freeshippin.../483624595.html уже 6.5А, но напряжения не те, а вот это уже ближе http://www.aliexpress.com/item/3-Axis-Cnc-.../475286543.html, 8A, 80V, 70$
т.е. дешевле 100$ вполне найти можно, хотя если считаете что такая разработка будет стоить дешевле 12*(100 - 30) = $840, остаётся только пожелать удачи.
Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 18 2012, 22:38
Сообщение #7


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(_pv @ Sep 19 2012, 01:30) *
ну телепат из меня хреновый, то что нужны драйвера ампер на 8-10 как-то не догадался.


да, как-то упустил об этом сразу сказать, простите, пожалуйста! А также не сказал, что полномостовые схемы готовые для ВВ трансформаторов у меня тоже есть и до 500-700кГц функционирующие и с бюджетом в 20-30 бакс за комплектующие. Для более низких частот можно немного сожмотить на драйверах мосфетов так, что два полных моста выйдут мне в 30 бакс по компонентам. Не спорю, с енкодерами и оптодатчиками концевиков не работал, но, так как их нет в обычных драйверах, всяко в них надо будет разбираться.

Похоже вырисовывется гибрид:
управлять мостами через атмеги по процессору на мотор,
энкодеры и концевики все воткнуть в плиску (типа Терасика ДЕ0),
а всякие остальные свистелки - датчики тока, реле итд - в atmega2560.

Последняя будет рассылать атмегам по параллельному SPI сколько и куда надо двинуться, а с терасика получать инфу куда что уже заехало.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Sep 20 2012, 16:05
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Вы пищете про 40об/сек - это правда, с минутами не перепутали? Потому что механическая мощность при моменте 23H*m составит 40*2*Pi*23 = 6031 Ватт! При токе в обмотке 6 ампер это означает ЭДС индукции 1000вольтsm.gif. Если же 40об/мин, то ЭДС будет всего 17 вольт, что в корне меняет дело. И ещё, если использовать на таком моторе полный шаг, это ж будет аццкая стрекоталка. А я делал контроллер ШД с чисто синусоидальным ШИМ, так движок вообще почти не шумел. И на АРМах гораздо удобнее работать, чем с мегой.

Точнее, 1000 вольт ЭДС будет, если при токе 6 ампер достигается момент 23H*m, сама то ЭДС слабо зависит от тока.

Сообщение отредактировал Timmy - Sep 20 2012, 16:08
Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 21 2012, 07:35
Сообщение #9


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(Timmy @ Sep 20 2012, 21:05) *
Вы пищете про 40об/сек - это правда, с минутами не перепутали?

это максимальный, оцень редко необходимый режим, должно быть обычно не более 10об/сек. Также, я надеюсь, что моторы даже на 5нм выходить не будут, просто взял чуток с запасом, всяко может быть sm.gif Суммарный вес, который надо будет двигать этими моторами будет строго меньше 100кг, сильного ускорения делать тоже не планирую.

По даташитам мотор может до 250VАС работать.

Тут по теме у меня еще вопрос возник, как правильно, посоветуйте, пожалуйста при изменении режимов (малая тяга-большая тяга)

1. иметь постоянное напряжение, подающееся на полный мост, но регулировать ШИМ (возможно придется заходить в диапазон 1% и ниже) или
2. варьировать входное напряжение, подающееся на полный мост (например в диапазоне 50-300В) и одновременно регулировать ШИМ (в этом случае, думаю, что ШИМ может быть точнее).

Обе схемы с моей элементной базой реализуемы, все есть, главное понять, что правильнее, посоветуйте, пожалуйста!

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
Timmy
сообщение Sep 21 2012, 15:21
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(iiv @ Sep 21 2012, 11:35) *
1. иметь постоянное напряжение, подающееся на полный мост, но регулировать ШИМ (возможно придется заходить в диапазон 1% и ниже) или
2. варьировать входное напряжение, подающееся на полный мост (например в диапазоне 50-300В) и одновременно регулировать ШИМ (в этом случае, думаю, что ШИМ может быть точнее).

Обе схемы с моей элементной базой реализуемы, все есть, главное понять, что правильнее, посоветуйте, пожалуйста!

Повторю ещё раз - вы в принципе не сможете раскрутить такой мотор до 40 об/сек, подавая на него 250 вольт, только до 10, в идеальном случае, а реально, до 6-8. Это следует из отношения крутящего момента и возбуждающего его тока, которое определяет напряжение индукции при единичной скорости. Когда напряжение индукции приблизится к напряжению питания, дальше моторчик будет не разогнать, независимо от нагрузки. К тому же на высокой частоте вся энергия начнёт уходить в железо. Это на электричке можно ослабить возбуждение до 10 процентов и разгонять до упора при сниженной тяге, а тут "ослабления поля" нет.

Я вижу две возможные причины делать двойное преобразование напряжения:
1. Необходимость выжать максимум из транзисторов мостов, расчитанных на напряжение, лишь немного превышающее напряжение питания.
2. Необходимость уменьшить пульсацию тока в обмотках для снижения нагрева железа(это на высоком напряжении может вдруг стать актуальным).

Что касается точности, в моей системе моторчик устанавливает позицию с разрешением в 200 нанорадиан(энкодер очень чувствительный), и колебаний от 10KHz ШИМа при этом не видно, хотя полоса пропускания позволяет. Но моё напряжение 24 вольта - это далеко не 300.
При низком напряжении можно ещё снижать частоту ШИМ, когда длина импульса дойдёт до минимально терпимой.
А вообще нужны испытания в реальных условиях.
Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 23 2012, 09:07
Сообщение #11


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(Timmy @ Sep 21 2012, 21:21) *
Повторю ещё раз - вы в принципе не сможете раскрутить такой мотор до 40 об/сек, подавая на него 250 вольт, только до 10, в идеальном случае, а реально, до 6-8.

вот тут есть все-же вопрос. Мне хотелось бы иметь с мотора до 23нм при его скоростях около 3об/сек и около 1-2нм при 40об/сек. При быстрых движениях 40об/сек я готов его разгонять плавно, с непрерывной второй производной по координате, если надо, то и по скорости. Правильно ли я понимаю, что тогда в обоих случаях мне достаточно, чтобы мотор выходил на 600-800Ватт мощности, и, имея драйвер на 6-8А и 300В я с легкостью это сделаю? 40об/сек - это 40*180=7.2кГц, если ШИМ делать на 200кГц, то у меня будет на один шаг 30 шим шагов, не хватит разве?

С ПЛИСкой Вы меня убедили, повидимому буду реализовывать все на 3-4-х терасик DE0 бордах, так как сам плиски еще не разводил и очень боюсь это делать sad.gif
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 23 2012, 19:47
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(iiv @ Sep 23 2012, 13:07) *
вот тут есть все-же вопрос. Мне хотелось бы иметь с мотора до 23нм при его скоростях около 3об/сек и около 1-2нм при 40об/сек.

Как тут уже говорили, да и мне из своего скромного опыта кажется что с увеличением оборотов для поддержания той же мощности на вале нелинейно начнет расти потребная мощность. Будет какой-то порог (по скорости), когда сколько вы не вкачивайте мощности, на вал она не пойдет, а пойдет в разогрев железа.
Если движок не расчитан на это - то только экспериментом. Если движок не расчитан на 40 об/сек то не надо расчитывать, что при той же потребляемой мощности он выдаст ту же механическую мощность как и при 3 об/сек. Потребляемая будет больше.

Цитата
и, имея драйвер на 6-8А и 300В я с легкостью это сделаю?


А что за драйвер если не секрет, 300В, 200 кГц, 8А ?

Цитата
40об/сек - это 40*180=7.2кГц, если ШИМ делать на 200кГц, то у меня будет на один шаг 30 шим шагов, не хватит разве?


делал вобще 12 периодов шима - намного лучше прямоугольников.

Go to the top of the page
 
+Quote Post
iiv
сообщение Sep 23 2012, 20:58
Сообщение #13


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(alexPec @ Sep 24 2012, 01:47) *
Как тут уже говорили, да и мне из своего скромного опыта кажется что с увеличением оборотов для поддержания той же мощности на вале нелинейно начнет расти потребная мощность.

понятно, спасибо! Производитель говорит, что при шиме (или микростепе) в 1/16 от полного степа мотор можно выводить на частоту 200кГц, на 20% от пиковой нагрузки. В даташитах я у него ничего не увидел - только со слов технического спеца. Если считать, что 200 000/16/180 = 60об/сек, то есть реально. На днях придут моторы, буду насиловать.

Цитата(alexPec @ Sep 24 2012, 01:47) *
А что за драйвер если не секрет, 300В, 200 кГц, 8А ?

самопальный sm.gif

Делал последний год полномостовые схемы для ВВ трансформаторов, там первичка на 300В, а вторичка - сколько получится с изоляцией на мощности примерно под 2-3кВатта - я на эту тему много-много в ВВ форуме тут по соседству понаписал. Схемы рабочие есть две, одна на N-мосфетах от stm и оптодрайверах от avago с бустерным питанием верхнего ключа, а другая с P-мосфетами от ixys в верхнем ключе и двумя развязанными питаниями.

Та, что на P-мосфетах, разгонялась (с потерями КПД) до 600кГц с максимумом КПД на 200кГц (КПД для моего ВВ преобразователя), а на только N-мосфетах получал только 70кГц, но, думаю, что с топологией не до конца разобрался или бустером. Так как п-шки совсем не достоваемы и не бюджетны, этот вариант для степ мотора по комплектующим у меня получается под 80 бакс за схему, а на н-ках - сущие копейки - если использовать 8-ми амперные мосфеты от стм-а, которые мне привозят по 0.60 бакса, то самым дорогим в той схеме получается оптодрайвер за полтора бакса sm.gif

А управление все либо от МК (atmega328p), либо от плиски (Terasic DE0).

Так как схемы (по несколько каждого сорта) есть спаянные, уже потираю руки их воткнуть в моторы и посмотреть что будет, надеюсь, с первого раза не попалю.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Sep 25 2012, 19:50
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Допустимая частота ШИМа не имеет прямой связи с максимальной скоростью, а только с конструкцией магнитопровода.
Насколько я помню, такие моторы можно размагнитить при превышении номинального тока, хотя бы кратковременном. После этого, наверное, будет как-то работать, но снизится момент, зато возрастёт максимальная скоростьsm.gif. Поэтому я бы советовал отлаживать драйвер на более дешёвом моторе от 5 дюймового флопа. А для понимания природы ограничения максимальной скорости требуется более полное знакомство с физикой электрических машин, курс которой выходит за рамки форума, а тут вообще bb-offtopic.gif .
Да, FPGA нормально управляет полумостами 800В/50А, они у меня подключаются по дифференциальным SSTL линиям с гальванической развязкой.
В случае софтового управления надо помнить о вероятности сбоя конфигурации FPGA, и желательно иметь независимый дублирующий мониторинг целостности конфигурации(например, в ECP2 есть такая функция) и критических параметров(типа превышения максимального тока) с аварийным выключением в случае чего.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- iiv   На чем лучше организовать 180 IO   Sep 18 2012, 08:43
|||- - alexPec   Цитата(Timmy @ Sep 21 2012, 19:21) Повтор...   Sep 21 2012, 18:20
||- - alexPec   Цитата(iiv @ Sep 19 2012, 02:38) Похоже в...   Sep 21 2012, 08:34
||- - iosifk   Цитата(alexPec @ Sep 21 2012, 12:34) ... ...   Sep 21 2012, 09:15
||- - alexPec   Цитата(iosifk @ Sep 21 2012, 13:15) Но и ...   Sep 21 2012, 11:31
|- - _Pasha   Цитата(iiv @ Sep 18 2012, 19:19) 1 на рел...   Sep 21 2012, 11:45
- - VCO   Цитата(iiv @ Sep 18 2012, 11:43) Посовету...   Sep 18 2012, 12:13
- - _pv   что-то много ног получается на каждый двигатель ос...   Sep 18 2012, 15:09
- - _Pasha   Управлять прямоугольниками - моветон. А у ТС - воо...   Sep 21 2012, 18:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 15:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01563 секунд с 7
ELECTRONIX ©2004-2016