Страница 1 из 3
Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:06
aftaev
Нужно приделать к Lcnc адаптивное управление скоростью подачи для поддержания МЭЗ(межэлектродный зазор)
Есть проволочновырезной станок. Если скорость подачи низкая - то станок работает не эфективно. Если скорость подачи большая - то не успевает прорезать, происходит короткое замыкание и проволока рвется.
В родной ЧПУ, аналоговое напряжение около 120v подается через делитель на микроконтроллер. Родной ЧПУ выбросили, так как это китайский "калькулятор"
Re: Что я урвал, хвастаемся покупками, завидуем и облизываем #2757
Пробуем все перевести на Lcnc. управление через LPT. Чтобы не покупать дорогих плат MESA под аналоговое задание - появилась такая мысля:
Берется Ардуина + делитель напряжения. Ардуина измеряет напряжение и выдает два дискретных сигнала UP и Down (добавить или убавить скорость подачи). В Ардуине задаем "держать" напряжение например 100v и гистерезис.
Ардуина измеряет напряжение, если напряжение >100v выдает сигнал Up=1. Который получает Lcnc и увеличивает скорость подачи с 50% +1% = 51% , проволока быстрее двигается, уменьшается МЭЗ и напруга падает. Если зазор слишком маленький <90v. Ардуина выдает сигнал Down=1. Lcnc его получает и сбрасывает скорость 51%-1%.
Скорость реакции системы можно сделать в Lcnc или попробовать написать в Ардуине.
Получается нечто вроде ТНС как для плазмы, но у плазмы двигается ось Z вверх/вниз, а нам нужно менять скорость подачи в LCNC в зависимости от внешних сигналов.
С
Nick переписывались в ЛС. Вот что пока надумал и
Nick
Nick писал(а):Да, для этого есть пин
motion.adaptive-feed IN FLOAT
When adaptive feed is enabled with M52 P1, the commanded velocity is multiplied by this value. This effect is multiplicative with the NML-level feed override value and motion.feed-hold.
Или
Feed Override
halui.feed-override.count-enable (bit, in) - must be true for counts or direct-value to work.
halui.feed-override.counts (s32, in) - counts * scale = FO percentage. Can be used with an encoder or direct-value.
halui.feed-override.decrease (bit, in) - pin for decreasing the FO (-=scale)
halui.feed-override.increase (bit, in) - pin for increasing the FO (+=scale)
halui.feed-override.direct-value (bit, in) - false when using encoder to change counts, true when setting counts directly. The count-enable pin must be true.
halui.feed-override.scale (float, in) - pin for setting the scale for increase and decrease of feed-override.
halui.feed-override.value (float, out) - current FO value
Re: Адаптивное управление скоростью подачи.
Добавлено: 23 ноя 2015, 17:18
aftaev
На Ардино сделал светодиодную индикацию напряжения на проволоке:
Видео:
https://www.youtube.com/watch?v=ZkitFww ... e=youtu.be
Re: Адаптивное управление скоростью подачи.
Добавлено: 23 ноя 2015, 17:24
Serg
Будет-ли связь Arduino-LinuxCNC успевать передавать данные? Ты ж ведь по USB захочешь их соединить...
aftaev писал(а):выдает сигнал Up=1.
Лучше сразу делать полноценный PID регулятор.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:26
aftaev
UAVpilot писал(а):Лучше сразу делать полноценный PID регулятор.
ПИД можно и в Ардуине написать. А если в Lcnc то нужно аналог заводить или как то думать передавать данные. Хочется обойтись без плат Меса, думаю LPT для того станка должно хватить.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:29
raddd
Можно чере ком порт войти. Он вроде тоже в реалтайме с лпт обрабатывается...
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:30
Nick
Ты сможешь из ардуинки в ком порт писать, или не хватит времени?
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:30
aftaev
UAVpilot писал(а):Будет-ли связь Arduino-LinuxCNC успевать передавать данные? Ты ж ведь по USB захочешь их соединить...
Нет не по USB. Ардуина будет выдавать 2 дискретных TTL сигнала UP или Down - все как на ТНС на плазморезах.
Могу даже взять готовый ТНС снять с плазмореза который измеряет напругу плазмы 150в (в настройках задается какое напряжение держать) и прикрутить его к проволочному станку

. ТНС - выдает сигнал в LPT Mach3 Up или Down. В зависимости от этих сигналов Mach3 таскает ось Z.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:34
aftaev
Nick писал(а):Ты сможешь из ардуинки в ком порт писать, или не хватит времени?
Мы сейчас работаем примерно так: положили сталюку толщиной 10мм, поставили на угад скорость подачи 3мм/мин. Смотрим в течении
минуты как режет, по стрелочному индикатору и на генераторе смотрим напругу. Если скорость маленькая добавляем в ручную двигая ползунок в LCNC скорость подачи.
То есть процесс весьма не быстрый
Могу ошибиться но реалтайма здесь не нужно. Возможно хватит в 1сек один раз измерить и +/-1 скорректировать подачу.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:40
MIX
Я на своей THC выкинул управление UP/DOWN. И сделал PID. В компьютер передаю значение напряжения.
UP/DOWN работало на редкость нестабильно. Замучился подбирать скорость. Выставлять целевое напряжение на отдельном устройстве тоже та еще радость (в плазме оно сильно зависит от скорости реза).
Об этом не жалею.
В Вашем случае наверное PID можно завязывать на скорость подачи.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:40
selenur
На ардуине выведены пины вроде 3х ком-портов, используя переходник типа такого
http://easyelectronics.ru/svyaz-mikroko ... rs232.html на мк max232, можно ардуину сразу в аппаратный ком-порт подключить.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:42
aftaev
selenur писал(а):На ардуине выведены пины вроде 3х ком-портов, используя переходник типа такого
http://easyelectronics.ru/svyaz-mikroko ... rs232.html на мк max232, можно ардуину сразу в аппаратный ком-порт подключить.
Не хочется иметь секса с протоколом передачи.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:44
aftaev
Еще проще: к Lcnc к LPT подключено 2 кнопки [+] и [-]. Как сделать так чтобы при нажатии на кнопку [+] - скорость подачи в % в Lcnc увеличивалась на +1%, а при нажатии на [-] уменьшалась
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 17:59
raddd
А чего ты так привязался к лпт? Там и так пинов мало. Можешь зав(н)ести в ком без протокола)))
Теже 2 пина. а лпт входы еще на чтонибудь сгодятся
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 19:03
aftaev
raddd писал(а):Можешь зав(н)ести в ком без протокола)))
Я не могу, потому и спрашиваю - как?
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 19:22
Serg
raddd писал(а):Можно чере ком порт войти. Он вроде тоже в реалтайме с лпт обрабатывается...
Тоже не в RT, но уже лучше.
aftaev писал(а):Могу ошибиться но реалтайма здесь не нужно. Возможно хватит в 1сек один раз измерить и +/-1 скорректировать подачу.
За 1 секунду на скорости большей, чем нужно оно уже может "упереться" и порвать проволоку...
А при управлении в виде Up/Down оно не сможет быстро уменьшить скорость - будет уменьшать только по 1% за итерацию...
aftaev писал(а):Не хочется иметь секса с протоколом передачи.
Да какой там секас? Передавай одно число циклически - вот и весь протокол.
Из пары пинов LPT или COM можно изобразить синхронный последовательный интерфейс, могущий работать в RT.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 19:39
MIX
Мне на плазморезе RT пока не понадобился. PID оказалось неплохо гасит временные задержки данных. На максимальной скорости, которую пробовал 6м/мин около удается компенсировать перепады до 5мм на 50мм примерно. Впрочем быстрее шаговик ось не таскает, а не поток данных забивается. Работаю через USB. За интерфейс (двусторонний туда включение 8 рэле, обратно цифра 0-255 вольт целое число) отвечает микросхема FTDI232. Протоколы связи ардуины с этой микросхемой отработаны. Кое где на ардуинах она уже распаяна.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 19:49
Serg
Дело не в отработанных протоколах. Сам USB в случае сбоя например из-за импульсной помехи начнёт процедуру реконекта, а это несколько секунд полного отсутствия связи, да ещё и, как правило, другой виртуальный COM-порт после реконекта - был /dev/ttyUSB0, станет /dev/ttyUSB1.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 19:57
aftaev
UAVpilot писал(а):За 1 секунду на скорости большей, чем нужно оно уже может "упереться" и порвать проволоку...
А при управлении в виде Up/Down оно не сможет быстро уменьшить скорость - будет уменьшать только по 1% за итерацию...
Вот и проверим
UAVpilot писал(а):Да какой там секас? Передавай одно число циклически - вот и весь протокол.
Передать с Ардуины для меня не проблема, а вот принять со стороны Lcnc и подключить к нужным сигналам это для меня проблема.
MIX писал(а):На максимальной скорости, которую пробовал 6м/мин около удается компенсировать перепады до 5мм на 50мм примерно.
На плазме все по другому, здесь скорость в сотни раз меньше.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 23 ноя 2015, 21:31
MIX
UAVpilot писал(а):Дело не в отработанных протоколах. Сам USB в случае сбоя например из-за импульсной помехи начнёт процедуру реконекта, а это несколько секунд полного отсутствия связи, да ещё и, как правило, другой виртуальный COM-порт после реконекта - был /dev/ttyUSB0, станет /dev/ttyUSB1.
Несколько секунд это Вы преувеличиваете ))) По моим замерам не более миллисекунды. Другой порт тоже не всегда берет. В той версии Ubuntu, что я использую, порты дополнительно линкуются на символьное устройство с именем, совпадающим с ID устройства. В моем случае с именем микросхемы FTDI:
Код: Выделить всё
PORT = "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A602R5WZ-if00-port0"
С выходом некоторого обновления этот функционал вроде отвалился, но я думаю можно найти способ идентифицировать именно по ID
Так что с этой стороны траблов небыло. Были со стороны реализации доступа на Pyserial. Дело в том, что эта библиотека не реконнектит устройство после того, как оно отвалится. Эта проблема решилась через стандартную проверку на ошибки соединения и программный реконнект. Впрочем гораздо лучше чтобы такого не происходило. Тут нужно схемно развязать часть устройства, которое меряет напряжение и часть, отвечающую за связь с копом.
Во всяком случае меня эти проблемы не мучают особо. Они решились достаточно оперативно.
Re: Адаптивное управление скоростью подачи для WEDM.
Добавлено: 24 ноя 2015, 00:28
Serg
По каким именно замерам? Выдернул из порта и снова вставил? Так не интересно, попробуй D+ и D- позамыкать во время обмена или питанием "поискрить"...
ID устройства - это хорошо (но надо понимать, что этот ID, т.е. серийный номер, есть только у FTDI), но тут засада в другом: если подключенное устройство первым решит сделать реконнект, то оно закончит его ещё до того, как комп сообразит, что устройство отмерло (таймаут там в несколько секунд) и окажется, что это устройство с ID ещё не освободилось. Нового устройства в этом случае не появится, но и прежнее не будет работать до истечения таймаута и нового реконекта (ибо занято) - в итоге имеем отсутствие связи в течении нескольких секунд.
MIX писал(а):Дело в том, что эта библиотека не реконнектит устройство после того, как оно отвалится. Эта проблема решилась через стандартную проверку на ошибки соединения и программный реконнект.
Так не бывает, механизм реконекта зашит в самом USB-стэке, его нельзя отменить.