LinuxCNC + Orange Pi (allwincnc)
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: LinuxCNC + Orange Pi
Я смотрю здесь серьезно занялись вопросом посадить lcnc на Orange PI. Как думаете, получится добиться хороших показателей latency? Я так понял заморочки с задействованием сопроцессора и допиливание видеодрайвера для GPU это все как раз для того чтобы улучшить показатели latency тестов? Еще интересует такой вопрос - можно ли будет прикрутить энкодеры к апельсинке? К обычным компам народ прикручивал, правда 2 LPT порта использовались, ну и скорости были не космические, но для работы вполне достаточные. Если удастся такое провернуть с Orange PI, то это будет супер!
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Чтобы подключить энкодеры или линейки нужна развязка. Пол часа с паяльником в руке или надо поискать готовые модули. Подключить можно уже сейчас, но входящий сигнал должен быть не чаще 10-20 КГц (на данный момент). Как сделаем подсчёт входящих импульсов с помощью сопроцессора, максимальная входная частота увеличиться на порядок.
Я не уверен, что Latency и Base Period кардинально изменятся по результату наших махинаций. Но некоторые качественные и количественные метрики однозначно вырастут.
Я не уверен, что Latency и Base Period кардинально изменятся по результату наших махинаций. Но некоторые качественные и количественные метрики однозначно вырастут.
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: LinuxCNC + Orange Pi
Ну 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 питание или в целях не спалить плату?
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
и то, и другое, и всё вместеantoxa-kylibin писал(а):Опторазвязку делать нужно из-за того что у GPIO 3,3V питание или в целях не спалить плату?
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: LinuxCNC + Orange Pi
antoxa-kylibin писал(а):Петля управления PID получается завязана на сам комп (программно настраивается через hal) и управление делается по контролю скорости, а не момента. Только мне не совсем понятно, как при таких больших значениях latency, апельсинка способна переваривать таки скорости??? Хватит ли пинов порта у апельсинки для реализации такой схемы 3-х осевого станка?
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
переварить способна.
пинов хватит.
пинов хватит.
-
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
В первом приближении система автосборки готова.
Итак:
1. запускаем скрипт так :
где sunxi - это имя нашей системы. При этом используется файл конфигурации config-sunxi.conf
Все основные параметры прописаны в нем.
BOARD="your_board"
Тут в кавычках указываем имя нашей платы.
Для Orange Pi PC вся команда будет выглядет так:
2. Далее......
папка userpatches содержит 2 интересных файла:
linux-sunxi-next.config - это файл конфигурации ядра.
lib.config - конфигурация всей системы сборки. Если надо добавить пакеты из основного репозитория на этапе сборки - это сюда (смотрим внутрь файлика ). Тут же указывается и версия ядра (если мы не хотим чтобы оно постоянно обновлялось)
Ну вот как-то так в первом приближении.
Да, важное:
По умолчанию пароль рута == имя_платы
при первом входе требуется сменить.
пароль пользователя cnc - cnc
Сборка основана на Debian Jessie.
Тонкий тюнинг загрузки не проводился (У Михаила в /boot/boot.cmd присутствуют какие-то доп настройки - я их не использовал).
А теперь слайды
Итак:
1. запускаем скрипт так :
Код: Выделить всё
./compile.sh sunxi BOARD="your_board"
Все основные параметры прописаны в нем.
BOARD="your_board"
Тут в кавычках указываем имя нашей платы.
Для Orange Pi PC вся команда будет выглядет так:
Код: Выделить всё
./compile.sh sunxi BOARD="orangepipc"
папка userpatches содержит 2 интересных файла:
linux-sunxi-next.config - это файл конфигурации ядра.
lib.config - конфигурация всей системы сборки. Если надо добавить пакеты из основного репозитория на этапе сборки - это сюда (смотрим внутрь файлика ). Тут же указывается и версия ядра (если мы не хотим чтобы оно постоянно обновлялось)
Ну вот как-то так в первом приближении.
Да, важное:
По умолчанию пароль рута == имя_платы
при первом входе требуется сменить.
пароль пользователя cnc - cnc
Сборка основана на Debian Jessie.
Тонкий тюнинг загрузки не проводился (У Михаила в /boot/boot.cmd присутствуют какие-то доп настройки - я их не использовал).
А теперь слайды
- Вложения
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Молодец, хорошая работа.
Да, это, кстати, важно, чтоб частота проца была постоянной. И лучше, чтобы она была повыше. Скачки latency появляются как раз во время смены частоты проца. Есть несколько способов для фиксации частоты проца на максимуме.
или
или прописать в файле /etc/default/cpufrequtils
Есть и другие способы, например, махнуть минимальную частоту во всех настройках на максимум (в зависимости от платы). Но управление профилем производительности, на мой взгляд, лучше. Я думаю, надо прописать какой-ньть из вариантов в автозагрузку при старте системы.
Да, это, кстати, важно, чтоб частота проца была постоянной. И лучше, чтобы она была повыше. Скачки latency появляются как раз во время смены частоты проца. Есть несколько способов для фиксации частоты проца на максимуме.
Код: Выделить всё
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
Код: Выделить всё
sudo cpufreq-set -g performance -r
Код: Выделить всё
GOVERNOR=performance
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
dhcp - по нему и всё остальное получит.MX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS)
А если dhcp в сети нет, то и самой сети скорее всего нет.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Сеть DHCP, над русским сейчас работаюMX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.
Платы: OPI-PC(умерла), OPI-PC2
-
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
А pps-gpio - это не оно?MX_Master писал(а):Как сделаем подсчёт входящих импульсов с помощью сопроцессора
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Не уверен. Но, в любом случае, считать что-то очень быстроe с обычных пинов из под Linux - плохая идея.svb писал(а):А pps-gpio - это не оно?MX_Master писал(а):Как сделаем подсчёт входящих импульсов с помощью сопроцессора
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
Настройки сети -> wicked в помощь. sudo wicked --helpMX_Master писал(а):Предлагаю дополнительно обсудить сетевые настройки (dhcp/static, IP, DNS) и, возможно, русский язык в системе.
Добавим параметр DEST_LANG="ru_RU.UTF-8" в
svb писал(а):файл конфигурации config-sunxi.conf
и собранный образ будет иметь родную локаль.
Замечательно.svb писал(а):В первом приближении система автосборки готова.
У меня всё то же самое, только оформил в виде скрипта с русским переводом и всеми возможными параметрами.
После отладки и проверки выложу.
Платы: BPI-M3, BPI-A64, OPI-PC2
-
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Возник такой вопрос: у нас команда или каждый сам за себя?going писал(а):Замечательно.svb писал(а):В первом приближении система автосборки готова.
У меня всё то же самое, только оформил в виде скрипта с русским переводом и всеми возможными параметрами.
После отладки и проверки выложу.
Просто мне кажется, что нескольким членам команды делать одно и то же нерационально.
У меня нет программерских скилов, програмить я не умею. Но с построением системы автосборки справиться в состоянии.
У кого есть програмерские скилы - может лучше их использовать на полную?
ЗЫ. Это просто вопрос в воздух, не обращайте внимания
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Сергей, стессна, каждый сам за себя (: Мы, русско-язычно-говоряще-думающие, так устроены. Но это нам не мешает время от времени собираться вместе и мутить что-то чрезвычайно полезное для всего человечестваsvb писал(а):Возник такой вопрос: у нас команда или каждый сам за себя?
Если у кого-то есть какая-то очень полезная задумка для текущего проекта, и вы не можете воплотить её самостоятельно, выносите её на обсуждение. Ну и никто никому не запрещает вести собственную версию той или иной части проекта. Уж лучше два-три разных варианта, чем ни одного Первым таким примером является сам Machinekit, который воплотил в жизнь иное виденье развития LinuxCNC. А конечные пользователи выбирают для себя то, что им больше нравится.
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
Просто мы одно и то же начали делать ещё до того как стали командой.svb писал(а):у нас команда или каждый сам за себя?
Оформление некоторых рутинных действий в виде скриптов - это привычка.
Бороться с ней выше моих сил. Я просто доделываю то что начал месяц назад.
Сейчас, кстати, могу у Вас подсматривать и оформлять в виде скрипта.
Настройка системы автосборки и оформление некоторых таких действий в виде скрипта
это несколько разные задачи. В этом плане мы скорее дополним друг друга.
Надеюсь на понимание.
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
ЗачётMX_Master писал(а):мутить что-то чрезвычайно полезное для всего человечества
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
Кстати о тестах. В Debian Jessie имеется ли готовый пакет с утилитами "rt-tests"? ?
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7476
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Я всегда тянуть тесты с их репы и собирал, благо собирается всё за 6 секунд.going писал(а):Кстати о тестах. В Debian Jessie имеется ли готовый пакет с утилитами "rt-tests"? ?