Arduino EMC2 LinuxCNC - советы начинающим
- Yashcher
- Новичок
- Сообщения: 18
- Зарегистрирован: 24 окт 2011, 23:26
- Репутация: 0
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Вот ещо ссылочка тоже Arduina и G код, может поможет чем.
http://www.societyofrobots.com/robotfor ... pic=9615.0
жаль с англицким у меня туго
http://www.societyofrobots.com/robotfor ... pic=9615.0
жаль с англицким у меня туго
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
- Yashcher
- Новичок
- Сообщения: 18
- Зарегистрирован: 24 окт 2011, 23:26
- Репутация: 0
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
У них же как то получилось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
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 - советы начинающим
Я так думаю они все это не через LinuxCNC сделали. Скорее всего, у них сама ардуина Gкод (а еще вероятнее не Gкод, а какой-то подготовленный для нее код) обрабатывает и управляет движками и лазером.
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Если на ардуине делать серво, то я думаю только контроллер управляемый по STEP/DIR, ну а их уже по старинке брать с LPT. Но если делать правильный, то написать программку для него будет непростой задачей.
У меня стоит на ардуине контроллер, который считывает положения самодельных энкодеров(на 100 положений на оборот) обоих валов по оси Y. Гонял до 1400об/мин(больше шаговиками не смог). Быстродействия хватает, правда на время расчётов показания на экран не вывожу, так как экран у меня тормознутый, и это много времени занимает.
У меня стоит на ардуине контроллер, который считывает положения самодельных энкодеров(на 100 положений на оборот) обоих валов по оси Y. Гонял до 1400об/мин(больше шаговиками не смог). Быстродействия хватает, правда на время расчётов показания на экран не вывожу, так как экран у меня тормознутый, и это много времени занимает.
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Да, там g-code отправляют, а ардуина уже расчитывает траекторию и управляет движками. Собирал я по проекту grbl. На столе нормально всё работало, я даже для себя GUI написал. Но до установки на станок дело так и не дошло.Nick писал(а):Я так думаю они все это не через LinuxCNC сделали. Скорее всего, у них сама ардуина Gкод (а еще вероятнее не Gкод, а какой-то подготовленный для нее код) обрабатывает и управляет движками и лазером.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Тогда вся прелесть быстрой генерации шагов пропадает. Основной плюс в железном драйвере серво - не надо быстро шаги на компе генерировать.billsmith писал(а):Если на ардуине делать серво, то я думаю только контроллер управляемый по STEP/DIR
- Yashcher
- Новичок
- Сообщения: 18
- Зарегистрирован: 24 окт 2011, 23:26
- Репутация: 0
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Можно подробнейbillsmith писал(а):Собирал я по проекту grbl
_Всё решают мелочи...
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
http://forum.easyelectronics.ru/viewtop ... =16&t=2097
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже(к сожалению в работе так и не проверил). По USB получает g-code, и выполняет его. Настройки в него заносятся также по USB. Отправлять можно либо просто готовый фал через например скрипт на питоне, либо как я делал, можно написать простенкий удобный GUI на чём угодно (я писал на Proceccing из-за простоты и работы скомпиленного кода на Linux/Window/Android). В планах я меня было заместь компа использовать вторую ардуину с сенсорным экранчиком и флешкой.
https://github.com/grbl/grbl/
Последнюю я ставил версию grbl_v0_8a. Только я сам компилил, так как в исходниках менял некоторые параметры(скорость обмена увеличивал, и вроде добавлял чтоб ардуина отвечала на какой скорости шпиндель сейчас вращаеться).
Буду вопросы, спрашивайте. Что помню, отвечу.
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 - советы начинающим
Ухты ! Это ж не просто не разу!billsmith писал(а):Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже
А он может команды и настройки с флешки какой-нибудь брать вместо usb с компа?
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Настройки раз закидываешь с консоли, и они хранятся во флеше контроллера. А вот команды с флешки читать, это сложно (контроллер и так загружен), но планировалось в будущие версии. А пока это решаеться просто. Берём ещё одну ардуину, цепляем к ней любой экран (хоть тач), модель для чтения с флешек, ну и по желанию например wifi.
А вообще я думал, заместь второй ардуины, берём китайский планшетник за 70баксов с 7ми дюймовым экраном, и на нём пишем любой GUI.
п.с.Основной причиной моего остывания к теме, вроде было, что я неуспевал отправлять g-code при сложной 3D обработке, и буфер опустошался (хотя это не приводило к каким либо последствиям кроме маленькой паузы изредка). Но тогда я увлекался излишне высокой точностью, ну и Artcam всё бил на отрезки. Сейчас траектории считаю в другой программе, она выдаёт траекторию дугами. Думаю сейчас у меня проблем не возникало бы.
Ну и вторая причина, там небыло авто обнуления Z. Хотя это и можно попробовать реализовать кривовато с компа или второго контроллера.
А вообще я думал, заместь второй ардуины, берём китайский планшетник за 70баксов с 7ми дюймовым экраном, и на нём пишем любой GUI.
п.с.Основной причиной моего остывания к теме, вроде было, что я неуспевал отправлять g-code при сложной 3D обработке, и буфер опустошался (хотя это не приводило к каким либо последствиям кроме маленькой паузы изредка). Но тогда я увлекался излишне высокой точностью, ну и Artcam всё бил на отрезки. Сейчас траектории считаю в другой программе, она выдаёт траекторию дугами. Думаю сейчас у меня проблем не возникало бы.
Ну и вторая причина, там небыло авто обнуления Z. Хотя это и можно попробовать реализовать кривовато с компа или второго контроллера.
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Случайн обманул вас, он поддерживает 3 оси.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
3 оси более чем достаточно.
В принципе интерфейс даже не шибко нужен, нужны кнопки Start/Stop/Home ну и аналог G92 X0 Y0 Z0.
И получилось бы мечта Aftaeva !
А что с флеши так трудно читать? Даже жестко определенный файл?
В принципе интерфейс даже не шибко нужен, нужны кнопки Start/Stop/Home ну и аналог G92 X0 Y0 Z0.
И получилось бы мечта Aftaeva !
А что с флеши так трудно читать? Даже жестко определенный файл?
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Дело в том что для достижения таких характеристик, всё написано не на IDE arduino, а на чистом C. А в нём я не силён, и ответить , сложно или нет, я не могу. По мне так лучше тогда отдельную arduino uno с двухстрочным дисплеем, флешкой и нужными кнопками.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
На сях вроде просто с фс работать... там вроде еще проще должно быть, тупо буфер читаем из файла и все.
Только вот какая ос стоит на ардуине...
Только вот какая ос стоит на ардуине...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
IMHO там дело не в том, что трудно или нет с флешки читать, а в том, что придётся в ардуину затолкать функционал emc2 или mach3 по расчёту траекторий - у ардуины банально мозгов не хватит.
P.S. В ардуине никакой ОС нет, есть только бутлоадер, который обеспечивает протокол связи с компом (загрузка программы, управление).
P.S. В ардуине никакой ОС нет, есть только бутлоадер, который обеспечивает протокол связи с компом (загрузка программы, управление).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Это уже есть, точнее минимальный необходимый функционал:UAVpilot писал(а):что придётся в ардуину затолкать функционал emc2 или mach3 по расчёту траекторий - у ардуины банально мозгов не хватит.
billsmith писал(а):Это самостоятельный контроллер на 4ре оси с максимальной частотой генерации шагов 30KHz, лукахеад есть, круговые интерполяции тоже
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Ту прошивку вроде пишут под AVR studio, все исходники есть, добавляй что хочеш. В инете полно инфы про программирование микроконтроллеров atmega. Просто я считаю, что если добавлять флешку, то тогда уже и экран нужен, хотя бы для выбора программ, и вывода минимальной информации. Поэтому и считаю, что лучше это реализовать либо на отдельной ардуине, либо на простейшем планшетнике на android.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Минимальный - это G0 и G1?
Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
Вернее сможет, при условии, что будет заниматься только этим. В принципе такое решение можно применять при определённых условиях, например когда не требуется большая скорость или мощность и точность (ременный привод)
Имеет смысл обратить внимание на системы помощней, например вот на такие: http://www.raspberrypi.org/faqs
(В июле обещают прислать. )
Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
Вернее сможет, при условии, что будет заниматься только этим. В принципе такое решение можно применять при определённых условиях, например когда не требуется большая скорость или мощность и точность (ременный привод)
Имеет смысл обратить внимание на системы помощней, например вот на такие: http://www.raspberrypi.org/faqs
(В июле обещают прислать. )
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
И G02-03, хотя в принципе и G01 достаточно.UAVpilot писал(а):Минимальный - это G0 и G1?
А как это можно измерить? Точнее как найти практический верхний предел?UAVpilot писал(а):Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
-
- Опытный
- Сообщения: 128
- Зарегистрирован: 04 июн 2012, 23:46
- Репутация: 5
- Контактная информация:
Re: Arduino Linux CNC - советы начинающим
Как оказывается может. И поддерживает, как я уже писал выше, круговые интерполяции и лукахед. Всё дело в правильной оптимизации алгоритма. Парни конечно очень постарались. Кстате в исходниках у них хорошие коментарии, можно посмотреть как они расчитывают интерполяцию. Ну если писать через IDE ардуино, то тогда быстродействия конечно не хватит. Хотя даже через их IDE я писал управление двумя шаговиками, на частотах до 3-4KHz. Осцилографом правда не смотрел выхода, но субъективно, по плавности вращения и достигнутым оборотам, сигнал был достаточно равномерным.UAVpilot писал(а):Минимальный - это G0 и G1?
Я делал нечто подобное (немного из другой области) атмега не сможет генерить пару сигналов step в несколько килогерц с приемлемым джитером, а это означает потерю шагов.
Вернее сможет, при условии, что будет заниматься только этим. В принципе такое решение можно применять при определённых условиях, например когда не требуется большая скорость или мощность и точность (ременный привод)
Имеет смысл обратить внимание на системы помощней, например вот на такие: http://www.raspberrypi.org/faqs
(В июле обещают прислать. )