Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Я ж выше накидал пару проектов где участвует ардуина и Gcode. Это по поводу ваяния конвертера. Там наверняка можно взять пользы. Коли люди под GPL выкладывают, то они не против, чтобы в каком-то открытом проекте их код участвовал. А по фигурам - попозже займусь. Дома с водой проблемы, надо доделать. Я весь софт поудалял, надо таперича обратно ставить, вспоминать.
Нам из тех кодов нужно буквально несколько команд. — холостой ход — рабочий ход — поднять\опустить инструмент (шпиндель)
По сути, можно было бы и без поднятия\опускания. Это вроде как можно сделать и вручную. Но на сложных контурах программа может задать такой порядок обработки, когда видно где там поднимать\опускать. А конвертеры в Gcode имеют опцию перемещения инструмента в плоскости безопасности. Задаю плоскость и софтина сама на переходах в нужных местах ставит команды поднятия\опускания. Т.е. прочертил рабочим ходом, потом поднял, переехал холостым ходом в другое место, опустил и дальше чертит. В принципе можно бы сделать и самостоятельное поднятие. К примеру проверять следующую команду, и если она "холостой ход", то сначала выполнить процедуру поднятия. Тогда нас вообще из всех Gcode команд полезными будут только команды перемещения по координатам. А если так, то теоретически можно просто вычищать сгенерированную программу ЧПУ регепсами, оставляя лишь G0 и G1.
Я ж выше накидал пару проектов где участвует ардуина и Gcode. Это по поводу ваяния конвертера. Там наверняка можно взять пользы. Коли люди под GPL выкладывают, то они не против, чтобы в каком-то открытом проекте их код участвовал. А по фигурам - попозже займусь. Дома с водой проблемы, надо доделать. Я весь софт поудалял, надо таперича обратно ставить, вспоминать.
Нам из тех кодов нужно буквально несколько команд. — холостой ход — рабочий ход — поднять\опустить инструмент (шпиндель)
По сути, можно было бы и без поднятия\опускания. Это вроде как можно сделать и вручную. Но на сложных контурах программа может задать такой порядок обработки, когда видно где там поднимать\опускать. А конвертеры в Gcode имеют опцию перемещения инструмента в плоскости безопасности. Задаю плоскость и софтина сама на переходах в нужных местах ставит команды поднятия\опускания. Т.е. прочертил рабочим ходом, потом поднял, переехал холостым ходом в другое место, опустил и дальше чертит. В принципе можно бы сделать и самостоятельное поднятие. К примеру проверять следующую команду, и если она "холостой ход", то сначала выполнить процедуру поднятия. Тогда нас вообще из всех Gcode команд полезными будут только команды перемещения по координатам. А если так, то теоретически можно просто вычищать сгенерированную программу ЧПУ регепсами, оставляя лишь G0 и G1.
|
|
|
 |
Добавлено: 23 авг 2015, 19:32 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Можешь накидать пару-тройку G-файлов с элементарными фигурами (квадрат, треугольник, многоугольник...)?
Посмотрел я в википедии описание - это не такой уж и элементарный язык. Нам нужно будет создавать упрощенную версию (так как 90% возможностей просто не применимы в нашем случае). Тогда сразу становится актуальным вопрос создания конвертера. Или создавать картинки в своем ПО? Тут еще есть вопросы...
Можешь накидать пару-тройку G-файлов с элементарными фигурами (квадрат, треугольник, многоугольник...)?
Посмотрел я в википедии описание - это не такой уж и элементарный язык. Нам нужно будет создавать упрощенную версию (так как 90% возможностей просто не применимы в нашем случае). Тогда сразу становится актуальным вопрос создания конвертера. Или создавать картинки в своем ПО? Тут еще есть вопросы...
|
|
|
 |
Добавлено: 23 авг 2015, 11:05 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Итак, начал я искать полный мануал ранее выложенной инструкции по Gcode и, к сожалению, так и не нашел. Нашел . Однако, зачем идти от самого нуля, если наверняка кто-то уже пытался подружить ардуинку и эти самые коды ЧПУ. И я нашел пару проектов, где такое встречается.
Для рисования векторов можно пользоваться любой программой предназначенной для этого. Это могут быть как "стандарты редакторов" CorelDraw и Adobe Illustrator, так и иные программы. Из бесплатных многие рекомендуют использовать . По удобству рисования в нем я подсказать вряд ли что-то могу сейчас, но он удобен тем, что для него есть отдельный плагин , позволяющий сразу выводить рисунок в виде Gcode. На всякий случай напомню, что когда-то существовала замечательнейшая программа для векторной графики Macromedia Freehand. К сожалению, она давно заброшена, ввиду покупки Adob'ом. Но если интересно - найдите и "потрогайте" 9-ю версию. Удобно, шустро да и вообще )). 10-я мне не нравилась совсем.
В случае, если редактор векторной графики не поддерживает экспорт gcode, то можно экспортировать рисунок в DXF формат, а после его преобразовывать в gcode при помощи
В целом нужно помнить, что gcode может генерироваться в двух вариантах. Я не знаю как оно по-научному, но попробую описать на примере круга: 1. Задаются координаты центра и радиус. В этом случае код получается компактный, а задача шевеления двигателями ложится на контроллер ЧПУ. В нашем случае это вроде не подходит. 2. Круг рисуется дискретными перемещениями. Т.е. как бы разбивается на отрезки. В этом случае код получается громоздким, так как каждый минимальный кусок окружности представляется в координатах и следование по этим координатам представлено в самом коде. Этот вариант нам подходит, т.к. бремя пересчета в координаты перемещения снимается с ардуинки и ложится на конвертор из вектора в gcode.
Предполагаю, что не всякая маленькая утилита будет иметь функционал, позволяющий опционально выбирать как обработать вектор. Поэтому, нужно определить какой вариант нас устраивает, а я завтра займусь поиском софта и тестированием, что нам больше подходит.
Итак, начал я искать полный мануал ранее выложенной инструкции по Gcode и, к сожалению, так и не нашел. Нашел [url=https://yadi.sk/d/MpVEP_U5ibbYR]чуток иной[/url]. Однако, зачем идти от самого нуля, если наверняка кто-то уже пытался подружить ардуинку и эти самые коды ЧПУ. И я нашел пару проектов, где такое встречается. [spoiler=grbl и reprap][url=https://github.com/grbl/grbl][size=150]grbl[/size][/url] это интерпретатор g-кода с большим количеством интересных функций. В исходниках проекта я нашел (насколько я понимаю) [url=https://github.com/grbl/grbl/blob/master/grbl/gcode.c]какой-то парсер[/url]. Судя по описанию - он берет готовый Gcode и приводит его к упрощенному варианту. Плюс в каментах исходника замечены алгоритмы расчета дуги. Полагаю - полезный исходник. Вот тут расписано использование этой программы в [url=http://www.yaplakal.com/forum23/topic950603.html]проекте лазерного выжигателя[/url] из DVD приводов.
[url=http://reprap.org/][size=150]RepRap[/size][/url] Довольно известный проект. Его упоминаю по причине того, что я там заметил упоминание работы Gcode и sd карты. Обычно Gcode для станков ЧПУ транслируется через програмные\аппаратные комплексы. Но некоторые прошивки умеют брать код самостоятельно с карты памяти. Вот одна из найденных прошивок:[url=https://github.com/MarlinFirmware/Marlin/tree/Release/Marlin]Marlin[/url]. По ссылке исходники для работы с SD картой. Может быть они подскажут что-то интересное.[/spoiler]
Для рисования векторов можно пользоваться любой программой предназначенной для этого. Это могут быть как "стандарты редакторов" CorelDraw и Adobe Illustrator, так и иные программы. Из бесплатных многие рекомендуют использовать [url=http://inkscape.org/en/download/]Inkscape[/url]. По удобству рисования в нем я подсказать вряд ли что-то могу сейчас, но он удобен тем, что для него есть отдельный плагин [url=https://yadi.sk/d/gb4JkvFwibh29]Grovers Laser engraver add on[/url], позволяющий сразу выводить рисунок в виде Gcode. На всякий случай напомню, что когда-то существовала замечательнейшая программа для векторной графики Macromedia Freehand. К сожалению, она давно заброшена, ввиду покупки Adob'ом. Но если интересно - найдите и "потрогайте" 9-ю версию. Удобно, шустро да и вообще )). 10-я мне не нравилась совсем.
В случае, если редактор векторной графики не поддерживает экспорт gcode, то можно экспортировать рисунок в DXF формат, а после его преобразовывать в gcode при помощи [url=http://sourceforge.net/projects/dxf2gcode/]DXF2GCODE[/url]
В целом нужно помнить, что gcode может генерироваться в двух вариантах. Я не знаю как оно по-научному, но попробую описать на примере круга: 1. Задаются координаты центра и радиус. В этом случае код получается компактный, а задача шевеления двигателями ложится на контроллер ЧПУ. В нашем случае это вроде не подходит. 2. Круг рисуется дискретными перемещениями. Т.е. как бы разбивается на отрезки. В этом случае код получается громоздким, так как каждый минимальный кусок окружности представляется в координатах и следование по этим координатам представлено в самом коде. Этот вариант нам подходит, т.к. бремя пересчета в координаты перемещения снимается с ардуинки и ложится на конвертор из вектора в gcode.
Предполагаю, что не всякая маленькая утилита будет иметь функционал, позволяющий опционально выбирать как обработать вектор. Поэтому, нужно определить какой вариант нас устраивает, а я завтра займусь поиском софта и тестированием, что нам больше подходит.
|
|
|
 |
Добавлено: 23 авг 2015, 00:37 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Подстройка конечно будет сделана под разные углы шага двигателя, но изначально нужно упростить исходные данные.
Подстройка конечно будет сделана под разные углы шага двигателя, но изначально нужно упростить исходные данные.
|
|
|
 |
Добавлено: 22 авг 2015, 16:42 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
[quote]Выковыривать из старых принтеров движки - это обречь проект на одиночество. Как его повторять другим? [/quote] Тут я не совсем согласен. Если мы привязываемся к конкретной платформе\моторам\колесам, то с одной стороны это упрощает и программирование, и повторение. Но мы теряем возможность слепить подобную игрушку из имеющихся в наличии компонентов. Вот есть у кого-то детский танк или радиоуправляемая машинка. Ставим двигатели, выдранные из имеющихся запасов, правим немного код, а точнее указываем количество шагов на оборот вала двигателя и количество оборотов на метр(дециметр\сантиметр или просто длину окружности колеса, нужное подчеркнуть:) ). Насколько я понимаю - это не сложно реализовывается путем ввода переменных. Но я могу и ошибаться. Если через пару лет исчезнут из продажи двигатели, к которым мы привязались в случае привязке именно к "повторяемости в железе" - то проект засохнет и канет в лету. Универсальность в програмной реализации позволит проекту жить гораздо дольше. Повторюсь - это действительно лишь при условии отсутствия сложностей при программировании. А я о них не знаю. Поэтому, это лишь мои рассуждения, которые могут оказаться ложными. Пишу лишь как мнение. Если необходимо - закажу приведенные вами движки\драйвера.
По G-коду сегодня попозже начну собирать информацию в кучу.
|
|
|
 |
Добавлено: 22 авг 2015, 14:14 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Если мы хотим облегчить жизнь другим при повторении конструкции, то выбирать для элементной базы желательно популярные и доступные компоненты. Выковыривать из старых принтеров движки - это обречь проект на одиночество. Как его повторять другим? Как мне писать под эти двигатели программу если даже даташита нет, а экспериментировать дистанционно - это сложно.
Это касается и драйверов. Тот вариант что я дал по ссылке был оптимальным - таких движков полно в продаже, они не дорогие, а драйвера это просто ULN2003 - которые у каждого второго занимающегося электроникой лежат на всякий случай в коробочке.
[quote="ЮрийК"]Я там обещал по G-Code дать инфу. Нужна? вот мануальчик небольшой, один из лучших, который я встречал. Это обрезанная версия. Щас пролез и не нашел полную. Если нужна - еще поищу.[/quote]Да. по G-кодам нужна информация, а еще нужны конвертеры из вектора в Ж-коды - чтобы можно было брать любой рисунок.
По поводу поворотов на месте я понял - да, это проще будет делать обеими двигателями синхронно.
|
|
|
 |
Добавлено: 22 авг 2015, 10:22 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Товарищ поделился двумя одинаковыми двигателями Epson EM434. Сейчас искал на них информацию - и не нашел (( Кроме того, что у них якобы 50 шагов на полный оборот. Я даже не знаю напряжения на них. ( что 42В) Замерил сопротивление на выводах. Мой мультиметр DT-838 показал 7 Ом. Я знаю что он туповат. Я вместо щупов припаял хороший посеребренный провод. КЗ щупов показывает 0.2 Ома Нашел еще вот что: в интернете пишут, что эти двигателя устанавливались на EpsonC60. А описаны два двигателя без маркировки, но сопротивление обмоток у них иное, хотя с погрешностью укладывается в мои измерения.
С виду они менее мощные, чем имеющиеся уже у меня. Но, зато одинаковые.
Мне тут подумалось: а может быть в программе сделать коэффициенты, для настройки под конкретные двигателя? А если это сделать для каждой оси отдельно - то избавимся от необходимости иметь непременно одинаковые движки. Я не представляю вообще насколько просто или сложно сие дело вписать в программу, так что не судите строго. Мы ж тут идеями пестрим ))
Товарищ поделился двумя одинаковыми двигателями Epson EM434. Сейчас искал на них информацию - и не нашел (( Кроме того, что у них якобы 50 шагов на полный оборот. Я даже не знаю напряжения на них. ([url=http://www.todopic.com.ar/foros/index.php?topic=20339.0]отсюда выходит[/url] что 42В) Замерил сопротивление на выводах. Мой мультиметр DT-838 показал 7 Ом. Я знаю что он туповат. Я вместо щупов припаял хороший посеребренный провод. КЗ щупов показывает 0.2 Ома Нашел еще вот что: в интернете пишут, что эти двигателя устанавливались на EpsonC60. А [url=https://ia800307.us.archive.org/7/items/printermanual-epson-stylus-color-c60-service-manual/epsonstyluscolorc60servicemanual.pdf]в его сервис-мануале[/url] описаны два двигателя без маркировки, но сопротивление обмоток у них иное, хотя с погрешностью укладывается в мои измерения. [spoiler=Carriage motor specification]Type 4-Phase/ 200-Poles HB Stepping motor Drive Voltage +42 V +/ - 5% (DRV IC voltage) Coil Resistance 7.8 Ω +/ - 10% (per phase at 25 degrees) Inductance 14 mH +/ - 20% (1KH 1Vrms) Drive Method Bi-Polar drive Driver IC LB1946[/spoiler] [spoiler=Paper Loading/Feeding Mechanism motor specifications:]Motor type 4-Phase/ 96-Poles PM Stepping motor Drive voltage +42 V +/ - 5% (DRV IC voltage) Coil Resistance 6 Ω +/ - 10% (per phase at 25 degrees) Inductance 9.5 mH +/ - 20% (1kH 1Vrms) Driving method Bi-Polar drive Driver IC LB1946[/spoiler]
С виду они менее мощные, чем имеющиеся уже у меня. Но, зато одинаковые.
Мне тут подумалось: а может быть в программе сделать коэффициенты, для настройки под конкретные двигателя? А если это сделать для каждой оси отдельно - то избавимся от необходимости иметь непременно одинаковые движки. Я не представляю вообще насколько просто или сложно сие дело вписать в программу, так что не судите строго. Мы ж тут идеями пестрим ))
|
|
|
 |
Добавлено: 22 авг 2015, 10:02 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Заказал драйвера.
Хотел сначала заказать не понравилось, что он всего 0.7А. Сейчас может быть и хватит, но хотелось бы универсальности на будущее )) Знаете как оно бывает: срочно понадобилось и давай искать откуда выколупать. Да и в целом - цена у всех подобна, ньюансов между каждым я не понимаю, поэтому решил брать то, что точно хвалят.
После, колупаясь на алиекспрессе мой взор пал на . Оказалось - он сильно тупит с микрошагом.
Ну и в конце концов решил брать эти: . Брал
Сойдет, или я сделал неверный выбор? :)
Заказал драйвера.
Хотел сначала заказать [url=http://www.youtube.com/watch?v=yXoJgDPRips]EasyDriver A3967[/url] не понравилось, что он всего 0.7А. Сейчас может быть и хватит, но хотелось бы универсальности на будущее )) Знаете как оно бывает: срочно понадобилось и давай искать откуда выколупать. Да и в целом - цена у всех подобна, ньюансов между каждым я не понимаю, поэтому решил брать то, что точно хвалят.
После, колупаясь на алиекспрессе мой взор пал на [url=http://www.youtube.com/watch?v=WFa0iOAmv9E]A4988[/url]. Оказалось - он сильно тупит с микрошагом.
Ну и в конце концов решил брать эти: [url=http://www.youtube.com/watch?v=bUyZw27swTk]DRV8825[/url]. Брал [url=http://ru.aliexpress.com/item/3D-Printer-StepStick-DRV-8825-DRV8825-Stepper-Motor-Driver-Module-Carrier-Reprap-4-layer-4-layer/32374765658.html]тут[/url]
Сойдет, или я сделал неверный выбор? :)
|
|
|
 |
Добавлено: 21 авг 2015, 19:38 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
движки разные. По ним мне ничего не известно. Оба выдраны с принтеров: с Canon BJC 2100: MSDS096A5 дальше не видно и строчкой ниже QH4-4242
с Epson C43sx: 4-пиновый EM 465 вроде. Маркировка затерлась. По памяти вроде 465-й. С этого же принтера есть другой движок EM 462, но я его сломал (( Помню, что они на одну цифру отличались.
Оба двигателя шаговые, 4-х пиновые. По оборотам скорее всего разные.
Я покрутил механику и мне подумалось: а ведь реализовать рисование угла или маленького радиуса там будет не просто. Оно ведь как: держатель мела будет по середине рамы, между осей двигателя. И вот если осуществлять поворот путем стопорения одной оси, то поворот будет происходить по дуге с радиусом равным расстоянию от колес до центра. Следовательно, чтобы обеспечить поворот линии (нарисовать угол), то нужно оси крутить в разные стороны, чтобы добиться желаемого результата.
Если я сумбурно написал, то возьмите лист бумаги, как бы зафиксируйте одну сторону, а вторую толкайте. средняя точка листа начнет описывать радиус. А чтобы заставить центральную точку стоять на месте - нужно две стороны листа двигать в противоположные стороны.
Я там обещал по G-Code дать инфу. Нужна? небольшой, один из лучших, который я встречал. Это обрезанная версия. Щас пролез и не нашел полную. Если нужна - еще поищу.
движки разные. По ним мне ничего не известно. Оба выдраны с принтеров: с Canon BJC 2100: MSDS096A5 дальше не видно и строчкой ниже QH4-4242
с Epson C43sx: 4-пиновый EM 465 вроде. Маркировка затерлась. По памяти вроде 465-й. С этого же принтера есть другой движок EM 462, но я его сломал (( Помню, что они на одну цифру отличались.
Оба двигателя шаговые, 4-х пиновые. По оборотам скорее всего разные.
Я покрутил механику и мне подумалось: а ведь реализовать рисование угла или маленького радиуса там будет не просто. Оно ведь как: держатель мела будет по середине рамы, между осей двигателя. И вот если осуществлять поворот путем стопорения одной оси, то поворот будет происходить по дуге с радиусом равным расстоянию от колес до центра. Следовательно, чтобы обеспечить поворот линии (нарисовать угол), то нужно оси крутить в разные стороны, чтобы добиться желаемого результата.
Если я сумбурно написал, то возьмите лист бумаги, как бы зафиксируйте одну сторону, а вторую толкайте. средняя точка листа начнет описывать радиус. А чтобы заставить центральную точку стоять на месте - нужно две стороны листа двигать в противоположные стороны.
Я там обещал по G-Code дать инфу. Нужна? [url=https://yadi.sk/i/NraKUYvsiZvmb]вот мануальчик[/url] небольшой, один из лучших, который я встречал. Это обрезанная версия. Щас пролез и не нашел полную. Если нужна - еще поищу.
|
|
|
 |
Добавлено: 21 авг 2015, 10:07 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Идея: машинка-плоттер: ездит и рисует линии |
Цитата |
|
Оба двигателя в машинке шаговые? Они одного типа? Количество шагов за оборот одинаковое? Есть тип двигателей (даташит)?
Оба двигателя в машинке шаговые? Они одного типа? Количество шагов за оборот одинаковое? Есть тип двигателей (даташит)?
|
|
|
 |
Добавлено: 21 авг 2015, 00:00 |
|
|
 |
|