Бюджетный usb-контроллер для mach3 - кому интересно присоединяйтесь.

Dj_smart

Пины движков (всего 4 оси) - жесткие и в настройке не нуждаются, на вкладку мотороут можно не обращать внимание.

Думаю так.

arisov77

Может кому пригодиться - здесь item.taobao.com/item.htm?id=5794265317 есть схемки и фото китайского Mach3 USB. Там везде по In/Out стоит опторазвязка, думаю и для этого контроллера она будет не лишней.
По фото также видно, что к плате “подцеплен” переменник, для чего он там я не знаю, предполагаю что для таймера СОЖ. Если есть возможность, то неплохо бы эту “фичу” добавить.

Leg
Dj_smart:

Leg, плату в pdf’е можно?

К сожалению доступный мне вариант конвертации в пдф дает некоторые искажения окружности падов. В общем вот если устроит.

arisov77:

Ещё прошивочку МК и плагин под Масн осталось выложить… - хочется посмотреть, как в Масн это всё будет настраивается. Без подключенного “железа” это возможно?

Читайте выше, к концу недели-выходные выложу. Там много моих отладочно-проверочных кодов типа вывода кода состояния в окне координат и т.п. которые надо почистить. Дошлифую выложу.

Настраиваться в маче все будет так как и было. Все на том же месте. Только номер пина в портах может быть до 32, то что еще не реализовано просто не будет реагировать на настройку.

Dj_smart
Leg:

В общем вот если устроит.

Спасибо, устроит конечно. Ставить ПО, в котором ничерта не смыслишь… Подправим:).

Leg
arisov77:

Там везде по In/Out стоит опторазвязка, думаю и для этого контроллера она будет не лишней.

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

arisov77:

Т.е. какой ножке ЛПТ (в настройках Масн) будет соответсвовать определённая ножка AT90USB1287?

Заходим на вкладку Input(или Output) - Делаем все ровно то же - только в поле PIN# можем писать от 1 до 32 - это будет номер вывода подписанный на плате(см.фото). В поле PORT# пишем что кому нравится - ЛПТ отключен, эта информация не используется.

На вкладке Motor толкь включаем оси и выбираем активный уроветь, порт и пин до лампочки, пишем что хотим - выводы жостко прописаны в контроллере.

arisov77:

предполагаю что для таймера СОЖ. Если есть возможность, то неплохо бы эту “фичу” добавить.

Объясните как это должно функционироват, я не специалист по станкам. Мне станок нужен для доработки пластиковых корпусов под электронику и сверления плат. Во все тонкости работы ЧПУ я не внедрялся, делаю пока только то что понимаю.

Я только за - добавить новый функционал, но мне надо понимать с чем его есть.

boldive:

В чем рисовали плату? Если в Altium Designer то выложите пожалуйста проект. Проще будет с разводкой ковыряться.

Плата в pcad2004, Altium Designer естественно ее поймет. Скиньте свое мыло на мыло в pdf, вышлю(я не любитель держать в открытом доступе “исходники” и библиотеки даже самых простых проектов).
Кому тоже надо в PCAD - на мыло.

boldive:

Не совсем нравится идея с выходными разьемами на IO. Наверно лучше использовать разьемные соединения. Но это дело вкуса.

Да дело вкуса. Но не забывайте что их там 52. С таким шагом пойдут только типа мелких PWL или IDC с которыми на мой взгляд пользователь больше намучается с пайкой-обжимом чем с пружинными контактами - особенно если надо будет быстро перетыкнуть. Я исходил из этого.

boldive:

Я бы на выходе еще буфера поставил. Они дорого не стоят а вот пользы от них будет много.

Для тех кто собирает девайс и смотрел схему поясню мой ход мыслей:
Как видно из схемы выводы контроллера на прямую идут на выходные разъемы есть только защитные резисторы. Нету даже подтяжки. Это не удешевление:

  1. Это пилот, и как первая версия он должен быть максимально комфортный для дальнейшей доработки. Все согласование можно общими усилиями разработать, оттестить снаружи, реализовать во второй версии если есть необходимость.
  2. Буфера оптроны и т.п. - повторюсь, выводы работают как на ввод так и на вывод, и не группой а каждый отдельно, продумать буферизированные двунаправленные пины можно, но на пилоте я бы не заморачивался - основная задача сейчас софт.
arisov77
Leg:

…Объясните как это должно функционироват, я не специалист по станкам. Мне станок нужен для доработки пластиковых корпусов под электронику и сверления плат. Во все тонкости работы ЧПУ я не внедрялся, делаю пока только то что понимаю.

Я только за - добавить новый функционал, но мне надо понимать с чем его есть…

Таймер СОЖ (смазочно-охлаждающие жидкости) в основном нужен для работы с металлами. Вообще то для полноценной работы нужно 2 регулятора (время паузы и время включения насоса). Здесь www.purelogic.ru/doc/PDF/Controller/PLC4x.pdf на стр.8 и здесь stepmotor.ru/…/Плата шагового привода станков с ЧП… можно посмотреть краткое описание и узнать значения времени вкл./выкл. помпы.
Также, если уж думать о универсальности, то неплохо бы аппаратно (в плате) предусмотреть возможность подключения преобразователя ШИМ>в напряжение 0…10В (для регулирования частоты вращения шпинделя).

Leg:

… Все согласование можно общими усилиями разработать, оттестить снаружи, реализовать во второй версии если есть необходимость.
2. Буфера оптроны и т.п. - повторюсь, выводы работают как на ввод так и на вывод, и не группой а каждый отдельно, продумать буферизированные двунаправленные пины можно, но на пилоте я бы не заморачивался - основная задача сейчас софт.

Желаю Вам в успехов в написании и оттачивании софта, а «железо» – каждый может по своему реализовать. Думаю, что если будет нормальный софт, то этот usb-контроллер для mach3 может стать «хитом» среди «любителей - ЧПУшников»

dima-357

item.taobao.com/item.htm?id=5794265317 схемки и фото китайского Mach3 USB. Вот ента штучка конечно интересна, еще бы и исходник для АТмеги был бы выложен былоб круто,
а по этой диковинке на русском или хотябы на инглише у кого нибудь есть инфа? по китайски я чето плохо понимаю.

arisov77

Если уж и дальше мечтать о совершенствовании usb-контроллер для mach3, представленным Leg, то хотелось бы видеть на его «борту» ещё и аппаратный преобразователь ШИМ>в напряжение 0…10В, типа такого www.cncathome.com/vfd.html или robozone.su/…/pwm-kontroller-shpindelya-rev-11.htm… (для регулировки частоты вращения шпинделя).

OffTop: почему то моё сообщение №24 укоротилось. В нём было и про преобразователь ШИМ>10В и про то что в выше указанных ссылках (в сообщении №24) можно “подглядеть” значения времени паузы/времени работы помпы.

mura
dima-357:

Вот ента штучка конечно интересна, еще бы и исходник для АТмеги был бы выложен былоб круто,

там мегой и не пахнет, на SAM7 это.

dima-357

Извиняюсь конечно , но производитель то АМТЕЛ, просто я быстро глянул вижу АТ, вот и подумал

Leg

Кто сделает железку - отпишитесь. Начну выкладывать ПО. Пока нет железа буду дописывать ПО.

Просьба: Посоветуйте файлообменник куда выложить плагин. Драйвер и прошивка будут доступны на моем хосте. Плагин как и любое самописное ПО под PC - пока на стороннем, скоро эту проблему решу и новые версии будут лежать вместе с прошивкой у меня. Думаю причину проблемы объяснять не надо.

А теперь вопросы:
Вожусь с возвратом на базу. Дело в том что эта функция полностью реализована внутри драйвера, сам мач ничего не делает кроме вызова самой функции. Соответственно мне надо полностью реализовывать ее самому.
В доках мача написано что при вызове баз должно начаться движение до наезда на концевик, потом в обратную до съезда. По факту при использовании ЛПТ я вижу что происходит только наезд и сразу принятие базы - съезда не происходит. В чем причина? И вообще кто-то может рассказать как правильно должно функционировать - принятие баз.
В доке сказано что наезд и съезд - идут на одинаково малой скорости. Какой тогда смысл в съезде вообще? Если бы наезд шел на повышенной скорости - а съезд на малой для точного останова - я бы понял. А так че-то не понятно.

dima-357

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

Leg
dima-357:

Я занимался с одним станком делают москвичи, электроника китай , там у них пульт , вставляется флешка с программой обработки и вперед,

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

dima-357

Мне кажется что в маче надо макрос писать, по другому ч не знаю

или настройки какието еще есть,

Leg
dima-357:

Мне кажется что в маче надо макрос писать, по другому ч не знаю

Не надо, итак пишется плагин в которм я могу вертеть мачем как хочу. Я могу реализовать любой алгоритм возврата баз. Проблема в другом.
В посте 29 я описа что фактически полученный результат при использовании стандартного мача с ЛПТ отличается от моего понимания документации.
Что бы корректно реализовать функцию - мне надо знать как должен вести себя чистый мач с теми или иными настройками. Что бы возвращать ему результат которого он ожидает (даже если фактический алгоритм другой) - иначе мач будет жить своей жизнью а железо своей.

dima-357:

или настройки какието еще есть,

Это ближе, вот кто бы рассказал какие, перевертел уже все.
Мне как кодеру проще понять реализацию смотря на код а не настройки - к сожалению это одна из функций полностью скрытых внутри драйвера и увидеть ее реализацию нет возможности.

dima-357

Надо в мач заглянуть , давненько я его не открывал, че разведаю отпишусь

Baha

могу код Турбоснс скинуть.

на промышленных в основном стоят индуктивные концевики, там два раза переезжает концевик, а потом только отходит, выставляет нулевую точку. А дополнительные базы выставляются через G код, G54 и далее, к физической машине отношение не имеет.

dima-357
Leg:

В доках мача написано что при вызове баз должно начаться движение до наезда на концевик, потом в обратную до съезда. По факту при использовании ЛПТ я вижу что происходит только наезд и сразу принятие базы - съезда не происходит. В чем причина?

Я посмотрел , это из за того что в настройках стоит галочка Auto Zero, я скинул пдф файл mach3_2 , почитайте, начиная с раздела переключение баз, в разделе параметры калибровки про Auto Zero описанно , если его выключить то будет наезжать а потом сьезжать с конечника, если включить то при наезде цыфра устанавливается по нулям.

mach3_2.rar

Leg
dima-357:

Я посмотрел , это из за того что в настройках стоит галочка Auto Zero,

Проверял,если Auto Zero выкл., то при наезде на хом координата просто не обнуляется(не принимает значение home off.), реверса все равно не происходит, сразу идет к следующей оси.

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

dima-357

там еще Home Neg для Х и Y надо включить и проставить остальные значения в меню Диалог Базы и программных пределов

почитайте там все подробно написанно, нужно еще учитывать в какую сторону едет в + или в -, от этого зависят настройки

Slow Zone предел замедления скорости при движении к базе и пр.

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

А вообще мне кажется особо и заморачиваться не нужно, ваше устройство фактически является ретранслятором комманд матча через усб к станку , и как бы матч не был настроен он это станку передаст, вот и все,

Leg
dima-357:

А вообще мне кажется особо и заморачиваться не нужно, ваше устройство фактически является ретранслятором комманд матча через усб к станку , и как бы матч не был настроен он это станку передаст, вот и все,

Нет, это в корне не так. Не так все просто. Мач не дает никаких комманд. Все что происходит со станком и визуальным интерфейсом - все пишется мной. Вплоть до траектории движения на экране, всех сообщений в статусе, даижения окна УП, вывода кординат, в общем ВСЕ. Мач только вызывает функции в ответ на действия пользователя и расчитывает траеторию УП - все, все вызываемые функции я должен реализовать сам.

Если просто отключить родной драйвер мача и подсунуть пустой плагин Вы вообще не увидите ни каких изменений на экране.