Real-time USB контроллер для станков с ЧПУ

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

Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

Тема создана по мотивам Mach и USB контроллер #49.
Если появится результат, он появится и в шапке :).

Пока основная цель добиться полноценного обмена между контроллером и УП по USB с частотой не менее 1кГц. Т.е. уместить весь обмен в одну мс.

Это должно позволить сделать полноценный контроллер для управления станками по USB.
Petka
Мастер
Сообщения: 242
Зарегистрирован: 17 апр 2011, 12:23
Репутация: 20
Контактная информация:

Re: Mach и USB контроллер

Сообщение Petka »

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

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение aftaev »

Тут для пульта был предложен вариант обмена по USB Интересно было для начало хоть какой нибудь обмен USB замуить :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Lexxa »

Самый крутой пульт был бы с eth интерфейсом.
:bender:
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Impartial »

aftaev писал(а):Тут для пульта был предложен вариант обмена по USB Интересно было для начало хоть какой нибудь обмен USB замуить
А по Com уже получилось?
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Impartial »

Nick писал(а):Пока основная цель добиться полноценного обмена между контроллером и УП по USB с частотой не менее 1кГц. Т.е. уместить весь обмен в одну мс.
На мой взгляд реалтайм в 1 мс там не нужен если использовать внешние блоки управления (ПИД или синтезатор). Так поступают многие производители плат расширения под МАЧ и ЕМС.
Вот для начала исходник внешнего цифрового ПИД, который я использовал в распределенном контроллере с обменом через RS422.
Преимущество этого ПИД в том, что он легко реализуется на логике и не требует плавающей точки.
Вот здесь я немного о нем писал пост #54
http://www.cnc-club.ru/forum/viewtopic. ... 0&start=40
PID.zip
(474 байт) 658 скачиваний
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение aftaev »

Impartial писал(а):А по Com уже получилось?
Жду плату для СОМ
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

Естественно все должно быть на внешних PID, Stepgen и PWMgen. 1мс - это стандартный сервоцикл, хочется стремиться к нему, не хочется увеличивать его до 4 мс.
Impartial писал(а):Преимущество этого ПИД в том, что он легко реализуется на логике и не требует плавающей точки.
Что-то я не понял, как он считает интегральный член без деления и переполнения?
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Impartial »

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

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

круто, а почему все так не делают?
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Impartial »

Многие платы с ПИД на FPGA используют этот алгоритм.
Основное преимущество - скорость. У меня это работает на скорости 20нс в одном проекте.
Его идею я выкладывал здесь.
http://lasers.org.ru/forum/threads/%D0% ... 0%B0.2126/
Igor

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Igor »

Nick писал(а):круто, а почему все так не делают?
Все так и делают, это стандартный алгоритм для дискретного регулирования.
рекомендую прочитать курс лекций ТАУ (Теория Автоматического Управления)
ЗЫ
Оказывается что-то еще помнится с института - специальность электропривод и автоматизация пром. установок
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

Ага, понятно для дискретного.
Кстати, сейчас глянул на pid в emc2, там он считается с floating point. Там правда command в любом случае в виде float приходит.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение 2cme »

Насчет контроллера, подскажите где в исходном коде emc2 находится код/функции который преобразует G-code в управляющие импульсы.
По передачи данных 1000раз/с, где именно вы столкнулись с трудностями на стороне ПК или на МК?
Может как вариант рассмотреть возможность передачи пакета данных в мк с меньшей требовательностью к realtime, а мк уже выдерживает соответствующие временные интревалы?
Интерестно как автор planet-cnc.com смог это реализовать для pic18f4550. По обрывочным данным на одном форуме я нашел что автор за основу взял linux emc2, но не знаю насколько это достоверно.
Я планирую сделать opensource проект, и применить помощнее мк с usb.
Также можете подсказать есть ли открытые реализации usb подключения для схемы step/dir под mach3?
Это сообщение опубликовано из ЛС.
--Nick
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

2cme писал(а):Насчет контроллера, подскажите где в исходном коде emc2 находится код/функции который преобразует G-code в управляющие импульсы.
Само преобразование Gкода не подскажу, т.к. оно ооочень сложное и большое. примерное описание работы gкодов занимает ого-го сколько, а сама программа будет еще больше :).

А генерация управляющих импульсов для шаговых двигателей делается в stepconf.c. Это отдельный компонент. На него приходят все настойки и готовая команда к перемещению в виде float. Вот этот компонент имеет смысл разместить на микроконтроллере. И тут мы как раз упираемся в пропускную способность USB, если получится этот float стабильно 100 раз в секунду пихать на контроллер, то задача считай решена :).

По mach не знаю....
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение 2cme »

aftaev писал(а):Тут для пульта был предложен вариант обмена по USB Интересно было для начало хоть какой нибудь обмен USB замуить :)
Здравствуйте.
Я могу сделать пульт usb, с возможность задания функции для каждой кнопки. Чтобы пульт получился универсальным я предполагаю его сделать эмулирующим работу клавиатуры, то есть пульты будет посылать в ПК коды "горячих кнопок". Плюс данной схемы в том что данный пульт универсален, и подойдет практически к любому ПО (emc2, mach, и т.д.), т.к. возможность управления "горячими кнопками" есть практически в любом ПО для управления ЧПУ. Минус в том что окно управляющей программы должно быть активно, или необходимо будет сделать утилиту которая активирует окно программы управления ЧПУ при получении команды от usb пульта.
Это интерестно?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

ИМХО пульт должен быть пультом и должен управлять станком, вне зависимости от открытого окна. В противном случае можно просто взять bluetooth клаву. Для emc2 главное, чтобы на компе был клиент пульта, который мог бы экспортировать пины кнопок в hal.bit, рычажков в hal.float или hal.s32. Т.е. нужна маленькая программка, которая сможет забирать данные с пульта, а дальнейшее пишется в 5 строчек.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение 2cme »

Для того чтобы пульты был "привязан" к управляющей проге, необходимо разбираться с каждой программой и кодить.
А мой предлагаемый вариант usb hid пульт, на контроллере pic18f14k50. Могу сделать неторопясь за неделю. Так же можно добавить валкодер (вреде так называется).
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Real-time USB контроллер для станков с ЧПУ

Сообщение Nick »

Как опыт будет безусловно интересно! С удовольствием помогу с возникающими вопросами по программированию/Linux/LinuxCNC.

Можешь даже отдельную тему создать: Пульт для станка с ЧПУ на базе USB Hid pic18f14k50
Ответить

Вернуться в «Windows / Mach»