В 0.9j сделали регулировку вращения скорости шпинделя ШИМом. Для этого задействовали шимный 11-й пин, а концевик Z, соответственно, переместили на 12-й пин.
GRBL shield последней версии про это знает, однако автор больше не выкладывает в открытый доступ свои платы (поскольку китайцы их тут же тиражируют за смешные деньги, и ему это не нравится).
А вообще настройка получилась годная. Очень неплохо работает с лазером (подключаем к этму шиму TTL-вход управления и всё).
Правда, для этого ещё нужно внести маленькие изменения в прошивку (в оригинале не предполагается изменение скорости вращения прямо по ходу работы, поэтому в потоке команд эта настройка не проверяется; нужно немного править код, чтобы это исправить).
Да работают вроде без проблем. Вам на датчик ноля или пределов? На пределы нет смысла индукционный, если только предел с нолем совмещен.
Ну, я думал их концевиками по всем осям ставить. Нет смысла по какой причине?
Думал, что они надёжнее, чем просто механическая кнопка, или ошибаюсь?
Могу предположить, что нулевые точки используются гораздо чаще, чем концевые, т.к. последние скорее для учета ошибки и их может не быть вообще, т.о. на концевых можно сэкономить.
Нет особого смысла. Незачем придумывать сложный датчик там, где отлично срабатывает банальная механическая кнопка (микропереключатель). Даже оптика там будет лишней (и даже менее надёжной - покуда условия пыльные).
В grbl нулевые и концевые параллелятся (и это логично).
Все датчики используются как триггеры аварии. Нулевые кроме того активно используются в цикле поиска нуля.
Добрый день. Есть у меня станочек ЧПУ на работе, делает серийку. Работает из под MACH3, никаких проблем. Принял работника на этот станок...никак с компом не дружит, открыть MACH3 с нужным профилем, "обнулиться" по пределам, загрузить программу и запустить ее для него задача невыполнимая! :о( Ладно, перейду в автономку, программа там относительно простая(ортогональные ходы), напишу в Accelstepper и делов то. Потом вижу GBRL, думаю и писать ничего не надо перекину туда действующую в G-кодах Прошивку залил, поставил GBRL Sender, попробовал менять настройки - без проблем. Но у меня какой-то вопрос дураций возник " А что Sender в UNO шлет?". Я бы хотел цикл ожидания на нажатие кнопки в программе ввести. В G-кодах никак! Подправить, то что он выдает на УНО или не мудрить в Accel переписать
Все сендеры для GRBL отправляют g-code. Иначе говоря что прочитали в файле то и отправили. Кроме этого они умеют слушать ответ контроллера про исполнение строк. Файл отправляется построчно по мере выполнения, размер первичной отправки настраивается (обычно 10-50 строк) и по мере выполнения программы досылаются следующие строки. Все это связано с малым объемом оперативной памяти у дуни и объемом буфера СОМ порта.
Сложные вычисляемые программы на такой контроллер не отправить - памяти не хватит обработать. Работать будет в основном с линейными программами без подпрограмм ИМХО.
Запутали. Если Sender пересылает ровно то, что написано в нем, то я в loop-е могу написать такое: G00 X20? Потом скомпилировать и.. по оси X пердвинуться в 20 единиц? Мне плохо :о(
Давайте так..на примере. Мы пишем в Sendere строчку G00 X20. Результатом должен быть "ногодрыг" второй ноги УНО (StepPulse X-Axis) Что или ХТО смотрит параметры:
-$100(GRBL) - настройка эээ скажем так step per по оси X
-$110(GRBL) -максимальная скорость по оси Х
-$120 (GRBL)- ускорение по оси Х,
А потом считает задержки между импульсами Step (дерганье на второй ноге УНО) на этапе разгона, установившуюся частоту сигналов Step на равноускоренном участке, ну и параметры торможения.
Обработает её входным парсером и запушит результат в планировщик движений (созданный как раз ради плавности).
Размерность зависит от единиц измерения (предположим, вы отправили ранее G21 так что всё в миллиметрах).
g0 x20 - передвинуть x в позицию 20 мм (или +20мм, если координаты относительные).
Параметры $ хранятся в ПЗУ (для простоты) grbl касательно конкретной машины (к которой он привязан). Он же (grbl) их оттуда и читает. Потому в данном случае случится программирование таймера, который
1) с учётом параметра $120 начнёт движение с ускорением шпинделя по оси X.
2) по достижении $110 прекратит ускорение и дальше продолжит линейно подавать импульсы.
3) По достижении порога торможения (сколько ещё нужно пройти с замедлением по параметру $120 чтобы остановиться в нужной точке) начнёт пропорциональное торможение.
4) Скорость во всех вышеупомянутых пунктов из миллиметров преобразуется в количество импульсов по параметру $100.
При всём упомянутом - тут идёт работа на прерываниях, т.е. "главный мозг" микроконтроллера не заботится о точных временных интервалах.
(собственно, в mach всю эту работу выполняет ЦП компьютера. Потому эта технология и являетя морально устаревшей, покуда нынешние популярные ОС не рассчитаны на соблюдение точных временных интервалов, а вот для МК, который ничего больше не делает, можно и "снизойти" столь низко).
В grbl возможен только такой, "трапецевидный" профиль движения.
В TinyG (форк grbl с расчётом на более умное железо) сделан кубичный профиль (т.е. там ещё и ускорение меняется).
Да, именно так. При этом скорость подачи импульсов может быть вплоть до 30кГц. И это потолок Arduino Uno.
Более того,
G02 X2 Y0 I0 J2 Z10 F100
будет понят правильно, аппроксимирован ВНУТРИ ардуины кучей маленьких отрезков, и изобразит в пространстве поднимающуюся дугу окружности.
Кроме того, входные команды не сразу идут в импульсы, а кладутся во входные буферы (есть буфер команд и буфер планировщика). Первый позволяет "всосать" десяток-полтора команд на скорости порта, а во второй кладутся предрасчитанные движения, чтобы не делать эту математику после каждой из полученных команд. Своего рода многозадачность :). Это имеет смысл если вместо шпинделя у вас лазер, чтобы он не останавливался вдруг в какой-то точке из-за математики.
Кстати, в понятиях ДКА текущая исполняемая команда G - это состояние, которое меняется только следующей такой же командой. Потому вполне можно писать:
G01 x0 y0 f100
x20 y10
x10 y50 z30
Таких "укороченных" команд во входной буфер влезет гораздо больше.
Открыл Planner.c, а там в коментариях целая лекция, как раз по этому поводу. Можете мой вопрос проигнорировать. Пойду потихоньку читать коменты в файлах и пробовать как эта штука (GRBL) работает на макете.
У меня сейчас linuxcnc правит станком, есть на нане контроллер, будет позже запускаться. Вообще у меня есть мапле мини 32 разрядная, думал может ее приспособить, но пока что не решил как.
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
Если под лазер то пойдет под фрезу слабоваты движки
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
По напровляйкам бери что найдеш когда станок запустиш сам поймеш что нужно поменять по софту смотри какая электроника будет
мне надо более тщательно разобраться в основах -- типа как в GBRL есть настройки шага и т.п. - где их лучше реализовывать в приложении или в микроконтроллере и т.п.
мне надо более тщательно разобраться в основах -- типа как в GBRL есть настройки шага и т.п. - где их лучше реализовывать в приложении или в микроконтроллере и т.п.
тоесть все стороны данной темы рассмотреть.
Ну вот отсюда можно и начинать можно обкатать электронику без механники в этой теме все необходимое есть
Не советую мебельные направляющие, они жудку хлипкие, от самых маленьких нагрузок сразу отгибаются, приходится очень маленькие слои снимать. Где это кстати такие дорогие мебельные направляющие, в леруа кажись комплекты по 2 штуки от 100 до 400 в среднем.
Писали выше что для лазера. Хотя я не нашел что за движки. Поскольку они на 12В, то готовьтесь подавать минимум 24В иначе только ползать по 100-200 мм/мин, да и на 24В больше 500мм/мин не вытянут.
По поводу того что хотите алюминий пилить на нем... Удачи в общем. Можете мой станок найти в теме - он пилит АЛ, но по 0.1мм за проход. Простецкая деталька пилится минимум полчаса, нормальная за день не будет готова.
Обратите внимание на вариант с подшипниками на уголках - если руки достаточно прямые (чего о своих не могу сказать, никак не получается ровные поверхности/ряды отверстий сделать), то он даже АЛ пилить сможет неплохо. И вариант не сильно дорогой. Подшипники 608 по 30-40р/шт, уголок 100р/метр.
C grbl лучше всё же немного погрузиться в тему. Тогда многие "неразрешимые" вопросы снимутся. Например, какая распиновка, как её поменять, как "вшить" некоторые базовые функции.
Исходники ОЧЕНЬ хорошо документированы; прямо не сорцы а википедия!
Например, если посмотреть ветку edge то видно ближайший тренд: проект достиг "потолка" Atmega328. И в будущем релизе из новых функцию будет только пара переменных для настройки скорости шпинделя, а все совсем новые фичи теперь будут развиваться в grbl-Mega, который работает только на atmega2560.
Лично я хочу попробовать-пощупать проект tinyG - на него есть сборка под Arduino Due
Писали выше что для лазера. Хотя я не нашел что за движки. Поскольку они на 12В, то готовьтесь подавать минимум 24В иначе только ползать по 100-200 мм/мин, да и на 24В больше 500мм/мин не вытянут.
По поводу того что хотите алюминий пилить на нем... Удачи в общем. Можете мой станок найти в теме - он пилит АЛ, но по 0.1мм за проход. Простецкая деталька пилится минимум полчаса, нормальная за день не будет готова.
Обратите внимание на вариант с подшипниками на уголках - если руки достаточно прямые (чего о своих не могу сказать, никак не получается ровные поверхности/ряды отверстий сделать), то он даже АЛ пилить сможет неплохо. И вариант не сильно дорогой. Подшипники 608 по 30-40р/шт, уголок 100р/метр.
Рабочее поле больше 500х500мм не делайте.
Тоесть такие движки для 3д принтера самое оно, а вот сколько нагрузки потянут если:
пример - есть станина на ней ось Z двигается только площадка (ну она легкая, пока нет нагрузки), а вот ось X двигает шпиндель весом в 500 грам, не считая что на додьем шпинделя тоже двигатель...
Вот это потянут эти двигатели? если деревообработка будет, алюминий, текстолит (медь сдирать, гравировка плат), акрил...
По описанию не совсем понятна характеристика вес на см.. не силен в физике.
C grbl лучше всё же немного погрузиться в тему. Тогда многие "неразрешимые" вопросы снимутся. Например, какая распиновка, как её поменять, как "вшить" некоторые базовые функции.
Исходники ОЧЕНЬ хорошо документированы; прямо не сорцы а википедия!
Например, если посмотреть ветку edge то видно ближайший тренд: проект достиг "потолка" Atmega328. И в будущем релизе из новых функцию будет только пара переменных для настройки скорости шпинделя, а все совсем новые фичи теперь будут развиваться в grbl-Mega, который работает только на atmega2560.
Лично я хочу попробовать-пощупать проект tinyG - на него есть сборка под Arduino Due
Это я в курсе, но не думаю что так всё просто --- там библиотеки все почти на голом С, что само трудно воспринимаемо, я больше по С# понимаю. Гдето читал что там библиотеки несовместимы , тоесть вроде как возможно, но геморно переписать порты --- в мега и уно выводы отличаются... (я не про номера)
Вообще подумываю бросить терять время и просто спаять плату на ардуино надо, тем более кусок текстолита и лимонная кислота и маркер под рукой - но вот сверлить нечем.
Для старта можете поставить эти движки на шпильку М6 или М8. Будет хоть и медленно, но верно работать. У меня на 12В 0.4А со шпилькой М8 голову чуть не свернули когда шпиндель заклинило. И я их 12В кормил при этом!
Для старта можете поставить эти движки на шпильку М6 или М8. Будет хоть и медленно, но верно работать. У меня на 12В 0.4А со шпилькой М8 голову чуть не свернули когда шпиндель заклинило. И я их 12В кормил при этом!
Пробовал ранее их запускать -- крутили до 800-1000 об/мин, если меньше скорость - дури хоть отбавляй.
Ну я как раз прикупил 6-ку шпильки 3 метра, думаю хватит на то что задумал - а вот с муфтами труднее, покупать нехочу ща токарю брякну-- тот наклепает с 10-к (дырок насверлит,метчик есть, заодно на авито выложу, а то там помоему по 150 и выше заламывают, а из китая долго ждать).
Тоесть эти движки дерево переломают если подрубить их на 30В и без ограничений по току?
Я GRBL на Mach3 заменил. Стало веселее. Просто от лени копаться и разбираться. Мач вылизан и возможностей конечно больше, а мне резать надо, а не играться.
Переломать не переломает, но попортить может. У меня была ситуация уже с более мощным движком, на более свежей фотке с новой осью его видно. Голова вставала четко в определенном месте, мучался с полчаса - и винт проверил и каретку, везде все ровно и чисто пока взгляд не упал на верх, а там штангель лежит так хорошо... Все зависит от рычага.
Муфту можете сделать из резиновых трубок на первое время. Кстати возьмите после этого шпильку, подсоедините к ШД, шпильку вниз и двигатель на полные обороты (внизу не помешает шпильку во что-нибудь упереть чтобы не улетела) и посмотрите биение.
Оказывается научиться пилить гораздо сложнее, чем сам станок собрать. Уже 3 фрезы сломал. То скорость не та, то обороты, то при создании УП накосячу, то горизонталь ушла... но ничего, научимся! Очень хочется по стеклу гравировку попробовать и дочке игрушечную мебель запилить. Кукурузой из фанерки или однозаходной из ПВХ.
1. Не жалейте исходного материала. Когда я начинаю работать с новым материалом беру фрезу которой буду резать, ставлю желаемые обороты, делаю минимальное по моему мнению заглубление (0.1 для металла, 1 для дерева, 0.5 для оргстекла), ставлю минимальную подачу в 50 мм/мин, делаю пробный пропил сплошного материала с заходом с воздуха (начало реза за пределами заготовки. В случае успеха - увеличиваю глубину или скорость. Как только выявили предельные характеристики и поведение материала можно этот режим выставлять в программе.
Например сосну я в зависимости от диаметра фрезы пилю максимально на:
Кукурузой 3мм - 2мм по Z, съем по 1.5мм скорость 400мм/мин.
4-х перой 6мм Р6М5 (цанга на 6мм, фреза двухсторонняя советская, еле влезла) - 1мм по Z, съем по 2.4-5мм скорость 400мм/мин, но рядом со станком уже страшно находится. Зато пилит быстро относительно.
2. Желательно на первых деталях находится рядом со станком. С опытом придет когда надо следить, а то и действовать, а когда можно и погулять по улице :) Будьте готовы нажать E-stop при появлении нехорошего шума или сбоя. Оргстекло и Ал всегда пилю со смазкой (машинное масло), хочу еще попробовать оргстекло попилисть со спиртом.
3. На оргстекле не жмите е-стоп, только паузу! Если у вас налип шарик не пытайтесь его снять. Купите космофен для протирки, налейте его в емкость (только не пластиковую) и опустите туда фрезу - через полчаса шарик слезет как по маслу. Если все-же остановили в детали фрезу - она 100% к ней прилипнет. Деталью придется пожертвовать (или фрезой). Наливаем лужицу космофена, освобождаем аккуратно фрезу.
4. Креплю сейчас все на 2-х сторонний скотч. Особо ответственные (например из Ал) на тонкий, который менее 0.5 мм. Очень удобно ИМХО.
nevkon, спасибо, полезная информация, думаю многим пригодится. Я пришёл к очень похожим на Ваши настройки.
Из отрицательного опыта имею на данный момент две поломанные кукурузы d0.5 Первый рез на своём станочке сделал в феврале этого года. Сначала резал сосну, но как только попробовал лиственные породы - к сосне возвращаться уже и не хочется. Классно режется бук и ольха. Результат на дубе очень мне напоминает сосну, хотя режется намного приятнее сосны. Хочу попробовать плодовые деревья.
И вот еще что. Подскажите кто знает по Мач. Есть пин включения шпинделя (обороты прямо на нем регулируются), при старте программы все включается, дается время на разгон и режется. Если жму Естоп или паузу, то шпиндел останавливается сразу, это правильно. Но вот потом при запуске программы не стартует. Только если с ноля запустить. Ну при естопе оно может и ладно, таки аварийная ситуация, а вот при паузе как-то не интересно опять заново программу стартовать. Где поковырять? В настройках шпинделя не нашел такой тычки.
При паузе шпиндель по идее не должен останавливаться. У меня станком рулит linuxcnc, он не тормозит. Именно по этой причине я написал ставить на паузу при резке оргстекла. К тому же пауза полезна если надо почистить рез, а то когда отрезаешь заготовку стружка так и норовит вся остаться в канавке. Возможно у вас что-то неправильно настроено.
В 0.9j сделали регулировку вращения скорости шпинделя ШИМом. Для этого задействовали шимный 11-й пин, а концевик Z, соответственно, переместили на 12-й пин.
А я три дня бьюсь, не могу понять, почему GBRL не выполняет команду $H
Кто подскажет, почему-то подключая конечники к Ардуино не могу добиться срабатывания их хоть на каком-нибудь этапе выполнения программы. Шаговики как работают так и работают не зависимо от нажатия конечников на любой из осей.Выводы 9,10,11 подтянуты к питанию и замыкания их на землю не вызывает никакой реакции. Кто-то знает, в чем дело?
У меня концевики работают, но только в режиме останова. В настройках GBRL ставлю $21=1 (включаю концевики). Как только они срабатывают, любое движение прекращается, вне зависимости какой из концевиков замкнулся.
Использую вот такие, они замыкающие, питание светодиода и RC цепочку не использую (ось Z подключена к SpnEn, это из-за прошивки).
Но вот в чём вопрос: не работает команда $H (поиск нуля).
т.к. ось Z фиктиваная (есть ШД и концевик, но всё это висит в воздухе) замыкаю её руками. ШД Z останавливается и через некоторе время выдает "ALARM:homing fail". Кто знает почему такое происходит? (и конечно $22=1)
Может он в это "некоторое время" пытается двигать другие оси и не обнаруживает на них сигнала от концевиков?
Попробуйте действовать последовательно. GRBL начиная c 0.9j может сообщать о статусе концевиков по интерактивной команде "?". Можно сразу понять, какие работают а какие нет.
Для этого нужно взвести 4-й бит в параметре $10 (иначе говоря, прибавить 16 к тому значению, что там уже есть).
Ещё один момент - шум. Если провода от концевиков проложены неправильно, на них будут наводиться помехи от моторов. Т.е. просто "подвешенный" концевик будет уверенно срабатывать, а вот home cycle, когда одновременно крутится мотор и опрашивается концевик - уже нет.
Если такое происходит, то как один из вариантов - добавить керамические конденсаторы 0,47мКф параллельно концевикам к ардуине/шилду.
Поиск нуля (точнее - максимума) идёт сперва осью Z до концевика, потом одновременно X и Y.
Вручную замыкаете концевик при поиске нуля? Ну повеселили. Алгоритм поиска: перемещать ось на холостых в заданных пределах пока нет сигнала от концевика, при появлении сигнала отъехать от концевика до отсутствия сигнала (обычно миллиметров 10), медленно перемещать ось до появления сигнала с концевика, установить 0.
Думаю вы поняли теперь что произошло и откуда вылезла ошибка.
В 0.9j сделали регулировку вращения скорости шпинделя ШИМом. Для этого задействовали шимный 11-й пин, а концевик Z, соответственно, переместили на 12-й пин.
GRBL shield последней версии про это знает, однако автор больше не выкладывает в открытый доступ свои платы (поскольку китайцы их тут же тиражируют за смешные деньги, и ему это не нравится).
А вообще настройка получилась годная. Очень неплохо работает с лазером (подключаем к этму шиму TTL-вход управления и всё).
Правда, для этого ещё нужно внести маленькие изменения в прошивку (в оригинале не предполагается изменение скорости вращения прямо по ходу работы, поэтому в потоке команд эта настройка не проверяется; нужно немного править код, чтобы это исправить).
Ну, я думал их концевиками по всем осям ставить. Нет смысла по какой причине?
Думал, что они надёжнее, чем просто механическая кнопка, или ошибаюсь?
Могу предположить, что нулевые точки используются гораздо чаще, чем концевые, т.к. последние скорее для учета ошибки и их может не быть вообще, т.о. на концевых можно сэкономить.
Нет особого смысла. Незачем придумывать сложный датчик там, где отлично срабатывает банальная механическая кнопка (микропереключатель). Даже оптика там будет лишней (и даже менее надёжной - покуда условия пыльные).
В grbl нулевые и концевые параллелятся (и это логично).
Все датчики используются как триггеры аварии. Нулевые кроме того активно используются в цикле поиска нуля.
Взял сегодня три индуктивных, буду ставить на поиск нуля.
Добрый день. Есть у меня станочек ЧПУ на работе, делает серийку. Работает из под MACH3, никаких проблем. Принял работника на этот станок...никак с компом не дружит, открыть MACH3 с нужным профилем, "обнулиться" по пределам, загрузить программу и запустить ее для него задача невыполнимая! :о( Ладно, перейду в автономку, программа там относительно простая(ортогональные ходы), напишу в Accelstepper и делов то. Потом вижу GBRL, думаю и писать ничего не надо перекину туда действующую в G-кодах Прошивку залил, поставил GBRL Sender, попробовал менять настройки - без проблем. Но у меня какой-то вопрос дураций возник " А что Sender в UNO шлет?". Я бы хотел цикл ожидания на нажатие кнопки в программе ввести. В G-кодах никак! Подправить, то что он выдает на УНО или не мудрить в Accel переписать
Все сендеры для GRBL отправляют g-code. Иначе говоря что прочитали в файле то и отправили. Кроме этого они умеют слушать ответ контроллера про исполнение строк. Файл отправляется построчно по мере выполнения, размер первичной отправки настраивается (обычно 10-50 строк) и по мере выполнения программы досылаются следующие строки. Все это связано с малым объемом оперативной памяти у дуни и объемом буфера СОМ порта.
Сложные вычисляемые программы на такой контроллер не отправить - памяти не хватит обработать. Работать будет в основном с линейными программами без подпрограмм ИМХО.
Запутали. Если Sender пересылает ровно то, что написано в нем, то я в loop-е могу написать такое: G00 X20? Потом скомпилировать и.. по оси X пердвинуться в 20 единиц? Мне плохо :о(
Давайте так..на примере. Мы пишем в Sendere строчку G00 X20. Результатом должен быть "ногодрыг" второй ноги УНО (StepPulse X-Axis) Что или ХТО смотрит параметры:
-$100(GRBL) - настройка эээ скажем так step per по оси X
-$110(GRBL) -максимальная скорость по оси Х
-$120 (GRBL)- ускорение по оси Х,
А потом считает задержки между импульсами Step (дерганье на второй ноге УНО) на этапе разгона, установившуюся частоту сигналов Step на равноускоренном участке, ну и параметры торможения.
Да, так и будет.
grbl получит через порт ровно вашу команду.
Обработает её входным парсером и запушит результат в планировщик движений (созданный как раз ради плавности).
Размерность зависит от единиц измерения (предположим, вы отправили ранее G21 так что всё в миллиметрах).
g0 x20 - передвинуть x в позицию 20 мм (или +20мм, если координаты относительные).
Параметры $ хранятся в ПЗУ (для простоты) grbl касательно конкретной машины (к которой он привязан). Он же (grbl) их оттуда и читает. Потому в данном случае случится программирование таймера, который
1) с учётом параметра $120 начнёт движение с ускорением шпинделя по оси X.
2) по достижении $110 прекратит ускорение и дальше продолжит линейно подавать импульсы.
3) По достижении порога торможения (сколько ещё нужно пройти с замедлением по параметру $120 чтобы остановиться в нужной точке) начнёт пропорциональное торможение.
4) Скорость во всех вышеупомянутых пунктов из миллиметров преобразуется в количество импульсов по параметру $100.
При всём упомянутом - тут идёт работа на прерываниях, т.е. "главный мозг" микроконтроллера не заботится о точных временных интервалах.
(собственно, в mach всю эту работу выполняет ЦП компьютера. Потому эта технология и являетя морально устаревшей, покуда нынешние популярные ОС не рассчитаны на соблюдение точных временных интервалов, а вот для МК, который ничего больше не делает, можно и "снизойти" столь низко).
В grbl возможен только такой, "трапецевидный" профиль движения.
В TinyG (форк grbl с расчётом на более умное железо) сделан кубичный профиль (т.е. там ещё и ускорение меняется).
тест
Однако! Вроде ясней стало. Ну для более полного понимания усложним задачу
G01 f400 X10 Y20 Z-30
Одновременное премещение по трем осям и скорость пересчитывать надо.
Да, именно так. При этом скорость подачи импульсов может быть вплоть до 30кГц. И это потолок Arduino Uno.
Более того,
G02 X2 Y0 I0 J2 Z10 F100
будет понят правильно, аппроксимирован ВНУТРИ ардуины кучей маленьких отрезков, и изобразит в пространстве поднимающуюся дугу окружности.
Кроме того, входные команды не сразу идут в импульсы, а кладутся во входные буферы (есть буфер команд и буфер планировщика). Первый позволяет "всосать" десяток-полтора команд на скорости порта, а во второй кладутся предрасчитанные движения, чтобы не делать эту математику после каждой из полученных команд. Своего рода многозадачность :). Это имеет смысл если вместо шпинделя у вас лазер, чтобы он не останавливался вдруг в какой-то точке из-за математики.
Кстати, в понятиях ДКА текущая исполняемая команда G - это состояние, которое меняется только следующей такой же командой. Потому вполне можно писать:
G01 x0 y0 f100
x20 y10
x10 y50 z30
Таких "укороченных" команд во входной буфер влезет гораздо больше.
Открыл Planner.c, а там в коментариях целая лекция, как раз по этому поводу. Можете мой вопрос проигнорировать. Пойду потихоньку читать коменты в файлах и пробовать как эта штука (GRBL) работает на макете.
Спасибо. Приятно читать ответы, оч. хорошо знаете вопрос.
И все таки не удержусь от вопроса, вы на 32битных работаете?
У меня сейчас linuxcnc правит станком, есть на нане контроллер, будет позже запускаться. Вообще у меня есть мапле мини 32 разрядная, думал может ее приспособить, но пока что не решил как.
Всех приветствую - кто остался в теме.
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
Всех приветствую - кто остался в теме.
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
Всех приветствую - кто остался в теме.
Значит тема такая! Пол года как собираюсь, начну переделаю, разберу, недоделаю свой станочек.
Все!Начинаю сборку дома! А то прежний на половину остался на работе, увольнялся не забрать теперь.
1) Имеется вся электроника минимальная.
2) Имеются пока только два двигателя, третий прикуплю, а может и все сразу и помощнее.
3) Механики нет, но решил сделать из г..на и палок - ну как то так.
Значит двигатели у меня:
Model: FL39ST34-0166A-12
Step: 1.8
0.16A
Так понимаю он на 12В, но я включал и на 20В - результат - скорость приличная, рукой не остановить.
Вопросы:
1) Кто уже хорошо разбирается в движках - посмотрите - на что способны эти движки???
Ну есть сомнения что они слабые.
2) Какие направляйки взять мебельные, толкатель будет шпилька с муфтой на движке, - если можно фото (только дешевые, можно даже вариант с динрейками, мозг кипит и с деньгами туго, всё равно потом переделаю, станок сделает сам себя из алюминия в будущем)
3) Какие программы считаете лучше для чпу фрезера (мне временно)? (я просто как вариант сам начал писать, но всё встало на том что станочка нехватает, чтобы приложение дорабатывать)
Есть плата(шилд ) http://g02.a.alicdn.com/kf/HTB1s_EuJVXXXXbEXpXXq6xXFXXXD/%D0%A7%D0%BF%D1...
ну и драйвера под нее.
еще ардуины мега 2560, нано и про мини.
мне надо более тщательно разобраться в основах -- типа как в GBRL есть настройки шага и т.п. - где их лучше реализовывать в приложении или в микроконтроллере и т.п.
тоесть все стороны данной темы рассмотреть.
Есть плата(шилд ) http://g02.a.alicdn.com/kf/HTB1s_EuJVXXXXbEXpXXq6xXFXXXD/%D0%A7%D0%BF%D1...
ну и драйвера под нее.
еще ардуины мега 2560, нано и про мини.
мне надо более тщательно разобраться в основах -- типа как в GBRL есть настройки шага и т.п. - где их лучше реализовывать в приложении или в микроконтроллере и т.п.
тоесть все стороны данной темы рассмотреть.
GBRL под мегу где вот взять с тем шилдом конкретно?
те что есть с мегой не работают - там расположение пинов не то.
GBRL под мегу где вот взять с тем шилдом конкретно?
те что есть с мегой не работают - там расположение пинов не то.
Grbl-xx_with_Arduino-master - залил на мегу, а драйвера стоят.
конектится к приложению - цифры бегают, мультиметр сдох. значит распиновка не пошла..
а вот если просто скетч закинуть подобие этого то нормально всё работает... http://nioz.ru/index.php/arduino/arduino-cnc-shield-detail
Посмотрел направляющие - 700 рублей....
это простенькие мебельные 1 шт
Не советую мебельные направляющие, они жудку хлипкие, от самых маленьких нагрузок сразу отгибаются, приходится очень маленькие слои снимать. Где это кстати такие дорогие мебельные направляющие, в леруа кажись комплекты по 2 штуки от 100 до 400 в среднем.
в леруа и смотрел - но я смотрел шариковые (на роликах и ф шкуфу есть --- вот те совсем хлюпенькие).
но тут еще момент -- я выше писал какие у меня движки, так никто и не ответил --- может на таких движках и мебельных направляек за глаза...
Писали выше что для лазера. Хотя я не нашел что за движки. Поскольку они на 12В, то готовьтесь подавать минимум 24В иначе только ползать по 100-200 мм/мин, да и на 24В больше 500мм/мин не вытянут.
По поводу того что хотите алюминий пилить на нем... Удачи в общем. Можете мой станок найти в теме - он пилит АЛ, но по 0.1мм за проход. Простецкая деталька пилится минимум полчаса, нормальная за день не будет готова.
Обратите внимание на вариант с подшипниками на уголках - если руки достаточно прямые (чего о своих не могу сказать, никак не получается ровные поверхности/ряды отверстий сделать), то он даже АЛ пилить сможет неплохо. И вариант не сильно дорогой. Подшипники 608 по 30-40р/шт, уголок 100р/метр.
Рабочее поле больше 500х500мм не делайте.
C grbl лучше всё же немного погрузиться в тему. Тогда многие "неразрешимые" вопросы снимутся. Например, какая распиновка, как её поменять, как "вшить" некоторые базовые функции.
Исходники ОЧЕНЬ хорошо документированы; прямо не сорцы а википедия!
Например, если посмотреть ветку edge то видно ближайший тренд: проект достиг "потолка" Atmega328. И в будущем релизе из новых функцию будет только пара переменных для настройки скорости шпинделя, а все совсем новые фичи теперь будут развиваться в grbl-Mega, который работает только на atmega2560.
Лично я хочу попробовать-пощупать проект tinyG - на него есть сборка под Arduino Due
Писали выше что для лазера. Хотя я не нашел что за движки. Поскольку они на 12В, то готовьтесь подавать минимум 24В иначе только ползать по 100-200 мм/мин, да и на 24В больше 500мм/мин не вытянут.
По поводу того что хотите алюминий пилить на нем... Удачи в общем. Можете мой станок найти в теме - он пилит АЛ, но по 0.1мм за проход. Простецкая деталька пилится минимум полчаса, нормальная за день не будет готова.
Обратите внимание на вариант с подшипниками на уголках - если руки достаточно прямые (чего о своих не могу сказать, никак не получается ровные поверхности/ряды отверстий сделать), то он даже АЛ пилить сможет неплохо. И вариант не сильно дорогой. Подшипники 608 по 30-40р/шт, уголок 100р/метр.
Рабочее поле больше 500х500мм не делайте.
Тоесть такие движки для 3д принтера самое оно, а вот сколько нагрузки потянут если:
пример - есть станина на ней ось Z двигается только площадка (ну она легкая, пока нет нагрузки), а вот ось X двигает шпиндель весом в 500 грам, не считая что на додьем шпинделя тоже двигатель...
Вот это потянут эти двигатели? если деревообработка будет, алюминий, текстолит (медь сдирать, гравировка плат), акрил...
По описанию не совсем понятна характеристика вес на см.. не силен в физике.
C grbl лучше всё же немного погрузиться в тему. Тогда многие "неразрешимые" вопросы снимутся. Например, какая распиновка, как её поменять, как "вшить" некоторые базовые функции.
Исходники ОЧЕНЬ хорошо документированы; прямо не сорцы а википедия!
Например, если посмотреть ветку edge то видно ближайший тренд: проект достиг "потолка" Atmega328. И в будущем релизе из новых функцию будет только пара переменных для настройки скорости шпинделя, а все совсем новые фичи теперь будут развиваться в grbl-Mega, который работает только на atmega2560.
Лично я хочу попробовать-пощупать проект tinyG - на него есть сборка под Arduino Due
Это я в курсе, но не думаю что так всё просто --- там библиотеки все почти на голом С, что само трудно воспринимаемо, я больше по С# понимаю. Гдето читал что там библиотеки несовместимы , тоесть вроде как возможно, но геморно переписать порты --- в мега и уно выводы отличаются... (я не про номера)
Вообще подумываю бросить терять время и просто спаять плату на ардуино надо, тем более кусок текстолита и лимонная кислота и маркер под рукой - но вот сверлить нечем.
но вот сверлить нечем.
Дык станком потом и просверлишь! :)
Для старта можете поставить эти движки на шпильку М6 или М8. Будет хоть и медленно, но верно работать. У меня на 12В 0.4А со шпилькой М8 голову чуть не свернули когда шпиндель заклинило. И я их 12В кормил при этом!
Для старта можете поставить эти движки на шпильку М6 или М8. Будет хоть и медленно, но верно работать. У меня на 12В 0.4А со шпилькой М8 голову чуть не свернули когда шпиндель заклинило. И я их 12В кормил при этом!
Пробовал ранее их запускать -- крутили до 800-1000 об/мин, если меньше скорость - дури хоть отбавляй.
Ну я как раз прикупил 6-ку шпильки 3 метра, думаю хватит на то что задумал - а вот с муфтами труднее, покупать нехочу ща токарю брякну-- тот наклепает с 10-к (дырок насверлит,метчик есть, заодно на авито выложу, а то там помоему по 150 и выше заламывают, а из китая долго ждать).
Тоесть эти движки дерево переломают если подрубить их на 30В и без ограничений по току?
но вот сверлить нечем.
Дык станком потом и просверлишь! :)
тоже верно +
блин ща еще работы нет - так бы поехал и взял всё чего нехватает.. вообще задумано заменить GBRL свои протоколом, так - для образовательных целей.
Я GRBL на Mach3 заменил. Стало веселее. Просто от лени копаться и разбираться. Мач вылизан и возможностей конечно больше, а мне резать надо, а не играться.
Альбом с запилами https://goo.gl/photos/JFErfHodYhFskTybA
Переломать не переломает, но попортить может. У меня была ситуация уже с более мощным движком, на более свежей фотке с новой осью его видно. Голова вставала четко в определенном месте, мучался с полчаса - и винт проверил и каретку, везде все ровно и чисто пока взгляд не упал на верх, а там штангель лежит так хорошо... Все зависит от рычага.
Муфту можете сделать из резиновых трубок на первое время. Кстати возьмите после этого шпильку, подсоедините к ШД, шпильку вниз и двигатель на полные обороты (внизу не помешает шпильку во что-нибудь упереть чтобы не улетела) и посмотрите биение.
........
Альбом с запилами https://goo.gl/photos/JFErfHodYhFskTybA
Оказывается научиться пилить гораздо сложнее, чем сам станок собрать. Уже 3 фрезы сломал. То скорость не та, то обороты, то при создании УП накосячу, то горизонталь ушла... но ничего, научимся! Очень хочется по стеклу гравировку попробовать и дочке игрушечную мебель запилить. Кукурузой из фанерки или однозаходной из ПВХ.
Из моего опыта:
1. Не жалейте исходного материала. Когда я начинаю работать с новым материалом беру фрезу которой буду резать, ставлю желаемые обороты, делаю минимальное по моему мнению заглубление (0.1 для металла, 1 для дерева, 0.5 для оргстекла), ставлю минимальную подачу в 50 мм/мин, делаю пробный пропил сплошного материала с заходом с воздуха (начало реза за пределами заготовки. В случае успеха - увеличиваю глубину или скорость. Как только выявили предельные характеристики и поведение материала можно этот режим выставлять в программе.
Например сосну я в зависимости от диаметра фрезы пилю максимально на:
Кукурузой 3мм - 2мм по Z, съем по 1.5мм скорость 400мм/мин.
4-х перой 6мм Р6М5 (цанга на 6мм, фреза двухсторонняя советская, еле влезла) - 1мм по Z, съем по 2.4-5мм скорость 400мм/мин, но рядом со станком уже страшно находится. Зато пилит быстро относительно.
2. Желательно на первых деталях находится рядом со станком. С опытом придет когда надо следить, а то и действовать, а когда можно и погулять по улице :) Будьте готовы нажать E-stop при появлении нехорошего шума или сбоя. Оргстекло и Ал всегда пилю со смазкой (машинное масло), хочу еще попробовать оргстекло попилисть со спиртом.
3. На оргстекле не жмите е-стоп, только паузу! Если у вас налип шарик не пытайтесь его снять. Купите космофен для протирки, налейте его в емкость (только не пластиковую) и опустите туда фрезу - через полчаса шарик слезет как по маслу. Если все-же остановили в детали фрезу - она 100% к ней прилипнет. Деталью придется пожертвовать (или фрезой). Наливаем лужицу космофена, освобождаем аккуратно фрезу.
4. Креплю сейчас все на 2-х сторонний скотч. Особо ответственные (например из Ал) на тонкий, который менее 0.5 мм. Очень удобно ИМХО.
nevkon, спасибо, полезная информация, думаю многим пригодится. Я пришёл к очень похожим на Ваши настройки.
Из отрицательного опыта имею на данный момент две поломанные кукурузы d0.5
Первый рез на своём станочке сделал в феврале этого года. Сначала резал сосну, но как только попробовал лиственные породы - к сосне возвращаться уже и не хочется. Классно режется бук и ольха. Результат на дубе очень мне напоминает сосну, хотя режется намного приятнее сосны. Хочу попробовать плодовые деревья.
Ай спасиба дарагой! Очень полезная инфа.
И вот еще что. Подскажите кто знает по Мач. Есть пин включения шпинделя (обороты прямо на нем регулируются), при старте программы все включается, дается время на разгон и режется. Если жму Естоп или паузу, то шпиндел останавливается сразу, это правильно. Но вот потом при запуске программы не стартует. Только если с ноля запустить. Ну при естопе оно может и ладно, таки аварийная ситуация, а вот при паузе как-то не интересно опять заново программу стартовать. Где поковырять? В настройках шпинделя не нашел такой тычки.
При паузе шпиндель по идее не должен останавливаться. У меня станком рулит linuxcnc, он не тормозит. Именно по этой причине я написал ставить на паузу при резке оргстекла. К тому же пауза полезна если надо почистить рез, а то когда отрезаешь заготовку стружка так и норовит вся остаться в канавке. Возможно у вас что-то неправильно настроено.
В 0.9j сделали регулировку вращения скорости шпинделя ШИМом. Для этого задействовали шимный 11-й пин, а концевик Z, соответственно, переместили на 12-й пин.
А я три дня бьюсь, не могу понять, почему GBRL не выполняет команду $H
Кто подскажет, почему-то подключая конечники к Ардуино не могу добиться срабатывания их хоть на каком-нибудь этапе выполнения программы. Шаговики как работают так и работают не зависимо от нажатия конечников на любой из осей.Выводы 9,10,11 подтянуты к питанию и замыкания их на землю не вызывает никакой реакции. Кто-то знает, в чем дело?
Программа в которой работаю JCNC.
А если написать простой скетч, выводящий в порт digitalRead() с этих пинов при нажатом и отжатом каждом концевике?
У меня Ардуина старая боевая оказывается один пин на вход не понимала, а на выход пожалуйста. Подпалил наверное когда-то.
Можно и я внесу свои три копейки)
У меня концевики работают, но только в режиме останова. В настройках GBRL ставлю $21=1 (включаю концевики). Как только они срабатывают, любое движение прекращается, вне зависимости какой из концевиков замкнулся.
Использую вот такие, они замыкающие, питание светодиода и RC цепочку не использую (ось Z подключена к SpnEn, это из-за прошивки).
Но вот в чём вопрос: не работает команда $H (поиск нуля).
т.к. ось Z фиктиваная (есть ШД и концевик, но всё это висит в воздухе) замыкаю её руками. ШД Z останавливается и через некоторе время выдает "ALARM:homing fail". Кто знает почему такое происходит? (и конечно $22=1)
Может он в это "некоторое время" пытается двигать другие оси и не обнаруживает на них сигнала от концевиков?
Попробуйте действовать последовательно. GRBL начиная c 0.9j может сообщать о статусе концевиков по интерактивной команде "?". Можно сразу понять, какие работают а какие нет.
Для этого нужно взвести 4-й бит в параметре $10 (иначе говоря, прибавить 16 к тому значению, что там уже есть).
Ещё один момент - шум. Если провода от концевиков проложены неправильно, на них будут наводиться помехи от моторов. Т.е. просто "подвешенный" концевик будет уверенно срабатывать, а вот home cycle, когда одновременно крутится мотор и опрашивается концевик - уже нет.
Если такое происходит, то как один из вариантов - добавить керамические конденсаторы 0,47мКф параллельно концевикам к ардуине/шилду.
Поиск нуля (точнее - максимума) идёт сперва осью Z до концевика, потом одновременно X и Y.
Вручную замыкаете концевик при поиске нуля? Ну повеселили. Алгоритм поиска: перемещать ось на холостых в заданных пределах пока нет сигнала от концевика, при появлении сигнала отъехать от концевика до отсутствия сигнала (обычно миллиметров 10), медленно перемещать ось до появления сигнала с концевика, установить 0.
Думаю вы поняли теперь что произошло и откуда вылезла ошибка.