LinuxCNC + Orange Pi (allwincnc)

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

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Уважаемые знатоки EMC (LinuxCNC) :headphones: нужен совет.

Смотрю сейчас код компонента stepgen и вижу, что текущие ускорение и скорость осей считаются именно в нём. Правильно ли я понимаю, что, если нам нужна нестандартная кривая ускорений, то менять нужно именно stepgen?
Вопрос относится к теме S-кривых разгона/торможения
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение Serg »

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

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Загляну тогда и в motion.c (motmod)..

Планирую свой небольшой драйвер на основе stepgen. Если в нем только ограничитель ускорения/скорости, то задача упрощается.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение Сергей Саныч »

Разбирался с драйвером для Pluto P. Там ограничения, прописанные в ini-файлах, как, к примеру, STEPGEN_MAXACCEL, вообще игнорируются (присутствуют свои).
Работает так же, как тут Re: LinuxCNC + Orange Pi #278
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение Serg »

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

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Попробовал TASK_ISOLATION патч из этого поста - http://www.cnc-club.ru/forum/viewtopic. ... 40#p394650. Что-то эффекта никакого нет. Хотя я очень тщательно все параметры перепроверял во всех местах. Второй жирный минус - нельзя без бубна использовать оба патча - FULL_RT и TASK_ISOLATION. Только один. Они оба правят в исходниках ядра LINUX одни и те же места. Грустняк.

Вощем, как Сергей (UAVpilot) и говорил, софт генерацию можно убыстрить только одним проверенным способом - повышая частоту работы процессора :hehehe:

Возможно, стоит снова вернуться к аппаратной STM32 генерации шагов. А связь c апельсинкой держать по SPI в сервоцикле LinuxCNC. Всё-таки, доп. платка за 2$ бакса не только сможет аппаратно выдавать шаги, но и прибавит входов/выходов.
Аватара пользователя
Prav
Мастер
Сообщения: 834
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение Prav »

MX_Master писал(а):Всё-таки, доп. платка за 2$ бакса не только сможет аппаратно выдавать шаги, но и прибавит входов/выходов.
А о какой платке идет речь?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Вощем, буду проверять скорость связки Orange Pi One + LinuxCNC + STM32F103C8T6. Заодно продолжу проект с аппаратным генератором на STM32. Напомню, что без внешнего генератора связка Orange Pi One + LinuxCNC выдаёт частоту шагов до 17 КГц. Для каких-то маленьких проектов этого может быть достаточно. Но для настоящих больших станков с приводами на ШВП, хотелось бы иметь как минимум 200 КГц.
Prav писал(а):А о какой платке идет речь?
https://www.aliexpress.com/item/-/32246273606.html
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

going писал(а):Правильный ход. Может сразу с 4 серии начать?(stm32F4XXXXX)
На F4 можно уже отдельный контроллер писать. Чисто для аппаратного ногодрыга и передачи состояния пинов, F103C8T6 идеален. Да и по цене хорош (:
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

MX_Master писал(а):На F4 можно уже отдельный контроллер писать.
В этом суть.
Цена - возможности --------- вопрос риторический.
По мнению моих близких (они живут и дышат на stm32), первая серия не очень, а начиная с четвёртой, всё кудряво.
Это просто мнение, ничего больше.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Понимаю. Работал с F4, потенциалу там на порядок больше. В общем-то код с F1 легко портируется на F4, и обратно (:
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Взялся вчера посмотреть какие ещё есть недорогие STM'ки c большим кол-во аппаратных таймеров. И нашёл! Причём, их много и начинка есть на любой вкус.

Например малыш STM32F103RFT6 на ядре M3 (72 МГц). Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл! :hehehe: А цена всего 3$

Есть и другие примеры. Жаль только, что нет в продаже готовых макеток с этими МК.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение solo »

MX_Master писал(а):Жаль только, что нет в продаже готовых макеток с этими МК
так вот и готовая идея для бизнеса ," Альпенсинка ЧПУ"
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

solo писал(а):
MX_Master писал(а):Жаль только, что нет в продаже готовых макеток с этими МК
так вот и готовая идея для бизнеса ," Альпенсинка ЧПУ"
В этом проекте у меня задача поставлена не за деньги, а за идею :hehehe: Я хочу, чтобы этот комплект ушёл в массы за счёт своей простоты и цены. Заодно и LinuxCNC станет популярнее. Я уже с пяток контроллеров опробовал и везде были какие-то косяки и ограничения, причём за гораздо большие деньги. Не надо больше никакого LPT порта, никаких тёрок с частотой шагов, никаких плат развязки, никаких отдельных компьютеров, никаких ворованных Mach3 и клонов NCStudio 5 :) Хочется нормального и недорогого ЧПУ решения, которое каждый может без проблем купить и быстро без пайки собрать. И чтоб не только на фрезер можно было поставить, но и на какой-ньть 3Д принтер или выжигатель.
arkhnchul
Мастер
Сообщения: 1773
Зарегистрирован: 01 фев 2016, 13:56
Репутация: 339
Откуда: москва
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение arkhnchul »

MX_Master писал(а):Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл!
мне чот подсказывает, что для 200кГц шагов хватит и одного таймера на всех.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

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

Re: LinuxCNC + Orange Pi

Сообщение Serg »

MX_Master писал(а):Например малыш STM32F103RFT6 на ядре M3 (72 МГц). Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл! :hehehe: А цена всего 3$
У многоногих чипов много и периферии.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Я думаю, чтоб не парится, надо сделать возможность каскадирования платок STM32. Когда нужно до 4 осей, то хватит одной платки. Кому нужно больше осей вывода - втыкаем проводки из второго SPI первой платки в первый SPI второй платки. И так далее до посинения. В прошивке заложить механизм сквозной передачи из SPI1 в SPI2. Или как-то еще извернуться.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение solo »

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

Re: LinuxCNC + Orange Pi

Сообщение Serg »

MX_Master писал(а):Когда нужно до 4 осей, то хватит одной платки. Кому нужно больше осей вывода - втыкаем проводки из второго SPI первой платки в первый SPI второй платки. И так далее до посинения. В прошивке заложить механизм сквозной передачи из SPI1 в SPI2. Или как-то еще извернуться.
А какой тогда смысл в этом SPI? Лучше уж применить специально придуманные для таких подключений шины: RS422/RS485, CAN, ...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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