Страница 17 из 28

Re: Свой 3D принтер

Добавлено: 27 мар 2012, 23:23
Nick
Главное, чтобы управляющая программа знала G0 и G01, умела искать нули и гонять оси, остальное "приходит во время еды" :).
Лучше всего, если контроллер сможет читать сигналы stepdir с lpt и перенаправлять их на драйверы, тогда можешь обо всем забыть и использовать LinuxCNC или Mach!

Re: Свой 3D принтер

Добавлено: 27 мар 2012, 23:49
aftaev
sr480 писал(а):Поскольку взялся писать прошивку сам, буду рад любым советам.
Прошивку чего именно?

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 09:39
sr480
Прошивку для Arduino Mega которая по Rs232 принимает команды, и управляет ШД, концевиками, дисплей будет и кнопаньки

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 11:15
aftaev
Если по СОМ будешь туды Gcode сливать нужена наверна своя прога. ReplicatorG как понял загоняет в принтер свой какой то формат.

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 11:15
Nick
Для ардуины вроде кто-то вроде писал какой-то парсер Gкода. А вообще лучше работать с тем же Replicator, на сколько я понимаю, он парсит Gкод преобразует в команды движков на компе, а потом засылает все это в контроллер. Т.е. на контроллер попадает уже очень простой код.

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 12:54
sr480
А EMC и Мач они не по COM работают ?

Или нет станков с собственными мозгами? че-то я запутался.

Я думал так: станок получает GCode и двигает оси. Я бы парсил их прямо в ардине - не вижу особо трудностей.

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:03
aftaev
sr480 писал(а):А EMC и Мач они не по COM работают ?
Нет,через LPT. У СОМ мало входов/выходов там всего 2 TX/RX (не считая вспомогательных)
sr480 писал(а):Я думал так: станок получает GCode и двигает оси.
Мач/ЕМС считывает из файла Gcode и по нему в зависимости от настроек осей на вsходе LPT формирует сигналы для драйверов шаговых step и dir
sr480 писал(а):Я бы парсил их прямо в ардине - не вижу особо трудностей.
Если сможешь в чем вопрос :) Нужно будет прописать интерполяцию и ускорение/торможение :)

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:17
Nick
И, мое любимое, слежение за пределами осей станка :)!

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:30
aftaev
Nick писал(а):И, мое любимое, слежение за пределами осей станка !
Самое простое и тупое решение это поставить концевики на осях и как только ось выезжает тупо отключаем степ или питание :) И включаем сирену :)

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:33
Nick
Тогда будет очень резкое торможение, что не очень хорошо ;).

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:41
sr480
Nick писал(а):И, мое любимое, слежение за пределами осей станка !
Ну это уже готово... Просто при срабатывании концевика останавливаю степ. И еще интересно че делать если концевик сработал в неожиданный момент, но это уже детали? ;)

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 14:46
Nick
sr480 писал(а):И еще интересно че делать если концевик сработал в неожиданный момент, но это уже детали?
Тоже самое, если сработал концевик - это авария, или мы выполняем поиск нуля.
Кстати, продумай, как ты будешь с концевика съезжать, если выключен step :)

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 15:13
sr480
у меня есть классы для управления ШД и концевиком.
и есть класс управления осью, ось использует ШД и концевик, ось знает в каком направлении концевик, тоесть разрешено движение по направлению от концевика, и запрещено движение в координаты больше чем длина оси. Так что тут вроде нет проблем...

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 15:21
aftaev
sr480 писал(а):у меня есть классы для управления ШД и концевиком.
В смысле Си классы?

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 15:47
sr480
всмысле Си++ классы ;)

Имеет смысл по 2 концевика ставить на ось?

И как задается положение оси Z ? ведь инструмент разной длины?

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 16:17
Nick
sr480 писал(а):Имеет смысл по 2 концевика ставить на ось?
На linuxcnc я не ставил. Но! Нужно быть уверенным в правильности работы станка, если шд пропускает шаги - все равно можно убежать. Иногда ставят два концевика, но заводят на 1 пин, последовательно (если на разрыв цепи).
sr480 писал(а):И как задается положение оси Z ? ведь инструмент разной длины?
Для этого делается отступ системы координат и либо Probe-in т.е. еду инструментом на датчик (или до замыкания на контактную площадку). Или вручную, подкладываешь под инструмент бумажку, едешь вниз по 0.1мм пока бумажку не зажмет. Как зажмет - значит 0.

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 16:25
sr480
ОООО круто! Про Prob-in. Надо попробовать реализовать. Пусть это будет съемный датчик типо концевика... положил на стол - откалибровал, и дальше работать...

А как задать начало координат? Пригоняешь головку с пульта в место где лежит заготовка и говоришь, что это дом?

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 16:58
aftaev
sr480 писал(а):А как задать начало координат? Пригоняешь головку с пульта в место где лежит заготовка и говоришь, что это дом?
Дом это там где начало координат. Есть еще начало заготовки. Подгоняешь в начало заготовки, жмакаешь обнулить Х=0 У=0 Z=0 и поехал работать. Мач запоминает начало заготовки - это офсеты. Свет отрубили координаты сбились. Тогда едишь в дом. Обнуляешь координаты и далее едишь в начало заготовки.

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 18:43
sr480
Ух... придется значит свой софт писать, который будет отправлять GCode в станок...

Re: Свой 3D принтер

Добавлено: 28 мар 2012, 19:15
aftaev
САМ программа готовит Gcode - грузим его в программу Мач/ЕМС - которые читают по строчно Gcode и на выходе LPT выдают управляющие сигналы для шаговиков. Фактически [Мач/ЕМС+железо+двигатели] = станок. А отправляем в него Gcode прост: записыва н флешке и тащу к станку