Этак тема в некоторой степени является продолжением другой моей темы http://www.cnc-club.ru/forum/viewtopic.php?f=16&t=7512
Являюсь счастливым обладателем китайского usb контроллера для mach3. Знаю, что людей с таким контроллером не много, но они есть. И тема эта в основном для них. Это расказ о том, как я боролся с глюками этого контроллера, и что в итоге получилось. Итак приступим.
Захотелось мне сделать оцифровку поверхности, для дальнейшей гравировки по ней. НО!
Этот контроллер отказывается нормально выполнять команду G31. Опытным путем установил, но если в настройках драйвера убрать галку "GSpeedHigh", то система начинает шевелиться. Не так как надо, но что-то делает.
В общем плюнул я бороться с глюками и попытками подстроить G-код так, чтобы контроллер его нормально выполнял и решил что проблему можно решить кардинально - VB скриптом.
Как оказалось у такого способа есть свои минусы, но есть и плюсы. Главный - это возможность реализовать подъем измерительного инструмента не до безопасной Z, а на какую-то константу, что может быть удобно при сканировании элементов с большим перепадом высот
В общем был написан помощник, которым я с удовольствием с делюсь с теми, кто заинтересовался.
Найти его можно тут: https://yadi.sk/d/BKNnisRc3L9LLJ
Установка - скопировать так, чтобы получилось mach3/Addons/Digitize VB/ ну или скопировать куда-нибудь и запустить copy.bat - он сам всё сделает, но при условии что мач у вас в C:\mach3\
Особенности помощника:
1. В меню указывается максимальный шаг X и Y, система может его несколько уменьшить, чтобы ровно вписаться в размеры сканируемой области.
2. Система меряет время, которое требуется для операций и прогнозирует сколько еще минут будет происходить сканирование. Понятно что это оочень приблизительно.
3. Просчитывает высоту подъема.
Как пользоваться:
1. После установки в жмем кнопу "Load Wizards"
2. Выбираем "Digitize VB"
3. Грузится сам помощник.
По контролам:
Максимальная Z - это считай безопасная Z. Система будет следить за тем, чтобы инструмент никогда не уходил выше этой высоты. На этой же высоте система переходит в точку G0X0Y0
Подъем по Z - высота, на которую поднимается инструмент после измерения относительно измеренной высоты. Если надо чтоб подъем был всегда до "Максимальная Z", просто укажите этот параметр очень большим.
Кнопка "Initial calibrate" - если включена, то вначале станок сделает одно лишнее измерение, но точнее спрогнозирует оставшееся время.
Cкрипт всегда сохраняет данные в файл D:\TESTFILE.txt
Теперь бочка дегтя к ложке меда, и на основнии этого мои вопросы, которые я пока не решил, по которым прошу помощи, чтоб добавить это в проект:
1. В программе Mach3Screen V2.7e у меня не грузятся картинки, вообще, ни jpg, ни bmp. пробовал сохранять проект и переоткрывать прогу - не помогает. Картинки кидаю из нужной папки. Может нужно чтоб была какая-то особенность у картинок, или я что-то делаю не так.
2. Команда G31 после каждого касания тупит пару секунд. Точнее несколько секунд держится сигнал IsMoving(). Похоже это особенность контроллера. Есть мысль сделать вообще в обход G31, но для этого надо реализовать что-то типа:
Код: Выделить всё
while GetDRO(825)=0
<jog>
wend3. Как установить OEMDRO 815 и 814 - elapsed time и estimated time. Как не бился, что не пробовал - они всегда в нуле. Хотя в доках запрета на запись в них не нашел.
4. Не разобрался как при загрузке помощника установить некоторые UserDRO в нужные мне значения. Сейчас для этого приходится пользоваться кнопкой.
Как вы, возможно, заметили, этот скрипт выдает не обязательно квадратную сетку при сканировании, более того эта сетка может быть очень неравномерной (например 20 измерений по X через с сантиметр и 3 измерения по Y через 15 сантиметров). Это не баг, хотя арткаму такой подход очень не нравится. Для обработки этих данных я написал прогу, которая их перегоняет в stl. Саму прогу опишу и выложу позже.
PS. А, ну и список литературы
Mach Script Language Reference
http://www.machsupport.com/wp-content/u ... mmands.pdf
OEM LEDs
http://www.machsupport.com/Mach3Wiki/in ... e=OEM_LEDs
OEM_DROs
http://www.machsupport.com/Mach3Wiki/in ... e=OEM_DROs
Mach3Screen Designer and ScreenTweak
http://www.machsupport.com/wp-content/u ... Screen.zip