Усовершенствованный сервопривод Чена

arisov77
BlrUsr:

…У меня в каждом энкодере будь то на 1000им 1024им 2500им или 5000им
есть выход (маркер) реферсная точка. По ней было-бы неплохо обнуляться…

Не совсем понял, что же Вы спросили. Данный сервоконтроллер не работает с энкодером, у которого есть выход Z (нулевая метка). Вы предлагаете использовать эту метку в качестве концевика «Номе»?
Использование канала Z в качестве концевика «Номе», возможно только, если вал двигателя во время всего движения, сделает не более одного оборота. Если больше одного оборота, то можно сделать какой-то «ручной переключатель» - сначала калибруется по концевику, затем вход «Номе» переключается на выход Z энкодера и снова калибруется.
При наличии высокоточного отдельного концевика «Номе», на мой взгляд, наличие энкодера с выходом Z и соответствующего сервоконтроллера – не обязательно, т.к. при калибровке начального положения ЧПУ программа всё равно будет выдавать импульсы (движение) до тех пор пока не найдёт «край» концевика, независимо от положения вала двигателя (его нулевой точки). Синхронизация с Z меткой скорее всего, лучше поможет «в борьбе» с накапливающей ошибкой при позиционировании, но при нормально работающем сервоприводе это обычно не требуется.

Pavelrb
arisov77:

Не совсем понял, что же Вы спросили. Данный сервоконтроллер не работает с энкодером, у которого есть выход Z (нулевая метка). Вы предлагаете использовать эту метку в качестве концевика «Номе»?
Использование канала Z в качестве концевика «Номе», возможно только, если вал двигателя во время всего движения, сделает не более одного оборота. Если больше одного оборота, то можно сделать какой-то «ручной переключатель» - сначала калибруется по концевику, затем вход «Номе» переключается на выход Z энкодера и снова калибруется.
При наличии высокоточного отдельного концевика «Номе», на мой взгляд, наличие энкодера с выходом Z и соответствующего сервоконтроллера – не обязательно, т.к. при калибровке начального положения ЧПУ программа всё равно будет выдавать импульсы (движение) до тех пор пока не найдёт «край» концевика, независимо от положения вала двигателя (его нулевой точки). Синхронизация с Z меткой скорее всего, лучше поможет «в борьбе» с накапливающей ошибкой при позиционировании, но при нормально работающем сервоприводе это обычно не требуется.

У нас такой алгоритм работы был реализован на заводском станке. При включении станок ехал на пару оборотов в плюс, затем реверсировался, ехал до концевика, замедлял скорость, полз до нуль метки, по ней выставлял ноль.
Но этот станок делал всегда одну и ту же деталь.

2 months later
kww

Прошу ответить ввиду невозможности вкладывать файлы
этот вопрос (сервопривод Чена) ушел куда то в другое место ?

Sony
arisov77:

я использовал специальный гальваноразвязанный датчик тока и “заводил” этот сигнал на МК

Так и надо делать. Датчик Аллегро 712 на 30 ампер с откликом 5 мкС стоит всего 140 рублей в Терраэлектроника. Можно заказать по почте через Семенова Михаила - mkpochtoi.narod.ru - и у него же микроконтроллеры очень дешовые - ATtiny2313 всего 38 рублей ATmega8 и ATmega48 всего по 48 рублей. Прошивка 35 рублей. Почта 60-100 рублей.

13 days later
technik

Подскажите, пожалуйста, если вместо энкодера на валу двигателя использовать оптическую линейку, ведь большинство продаваемых сейчас ШВП имеют класс точности С7(0.05мм на 300мм). Для мелаллообработки такие точности не катят.
Допустим что связка вал двиг.-вал швп-гайка жёсткая, тогда имея швп С7 и линейку во много раз точнее, мы получим нужную точность. Этот контроллер нормально будет работать с линейкой? Какие максимальные скорости перемещений будут?
P.S. К тому же линейки и двигатели пост. тока 3Nm уже стоят на станке . Но вместо швп стоит трапеция.

cd-print

Есть ЧПУ работающие по двойной закрытой схеме. К драйверу это отношение не имеет. Серводвигатель с драйвером сам по себе, Оптическая линейка на оси сама по себе. Софт считывает реальное положение с оптической линейки и коректирует сигналы драйверу step/dir. Типа cncbrain. Они сейчас готовят новую версию.
Касаемо поставить энкодер прямо на ось, а не на движок - тоже можно. Но надо настраивать параметры разгон, торможение и тайм аут по ошибке. Если поставить большие значения разгона/торможения то система войдет в резонанс. Если маленькие то резонанса не будет, но увеличится задержка при корекции двигателя. У меня на взрослом фрезере стоит ЧПУ с линейками на столе, а привод - двигатель постоянного тока без энкодера. Неточность обработки меньше сотки. Линейки микронные. Так что схема не просто должна работать, а она работает у меня.
З.Ы. А зачем вам для металло-обработки высокие скорости перемещения?

arisov77
kww:

Прошу ответить ввиду невозможности вкладывать файлы
этот вопрос (сервопривод Чена) ушел куда то в другое место ?

Вроде ни куда «не ушёл», всё здесь. И ещё здесь www.cnczone.com/forums/showthread.php?t=69640 и вот здесь www.c-n-c.cz/viewtopic.php?t=2395 и недавно вот здесь появилось www.elektronik.si/phpBB2/viewtopic.php?t=18129&pos…

technik:

… Какие максимальные скорости перемещений будут?

Какая максимальная будет у Вас скорость – я не знаю, т.к. Вы ничего не указали в качестве исходных данных.
Какая максимальная частота этого сервоконтролера – я то же не знаю, т.к. «руки так и не дошли» до практических измерений, в теории она будет не меньше 100кГц или 100 000 имп/сек, как и в оригинальном Ченовском контроллере (см. сообщения №114 и конец 115), скорее всего будет немного «шустрее», за счёт прерывания от сигналов энкодера (в оригинальном Ченовском, опрос состояния энкодера - по таймеру).

technik

Мне особо высокие скорости обработки не нужны. Станок изначально координатно-шлифовальный(32К83СФ10), значит не рассчитан на большие нагрузки. Следовательно надо будет снимать металл небольшими порциями с подачей 400-1000(max)mm/min.Почти высокоскоростная обработка, но и не совсем она, что-то среднее. Ускоренное перемещение хотелось бы в районе 2000-3000 mm/min. Я думаю что опт. линейки и швп С7 класса это самое оптимальное решение получить приемлемые точности. Вообще хотелось бы пилить формообразующие небольших пресс-форм.

arisov77

technik, у опт. линейки разрешение какое?

technik

Ну если не ошибаюсь, то 1-2 микрона, на станке стоит блок heidenhain с цифровой индикацией и стол можно выставить рукоятками с точностью 1 микрон. Сам станок 32к83сф10, по расшифровке букв СФ, это мастер-станок(особо точный).

arisov77

Если разрешение 1 микрон, то линейка выдаёт 1000 имп/мм (вот это я и хотел узнать). При ускоренном перемещении = 3000мм/мин (50мм/сек) максимальная частота импульсов с энкодера (оптической линейки) будет 50кГц. Думаю, что с такой частотой «усовершенствованный Ченовский» легко справиться.

9 days later
cd-print

Назрела проблема подключения Двигателя постоянного тока на 220 вольт с обмоткой возбуждения. ток до 10 ампер.
Ну про подключения двигателя мне все понятно. А вот какие Транзисторы поставить и какие дополнительные Изменения надо сделать в схеме?
На тразисторы посматриваю вот на эти IRFP360LC.
В схеме понятно что надо низковольтное питание завести с отдельного Б.П.
А вот что еще надо поменять?

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

И еще, вопрос к Андрею по поводу датчик тока. Как его использовать. Или оставить резистор с компаратором?

arisov77

Для варианта 220В/10А транзистор, на мой взгляд, лучше применить более популярный IRF460 www.platan.ru/…/id=334696493&group=204&src=pltn , т.к. напряжение С-И у него выше, чем у IRF360, ток чуть-чуть поменьше и по в цене он выигрывает. Также можно применить популярный среди любителей импульсных сварочников, как они его называют - «народный полтинник» - IRG4PC50 www.platan.ru/cgi-bin/…/id=589098788&group=201 .
Для таких высоких напряжений и тока надо очень тщательно прорабатывать топологию печатной плату, очень желательно сделать гальваническую развязку МК от силовой части.
Также не помешало бы изменить схему защиту (контроля тока) – про это на форуме я где-то писал.
Готового варианта конструкции сервоконтроллера для повторения, для Вашего применения, я ещё не видел.
Для 10А можно оставить и резистор, у UHU для 14А использовано 2 запараллеленных резистора 0,1 Ом х 5Вт.

По поводу схем, прошивок…
Я меня 2 сервоконтроллера около года работают по этой схеме rcopen.com/forum/f110/topic40981/174 (нет только деталей в цепях концевиков Limit_L & Limit_R, но они были проверенны навесным монтажом – всё o’k).
Прошивку использовал Servo_AtMega88_CompInt_Modif.zip из сообщения rcopen.com/forum/f110/topic40981/211 .
Другие конструкции есть на www.cnczone.com/forums/showthread.php?t=69640 (+см. сообщение №349).
Также, на сколько мне известно, что работает конструктив (на фото) jozefp-а rcopen.com/files/49a485ec9970730077f50f84 с доработкой rcopen.com/forum/f110/topic40981/331 (внизу сообщения). Прошивки для этого конструктива c AtMega48 были проверенны из сообщения rcopen.com/forum/f110/topic40981/318 .

ATLab
Raptirius:

Альтернативная разработка 

А можно без рекламы того форума (к тому же требующего регистрации)?
Если хочется поделиться своими достижениями, то можно выложить материалы здесь или на любом другом общедоступном (без всяких глупых ограничений) ресурсе.

dashko

народ, может кто знает, как оделить входную частоту энкодэра на два с сохранением квадратуры? может кто делал, знает, может предположения какие имеются?

ATLab
arisov77:

… и вот здесь banebots.com/pc/ELECTRONICS/EN-A0001-KT на 1, 4, 8 и 16.

Или я ничего не понимаю, или схема совсем левая:

  1. это не делитель с сохранением квадратур, а формирователь сигнала “направление”
  2. эта схема, как она нарисована, вообще не работает как делитель: сигнал направления формируется напрямую из входного квадратурного сигнала, а счетчик делитель и мультиплексор в стороне. Чтобы на халяву не повторяли, а покупали набор?
dashko

Да, верно. А мне нужен просто делитель на 2 (не на 4 8 16) с сохранением квадратуры. Диск на 500 линий не позволяет достичь нужной скорости.

И еще вопрос. Кто использовал оптопары от принтера HP? У меня они работают только со своей лентой. На другие диски или предметы в зазоре не реагируют вообще.

ATLab
dashko:

…А мне нужен просто делитель на 2 (не на 4 8 16) с сохранением квадратуры…

Если пойти по первой ссылке, а там почитать и пойти по следующей, то можно попасть на emergent.unpy.net/projects/01149271333
а там есть ссылка на программу расчета таблицы перекодирования на Python-е, а уж в ней в конфигурации можно задать коэффициент деления:

…# N is the divisor. It could be 1, 2, 4, 8, or 16.

Разобраться во всем этом при желании наверное можно. 😁

P.S. Интерпретатор Python вроде бесплатный.