LinuxCNC + Orange Pi (allwincnc)
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
У меня нормально всё, только что проверил. Ты окно ошибки крутани чуть ниже, основное описание там. Может, у тебя закралась ошибка совсем другого рода.
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 04 фев 2020, 09:20
- Репутация: 1
- Настоящее имя: zhanhank
- Контактная информация:
Re: LinuxCNC + Orange Pi
I can't output 16kHz when the 4 axis or xyz pitch is different,
Only use 6KHz or less, otherwise errors will occur.
Only use 6KHz or less, otherwise errors will occur.
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
use tkemc and set base period to smaller value (about 30000ns)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.
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 04 фев 2020, 09:20
- Репутация: 1
- Настоящее имя: zhanhank
- Контактная информация:
Re: LinuxCNC + Orange Pi
Waiting for your new arisc driver to complete soon.
Hope it is possible to replace BBB + Machinekit with OrangePi-CNC.
Hope it is possible to replace BBB + Machinekit with OrangePi-CNC.
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Работа с сопроцессором близится к завершению. Свежие тесты выглядят неплохо. Нужно как-то проверить точность по шагам на длинных УП. Наверно, можно сделать счётчик на STM'ке. Ну и натурные тесты бы не помешали
На фотках ниже тест, где 1 шаг равен 1-му микрону. С подачей 10 м/мин летает без проблем.
На фотках ниже тест, где 1 шаг равен 1-му микрону. С подачей 10 м/мин летает без проблем.
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Не прошло и пяти лет, как драйвер сопроцессора готов. Назовём это альфа версией. Прогнал пару-тройку своих реальных УП на 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. На осциллограмме это выглядит примерно вот так
Добавил в драйвер arisc.stepgen интересную функцию управления скважностью STEP сигнала. Если какой-то из параметров steplen/stepspace равен нулю, то скважность будет всегда 50%. В данном примере для оси Z параметры steplen/stepspace = 4000/1000. А для оси Y они равны нулю, поэтому используется динамическая длина сигнала STEP. На осциллограмме это выглядит примерно вот так
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 04 фев 2020, 09:20
- Репутация: 1
- Настоящее имя: zhanhank
- Контактная информация:
Re: LinuxCNC + Orange Pi
Great! It looks like there will be download img for testing soon.
-
- Почётный участник
- Сообщения: 2403
- Зарегистрирован: 17 июл 2015, 10:25
- Репутация: 302
- Настоящее имя: Константин
- Откуда: Балаково (Саратовская обл.)
- Контактная информация:
Re: LinuxCNC + Orange Pi
Поддерживаю. Ждем образ с инструкциями по настройке.
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Новые образы для этого не нужны. Скопировать пару файлов, выполнить пару команд и драйвер установлен. Мне просто надо тестовый конфиг настроить, чтобы всем было понятно как драйвером пользоваться.nevkon писал(а):Поддерживаю. Ждем образ с инструкциями по настройке.
Чуть позже обновлю все текущие образы. Ну и надо ещё новых насобирать, со свежим mainline ядром Linux
-
- Новичок
- Сообщения: 2
- Зарегистрирован: 05 ноя 2019, 16:03
- Репутация: 0
- Настоящее имя: Сергей
- Контактная информация:
Re: LinuxCNC + Orange Pi
Поздравляю и готовлюсь к тестам! Ждём файлы и инструкцию.
У меня такая плата: Orange Pi PC H3 Quad-core 1GB Support the Lubuntu linux and android mini PC Wholesale is available
Без драйвера сопроцессора запускать пробовал.
Но дальше проверки подключения к дисплею через HDMI-VGA переходник дело не пошло.
Просто отложил до лучших времён, но за темой слежу давно.
У меня такая плата: Orange Pi PC H3 Quad-core 1GB Support the Lubuntu linux and android mini PC Wholesale is available
Без драйвера сопроцессора запускать пробовал.
Но дальше проверки подключения к дисплею через HDMI-VGA переходник дело не пошло.
Просто отложил до лучших времён, но за темой слежу давно.
Re: LinuxCNC + Orange Pi
Эх, я так понимаю для Orange Pi 3 все это не подойдет, там ведь проц H6 Quad-core 64-bit 1.8GHZ ARM Cortex™-A53
А H6 не планируете в поддержку?
А H6 не планируете в поддержку?
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Итак, для быстрой установки свежего arisc драйвера в систему, подключите апельсин к инету, закройте все копии Machinekit (если он работает) и выполните следующие команды в консоли. Если где-то попросит пароль, введите пароль текущего юзера
Чтобы по быстрому убедится в том, что всё установилось правильно, выполните в консоли следующие команды
В консоли появятся все пины, параметры и функции драйверов arisc.gpio и arisc.stepgen. В данном примере мы запускаем RT модуль, и загружаем два драйвера. CPU - это название вашего процессора (H2/H3/H5). in - список входных пинов, out - список выходных. ctrl_type - кол-во stepgen каналов и тип их управления (p - по позиции, v - по скорости). p,p,p - означает 3 канала с управлением по позиции.
После всех этих махинаций нужно перезагрузить апельсин, чтобы прошивка сопроцессора полностью обновилась. Далее, кто разбирается в HAL файлах, сможет настроить всё сам. Тестовый конфиг ещё не готов, будет чуть позже.
Код: Выделить всё
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
После всех этих махинаций нужно перезагрузить апельсин, чтобы прошивка сопроцессора полностью обновилась. Далее, кто разбирается в HAL файлах, сможет настроить всё сам. Тестовый конфиг ещё не готов, будет чуть позже.
Для поддержки H6 нужен вагон дополнительного времени, потому что там внутре всё сильно отличается от H2/H3/H5.skopa писал(а):А H6 не планируете в поддержку?
Последний раз редактировалось MX_Master 07 фев 2020, 16:58, всего редактировалось 1 раз.
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Что-то я совсем забыл, что надо ещё прошивку сопроцессора положить в папку загрузки Ща, пять минут, скрипт установки драйвера подправлю. Если кто-то уже установил, потом просто повторно всё то же самое в консоли сделаете
Готово. Кто уже установил, сделайте это ещё раз согласно инструкции выше.
Готово. Кто уже установил, сделайте это ещё раз согласно инструкции выше.
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 04 фев 2020, 09:20
- Репутация: 1
- Настоящее имя: zhanhank
- Контактная информация:
Re: LinuxCNC + Orange Pi
Arisc driver looks like it's installed. Now wait for your test configuration file.
-
- Кандидат
- Сообщения: 56
- Зарегистрирован: 11 дек 2019, 20:17
- Репутация: 6
- Настоящее имя: Дмитрий
- Контактная информация:
Re: LinuxCNC + Orange Pi
Добрый день!
Плата OrangePi PC2 Не компилируется:
Что-то пошло не так...
Плата 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
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Образ для Orange Pi PC2 собирал не я. Мне даже проверить не на чем. Возможно, в образе просто нет иcходников ядра Linux. Или, файл необходимый для сборки, просто лежит в другом месте.DmitriiNT писал(а):Плата OrangePi PC2 Не компилируется:
Поищи вручную файл io.h в папке /usr/include
Код: Выделить всё
find /usr/include -name io.h
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Допилил тестовый конфиг. Но пока тестировал заметил, что связка сопроцессора с драйвером arisc.gpio работает аццки медленно. По времени тупо не влезает в базовый период Сегодня-завтра проведу тюнинг.
Держитесь там, всем хорошего настроения
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
DmitriiNT писал(а):/usr/include/linuxcnc/rtapi_io.h:39:43: fatal error: sys/io.h: Нет такого файла или каталога
# include <sys/io.h> /* inb(), outb() */
# include <sys/io.h> /* inb(), outb() */ нужен для архитектуры x86.MX_Master писал(а):Поищи вручную файл io.h в папке /usr/include
Что бы правильно собиралось для 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
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
Михаил, переходи на EVL ядро. https://git.evlproject.org/linux-evl.git/MX_Master писал(а):Но пока тестировал заметил, что связка сопроцессора с драйвером arisc.gpio работает аццки медленно. По времени тупо не влезает в базовый период
Поддержку чипов allwiner я туда добавил. Тестировал на Н5.
Автор проекта Philippe Gerum протестировал на Н3 и принял исправления.
https://evlproject.org/ports/
gpio в РТ режиме и PWM поддерживаются.
Поддержка GPU, что бы не мешал, в процессе.
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7480
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3101
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Сделал тестовые конфиги. Для начала переустановите еще раз ARISC драйвер по той же инструкции сверху. Он был обновлен, если чё. Потом можете приступать к установке конфигов. Для быстрой установки конфигов, подключите апельсин к инету и выполните следующие команды в консоли
На рабочем столе появятся 4 ссылки. Все файлы тестовых конфигов лежат в папке юзера machinekit/configs/ARISC. Для тех, кому нужен поиск дома по концевикам, раскомментируйте в INI файле все строки вида HOME_ и внесите там свои настройки.
Код: Выделить всё
wget -q -N https://cnc32.ru/install_arisc_configs.sh
chmod +x install_arisc_configs.sh
./install_arisc_configs.sh
Ядра Linux меня волнуют не очень сильно. Ибо сопроцессор берёт на себя всё то, что постоянно отвлекало основной процессор. Поэтому даже +-50мкс в Latency не играют никакой роли. PWM генераторы тоже со временем будут сопроцессорными, драйвера на подходе. В итоге можно будет полностью перейти на один сервоцикл и забыть про игры с Latency.going писал(а):Михаил, переходи на EVL ядро. https://git.evlproject.org/linux-evl.git/
Поддержку чипов allwiner я туда добавил. Тестировал на Н5.
Последний раз редактировалось MX_Master 10 фев 2020, 12:05, всего редактировалось 3 раза.