Arduino EMC2 LinuxCNC - советы начинающим

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Yashcher
Новичок
Сообщения: 18
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Yashcher »

Вот ещо ссылочка тоже Arduina и G код, может поможет чем.
http://www.societyofrobots.com/robotfor ... pic=9615.0
жаль с англицким у меня туго :(
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
Аватара пользователя
Yashcher
Новичок
Сообщения: 18
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Yashcher »

Nick писал(а):хотя, если поставить servothread 10мс, то может все и получится
У них же как то получилось
http://www.flickr.com/photos/stfnix/set ... 26/?page=2
http://labs.nortd.com/lasersaur/manual/

и давольно резво бегает
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

Я так думаю они все это не через LinuxCNC сделали. Скорее всего, у них сама ардуина Gкод (а еще вероятнее не Gкод, а какой-то подготовленный для нее код) обрабатывает и управляет движками и лазером.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Если на ардуине делать серво, то я думаю только контроллер управляемый по STEP/DIR, ну а их уже по старинке брать с LPT. Но если делать правильный, то написать программку для него будет непростой задачей.
У меня стоит на ардуине контроллер, который считывает положения самодельных энкодеров(на 100 положений на оборот) обоих валов по оси Y. Гонял до 1400об/мин(больше шаговиками не смог). Быстродействия хватает, правда на время расчётов показания на экран не вывожу, так как экран у меня тормознутый, и это много времени занимает.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Nick писал(а):Я так думаю они все это не через LinuxCNC сделали. Скорее всего, у них сама ардуина Gкод (а еще вероятнее не Gкод, а какой-то подготовленный для нее код) обрабатывает и управляет движками и лазером.
Да, там g-code отправляют, а ардуина уже расчитывает траекторию и управляет движками. Собирал я по проекту grbl. На столе нормально всё работало, я даже для себя GUI написал. Но до установки на станок дело так и не дошло.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

billsmith писал(а):Если на ардуине делать серво, то я думаю только контроллер управляемый по STEP/DIR
Тогда вся прелесть быстрой генерации шагов пропадает. Основной плюс в железном драйвере серво - не надо быстро шаги на компе генерировать.
Аватара пользователя
Yashcher
Новичок
Сообщения: 18
Зарегистрирован: 24 окт 2011, 23:26
Репутация: 0
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Yashcher »

billsmith писал(а):Собирал я по проекту grbl
Можно подробней
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже(к сожалению в работе так и не проверил). По USB получает g-code, и выполняет его. Настройки в него заносятся также по USB. Отправлять можно либо просто готовый фал через например скрипт на питоне, либо как я делал, можно написать простенкий удобный GUI на чём угодно (я писал на Proceccing из-за простоты и работы скомпиленного кода на Linux/Window/Android). В планах я меня было заместь компа использовать вторую ардуину с сенсорным экранчиком и флешкой.
https://github.com/grbl/grbl/
Последнюю я ставил версию grbl_v0_8a. Только я сам компилил, так как в исходниках менял некоторые параметры(скорость обмена увеличивал, и вроде добавлял чтоб ардуина отвечала на какой скорости шпиндель сейчас вращаеться).
Буду вопросы, спрашивайте. Что помню, отвечу.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

billsmith писал(а):Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже
Ухты :cheesy: :cheesy: :cheesy: ! Это ж не просто не разу!

А он может команды и настройки с флешки какой-нибудь брать вместо usb с компа?
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Настройки раз закидываешь с консоли, и они хранятся во флеше контроллера. А вот команды с флешки читать, это сложно (контроллер и так загружен), но планировалось в будущие версии. А пока это решаеться просто. Берём ещё одну ардуину, цепляем к ней любой экран (хоть тач), модель для чтения с флешек, ну и по желанию например wifi.
А вообще я думал, заместь второй ардуины, берём китайский планшетник за 70баксов с 7ми дюймовым экраном, и на нём пишем любой GUI.

п.с.Основной причиной моего остывания к теме, вроде было, что я неуспевал отправлять g-code при сложной 3D обработке, и буфер опустошался (хотя это не приводило к каким либо последствиям кроме маленькой паузы изредка). Но тогда я увлекался излишне высокой точностью, ну и Artcam всё бил на отрезки. Сейчас траектории считаю в другой программе, она выдаёт траекторию дугами. Думаю сейчас у меня проблем не возникало бы.
Ну и вторая причина, там небыло авто обнуления Z. Хотя это и можно попробовать реализовать кривовато с компа или второго контроллера.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Случайн обманул вас, он поддерживает 3 оси.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

3 оси более чем достаточно.
В принципе интерфейс даже не шибко нужен, нужны кнопки Start/Stop/Home ну и аналог G92 X0 Y0 Z0.

И получилось бы мечта Aftaeva :)!

А что с флеши так трудно читать? Даже жестко определенный файл?
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Дело в том что для достижения таких характеристик, всё написано не на IDE arduino, а на чистом C. А в нём я не силён, и ответить , сложно или нет, я не могу. По мне так лучше тогда отдельную arduino uno с двухстрочным дисплеем, флешкой и нужными кнопками.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

На сях вроде просто с фс работать... там вроде еще проще должно быть, тупо буфер читаем из файла и все.
Только вот какая ос стоит на ардуине... :?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Serg »

IMHO там дело не в том, что трудно или нет с флешки читать, а в том, что придётся в ардуину затолкать функционал emc2 или mach3 по расчёту траекторий - у ардуины банально мозгов не хватит.

P.S. В ардуине никакой ОС нет, есть только бутлоадер, который обеспечивает протокол связи с компом (загрузка программы, управление).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

UAVpilot писал(а):что придётся в ардуину затолкать функционал emc2 или mach3 по расчёту траекторий - у ардуины банально мозгов не хватит.
Это уже есть, точнее минимальный необходимый функционал:
billsmith писал(а):Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

Ту прошивку вроде пишут под AVR studio, все исходники есть, добавляй что хочеш. В инете полно инфы про программирование микроконтроллеров atmega. Просто я считаю, что если добавлять флешку, то тогда уже и экран нужен, хотя бы для выбора программ, и вывода минимальной информации. Поэтому и считаю, что лучше это реализовать либо на отдельной ардуине, либо на простейшем планшетнике на android.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Serg »

Минимальный - это G0 и G1?

Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
Вернее сможет, при условии, что будет заниматься только этим. В принципе такое решение можно применять при определённых условиях, например когда не требуется большая скорость или мощность и точность (ременный привод)

Имеет смысл обратить внимание на системы помощней, например вот на такие: http://www.raspberrypi.org/faqs
(В июле обещают прислать. :eat: )
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение Nick »

UAVpilot писал(а):Минимальный - это G0 и G1?
И G02-03, хотя в принципе и G01 достаточно.
UAVpilot писал(а):Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
А как это можно измерить? Точнее как найти практический верхний предел?
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Arduino Linux CNC - советы начинающим

Сообщение billsmith »

UAVpilot писал(а):Минимальный - это G0 и G1?

Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
Вернее сможет, при условии, что будет заниматься только этим. В принципе такое решение можно применять при определённых условиях, например когда не требуется большая скорость или мощность и точность (ременный привод)

Имеет смысл обратить внимание на системы помощней, например вот на такие: http://www.raspberrypi.org/faqs
(В июле обещают прислать. :eat: )
Как оказывается может. И поддерживает, как я уже писал выше, круговые интерполяции и лукахед. Всё дело в правильной оптимизации алгоритма. Парни конечно очень постарались. Кстате в исходниках у них хорошие коментарии, можно посмотреть как они расчитывают интерполяцию. Ну если писать через IDE ардуино, то тогда быстродействия конечно не хватит. Хотя даже через их IDE я писал управление двумя шаговиками, на частотах до 3-4KHz. Осцилографом правда не смотрел выхода, но субъективно, по плавности вращения и достигнутым оборотам, сигнал был достаточно равномерным.
Ответить

Вернуться в «LinuxCNC»