Написание плагинов движения для mach3

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

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

Re: Написание плагинов движения для mach3

Сообщение Impartial »

ipr писал(а):один сервопривод стоит как весь мой станок, и для своих любительских целей об их применении я даже не думаю.
:) Зря! Двигатели с энкодерами от струйников очень даже ничего. И в таких применениях, как например, автомат для нанесения паяльной пасты и раскладки компонентов, лучше не придумаешь. Нужно только управление добавить.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Impartial писал(а)::) Зря!
Даже не уговаривайте! Не дорос я еще до серв :hehehe:

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

Re: Написание плагинов движения для mach3

Сообщение aftaev »

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

Re: Написание плагинов движения для mach3

Сообщение Nick »

Если есть буфферизация то хоуминг правильнее всего делать целиком на контроллере. Передаем ему данные по скорости поиска, уточнения, и в какую точку приехать. Тогда после хоуминга можем смело выставить в Мач нужные координаты. Иначе не выйдет.

Либо по окончании хоуминга выдать мачу нужные координаты, но вроде в нем нет обратной связи :roll:
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

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

Re: Написание плагинов движения для mach3

Сообщение Impartial »

aftaev писал(а):чтоб было много I/O
:) Будет столько - запутаешься разбираться. Под завязку для мача.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

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

Re: Написание плагинов движения для mach3

Сообщение Nick »

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

Да, шаги наверное можно не считать :)
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

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

Re: Написание плагинов движения для mach3

Сообщение Nick »

ну если скорость меньше нужной, то ускоряемся... просто 1 if
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Impartial писал(а):Планировщик по большому счету нужен
Планировщик в маче работает только при интерпретации g-кода. Хоминг, ручное передвижение, щуп - все это нужно писать руками. Я же приводил внутреннее устройство плагина, неужели из него не понятно :-) Другое дело, что
Impartial писал(а):Эта задачка уж точно не для ПИКа.
Но можно и не в нем считать, а в плагине, а в пик отправлять результат расчета. Ту же максимальную скорость можно представить целым числом (кол-во шагов в сервоцикле), ускорение - им же (начиная от нулевой скорости, в каждом следующем сервоцикле увеличиваем количество шагов на эту величину). Что тут невозможного для пика? Это же не парсинг джикода...
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Вопрос: как думаете, можно ли для создания кучи выходов использовать сдвиговые регистры 74HC595, объединенные в цепочки? Тратить на такое дело порты контроллера мне кажется глупым, использовать плис - избыточным... А таким простым методом мы получим неограниченное количество выходов, управляемое 3-мя ножками контроллера ;)
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

ipr писал(а):Вопрос: как думаете, можно ли для создания кучи выходов использовать сдвиговые регистры 74HC595, объединенные в цепочки?
Можно, а если добавить еще в эту цепочку 74НС165 то получится еще и неограниченное количество входов. А потом можно собрать на рассыпухе генераторы шагов, ну и так далее... :)
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Impartial писал(а):добавить еще в эту цепочку 74НС165
Вы читаете мои мысли :hehehe:
Impartial писал(а):собрать на рассыпухе генераторы шагов
Вот этого точно не будет, ибо глупость. Хотя, есть задумки попробовать собрать генератор для каждой оси на отдельной CPLD примерно на 128 макроячеек (какие я без проблем могу купить в магазине, а не ждать неизвестно долгое время доставки). Если верить фиттеру квартуса, генератор может поместиться в такой :thinking:

Пару дней назад посетила меня такая (бредовая) мысль - сделать что-то вроде "материнской платы", где будут размещены разъемы входов/выходов/моторов, входные интерфейсы, опторазвязки, расширители портов ввода-вывода, и прочая крупногабаритная рассыпуха. А "мозги" сделать сменными, маленькой платкой с разьемами PLS, чтобы каждый раз, когда мне захочется поэкспериментировать, не переделывать всю плату.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

ipr писал(а): Если верить фиттеру квартуса, генератор может поместиться в такой
Влезет даже три.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

ipr писал(а):Пару дней назад посетила меня такая (бредовая) мысль - сделать что-то вроде "материнской платы", где будут размещены разъемы входов/
Если ориентироваться на то, что продается в ближайшем магазине, то идея классная :)
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Impartial писал(а):Влезет даже три.
Я с буферизацией проектировал, то есть, пока генератор выдает шаги, в него уже загружается следующий сервоцикл. Плюс настраиваемые параметры (длина импульса степ). В таком варианте не влазит :wik: Требует больше 300 ячеек.
Impartial писал(а):что продается в ближайшем магазине
Разочаровывают меня постоянно различные дистанционные методы покупок, долго очень идут :D Швп тут наконец дождался, больше двух месяцев ехали...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Impartial »

ipr писал(а):Требует больше 300 ячеек.
Посмотреть можно?
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Impartial писал(а):Посмотреть можно?
Нет, к сожалению, я уже (в порыве гнева :-) ) стер этот вариант. Сейчас бьюсь над отдельными генераторами для каждой оси, но там пока нечего показывать.
Вкратце принцип был такой: есть счетчик общего кол-ва шагов за сервоцикл, есть счетчик длины импульса степ, и счетчик длины промежутка между степами. Как они связаны, думаю, понятно. Также организован параллельный порт с буфером, куда загружается вся команда (длина степа, кол-во шагов за сервоцикл, длина промежутка в этом сервоцикле). Когда выполнены все шаги на всех генераторах, считывается команда из буфера, и параллельный порт становится в режим ожидания приема данных.
Ответить

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