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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Топтался по инету наткнулся на интересную ссылку
http://arduino.ru/forum/proekty/chpu-na-arduino?page=1
может кому будет интересно как вариант использования в ЧПУ
Правда все это не в тему Линукса но хотелось бы реализоварь компьютерную часть данной идеи на Lcnc + Ардуино :good:
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Помогите кто понимает в програмирование , ардиино и английском
Нашел вот такую ссылку в инете
https://github.com/dewy721/EMC-2-Arduin ... %200.4.zip
если я правельно понимаю то это описание, ЕМС управляет ШД (по степ дир) через Ардуино или я совсем не так все понимаю :thinking:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Нет, это тира расширителя количества входов/выходов, причем с лагом в неск. мс.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Я пытался понять с помощу Google переводчика вот эту ссылку
http://emc2arduino.wordpress.com/faq-2/faq-emc2arduino/
и меня заинтересовала вот эта фраза
"
Q: If I chose to go with an entirely Arduino based CNC how fast can I expect it to move?

A: Depends, If your using one Arduino to do it all then you’ll notice for every axis in motion you incur a small speed penalty. At 4 axises I can get 130 RPMs out of my stepper motors, which is plenty fast enough for working speeds. A single axis can move much faster as it requires less processing power. As a result of this, I plan on offering a multi-Arduino swarm approach in the future.

"
из- за не знания инглыша ( в прочим и с русской граматикой у меня тоже не все хорошо) я не понял какую частоту там получить на Ардуино 130 гц для 4 ШД или я опять не о том :thinking:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Я исходники смотрел хоть и "до диагонали", но не увидел там ни обработчиков прерываний, ни работы с таймерами, а без этого более менее стабильных шагов не нагенерить, посему глубже вникать не стал.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Чего то я в очередной раз туплю
не могу установить Ардуино уже чего то много перепробовал но не как все таки я :monkey: :hammer:
Можно какуюто пошаговую инструкцию а то совсем :idiot:
пробовал так
sudo apt-get install gcc-avr avr-libc openjdk-6-jre
wget http://arduino.googlecode.com/files/ard ... -linux.tgz
tar -xzvf arduino-1.0-linux.tgz
cd arduino-1.0
./arduino
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

все поставил заработало :good: пришлось еще поставить java
и имя порта странное ttyACM0
Какой все таки проблемный этот Линукс :thinking: :shock:
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

Nick писал(а):Итак, загружаем остальные файлы (arduino.py, arduino-vcp.hal, arduino-vcp.xml) отсюда: http://axis.unpy.net/01198594294
Сделал, правда не понятно куда их ложить файлы. Положил в папку конфига /home/aft/linuxcnc/configs/mill
Nick писал(а):Добавляем в файл ini следующую строку в раздел [HAL]:
POSTGUI_HALFILE = arduino-vcp.hal
Сделал.
Nick писал(а):и эту в раздел [DISPLAY]:
PYVCP = arduino-vcp.xml
Сделал.
Nick писал(а):Запускаем .... не работает, emc2 запускается, панельки нет...
ЕМС не запускается
(для просмотра содержимого нажмите на ссылку)

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

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.3
Machine configuration directory is '/home/aft/linuxcnc/configs/mill'
Machine configuration file is 'mill.ini'
INIFILE=/home/aft/linuxcnc/configs/mill/mill.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting TASK program: milltask
Starting DISPLAY program: axis
Shutting down and cleaning up LinuxCNC...
Killing task linuxcncsvr, PID=1781
Killing task milltask, PID=1832
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
arduino-vcp.hal:2: execv(arduino): No such file or directory
arduino-vcp.hal:2: arduino exited without becoming ready
1781
  PID TTY      STAT   TIME COMMAND
1832
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[  551.065731] I-pipe: Domain RTAI registered.
[  551.065744] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[  551.065747] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[  551.065756] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[  551.065759] PIPELINE layers:
[  551.065764] f8c45e20 9ac15d93 RTAI 200
[  551.065767] c085cb20 0 Linux 100
[  551.099420] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[  551.099661] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[  551.099669] RTAI[sched]: hard timer type/freq = APIC/6250189(Hz); default timing: periodic; linear timed lists.
[  551.099674] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1500035000 hz.
[  551.099678] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[  551.099834] RTAI[usi]: enabled.
[  551.198927] RTAI[math]: loaded.
[  551.296233] config string '0x378 out  '
[  553.812189] RTAI[math]: unloaded.
[  553.874481] SCHED releases registered named ALIEN RTGLBH
[  553.888380] RTAI[malloc]: unloaded.
[  553.988020] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[  553.992467] I-pipe: Domain RTAI unregistered.
[  553.992481] RTAI[hal]: unmounted.
Файлы Ини и ХАЛ
arduino-vcp.hal
(1.49 КБ) 1077 скачиваний
mill.hal
(3.35 КБ) 1153 скачивания
mill.ini
(1.75 КБ) 1145 скачиваний
Ардуину прошил, посмотрел какому порту подключена ардуина и в НАЛ и ру файле поменял

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

#PORT = "/dev/ttyUSB0"
PORT = "/dev/ttyACM0"
Что ему нужно?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
sr480
Мастер
Сообщения: 1295
Зарегистрирован: 08 янв 2012, 20:48
Репутация: 139
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение sr480 »

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

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

Сообщение aftaev »

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

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

Сообщение Nick »

aftaev писал(а):Что ему нужно?
надо скорее всего либо в этой строке поменять

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

loadusr -W arduino /dev/ttyACM0 3
чтобы стало так:

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

loadusr -Wn arduino python arduino.py /dev/ttyACM0 3
либо файл arduino.py переименовать в просто arduinio и добавить ему права на исполнение.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение Nick »

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

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

Сообщение aftaev »

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

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

Сообщение Nick »

после того как запустил linuxcnc выполни
halcmd show | grep arduino
надо посмотреть, что там загрузилось...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

Все по порядку:
1. Этот проект http://emergent.unpythonic.net/01198594294 заточен по плату UNO к меня 2560 тобишь выводов поболее
2. При загрузке скетча вылазит ошибка:
123.png (3902 просмотра) <a class='original' href='./download/file.php?id=23241&sid=4a30d194e5012336667ef94d268c672f&mode=view' target=_blank>Загрузить оригинал (12.86 КБ)</a>
Полазил по просторам инета нашел: ЧПУ пульты #931

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

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

Сообщение aftaev »

После этого на Линух поставил Arduino IDE чтобы глянуть к какому порту подключено
В arduino.py прописал порт
#PORT = "/dev/ttyUSB0"
PORT = "/dev/ttyACM0"

В arduino-vcp.hal прописал так:

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

#loadusr -W arduino /dev/ttyUSB0 3
loadusr -Wn arduino /home/aft/linuxcnc/configs/mill/arduino.py
loadusr -W arduino /dev/ttyACM0 3
loadusr -Wn arduino-vcp pyvcp arduino-vcp.xml
show pin arduino-vcp
и только тогда ЕМС стал грузится. Вначале появляется окно с ползунками разными
Panel.png (3898 просмотров) <a class='original' href='./download/file.php?id=23242&sid=4a30d194e5012336667ef94d268c672f&mode=view' target=_blank>Загрузить оригинал (323.34 КБ)</a>
их закрываю появляется ЕМС, а с боку большое окно с теми же индикаторами которые ничего не делают.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

Nick писал(а):после того как запустил linuxcnc выполни
halcmd show | grep arduino
надо посмотреть, что там загрузилось...
Вот:
(для просмотра содержимого нажмите на ссылку)

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

aft@cnc:~$ halcmd show | grep arduino
    18  User  arduino                                    1849 ready
    18  float OUT             0  arduino.analog-in-00 ==> ain0
    18  float OUT             0  arduino.analog-in-01 ==> ain1
    18  float OUT             0  arduino.analog-in-02 ==> ain2
    18  float OUT             0  arduino.analog-in-03 ==> ain3
    18  float OUT             0  arduino.analog-in-04 ==> ain4
    18  float OUT             0  arduino.analog-in-05 ==> ain5
    18  float IN              0  arduino.analog-out-03 <== aout0
    18  float IN              0  arduino.analog-out-05 <== aout1
    18  float IN              0  arduino.analog-out-06 <== aout2
    18  float IN              0  arduino.analog-out-09 <== aout3
    18  float IN              0  arduino.analog-out-10 <== aout4
    18  float IN              0  arduino.analog-out-11 <== aout5
    18  bit   IN          FALSE  arduino.digital-out-02 <== dout0
    18  bit   IN          FALSE  arduino.digital-out-04 <== dout1
    18  bit   IN          FALSE  arduino.digital-out-07 <== dout2
    18  bit   IN          FALSE  arduino.digital-out-08
    18  bit   IN          FALSE  arduino.digital-out-12
    18  bit   IN          FALSE  arduino.digital-out-13
                         <== arduino.analog-in-00
                         <== arduino.analog-in-01
                         <== arduino.analog-in-02
                         <== arduino.analog-in-03
                         <== arduino.analog-in-04
                         <== arduino.analog-in-05
                         ==> arduino.analog-out-03
                         ==> arduino.analog-out-05
                         ==> arduino.analog-out-06
                         ==> arduino.analog-out-09
                         ==> arduino.analog-out-10
                         ==> arduino.analog-out-11
                         ==> arduino.digital-out-02
                         ==> arduino.digital-out-04
                         ==> arduino.digital-out-07
    18  float RW              1  arduino.analog-in-00-gain
    18  float RW              0  arduino.analog-in-00-offset
    18  float RW              1  arduino.analog-in-01-gain
    18  float RW              0  arduino.analog-in-01-offset
    18  float RW              1  arduino.analog-in-02-gain
    18  float RW              0  arduino.analog-in-02-offset
    18  float RW              1  arduino.analog-in-03-gain
    18  float RW              0  arduino.analog-in-03-offset
    18  float RW              1  arduino.analog-in-04-gain
    18  float RW              0  arduino.analog-in-04-offset
    18  float RW              1  arduino.analog-in-05-gain
    18  float RW              0  arduino.analog-in-05-offset
    18  float RW              0  arduino.analog-out-03-offset
    18  float RW              1  arduino.analog-out-03-scale
    18  float RW              0  arduino.analog-out-05-offset
    18  float RW              1  arduino.analog-out-05-scale
    18  float RW              0  arduino.analog-out-06-offset
    18  float RW              1  arduino.analog-out-06-scale
    18  float RW              0  arduino.analog-out-09-offset
    18  float RW              1  arduino.analog-out-09-scale
    18  float RW              0  arduino.analog-out-10-offset
    18  float RW              1  arduino.analog-out-10-scale
    18  float RW              0  arduino.analog-out-11-offset
    18  float RW              1  arduino.analog-out-11-scale
    18  bit   RW          FALSE  arduino.digital-out-02-invert
    18  bit   RW          FALSE  arduino.digital-out-04-invert
    18  bit   RW          FALSE  arduino.digital-out-07-invert
    18  bit   RW          FALSE  arduino.digital-out-08-invert
    18  bit   RW          FALSE  arduino.digital-out-12-invert
    18  bit   RW          FALSE  arduino.digital-out-13-invert
aft@cnc:~$ 

Всякие файлы
arduino-vcp.hal
(1.56 КБ) 1144 скачивания
mill.hal
(3.35 КБ) 1161 скачивание
mill.ini
(1.75 КБ) 1059 скачиваний
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

aftaev писал(а):loadusr -Wn arduino /home/aft/linuxcnc/configs/mill/arduino.py
loadusr -W arduino /dev/ttyACM0 3
Эти строчки делают одно и то же...
сделай из них одну, вот такую:
loadusr -Wn arduino /home/aft/linuxcnc/configs/mill/arduino.py /dev/ttyACM0 3
или вот такую (при условии, что конфиг лежит тут /home/aft/linuxcnc/configs/mill/):
loadusr -Wn arduino arduino.py /dev/ttyACM0 3
aftaev писал(а):show pin arduino-vcp
Это в принципе, не надо. Оно должно вывести список пинов, но непонятно кому и куда :).

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

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

Сообщение aftaev »

Nick писал(а):Эти строчки делают одно и то же...
сделай из них одну, вот такую:
С одной loadusr -W arduino /dev/ttyACM0 3 не работало
Nick писал(а):Это в принципе, не надо. Оно должно вывести список пинов, но непонятно кому и куда .
это show pin arduino-vcp было в файле автора
Nick писал(а):ЗЫ А чем тебе новый компонент для ардуины не нравится?
новый это какой? Мне хотябы один запустить чтобы разобраться как работает, написать то что мне нужно. Этот хоть как то "заработал" :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Ответить

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