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

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

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

Сообщение Nick »

Некоторые сообщения отделены в новую тему: АЦП через LPT на чипе HX711 #1
vanderverken
Новичок
Сообщения: 13
Зарегистрирован: 09 июл 2015, 14:43
Репутация: 2
Настоящее имя: Анатолий
Контактная информация:

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

Сообщение vanderverken »

может лыжи не едут, но вот что получаю:
(для просмотра содержимого нажмите на ссылку)
Arduino: 1.6.4 (Windows 7), Плата"Arduino Nano, ATmega328"

halintf.ino: In function 'void loop()':
halintf:46: error: Ключевое слово "BYTE" больше не поддерживается
Начиная с версии 1.0, в Arduino ключевое слово "BYTE" не
поддерживается. Вместо него используйте "Serial.write()"

halintf.ino: At global scope:
halintf:50: error: expected declaration before '}' token
Ключевое слово "BYTE" больше не поддерживается
меняю BYTE на рекомендованное Serial.write(0x80)
начальная строка №46:
Serial.print((v >> 7) | 0x80, byte);

измененная:
Serial.print((v >> 7) |Serial.write(0x80));

вот такая ошибка:
(для просмотра содержимого нажмите на ссылку)
halintf.ino: In function 'void loop()':
halintf:47: error: expected primary-expression before ')' token
halintf.ino: At global scope:
halintf:50: error: expected declaration before '}' token
expected primary-expression before ')' token

при попытке заменить BYTE на byte вот такая фига:
(для просмотра содержимого нажмите на ссылку)
Arduino: 1.6.4 (Windows 7), Плата"Arduino Nano, ATmega328"

halintf.ino: In function 'void loop()':
halintf:46: error: expected primary-expression before ')' token
halintf:47: error: expected primary-expression before ')' token
halintf.ino: At global scope:
halintf:50: error: expected declaration before '}' token
expected primary-expression before ')' token
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

vanderverken писал(а):меняю BYTE на рекомендованное Serial.write(0x80)
начальная строка №46:
Serial.print((v >> 7) | 0x80, byte);

измененная:
Serial.print((v >> 7) |Serial.write(0x80));
Мне кажется тут надо так:

Код: Выделить всё

Serial.write((v >> 7) |0x80);
vanderverken
Новичок
Сообщения: 13
Зарегистрирован: 09 июл 2015, 14:43
Репутация: 2
Настоящее имя: Анатолий
Контактная информация:

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

Сообщение vanderverken »

и вновь вопрос:
удалось кому нибудь подружить LinuxCNC с интерпретатором GRBL на ардуино вот этого проекта?
или может быть есть альтернативный вариант использования ардуино в качестве контроллера ШД+шпинделя?

дано:
ардуино (в наличии есть разные: нано328, уно328, и есть еще мега2560), видится как
драйверы ШД ТВ6560_v2.0 с управлением по STEP/DIR
драйвер шпинделя с входом PWM и "крутилкой" ручной регулировки оборотов

задача:
подружить этот комплект с LinuxCNC по причине того, что в инкскейпе сгенерированный плагином GCODE не понимает прошивка GRBL а конвертить туда-сюда геморрой тот еще...

п.с. эту ветку перечитал уже на 100500 раз, но так и не разобрался что, как, и куда... :-(
Аватара пользователя
yurayerz
Опытный
Сообщения: 130
Зарегистрирован: 04 янв 2015, 02:46
Репутация: 33
Настоящее имя: Юрий
Откуда: Ярославль
Контактная информация:

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

Сообщение yurayerz »

Эту ветку не читал, но осуждаю! :)
Связи между Arduino с grbl и LinuxCNC не вижу ваще никакой! И тот, и другой - самодостаточные самостоятельные интерпретаторы г-кода.
vanderverken писал(а):подружить этот комплект с LinuxCNC по причине того, что в инкскейпе сгенерированный плагином GCODE не понимает прошивка GRBL а конвертить туда-сюда геморрой тот еще...
(с) Кто на ком стоял?
Можете перефразировать вопрос? Кто кого не понимает? Что и в какой последовательности делаете? Какие сообщения об ошибках?

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

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

Сообщение Nick »

проще будет сделать конвертер gcode->grbl
nevkon
Почётный участник
Почётный участник
Сообщения: 2390
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 302
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

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

Сообщение nevkon »

Наверно все таки здесь спрошу.
Сейчас делаю контроллер на Ардуино Нано на 3 оси. То что здесь описывается подойдет для полного управления контроллером или лучше пилить grbl интерпретатор под мои пины? Мою разводку платы прикладываю (диптрейс).
Вложения
Driver CNC 3-axis.zip
(20.13 КБ) 507 скачиваний
Аватара пользователя
yurayerz
Опытный
Сообщения: 130
Зарегистрирован: 04 янв 2015, 02:46
Репутация: 33
Настоящее имя: Юрий
Откуда: Ярославль
Контактная информация:

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

Сообщение yurayerz »

Диптрейс не читал, но осуждаю! :hehehe:

grbl принимает входной поток символов, интерпретирует как G-код и выдает сигналы step/dir на три оси. Плюс может реагировать на концевики и управлять ШИМом шпинделя. Еще слушается кнопок "сброс", "пауза", "продолжить" и понимает специальные команды "$" во входном потоке данных.
Организовать этот входной поток (с флешки, с USB, c диска, из интернета) - задача человека! grbl ради этого пальцем о палец не ударит. ;) Поэтому для взаимодействия с grbl используют специально обученные компьютерные программы.

Не понял, что значит полное управление? Если без подключения компьютера, то нужен некий девайс, который мог бы читать файл УП с флешки и посылать г-коды в ЮСБ, соблюдая некий протокол обмена. Мне такой девайс не попадался. Сам хотел слепить - пока не получилось.

А для удобства разводки, я, например, в исходнике cpu_map.h изменял назначение пинов. Изначально там StepX, StepY, StepZ, DirX, DirY, DirZ, а мне удобнее разводить к DRV8825 как DirX, StepX, DirY, StepY, DirZ, StepZ.
(для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

  // Define step pulse output pins. NOTE: All step bit pins must be on the same port.
  #define STEP_DDR        DDRD
  #define STEP_PORT       PORTD
  #define X_STEP_BIT      3  // Uno Digital Pin 2
  #define Y_STEP_BIT      5  // Uno Digital Pin 3
  #define Z_STEP_BIT      7  // Uno Digital Pin 4
  #define STEP_MASK       ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits

  // Define step direction output pins. NOTE: All direction pins must be on the same port.
  #define DIRECTION_DDR     DDRD
  #define DIRECTION_PORT    PORTD
  #define X_DIRECTION_BIT   2  // Uno Digital Pin 5
  #define Y_DIRECTION_BIT   4  // Uno Digital Pin 6
  #define Z_DIRECTION_BIT   6  // Uno Digital Pin 7
  #define DIRECTION_MASK    ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits 
nevkon
Почётный участник
Почётный участник
Сообщения: 2390
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 302
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

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

Сообщение nevkon »

Да, смену назначения пинов и насроечный файл я уже нарыл. Попробовал на макетке - работает.
Меня интересовало чтобы linuxcnc управляла таким контроллером как простым типа на tb6560, но последовательными командами через USB. Я уже вычитал что это дохлый вариант, так что буду grbl настраивать под свою плату.
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

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

Сообщение jo_key »

Доброго времени суток, коллеги!
Вот, достал Ардуинку побаловаться, сделал по инструкции. Запустил командой halrun arduino-vcp.hal
Запустилось, но что я увидел: сообщение выбран неправильный файл... после нажатия Ок - запускается скетч, который можно закрыть и все будет работать.
Как-то не по фен-шую.
Немного исходных данных:
-Debian c Linuxcnc
-arduino 1.0.1 (sudo apt-get install arduino)
Ну, вроде бы все. Кто подскажет, как побороть ?
Вложения
IMG_20161228_105039.jpg (7379 просмотров) <a class='original' href='./download/file.php?id=98617&sid=912bc1142cb817629ff161a1c8769660&mode=view' target=_blank>Загрузить оригинал (1.7 МБ)</a>
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

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

Сообщение jo_key »

А еще глупый вопрос - если подключена Ардуина по ЮСБ, можно ли подключать внешнее питание? А то в Инете не нашел ничего по этому поводу.
maksprototype
Новичок
Сообщения: 2
Зарегистрирован: 24 дек 2012, 23:19
Репутация: 0
Контактная информация:

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

Сообщение maksprototype »

таж проблема. все по видео а не работает.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

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

Сообщение selenur »

jo_key писал(а):А еще глупый вопрос - если подключена Ардуина по ЮСБ, можно ли подключать внешнее питание? А то в Инете не нашел ничего по этому поводу.
если оригинальная UNO то тут видно: https://www.arduino.cc/en/uploads/Main/ ... ematic.pdf что внешнее питание можно подключить, даже при подключенном USB
Если другая ардуина, то тут выбирай модель: https://www.arduino.cc/en/Main/Products и там есть ссылка на радио-схему...
НО!!! при условии что ардуина оригинальная, т.к. китайские клоны имеют часто иную схему питания, не раз встречался.....
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

Я так чуть ноут не спалил, с китайскими схемами питания... :hehehe:
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

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

Сообщение jo_key »

спасибо за ответ
Аватара пользователя
odekolon
Мастер
Сообщения: 1103
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

коммерсант детектед

Сообщение odekolon »

вам в " куплю-продам"
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
odekolon
Мастер
Сообщения: 1103
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

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

Сообщение odekolon »

подниму немножко тему...
есть задача, сам пока не справляюсь. Хочу попробовать бюджетный ТHC для плазмы сделать.
то есть мерять ардуиной напряжение дуги и передавать данные в линуксЦНЦ.
ардуино подлючу через оптоизолированный RS232.
поколупался в коде, не осиляю.
если кто помочь хочет, за небольшую денежку, то вот http://www.cnc-club.ru/forum/viewtopic. ... 64&t=18960
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
odekolon
Мастер
Сообщения: 1103
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

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

Сообщение odekolon »

odekolon писал(а):снова вернулся к ардуинке ....
дай думаю разберусь, как оно работает...
начал с ардуины (там кода меньше)

и впал в ступор...
такое чувство, что это писалось на конкурсе программистов и за каждую строку снимали баллы...
ну ничего, разберусь....
Попросил посмотреть этот "чудо-софт" знакомых аспирантов-программистов.
те посмотрели - плюются во все стороны и гнусно матерятся!

эта хрень - набор программистких трюков!
Теперь понятно, почему никто до сих пор, эту связку никак не использовал.

Убил бы!
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

odekolon писал(а):Теперь понятно, почему никто до сих пор, эту связку никак не использовал.
Каку связку? Arduino + Lcnc? У меня панелька так на Lcnc работает на токарнике, правда из другой темы :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
odekolon
Мастер
Сообщения: 1103
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

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

Сообщение odekolon »

из какой?
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Ответить

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