LinuxCNC + Orange Pi

Контроллеры, драйверы, датчики, управляющие устройства.

Re: LinuxCNC + Orange Pi

Сообщение antoxa-kylibin » 17 май 2018, 12:52

Я смотрю здесь серьезно занялись вопросом посадить lcnc на Orange PI. Как думаете, получится добиться хороших показателей latency? Я так понял заморочки с задействованием сопроцессора и допиливание видеодрайвера для GPU это все как раз для того чтобы улучшить показатели latency тестов? Еще интересует такой вопрос - можно ли будет прикрутить энкодеры к апельсинке? К обычным компам народ прикручивал, правда 2 LPT порта использовались, ну и скорости были не космические, но для работы вполне достаточные. Если удастся такое провернуть с Orange PI, то это будет супер!
antoxa-kylibin
Опытный
 
Сообщения: 144
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 2
Настоящее имя: Антон

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 17 май 2018, 13:35

Чтобы подключить энкодеры или линейки нужна развязка. Пол часа с паяльником в руке или надо поискать готовые модули. Подключить можно уже сейчас, но входящий сигнал должен быть не чаще 10-20 КГц (на данный момент). Как сделаем подсчёт входящих импульсов с помощью сопроцессора, максимальная входная частота увеличиться на порядок.

Я не уверен, что Latency и Base Period кардинально изменятся по результату наших махинаций. Но некоторые качественные и количественные метрики однозначно вырастут.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение antoxa-kylibin » 17 май 2018, 19:23

Ну 10-20 кГц в принципе и большинство обычных компов выдает, если не выжимать по максимуму из них. Если взять в расчет, что 1 импульс энкодера будет соответсвовать 0,01мм, то получается при частоте импульсов 10кГц скорость перемещения будет 6000мм/мин, при 20кГц - 12000мм/мин, что для большинства не промышленных станков вполне достаточно. Тут скорее всего шаговики еще проблема будет разогнать до таких скоростей, чтобы не потерять точность перемещения. Если же получится еще и сопроцессор подключить к подсчетам импульсов, то тогда вообще будет огонь. Тогда в этом случае уже нужно будет рассматривать BDLC моторы (на алиэкспрессе они не сильно дороже от шаговиков при эквивалентной мощности) и драйвера для управления этими моторами (там же на алиэкспрессе есть). Такая связка получается не сильно дороже от шаговых приводов. Цена в принципе отличается на стоимость энкодеров. Но зато BLDC моторы имеют обороты 3-4 тыс. и момент наоборот увеличивают при увеличении оборотов. Т.е. динамика на таких приводах должна быть значительно лучше. Правда там есть такой момент, что драйвера для BLDC приводов не по STEP/DIR управляются, а по 0-10в, либо шим. Возможно нужны будут какие-то конверторы из PWM сигнала в 0-10в. Это уже драйвера нужно смотреть. Но идея такая, что энкодеры связаны с подвижными осями станка, а привода с драйверами (в драйверах нет обратной связи). Петля управления PID получается завязана на сам комп (программно настраивается через hal) и управление делается по контролю скорости, а не момента. Только мне не совсем понятно, как при таких больших значениях latency, апельсинка способна переваривать таки скорости??? Хватит ли пинов порта у апельсинки для реализации такой схемы 3-х осевого станка? Опторазвязку делать нужно из-за того что у GPIO 3,3V питание или в целях не спалить плату?
antoxa-kylibin
Опытный
 
Сообщения: 144
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 2
Настоящее имя: Антон

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 17 май 2018, 19:28

antoxa-kylibin писал(а):Опторазвязку делать нужно из-за того что у GPIO 3,3V питание или в целях не спалить плату?

и то, и другое, и всё вместе
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение antoxa-kylibin » 17 май 2018, 20:32

antoxa-kylibin писал(а):Петля управления PID получается завязана на сам комп (программно настраивается через hal) и управление делается по контролю скорости, а не момента. Только мне не совсем понятно, как при таких больших значениях latency, апельсинка способна переваривать таки скорости??? Хватит ли пинов порта у апельсинки для реализации такой схемы 3-х осевого станка?
antoxa-kylibin
Опытный
 
Сообщения: 144
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 2
Настоящее имя: Антон

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 17 май 2018, 21:09

переварить способна.
пинов хватит.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение svb » 18 май 2018, 00:21

В первом приближении система автосборки готова.
Итак:
1. запускаем скрипт так :
Код: Выделить всёРазвернуть
./compile.sh sunxi BOARD="your_board"

где sunxi - это имя нашей системы. При этом используется файл конфигурации config-sunxi.conf
Все основные параметры прописаны в нем.
BOARD="your_board"
Тут в кавычках указываем имя нашей платы.
Для Orange Pi PC вся команда будет выглядет так:
Код: Выделить всёРазвернуть
./compile.sh sunxi BOARD="orangepipc"


2. Далее......
папка userpatches содержит 2 интересных файла:
linux-sunxi-next.config - это файл конфигурации ядра.
lib.config - конфигурация всей системы сборки. Если надо добавить пакеты из основного репозитория на этапе сборки - это сюда (смотрим внутрь файлика :) ). Тут же указывается и версия ядра (если мы не хотим чтобы оно постоянно обновлялось)

Ну вот как-то так в первом приближении.

Да, важное:
По умолчанию пароль рута == имя_платы
при первом входе требуется сменить.
пароль пользователя cnc - cnc :)

Сборка основана на Debian Jessie.
Тонкий тюнинг загрузки не проводился (У Михаила в /boot/boot.cmd присутствуют какие-то доп настройки - я их не использовал).

А теперь слайды :)
Вложения
LinuxCNC + Orange Pi IMG_20180517_224222.jpg
Образ MX_Master, время теста ~ 1 час
LinuxCNC + Orange Pi IMG_20180517_232959.jpg
Автоматическая сборка, время теста 10 минут.
Частота CPU 480MHz
LinuxCNC + Orange Pi IMG_20180517_233956.jpg
Автоматическая сборка, время теста 10 минут.
(запущен заново после смены частоты проца)
Частота CPU 1300MHz
Платы: OPI-PC, OPI-PC2
svb
Мастер
 
Сообщения: 231
Зарегистрирован: 10 апр 2018, 11:31
Откуда: Нижний Новгород
Репутация: 50
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 18 май 2018, 03:01

Молодец, хорошая работа.

Да, это, кстати, важно, чтоб частота проца была постоянной. И лучше, чтобы она была повыше. Скачки latency появляются как раз во время смены частоты проца. Есть несколько способов для фиксации частоты проца на максимуме.

Код: Выделить всёРазвернуть
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

или

Код: Выделить всёРазвернуть
sudo cpufreq-set -g performance -r

или прописать в файле /etc/default/cpufrequtils

Код: Выделить всёРазвернуть
GOVERNOR=performance

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

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 18 май 2018, 03:39

Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение UAVpilot » 18 май 2018, 03:58

MX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS)

dhcp - по нему и всё остальное получит.
А если dhcp в сети нет, то и самой сети скорее всего нет. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16724
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4118
Медальки:
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение svb » 18 май 2018, 07:13

MX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.

Сеть DHCP, над русским сейчас работаю :)
Платы: OPI-PC, OPI-PC2
svb
Мастер
 
Сообщения: 231
Зарегистрирован: 10 апр 2018, 11:31
Откуда: Нижний Новгород
Репутация: 50
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение svb » 18 май 2018, 08:37

MX_Master писал(а):Как сделаем подсчёт входящих импульсов с помощью сопроцессора

А pps-gpio - это не оно?
Платы: OPI-PC, OPI-PC2
svb
Мастер
 
Сообщения: 231
Зарегистрирован: 10 апр 2018, 11:31
Откуда: Нижний Новгород
Репутация: 50
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 18 май 2018, 09:31

svb писал(а):
MX_Master писал(а):Как сделаем подсчёт входящих импульсов с помощью сопроцессора

А pps-gpio - это не оно?

Не уверен. Но, в любом случае, считать что-то очень быстроe с обычных пинов из под Linux - плохая идея.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение going » 18 май 2018, 10:01

MX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.

Настройки сети -> wicked в помощь. sudo wicked --help
Добавим параметр DEST_LANG="ru_RU.UTF-8" в
svb писал(а):файл конфигурации config-sunxi.conf

и собранный образ будет иметь родную локаль.
svb писал(а):В первом приближении система автосборки готова.

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

Re: LinuxCNC + Orange Pi

Сообщение svb » 18 май 2018, 10:42

going писал(а):
svb писал(а):В первом приближении система автосборки готова.

Замечательно.
У меня всё то же самое, только оформил в виде скрипта с русским переводом и всеми возможными параметрами.
После отладки и проверки выложу.


Возник такой вопрос: у нас команда или каждый сам за себя?
Просто мне кажется, что нескольким членам команды делать одно и то же нерационально.
У меня нет программерских скилов, програмить я не умею. Но с построением системы автосборки справиться в состоянии.
У кого есть програмерские скилы - может лучше их использовать на полную?

ЗЫ. Это просто вопрос в воздух, не обращайте внимания :)
Платы: OPI-PC, OPI-PC2
svb
Мастер
 
Сообщения: 231
Зарегистрирован: 10 апр 2018, 11:31
Откуда: Нижний Новгород
Репутация: 50
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 18 май 2018, 11:08

svb писал(а):Возник такой вопрос: у нас команда или каждый сам за себя?

Сергей, стессна, каждый сам за себя (: Мы, русско-язычно-говоряще-думающие, так устроены. Но это нам не мешает время от времени собираться вместе и мутить что-то чрезвычайно полезное для всего человечества :hehehe:

Если у кого-то есть какая-то очень полезная задумка для текущего проекта, и вы не можете воплотить её самостоятельно, выносите её на обсуждение. Ну и никто никому не запрещает вести собственную версию той или иной части проекта. Уж лучше два-три разных варианта, чем ни одного :) Первым таким примером является сам Machinekit, который воплотил в жизнь иное виденье развития LinuxCNC. А конечные пользователи выбирают для себя то, что им больше нравится.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение going » 18 май 2018, 11:26

svb писал(а):у нас команда или каждый сам за себя?

Просто мы одно и то же начали делать ещё до того как стали командой.
Оформление некоторых рутинных действий в виде скриптов - это привычка.
Бороться с ней выше моих сил. Я просто доделываю то что начал месяц назад.
Сейчас, кстати, могу у Вас подсматривать и оформлять в виде скрипта.
Настройка системы автосборки и оформление некоторых таких действий в виде скрипта
это несколько разные задачи. В этом плане мы скорее дополним друг друга.
Надеюсь на понимание.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 353
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 105

Re: LinuxCNC + Orange Pi

Сообщение going » 18 май 2018, 11:28

MX_Master писал(а):мутить что-то чрезвычайно полезное для всего человечества :hehehe:

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

Re: LinuxCNC + Orange Pi

Сообщение going » 18 май 2018, 11:55

Кстати о тестах. В Debian Jessie имеется ли готовый пакет с утилитами "rt-tests"? ?
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 353
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 105

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 18 май 2018, 12:17

going писал(а):Кстати о тестах. В Debian Jessie имеется ли готовый пакет с утилитами "rt-tests"? ?

Я всегда тянуть тесты с их репы и собирал, благо собирается всё за 6 секунд.

rt-tests (для просмотра содержимого нажмите на ссылку)
Код: Выделить всёРазвернуть
    git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
    cd rt-tests
    git checkout stable/v1.0
    make all
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3187
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1657
Медальки:
Настоящее имя: Михаил

Пред.След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], diamond file, Dimka_almighty, Director, Exabot [Bot], Google [Bot], hmnijp, Kovus2, michael-yurov, mmv, UAVpilot, Yandex [bot], Ибрагим К, Юный_Техник

Поделиться

Reputation System ©'