Страница 1 из 101

LinuxCNC + Orange Pi

СообщениеДобавлено: 16 сен 2017, 15:32
MX_Master
LinuxCNC + Orange Pi Orange-Pi-One-H3-Quad-core-Support-ubuntu-linux-and-android-mini-PC-Beyond-Raspberry-Pi.jpg
После продолжительных тестов одноплатника Orange Pi (One) стало понятно, что на его основе вполне можно запилить ЧПУ контроллер общего назначения. Под капотом у Orange Pi (One) стоит чип Allwinner H3 SoC (Cortex-A7), который, как и STM32, базируется на ARM архитектуре. Мануал к H3 был изучен, опробованы варианты низкоуровневого управления GPIO. Протестирована связка "веб-морда + websocketd + многопоточная программка на C". Пока мне всё нравится.

Почему именно Orange Pi ?
  • цена (Orange Pi One = 14$)
  • мощный камушек (4 ядра, 1.2 ГГц) и быстрая ОЗУ (DDR3, 600 МГц)
  • неплохая внешняя периферия (SDIO, Ethernet, USB, SPI, I2C, UART, PWM, ADC)
  • видео/аудио выход (HDMI)
  • гребёнка GPIO в кол-ве 40 штук (доступны 28)
  • облегчённый Linux (Armbian - Debian/Ubuntu)
Ориентир буду брать на модульную систему. Это значит, если на платке Orange Pi чего-то нет, то будем подключать внешние недорогие модули. Такими модулями могут стать - внешний генератор STEP/DIR, модули DAC/ADC, конвертеры уровней напряжения, модули с обычными/твердотельными реле, конвертеры UART/RS485, опторазвязка и т.д.

Свежие образы для Orange Pi PC и Orange Pi One можно скачать здесь:


Исходники проекта - https://github.com/orangecnc
Инфо сайт - https://orangecnc.github.io

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

СообщениеДобавлено: 16 сен 2017, 16:23
Гагарин
может получится linuxcnc в нее запихнуть?

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

СообщениеДобавлено: 16 сен 2017, 16:44
tooshka
Я в тестеры запишусь сразу.

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

СообщениеДобавлено: 19 сен 2017, 18:16
muxa
Гагарин писал(а):может получится linuxcnc в нее запихнуть?

это самый главный вопрос - кто видел, кто знает про linuxcnc ??? в таких вот компах, пускай может быть и не на китайских камнях.

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

СообщениеДобавлено: 19 сен 2017, 19:30
nevkon
На малине вроде запускали.

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

СообщениеДобавлено: 20 сен 2017, 10:18
Argentum47
Гагарин писал(а):может получится linuxcnc в нее запихнуть?

если EMC поддерживает ARM, то получится, иначе - дохлый номер. Нет в конечном итоге-то даже без оной получится, но результат вас не устроит. У меня дома VOIP сервер на Orange Pi PC, два года в аптайме, хорошая вещь, интересная, с выводом видео на монитор только грабли - разрешение не хочет мониторное (5:4) ставить никак, ну и RTC интегрированного не хватает очень.

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

СообщениеДобавлено: 20 сен 2017, 11:17
UAVpilot
Argentum47 писал(а):если EMC поддерживает ARM

Всё давным давно поддерживается.

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

СообщениеДобавлено: 20 сен 2017, 11:27
Argon-11
Argentum47 писал(а): только грабли - разрешение не хочет мониторное (5:4) ставить никак,

Эти грабли вполне решаемы посредством копания в драйверах и пересборки ОС. Моя статеечка: http://4pda.ru/forum/index.php?showtopi ... ry54011589
Готовый образ Android с мониторными разрешениями 800x600 и 1024x768: https://drive.google.com/open?id=0B1mAF ... U5TV3Q0TmM

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

СообщениеДобавлено: 20 сен 2017, 12:54
Argentum47
Argon-11 писал(а):Готовый образ Android с мониторными разрешениями 800x600 и 1024x768: https://drive.google.com/open?id=0B1mAF ... U5TV3Q0TmM

У меня Lubuntu...

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

СообщениеДобавлено: 20 сен 2017, 13:01
Argon-11
Argentum47 писал(а):
Argon-11 писал(а):Готовый образ Android с мониторными разрешениями 800x600 и 1024x768: https://drive.google.com/open?id=0B1mAF ... U5TV3Q0TmM

У меня Lubuntu...


Глянул исходники драйвера - вроде идентичны андроидным. Так что при желании решаемо.

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

СообщениеДобавлено: 20 сен 2017, 14:47
Evilmax
512mb RAM в которые еще и лезет GPU пожрать, маловато как то для комфортного пользования, не находите? Что с риалтаймом, мучатся через костыли и патчи ядра?

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

СообщениеДобавлено: 20 сен 2017, 16:21
Argentum47
Evilmax писал(а):512mb RAM в которые еще и лезет GPU пожрать, маловато как то для комфортного пользования, не находите? Что с риалтаймом, мучатся через костыли и патчи ядра?

Есть версии с 1 и 2 ГБ памяти, цена правда от 1.5 до 3 т.р доходит. Они наплодили уже несколько десятков моделей платы с пятью разными чипами.

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

СообщениеДобавлено: 20 сен 2017, 16:39
MX_Master
Evilmax писал(а):512mb RAM в которые еще и лезет GPU пожрать, маловато как то для комфортного пользования, не находите? Что с риалтаймом, мучатся через костыли и патчи ядра?

Если ОЗУха действительно не выдержит нашей комфортной работы :hehehe: то мы смело возьмём Orange Pi PC (1Гб ОЗУ) вместо Orange Pi One. Как известно, One - это урезанная версия PC. Но начинать мы будем всё равно с меньшего.

При внешнем аппаратном генераторе шагов, RT в системе (ИМХО) нужен не так сильно. А если выдавать шаги с Orange Pi программно, то наличие хотя бы неполного RT как минимум обязательно. И до RT мы обязательно доберёмся..

И раз уж речь зашла про шаги, могу рассказать немного о тестах программной генерации на OPi1. Обычная ОС используется намеренно, чтобы потом наглядно сравнить результаты с частичным RT. Тестовые пины дёргаются в бесконечном и конечном цикле прямой правкой регистров:

Код: Выделить всёРазвернуть
//    for ( unsigned long i = 0xFFFF; i--; )
    for(;;)
    {
        _GPIO[GPIO_A]->data |= 1;       // set PA0
        _GPIO[GPIO_A]->data &= ~(1);    // clear PA0
    }

Под это дело выделено отдельное ядро (isolcpus=3). Тестовая однопоточная программка запускается только на этом ядре (taskset -c 3 gen_prog). Единственное, что мешает генератору это, стессна, сам системный планировщик, который оттягивает на себя 12 мкс времени нашего ядра каждые 10000 мкс. Наглядно это можно увидеть на осциллограмме, любезно предоставленной анализатором за 5$ :hehehe:

LinuxCNC + Orange Pi 2017-09-20_193120.png
LinuxCNC + Orange Pi 2017-09-20_193048.png


Как только сполна наиграюсь в обычной ОС, в дело пойдёт, какой никакой, RT..

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

СообщениеДобавлено: 20 сен 2017, 17:15
Гагарин
MX_Master писал(а):Наглядно это можно увидеть на осциллограмме, любезно предоставленной анализатором за 5$

А что за анализатор?

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

СообщениеДобавлено: 20 сен 2017, 17:28
MX_Master
Гагарин писал(а):
MX_Master писал(а):Наглядно это можно увидеть на осциллограмме, любезно предоставленной анализатором за 5$

А что за анализатор?

https://www.aliexpress.com/item/New-Arrival-USB-Logic-Analyzer-24M-8CH-MCU-ARM-FPGA-DSP-debug-tool/32810021495.html

LinuxCNC + Orange Pi 1set-New-Arrival-USB-Logic-Analyze-24M-8CH-MCU-ARM-FPGA-DSP-debug-tool.jpg

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

СообщениеДобавлено: 20 сен 2017, 17:35
UAVpilot
MX_Master писал(а):Под это дело выделено отдельное ядро (isolcpus=3). Тестовая однопоточная программка запускается только на этом ядре (taskset -c 3 gen_prog).

А вот когда захочешь сделать что-то более полезное, чем дёргание пином и выделенное ядро встанет в общую очередь к памяти... :)

Рекомендую: https://hackaday.com/2014/04/25/a-tutor ... ime-tasks/

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

СообщениеДобавлено: 20 сен 2017, 17:52
MX_Master
UAVpilot писал(а):А вот когда захочешь сделать что-то более полезное, чем дёргание пином и выделенное ядро встанет в общую очередь к памяти...

У меня создалось ощущение, что оно уже в очереди. Или как минимум что-то мешает. Быстрее чем 2.6 МГц простое ногодрыганье не идёт. Но в этом вопросе я ещё зелёный прогер (: Кроме устройства самой системы, приходится изучать и кучу аппаратных ARM настроек..

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

СообщениеДобавлено: 20 сен 2017, 18:02
Argon-11
Гагарин писал(а):А что за анализатор?

Судя по фрагменту осциллограммы это клон анализатора Saleae (по этому же слову и на али ищется множество их), очень удобная и недорогая вещь, есть софт как под Win, так и под Linux.
https://www.saleae.com/

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

СообщениеДобавлено: 20 сен 2017, 18:05
Argon-11
MX_Master писал(а):Быстрее чем 2.6 МГц простое ногодрыганье не идёт.

Умные дядьки говорят, надо писать драйвер уровня ядра (ядра ОС), чтобы было побыстрее и ничего не мешало.

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

СообщениеДобавлено: 20 сен 2017, 18:25
MX_Master
Argon-11 писал(а):
MX_Master писал(а):Быстрее чем 2.6 МГц простое ногодрыганье не идёт.

Умные дядьки говорят, надо писать драйвер уровня ядра (ядра ОС), чтобы было побыстрее и ничего не мешало.

Есть такое дело, опробую на неделе..