Адаптивное управление скоростью подачи для WEDM.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
MIX
Кандидат
Сообщения: 89
Зарегистрирован: 23 авг 2015, 09:48
Репутация: 34
Настоящее имя: Михаил
Откуда: С. Петербург
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение MIX »

Отклонились от темы.
+-D или питание замыкать не хочу. Ибо варварство.
Тем более все устраивает. Зачем лишний раз злить духов электроники.
Смотрел в халскопе, благо помех одно время валило предостаточно.
ID, если правильно понимаю, есть во всех устройствах ибо прописано в стандарте. Если оно не определено, его, видимо, можно задать.
Программа довольно быстро понимает, что устройство в ауте ибо стучится к нему раз в сервопериод чтобы запросить данные.
Реконнект на аппаратном уровне происходит, и быстро судя по всему. А вот с методами pyserial если отваливается устройство, программа пишет ошибку и игнорит дальнейшие попытки запросов к символьному устройству пока не подашь команду на коннект снова. По крайней мере у меня так. Деталей обслуживания линуксом USB и связанного с ним символьного устройства, а также методов pyserial для управления всем этим, я не знаю. Тут уж два способа (я вижу).
Либо поставить в отдельном потоке бесконечный цикл с дисконнектом и повторным коннектом с периодом, скажем, в секунду
Либо делать проверку ошибки при каждом запросе к символьному устройству с повторным подключением при возникновении проблем.
Меня пока устраивают оба эти способа.
В любом случае в халскопе задержки при реконнекте не выглядели пугающе.
Последний раз редактировалось MIX 24 ноя 2015, 01:38, всего редактировалось 3 раза.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6193
Откуда: Казахстан.
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение aftaev »

MIX писал(а):Отклонились от темы
Пока Nick не появится, все равно никто не подскажет. Продолжайте...
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
MIX
Кандидат
Сообщения: 89
Зарегистрирован: 23 авг 2015, 09:48
Репутация: 34
Настоящее имя: Михаил
Откуда: С. Петербург
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение MIX »

А что тут продолжать? Пробовать надо.
Ваша ардуина (по фотке смотрю) итак уже в USB воткнута. Возможно один шаг остался, чтобы заставить ее выдавать в компьютер параметры.
Это Вам виднее. В ардуинах я мало смыслю. Эту часть мне знакомый делал. Мы просто договорились, что ведущим является комп. Я пишу в символьное устройство байт данных (управление восемью рэле, фактически восемью ножками процессора). А в ответ мне сразу приходит байт с измеренным напряжением. Соответственно у меня в программе так и идет строчка записи в устройство и сразу строчка чтения. Вот и вся хитрость.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Serg »

MIX писал(а):Смотрел в халскопе, благо помех одно время валило предостаточно.
Сигналы на USB шине? :shock:
MIX писал(а):ID, если правильно понимаю, есть во всех устройствах ибо прописано в стандарте. Если оно не определено, его, видимо, можно задать.
Нет, это необязательный атрибут.

Код: Выделить всё

[363595.451394] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[363595.451413] ftdi_sio 1-1.1.1:1.0: device disconnected
[363595.619919] usb 1-1.1.1: new full-speed USB device number 18 using xhci_hcd
[363595.711230] usb 1-1.1.1: New USB device found, idVendor=0403, idProduct=6001
[363595.711233] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[363595.711234] usb 1-1.1.1: Product: FT232R USB UART
[363595.711235] usb 1-1.1.1: Manufacturer: FTDI
[363595.711236] usb 1-1.1.1: SerialNumber: A902YH2I
[363595.714083] ftdi_sio 1-1.1.1:1.0: FTDI USB Serial Device converter detected
[363595.714103] usb 1-1.1.1: Detected FT232RL
[363595.714342] usb 1-1.1.1: FTDI USB Serial Device converter now attached to ttyUSB0

Код: Выделить всё

[363672.850931] usb 1-1.1.1: new full-speed USB device number 19 using xhci_hcd
[363672.925709] usb 1-1.1.1: New USB device found, idVendor=067b, idProduct=2303
[363672.925712] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[363672.925713] usb 1-1.1.1: Product: USB-Serial Controller
[363672.925714] usb 1-1.1.1: Manufacturer: Prolific Technology Inc.
[363673.938428] usbcore: registered new interface driver pl2303
[363673.938441] usbserial: USB Serial support registered for pl2303
[363673.938459] pl2303 1-1.1.1:1.0: pl2303 converter detected
[363673.939754] usb 1-1.1.1: pl2303 converter now attached to ttyUSB0
Разницу видно?..
MIX писал(а):Реконнект на аппаратном уровне происходит, и быстро судя по всему.
А судя по спекам USB до нескольких секунд... Кому верить?.. :)
MIX писал(а):пока не подашь команду на коннект снова.
всё правильно, но этот конект сработает только тогда, когда устройство снова будет готово.
MIX писал(а):В любом случае в халскопе задержки при реконнекте не выглядели пугающе.
Не надо путать реконект программы к порту ttyUSB и реконект двух устройств соединённых по USB, когда заново запускается нумератор и "проходится" по всем USB устройствам (мышкам, флешкам, хабам и т.п.).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение selenur »

Задержка может быть и по такой причине: при использовании FT232r микросхем, есть еще один нюанс, по умолчанию при пере-подключении, микросхема стартует с новым серийником, и в той-же виндовс появляется новый ком-порт с новым номером(но долгая задержка поиска и установки драйвера). Если запустить специальную утилиту от FT то можно в настройках микросхемы FT232r снять флаг генерировать новый серийник, и при пере-подключении номер ком порта не меняется, и тогда задержка значительно меньше.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Serg »

Изменение серийника никак не повлияет на номер COM-порта - нумератор в винде привязывается к номеру USB-порта, т.е. адаптер, вставляемый в один и тот-же порт всегда будет создавать один и тот-же COM (если он не занят).
Да и в спеках на FTDI не припомню способности генерировать новый серийник, его только внешними командами можно изменить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение selenur »

UAVpilot писал(а):Изменение серийника никак не повлияет на номер COM-порта - нумератор в винде привязывается к номеру USB-порта, т.е. адаптер, вставляемый в один и тот-же порт всегда будет создавать один и тот-же COM (если он не занят).
Да и в спеках на FTDI не припомню способности генерировать новый серийник, его только внешними командами можно изменить.
Вечер доберусь до контроллеров, точно проверю, но по памяти вот тут:
2015-11-24_101124.png (1627 просмотров) <a class='original' href='./download/file.php?id=64315&sid=7d8564c5d4eb7b07cfa7309ea6495ec2&mode=view' target=_blank>Загрузить оригинал (29.75 КБ)</a>
выделил желтым, (просто фотка не моя, и красное выделение не моё...) у меня из-за перетыкания в один и тот-же порт количество ком-портов, дошло до 20 штук...
хотя конечно, возможно просто был глюк... Но сняв флаг, нумерация перестала расти.

п.с. забыл сказать что FT микросхема настраивается с помощью ftprog утилиты, на сайте производителя есть.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
MIX
Кандидат
Сообщения: 89
Зарегистрирован: 23 авг 2015, 09:48
Репутация: 34
Настоящее имя: Михаил
Откуда: С. Петербург
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение MIX »

UAVpilot писал(а):
MIX писал(а):Смотрел в халскопе, благо помех одно время валило предостаточно.
Сигналы на USB шине? :shock:
Зачем мне отдельно по USB шине?
Суммарные в хале. Там видно на сколько тактов поток данных прерывается.
UAVpilot писал(а):
MIX писал(а):ID, если правильно понимаю, есть во всех устройствах ибо прописано в стандарте. Если оно не определено, его, видимо, можно задать.
Нет, это необязательный атрибут.

Код: Выделить всё

[363595.451394] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[363595.451413] ftdi_sio 1-1.1.1:1.0: device disconnected
[363595.619919] usb 1-1.1.1: new full-speed USB device number 18 using xhci_hcd
[363595.711230] usb 1-1.1.1: New USB device found, idVendor=0403, idProduct=6001
[363595.711233] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[363595.711234] usb 1-1.1.1: Product: FT232R USB UART
[363595.711235] usb 1-1.1.1: Manufacturer: FTDI
[363595.711236] usb 1-1.1.1: SerialNumber: A902YH2I
[363595.714083] ftdi_sio 1-1.1.1:1.0: FTDI USB Serial Device converter detected
[363595.714103] usb 1-1.1.1: Detected FT232RL
[363595.714342] usb 1-1.1.1: FTDI USB Serial Device converter now attached to ttyUSB0

Код: Выделить всё

[363672.850931] usb 1-1.1.1: new full-speed USB device number 19 using xhci_hcd
[363672.925709] usb 1-1.1.1: New USB device found, idVendor=067b, idProduct=2303
[363672.925712] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[363672.925713] usb 1-1.1.1: Product: USB-Serial Controller
[363672.925714] usb 1-1.1.1: Manufacturer: Prolific Technology Inc.
[363673.938428] usbcore: registered new interface driver pl2303
[363673.938441] usbserial: USB Serial support registered for pl2303
[363673.938459] pl2303 1-1.1.1:1.0: pl2303 converter detected
[363673.939754] usb 1-1.1.1: pl2303 converter now attached to ttyUSB0
Разницу видно?..
Видно. И во втором случае никак нельзя задать идентификатор?
UAVpilot писал(а):
MIX писал(а):Реконнект на аппаратном уровне происходит, и быстро судя по всему.
А судя по спекам USB до нескольких секунд... Кому верить?.. :)
Верить спекам, но учитывать, что в них предусмотрен случай подключения до 128 устройств (если правильно помню) в цепочках непомню сколько уровней концентраторов. Те же флешки изрядно долго иногда мигают, пока в системе не определятся. Плюс дрова... У меня же всего 5-6 устройств учитывая концентраторы. И не флешка, а преобразователь юарт-последовательный интерфейс.
UAVpilot писал(а):
MIX писал(а):В любом случае в халскопе задержки при реконнекте не выглядели пугающе.
Не надо путать реконект программы к порту ttyUSB и реконект двух устройств соединённых по USB, когда заново запускается нумератор и "проходится" по всем USB устройствам (мышкам, флешкам, хабам и т.п.).
Золотые слова! Вы перечислили почти все мои USB устройства. Под ''т.п..'' остались скрыты только FTDI и пульт управления.
К слову корневой концентратор у меня вроде пока не выбивало. Дело ограничивается временной потерей коннекта с микросхемой FTDI. Но сейчас и этого почти нету. Землю нужно хорошую делать )
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Nick »

Примерно так:

Это все в custom.hal
в двух словах:
есть updown - который считает смещение -=> вывод идет в sum2 там делаем умножение и смещение, чтобы получить интервал (0,2) -> выход подаем на motion.adaptive-feed(Важно в Gкоде надо дописать M52 P1. )
также для updown нужен генератор имульсов, для этого используем stepgen в режиме управления скоростью и выходами up/down. Для этого в основном hal надо найти загрузку loadrt stepgen и туда добавить (в step_type ",1") (в ctrl_type ",v"). stepgen управляется по скорости - ее задаем от пинов parport через mux4 (надо вписать свои пины!).

Пробуй, пиши какие будут ошибки :).

Код: Выделить всё

loadrt updown 
loadrt sum2
loadrt conv_s32_float 
loadrt mux4

addf updown.0 servo-thread
addf mux4 servo-thread
addf conv-s32-float servo-thread
addf sum2.0 servo-thread


net count-up => updown.0.countup 
net count-down => updown.0.countdown
net updown_counts <= updown.0.count 
# параметры 
setp updown.0.clamp 1
# минимальное/максимальное значение (потом будет домножено на 0.0001)
setp updown.0.max 10000
setp updown.0.min 10000




net updown_counts => conv-s32-float.0.in
net sum2_in1 <= conv-s32-float.0.out

net sum2_in1 => sum2.0.in1
setp sum2.0.gain1 0.0001
setp sum2.0.offset 1 

net adaptive_feed <= sum2.0.out 
net adaptive_feed => motion.adaptive-feed
#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.


#stepgen step_type=1 ctrl_type=v 

net count-up <= stepgen.5.up 
net count-up <= stepgen.5.down  
setp stepgen.5.steplen 1000000
setp stepgen.5.stepspace 1000000
#setp stepgen.5.maxaccel 1000 
#setp stepgen.5.maxvel 1000 

net mux-sel-0 => mux4.0.sel0 <= parport.0.!!!!!!!!![сюда свой пин]
net mux-sel-1 => mux4.0.sel1 <= parport.0.!!!!!!!!![сюда свой пин]
# скорости вверх/винз
setp mux4.0.in1 100 
setp mux4.0.in2 -100 

net step-vel <= mux4.0.out => stepgen.5.velocity-cmd


Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Nick »

Да, может надо будет поменять номер stepgen.5, в зависимости от того, сколько у тебя их уже есть.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6193
Откуда: Казахстан.
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение aftaev »

Ура Nick, появился процесс пошел :) Вечером испробую!
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Serg »

selenur писал(а):выделил желтым, (просто фотка не моя, и красное выделение не моё...) у меня из-за перетыкания в один и тот-же порт количество ком-портов, дошло до 20 штук...
В мануале на утилиту сказано, что это сама утилита может генерить уникальные номера для чипа...
MIX писал(а):Суммарные в хале. Там видно на сколько тактов поток данных прерывается.
Так это зависит от характера помех на шине. Например в случае непостоянной помехи часть пакетов будет иметь неправильную CRC, а часть будет проходить - поэтому реконенкта какое-то время происходить не будет, но и байтики по RS232 ходить не будут...
MIX писал(а):К слову корневой концентратор у меня вроде пока не выбивало. Дело ограничивается временной потерей коннекта с микросхемой FTDI. Но сейчас и этого почти нету. Землю нужно хорошую делать )
В том-то и дело, что время "потери конекта" согласно спекам USB ничем не ограничено - оно в принципе может быть и бесконечным. А проге-то что делать? Подождать ещё несколько секунд или уже не надеяться на восстановление и генерить аварию?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
MIX
Кандидат
Сообщения: 89
Зарегистрирован: 23 авг 2015, 09:48
Репутация: 34
Настоящее имя: Михаил
Откуда: С. Петербург
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение MIX »

Ок. Учту эти моменты и буду наблюдать ситуацию. По факту пока критических разрывов в потоке данных нет. Связь с устройством восстанавливается достаточно быстро. ПИД и инерционность механики совместно с фильтром на входе легко сглаживают эти потери на максимальной скорости реза.
В общем доволен. По сравнению с UP/DOWN системой небо и земля.
Если кому надо готов отдать освободившийся польский блок THC PROMA.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6193
Откуда: Казахстан.
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение aftaev »

MIX писал(а):Если кому надо готов отдать освободившийся польский блок THC PROMA.
Мне надо :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
MIX
Кандидат
Сообщения: 89
Зарегистрирован: 23 авг 2015, 09:48
Репутация: 34
Настоящее имя: Михаил
Откуда: С. Петербург
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение MIX »

aftaev писал(а):
MIX писал(а):Если кому надо готов отдать освободившийся польский блок THC PROMA.
Мне надо :)
В личку.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Predator »

aftaev писал(а):Мне надо :)
Неужели место в огороде освободилось? :)
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6193
Откуда: Казахстан.
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение aftaev »

Predator писал(а):Неужели место в огороде освободилось?
Мож ее получится на проволоку поставить. Размер ее 100мм х 100мм, в огороде для такой коробульки место найдется :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Predator »

aftaev писал(а):Мож ее получится на проволоку поставить.
Ты ж вроде уже запустил проволоку? :think:
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6193
Откуда: Казахстан.
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение aftaev »

Predator писал(а):Ты ж вроде уже запустил проволоку?
Да запустил, сейчас пока пишу - режет сталюку.
Но режет на минимальной скорости чтобы проволока не прилила из-за КЗ и не порвалась. Потому и нужно управлять скоростью.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Адаптивное управление скоростью подачи для WEDM.

Сообщение Predator »

aftaev писал(а):сейчас пока пишу - режет сталюку.
Видео бы чтоли заснял.
PS: Да и что с токарным, когда покажешь его во всей красе? А то уже 3 года прошло и кроме обрывков/кусочков/уголков ничего не видно.
Ответить

Вернуться в «LinuxCNC»