LinuxCNC + Orange Pi (allwincnc)

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

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

В качестве размышлений.. Допустим, RT у нас как-то заработал. И какой же минимальный latency получится? Если всё те же 20-30 мкс, а это вполне возможно. Стоило ли заморачиваться? :hehehe:
arkhnchul
Мастер
Сообщения: 1773
Зарегистрирован: 01 фев 2016, 13:56
Репутация: 339
Откуда: москва
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul »

потом прикручивать руление gpio вместо lpt. Если взлетит хотя бы в таком виде - почему бы и нет.
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 »

MX_Master писал(а): минимальный latency
дакыть вроде максимальный надо оценивать
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

arkhnchul писал(а):потом прикручивать руление gpio вместо lpt
дык, у LinuxCNC - софт генерация, и при 20-30 мкс latency - это всего лишь 20 КГц шагов.
у меня эти 20 КГц уже есть на Micro ITX платке безо всяких Orange Pi.
поэтому и спрашиваю, оно действительно стоит свеч?
Argon-11 писал(а):дакыть вроде максимальный надо оценивать
ну ты понял :hehehe: имел ввиду максимальный, стессна
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 »

MX_Master писал(а): оно действительно стоит свеч?
А как же драйвер уровня ядра?
MX_Master писал(а): Есть такое дело, опробую на неделе..
Типа обеспечить сервоцикл в ОС с частотой 1 кГц, в к-ром происходит передача данных в "драйвер уровня ядра", к-рый уже выдает более высокочастотную и якобы равномерную последовательность шагов. Ну как-то так (c).
Еще не все попробовано!
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

Драйвер уровня ядра ведь тоже на каком-то физическом ядре проца будет работать. Я что-то сомневаюсь, что ради этого драйвера ядро linux перестанет выполнять операции обслуживания соответствующего ядра проца.

Как я показывал выше на примере изолированного ядра, системные операции на ядре проца съедают до 15 мкс каждую секунду. И драйвер ядра linux, я уверен, тоже будет прерываться на эти 15 мкс. Какой выигрыш тогда у драйвера ядра ос перед пользовательским процессом на изолированном ядре?
надо завязывать с этими ядрами на русском языке, уж лучше kernel и core
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 »

MX_Master писал(а):лучше kernel и core
да на русском норм, только недопереведено. надо:
kernel - ядро
core - яйцо
arkhnchul
Мастер
Сообщения: 1773
Зарегистрирован: 01 фев 2016, 13:56
Репутация: 339
Откуда: москва
Контактная информация:

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul »

MX_Master писал(а):у меня эти 20 КГц уже есть на Micro ITX платке безо всяких Orange Pi.
а будет еще и на orange pi без всяких micro ITX. Наличие альтернативной, пусть и по возможностям аналогичной платформы лучше, нежели ее отсутствие.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

Вчера вечером заглянул на склад с RT патчами.
И вижу, что 17-го числа в репе появился первый RT патч для версии ядра 4.13
Именно эта версия используется в Armbian в качестве mainline ядра. Ночью оперативно собрал настольный образ (armbian) Debian Jessie с пропатченным (FULL_RT) ядром (по ссылке выше). Всё собралось без ошибок :ura: Далее несколько раз запускал всё тот же RT тест с теми же параметрами ОС, что и раньше (isolcpus=3). Если всю нагрузку запустить до начала теста, а потом запустить RT тест, то результаты выглядят весьма неплохо

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

master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.59 0.55 0.15 1/204 2221          

T: 0 ( 2213) P:99 I:1000 C:  67767 Min:     26 Act:   30 Avg:   32 Max:     105
T: 1 ( 2214) P:99 I:1500 C:  45179 Min:     25 Act:   29 Avg:   33 Max:      92
T: 2 ( 2215) P:99 I:2000 C:  33884 Min:     27 Act:   29 Avg:   33 Max:      77
T: 3 ( 2216) P:99 I:2500 C:  27107 Min:     29 Act:   33 Avg:   34 Max:      69
Если же во время RT теста запускать что-то новое и тяжёлое, то latency дружно подскакивает до 2000 мкс

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

master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.27 0.07 0.12 1/204 2352           

T: 0 ( 2260) P:99 I:1000 C:  48204 Min:     11 Act:   40 Avg:   34 Max:    2126
T: 1 ( 2261) P:99 I:1500 C:  32145 Min:     11 Act:   32 Avg:   35 Max:    1714
T: 2 ( 2262) P:99 I:2000 C:  24110 Min:     11 Act:   35 Avg:   36 Max:    1547
T: 3 ( 2263) P:99 I:2500 C:  19288 Min:     13 Act:   35 Avg:   36 Max:     739
Причём, на изолированном (последнем) ядре latency подскакивает тоже, чего не наблюдалось ранее на пропатченном ядре 3.4.13. Вощем, дело сдвинулось с мёртвой точки. Только непонятно в какую сторону. Либо RT работал как положено в 3.4.13, либо RT как положено работает сейчас в 4.13.7, либо я что-то провтыкал в настройках до сборки ядра..
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

Всё, разобрался где собака зарыта.. Отключил все CONFIG_..._DEBUG_... в настройках ядра. На этот раз собрал образ настольной Ubuntu Xenial (16.04 lts). Как обычно, изолировал последнее ядро проца.

Основательно нагрузил OPi1 и прогнал RT тест несколько раз. Теперь резких скачков latency больше нет. Повторяемость результатов RT теста - стабильная. Если нагружать апельсинку не очень сильно, то max latency будет в районе 50 мкс. Если грузить как следует, то max latency может просесть до 100 мкс

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

master@orangepione:~/rt-tests$ sudo ./cyclictest -a -t -n -p80    
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.81 2.25 1.02 6/382 3797           

T: 0 ( 3376) P:80 I:1000 C: 237748 Min:      5 Act:   30 Avg:   15 Max:     136
T: 1 ( 3377) P:80 I:1500 C: 158502 Min:      5 Act:   17 Avg:   16 Max:     103
T: 2 ( 3378) P:80 I:2000 C: 118876 Min:      5 Act:   44 Avg:   18 Max:     113
T: 3 ( 3379) P:80 I:2500 C:  95101 Min:      6 Act:   17 Avg:   13 Max:      98
Ура, товарищи! Какой-никакой, но FULL RT в апельсинке у нас теперь есть! :beer_blow:
Спасибо всем, кто не мешал :hehehe: А также тем, кто помогал

Теперь можно экспериментировать с другими параметрами и настройками ядра с целью уменьшения max latency. Если у кого-то появились новые идеи, пишите.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Serg »

Похоже всё упирается в аппаратную часть, какую-нибудь медленную общую шину или DMA... Точнее не скажу - архитектуру изучать лень.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

UAVpilot писал(а):Похоже всё упирается в аппаратную часть
Там много чего аппаратного включено и всё со своими настройками. Я ж собрал обычную настольную ОС общего назначения. Будем научным тыком прокладывать путь дальше..
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Serg »

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

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

UAVpilot писал(а):Я не про настройки ядра. а про "конструкцию" самого чипа.
Я понял. И я про аппаратное. Если какая-то шина не так широка, то отключив или настроив некоторых аппаратных юзеров, можно кое-что выиграть (в теории).

В ядре тоже есть что отключить и настроить. Читаю ща советы по тюнингу RT ядра..
Argentum47
Мастер
Сообщения: 911
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 110
Откуда: Саратов
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Argentum47 »

MX_Master писал(а):Всё, разобрался где собака зарыта.. Отключил все CONFIG_..._DEBUG_... в настройках ядра. На этот раз собрал образ настольной Ubuntu Xenial (16.04 lts)
Прочитал как Убунту Хентай... надо выключать станок идти домой.
Аватара пользователя
ua3nbw
Кандидат
Сообщения: 44
Зарегистрирован: 18 окт 2017, 18:03
Репутация: 26
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение ua3nbw »

Я правильно понял, что RT patches работает с веткой armbian development : https://forum.armbian.com/index.php?/to ... ment=41675
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

Кстати, вот у человека есть хорошие результаты по latency на платке NanoPi NEO. Там тот же самый H3. Правда, без HDMI 8-)

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

# cyclictest -p 80 -t5 -n -a
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.12 0.17 0.08 1/93 193          
T: 0 (  186) P:80 I:1000 C: 551057 Min:      5 Act:    8 Avg:    8 Max:      29
T: 1 (  187) P:80 I:1500 C: 367371 Min:      5 Act:    8 Avg:    7 Max:      44
T: 2 (  188) P:80 I:2000 C: 275529 Min:      7 Act:    8 Avg:    7 Max:      13
T: 3 (  189) P:80 I:2500 C: 220423 Min:      7 Act:    8 Avg:    7 Max:      11
T: 4 (  190) P:80 I:3000 C: 183685 Min:      5 Act:    8 Avg:    7 Max:      24

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

# uname -a
Linux nanopi-neo 4.11.9-rt7 #1 SMP PREEMPT RT Fri Sep 22 10:38:22 CDT 2017 armv7l GNU/Linux
Выставлено isolcpus=2,3, ядро 4.11, образ системы уменьшен и в ядре присутствует 2 патча для Ethernet и USB. Очень даже неплохо.

ua3nbw писал(а):Я правильно понял, что RT patches работает с веткой armbian development : https://forum.armbian.com/index.php?/to ... ment=41675
Armbian, sunxi-next, ядро 4.13.
RT патч взят отсюда
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Serg »

MX_Master писал(а):Я понял. И я про аппаратное. Если какая-то шина не так широка, то отключив или настроив некоторых аппаратных юзеров, можно кое-что выиграть (в теории).
В ядре тоже есть что отключить и настроить. Читаю ща советы по тюнингу RT ядра..
Что отключить? Память или spi для флешки?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7489
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master »

Кто хотел LinuxCNC в апельсине?

Собрал сегодня нормальный RT образ Debian Jessie и установил для проверки Machinekit. Никакого тюнинга не проводилось. Штатный latency test показывает практически то же самое, что и cyclictest. Но если запускать что-то тяжелое то latency подскакивать до 1000 мкс. Как минимум нужен вдумчивый тюнинг системы. Советы и предложения приветствуются.
2017-10-19_121008.png (3457 просмотров) <a class='original' href='./download/file.php?id=122427&mode=view' target=_blank>Загрузить оригинал (106.13 КБ)</a>
2017-10-19_121130.png (3457 просмотров) <a class='original' href='./download/file.php?id=122429&mode=view' target=_blank>Загрузить оригинал (112.7 КБ)</a>
Аватара пользователя
ua3nbw
Кандидат
Сообщения: 44
Зарегистрирован: 18 окт 2017, 18:03
Репутация: 26
Контактная информация:

Re: ЧПУ контроллер на базе Orange Pi

Сообщение ua3nbw »

повторил сборку (для OrangePiPС) ядра с патчем RT, пригодится для audio, спасибо.
linuxcnc на linux-mainline ядре armbian, т.к. нет поддержки OpenGL не собирается.
вывод cyclictest -a -t -n -p99 -f -b100

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

root@orangepipc:~# cyclictest -a -t -n -p99 -f -b100
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.15 4.08 3.93 6/261 31421

T: 0 (31418) P:99 I:1000 C:  21343 Min:      7 Act:   11 Avg:    9 Max:      34
T: 1 (31419) P:99 I:1500 C:  14229 Min:      7 Act:   12 Avg:   10 Max:      45
T: 2 (31420) P:99 I:2000 C:  10665 Min:      7 Act:   15 Avg:    9 Max:      31
T: 3 (31421) P:99 I:2500 C:   8533 Min:      6 Act:   10 Avg:    7 Max:      16
Вложения
RT_.png (3426 просмотров) <a class='original' href='./download/file.php?id=122469&mode=view' target=_blank>Загрузить оригинал (40.15 КБ)</a>
Ответить

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