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

LinuxCNC + Orange Pi

СообщениеДобавлено: 16 сен 2017, 15:32
MX_Master
LinuxCNC + Orange Pi - это бесплатный открытый проект ЧПУ контроллера на базе недорогих одноплатных ПК Orange Pi. В качестве софта используется ЧПУ система LinuxCNC / Machinekit.

На данный момент у нас есть GPIO драйвер, который позволяет работать с гребёнкой GPIO на плате Orange Pi прямо из LinuxCNC. Полноценно работают два интерфейса - AXIS и лёгкий tklinuxcnc. Поддерживаются платы на которых устновлены процессоры Allwinner H2+, H3 и H5.

Значение Latency на платах Orange Pi порядка 30-50 мкс. Это позволяет программно выводить шаги на частотах порядка 20 КГц. Для хоббийных задач этого вполне достаточно. Для тех, кто хочет полноценных 200 КГц на выходе, есть хорошая новость. Внутри процессоров Allwinner H2+, H3 и H5, есть встроенный сопроцессор (ARISC). На mainline ядре linux этот сопроцессор никак не используется. Поэтому мы можем юзать его для высокоскоростного ввода/вывода импульсов. Прошивка сопроцессора уже готова, для тестов можно воспользоваться соответствующим API. Спец. драйвер LinuxCNC для работы с сопроцессором - в процессе.

Официальная страница проекта - https://cnc32.ru/pages/2/LinuxCNC+OrangePi
Готовые образы для SD карт можно скачать здесь - https://cnc32.ru/downloads/3-category/LinuxCNC+OrangePi
Все исходники проекта - https://github.cnc32.ru/OrangeCNC

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 МГц простое ногодрыганье не идёт.

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

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