LinuxCNC + Orange Pi

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

У меня нормально всё, только что проверил. Ты окно ошибки крутани чуть ниже, основное описание там. Может, у тебя закралась ошибка совсем другого рода.
sv_jan
Новичок
Сообщения: 7
Зарегистрирован: 04 фев 2020, 09:20
Репутация: 1
Настоящее имя: zhanhank
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение sv_jan »

I can't output 16kHz when the 4 axis or xyz pitch is different,
Only use 6KHz or less, otherwise errors will occur.
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

sv_jan писал(а):I can't output 16kHz when the 4 axis or xyz pitch is different,
Only use 6KHz or less, otherwise errors will occur.
use tkemc and set base period to smaller value (about 30000ns)
sv_jan
Новичок
Сообщения: 7
Зарегистрирован: 04 фев 2020, 09:20
Репутация: 1
Настоящее имя: zhanhank
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение sv_jan »

Waiting for your new arisc driver to complete soon.
Hope it is possible to replace BBB + Machinekit with OrangePi-CNC.
Вложения
IMG_0265-s.JPG (1121 просмотр) <a class='original' href='./download/file.php?id=176305&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (384.36 КБ)</a>
IMG_0266-s.JPG (1121 просмотр) <a class='original' href='./download/file.php?id=176306&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (294.35 КБ)</a>
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Работа с сопроцессором близится к завершению. Свежие тесты выглядят неплохо. Нужно как-то проверить точность по шагам на длинных УП. Наверно, можно сделать счётчик на STM'ке. Ну и натурные тесты бы не помешали :)

На фотках ниже тест, где 1 шаг равен 1-му микрону. С подачей 10 м/мин летает без проблем.
2020-02-06_162410.png (1052 просмотра) <a class='original' href='./download/file.php?id=176324&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (118.88 КБ)</a>
2020-02-06_162418.png (1052 просмотра) <a class='original' href='./download/file.php?id=176323&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (114.72 КБ)</a>
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Не прошло и пяти лет, как драйвер сопроцессора готов. Назовём это альфа версией. Прогнал пару-тройку своих реальных УП на 3-х осевой морде tkemc. Полёт нормальный. Желающие протестировать есть? Завтра могу подготовить набор тестовых файлов. Но по хорошему, нужно всё в коде подчистить и написать нормальные доки как для обычного GPIO драйвера. Кстати, одновременно юзать драйверы hal_gpio_h3 и arisc - нельзя. Они будут мешать друг другу дёргать пины. В драйвере сопроцессора есть свой драйвер GPIO - arisc.gpio. Над драйвером arisc.pwmgen ещё думаю.

Добавил в драйвер arisc.stepgen интересную функцию управления скважностью STEP сигнала. Если какой-то из параметров steplen/stepspace равен нулю, то скважность будет всегда 50%. В данном примере для оси Z параметры steplen/stepspace = 4000/1000. А для оси Y они равны нулю, поэтому используется динамическая длина сигнала STEP. На осциллограмме это выглядит примерно вот так
2020-02-06_220709.png (1015 просмотров) <a class='original' href='./download/file.php?id=176344&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (106.41 КБ)</a>
2020-02-06_233208.png (996 просмотров) <a class='original' href='./download/file.php?id=176346&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (107.5 КБ)</a>
2020-02-06_233129.png (996 просмотров) <a class='original' href='./download/file.php?id=176347&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (108.74 КБ)</a>
2020-02-06_220742.png (1015 просмотров) <a class='original' href='./download/file.php?id=176343&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (136.12 КБ)</a>
sv_jan
Новичок
Сообщения: 7
Зарегистрирован: 04 фев 2020, 09:20
Репутация: 1
Настоящее имя: zhanhank
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение sv_jan »

Great! It looks like there will be download img for testing soon.
nevkon
Почётный участник
Почётный участник
Сообщения: 1998
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 245
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение nevkon »

Поддерживаю. Ждем образ с инструкциями по настройке.
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

nevkon писал(а):Поддерживаю. Ждем образ с инструкциями по настройке.
Новые образы для этого не нужны. Скопировать пару файлов, выполнить пару команд и драйвер установлен. Мне просто надо тестовый конфиг настроить, чтобы всем было понятно как драйвером пользоваться.

Чуть позже обновлю все текущие образы. Ну и надо ещё новых насобирать, со свежим mainline ядром Linux
karavan
Новичок
Сообщения: 2
Зарегистрирован: 05 ноя 2019, 16:03
Репутация: 0
Настоящее имя: Сергей
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение karavan »

Поздравляю и готовлюсь к тестам! Ждём файлы и инструкцию.
У меня такая плата: Orange Pi PC H3 Quad-core 1GB Support the Lubuntu linux and android mini PC Wholesale is available
Без драйвера сопроцессора запускать пробовал.
Но дальше проверки подключения к дисплею через HDMI-VGA переходник дело не пошло.
Просто отложил до лучших времён, но за темой слежу давно.
skopa
Новичок
Сообщения: 1
Зарегистрирован: 06 фев 2020, 16:16
Репутация: 0
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение skopa »

Эх, я так понимаю для Orange Pi 3 все это не подойдет, там ведь проц H6 Quad-core 64-bit 1.8GHZ ARM Cortex™-A53
А H6 не планируете в поддержку?
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Итак, для быстрой установки свежего arisc драйвера в систему, подключите апельсин к инету, закройте все копии Machinekit (если он работает) и выполните следующие команды в консоли. Если где-то попросит пароль, введите пароль текущего юзера

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

wget -q -N https://cnc32.ru/install_arisc_driver.sh
chmod +x install_arisc_driver.sh
./install_arisc_driver.sh
Чтобы по быстрому убедится в том, что всё установилось правильно, выполните в консоли следующие команды

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

realtime start
halcmd loadrt arisc.gpio CPU=H3 in=PA0,PA1 out=PA2,PA3
halcmd loadrt arisc.stepgen CPU=H3 ctrl_type=p,p,p
halcmd show all arisc
realtime stop
В консоли появятся все пины, параметры и функции драйверов arisc.gpio и arisc.stepgen. В данном примере мы запускаем RT модуль, и загружаем два драйвера. CPU - это название вашего процессора (H2/H3/H5). in - список входных пинов, out - список выходных. ctrl_type - кол-во stepgen каналов и тип их управления (p - по позиции, v - по скорости). p,p,p - означает 3 канала с управлением по позиции.

После всех этих махинаций нужно перезагрузить апельсин, чтобы прошивка сопроцессора полностью обновилась. Далее, кто разбирается в HAL файлах, сможет настроить всё сам. Тестовый конфиг ещё не готов, будет чуть позже.
skopa писал(а):А H6 не планируете в поддержку?
Для поддержки H6 нужен вагон дополнительного времени, потому что там внутре всё сильно отличается от H2/H3/H5.
Последний раз редактировалось MX_Master 07 фев 2020, 16:58, всего редактировалось 1 раз.
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Что-то я совсем забыл, что надо ещё прошивку сопроцессора положить в папку загрузки :hehehe: Ща, пять минут, скрипт установки драйвера подправлю. Если кто-то уже установил, потом просто повторно всё то же самое в консоли сделаете ;)

Готово. Кто уже установил, сделайте это ещё раз согласно инструкции выше.
sv_jan
Новичок
Сообщения: 7
Зарегистрирован: 04 фев 2020, 09:20
Репутация: 1
Настоящее имя: zhanhank
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение sv_jan »

Arisc driver looks like it's installed. Now wait for your test configuration file.
Вложения
install_arisc.png (846 просмотров) <a class='original' href='./download/file.php?id=176422&sid=7bf497b77375a996872152cacf4636b1&mode=view' target=_blank>Загрузить оригинал (66.18 КБ)</a>
DmitriiNT
Кандидат
Сообщения: 56
Зарегистрирован: 11 дек 2019, 20:17
Репутация: 6
Настоящее имя: Дмитрий
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение DmitriiNT »

Добрый день!
Плата OrangePi PC2 Не компилируется:

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

cnc@orangepipc2:~$ wget -q -N https://cnc32.ru/install_arisc_driver.sh
cnc@orangepipc2:~$ chmod +x install_arisc_driver.sh
cnc@orangepipc2:~$ ./install_arisc_driver.sh
downloading files...
downloading done. Installing driver...

Мы полагаем, что ваш системный администратор изложил вам основы
безопасности. Как правило, всё сводится к трём следующим правилам:

    №1) Уважайте частную жизнь других.
    №2) Думайте, прежде что-то вводить.
    №3) С большой властью приходит большая ответственность.

[sudo] пароль для cnc: 
Compiling realtime arisc.gpio.c
In file included from /usr/include/linuxcnc/rtapi.h:1040:0,
                 from arisc.gpio.c:4:
/usr/include/linuxcnc/rtapi_io.h:39:43: fatal error: sys/io.h: Нет такого файла или каталога
 #  include <sys/io.h>  /* inb(), outb() */
                                           ^
compilation terminated.
/usr/share/linuxcnc/Makefile.modinc:105: ошибка выполнения рецепта для цели «arisc.gpio.o»
make: *** [arisc.gpio.o] Ошибка 1
Compiling realtime arisc.stepgen.c
In file included from /usr/include/linuxcnc/rtapi.h:1040:0,
                 from arisc.stepgen.c:1:
/usr/include/linuxcnc/rtapi_io.h:39:43: fatal error: sys/io.h: Нет такого файла или каталога
 #  include <sys/io.h>  /* inb(), outb() */
                                           ^
compilation terminated.
/usr/share/linuxcnc/Makefile.modinc:105: ошибка выполнения рецепта для цели «arisc.stepgen.o»
make: *** [arisc.stepgen.o] Ошибка 1
Driver is installed. Reboot the device, please :)
Что-то пошло не так...
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

DmitriiNT писал(а):Плата OrangePi PC2 Не компилируется:
Образ для Orange Pi PC2 собирал не я. Мне даже проверить не на чем. Возможно, в образе просто нет иcходников ядра Linux. Или, файл необходимый для сборки, просто лежит в другом месте.

Поищи вручную файл io.h в папке /usr/include

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

find /usr/include -name io.h
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Допилил тестовый конфиг. Но пока тестировал заметил, что связка сопроцессора с драйвером arisc.gpio работает аццки медленно. По времени тупо не влезает в базовый период :) Сегодня-завтра проведу тюнинг.
Держитесь там, всем хорошего настроения :hehehe:
Аватара пользователя
going
Мастер
Сообщения: 501
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 127
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

DmitriiNT писал(а):/usr/include/linuxcnc/rtapi_io.h:39:43: fatal error: sys/io.h: Нет такого файла или каталога
# include <sys/io.h> /* inb(), outb() */
MX_Master писал(а):Поищи вручную файл io.h в папке /usr/include
# include <sys/io.h> /* inb(), outb() */ нужен для архитектуры x86.
Что бы правильно собиралось для arm, aarch64 надо немного исходники linuxcnc подправить.
В версии 2.8 и выше должно собираться.

текущий файл rtapi_io.h выглядит так:

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

#ifndef RTAPI_IO_H
#define RTAPI_IO_H

#include <rtapi.h>

#ifdef __KERNEL__
#include <asm/io.h>
#elif defined(__i386) || defined(__x86_64)
#include <sys/io.h>
#endif

#if defined(__i386) || defined(__x86_64)
#define rtapi_inb inb
#define rtapi_inw inw
#define rtapi_inl inl

#define rtapi_outb outb
#define rtapi_outw outw
#define rtapi_outl outl
#else
#define rtapi_inb(x) (0)
#define rtapi_inw(x) (0)
#define rtapi_inl(x) (0)
#define rtapi_outb(x,y) ((void)0)
#define rtapi_outw(x,y) ((void)0)
#define rtapi_outl(x,y) ((void)0)
#endif

#endif

Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
Сообщения: 501
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 127
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

MX_Master писал(а):Но пока тестировал заметил, что связка сопроцессора с драйвером arisc.gpio работает аццки медленно. По времени тупо не влезает в базовый период
Михаил, переходи на EVL ядро. https://git.evlproject.org/linux-evl.git/
Поддержку чипов allwiner я туда добавил. Тестировал на Н5.
Автор проекта Philippe Gerum протестировал на Н3 и принял исправления.
https://evlproject.org/ports/
gpio в РТ режиме и PWM поддерживаются.

Поддержка GPU, что бы не мешал, в процессе.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
MX_Master
Мастер
Сообщения: 6496
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 2742
Настоящее имя: Миша
Откуда: Алма-Ата
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Сделал тестовые конфиги. Для начала переустановите еще раз ARISC драйвер по той же инструкции сверху. Он был обновлен, если чё. Потом можете приступать к установке конфигов. Для быстрой установки конфигов, подключите апельсин к инету и выполните следующие команды в консоли

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

wget -q -N https://cnc32.ru/install_arisc_configs.sh
chmod +x install_arisc_configs.sh
./install_arisc_configs.sh
На рабочем столе появятся 4 ссылки. Все файлы тестовых конфигов лежат в папке юзера machinekit/configs/ARISC. Для тех, кому нужен поиск дома по концевикам, раскомментируйте в INI файле все строки вида HOME_ и внесите там свои настройки.
going писал(а):Михаил, переходи на EVL ядро. https://git.evlproject.org/linux-evl.git/
Поддержку чипов allwiner я туда добавил. Тестировал на Н5.
Ядра Linux меня волнуют не очень сильно. Ибо сопроцессор берёт на себя всё то, что постоянно отвлекало основной процессор. Поэтому даже +-50мкс в Latency не играют никакой роли. PWM генераторы тоже со временем будут сопроцессорными, драйвера на подходе. В итоге можно будет полностью перейти на один сервоцикл и забыть про игры с Latency.
Последний раз редактировалось MX_Master 10 фев 2020, 12:05, всего редактировалось 3 раза.
Ответить

Вернуться в «Электроника»