Смотрю сейчас код компонента stepgen и вижу, что текущие ускорение и скорость осей считаются именно в нём. Правильно ли я понимаю, что, если нам нужна нестандартная кривая ускорений, то менять нужно именно stepgen?
LinuxCNC + Orange Pi (allwincnc)
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Уважаемые знатоки EMC (LinuxCNC)
нужен совет.
Смотрю сейчас код компонента stepgen и вижу, что текущие ускорение и скорость осей считаются именно в нём. Правильно ли я понимаю, что, если нам нужна нестандартная кривая ускорений, то менять нужно именно stepgen?
Смотрю сейчас код компонента stepgen и вижу, что текущие ускорение и скорость осей считаются именно в нём. Правильно ли я понимаю, что, если нам нужна нестандартная кривая ускорений, то менять нужно именно stepgen?
Вопрос относится к теме S-кривых разгона/торможения
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
Нет. Скорость и ускорение расчитываются планировщиком. А stepgen просто имеет возможность установить свои ограничения. stepgen никто не заставляет подключать только к планировщику (axis.N), ему можно откуда хочешь подавать на вход желаемую позицию и он сгенерит шаги с учётом заданных ему ускорений и макс. скорости.MX_Master писал(а):Смотрю сейчас код компонента stepgen и вижу, что текущие ускорение и скорость осей считаются именно в нём. Правильно ли я понимаю, что, если нам нужна нестандартная кривая ускорений, то менять нужно именно stepgen?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Загляну тогда и в motion.c (motmod)..
Планирую свой небольшой драйвер на основе stepgen. Если в нем только ограничитель ускорения/скорости, то задача упрощается.
Планирую свой небольшой драйвер на основе stepgen. Если в нем только ограничитель ускорения/скорости, то задача упрощается.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: LinuxCNC + Orange Pi
Разбирался с драйвером для Pluto P. Там ограничения, прописанные в ini-файлах, как, к примеру, STEPGEN_MAXACCEL, вообще игнорируются (присутствуют свои).
Работает так же, как тут Re: LinuxCNC + Orange Pi #278
Работает так же, как тут Re: LinuxCNC + Orange Pi #278
Чудес не бывает. Бывают фокусы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
STEPGEN_MAXACCEL - это просто некоторый параметр в ini, который и для stepgen можно использовать, а можно и игнорировать. Его даже можно обозвать по другому, просто тогда надо будет в HAL использовать новое имя.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Попробовал TASK_ISOLATION патч из этого поста - http://www.cnc-club.ru/forum/viewtopic. ... 40#p394650. Что-то эффекта никакого нет. Хотя я очень тщательно все параметры перепроверял во всех местах. Второй жирный минус - нельзя без бубна использовать оба патча - FULL_RT и TASK_ISOLATION. Только один. Они оба правят в исходниках ядра LINUX одни и те же места. Грустняк.
Вощем, как Сергей (UAVpilot) и говорил, софт генерацию можно убыстрить только одним проверенным способом - повышая частоту работы процессора
Возможно, стоит снова вернуться к аппаратной STM32 генерации шагов. А связь c апельсинкой держать по SPI в сервоцикле LinuxCNC. Всё-таки, доп. платка за 2$ бакса не только сможет аппаратно выдавать шаги, но и прибавит входов/выходов.
Вощем, как Сергей (UAVpilot) и говорил, софт генерацию можно убыстрить только одним проверенным способом - повышая частоту работы процессора
Возможно, стоит снова вернуться к аппаратной STM32 генерации шагов. А связь c апельсинкой держать по SPI в сервоцикле LinuxCNC. Всё-таки, доп. платка за 2$ бакса не только сможет аппаратно выдавать шаги, но и прибавит входов/выходов.
- Prav
- Мастер
- Сообщения: 834
- Зарегистрирован: 14 июл 2015, 05:10
- Репутация: 138
- Настоящее имя: Петр Раввинский
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
А о какой платке идет речь?MX_Master писал(а):Всё-таки, доп. платка за 2$ бакса не только сможет аппаратно выдавать шаги, но и прибавит входов/выходов.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Вощем, буду проверять скорость связки Orange Pi One + LinuxCNC + STM32F103C8T6. Заодно продолжу проект с аппаратным генератором на STM32. Напомню, что без внешнего генератора связка Orange Pi One + LinuxCNC выдаёт частоту шагов до 17 КГц. Для каких-то маленьких проектов этого может быть достаточно. Но для настоящих больших станков с приводами на ШВП, хотелось бы иметь как минимум 200 КГц.
https://www.aliexpress.com/item/-/32246273606.htmlPrav писал(а):А о какой платке идет речь?
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
На F4 можно уже отдельный контроллер писать. Чисто для аппаратного ногодрыга и передачи состояния пинов, F103C8T6 идеален. Да и по цене хорош (:going писал(а):Правильный ход. Может сразу с 4 серии начать?(stm32F4XXXXX)
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
В этом суть.MX_Master писал(а):На F4 можно уже отдельный контроллер писать.
Цена - возможности --------- вопрос риторический.
По мнению моих близких (они живут и дышат на stm32), первая серия не очень, а начиная с четвёртой, всё кудряво.
Это просто мнение, ничего больше.
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Понимаю. Работал с F4, потенциалу там на порядок больше. В общем-то код с F1 легко портируется на F4, и обратно (:
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Взялся вчера посмотреть какие ещё есть недорогие STM'ки c большим кол-во аппаратных таймеров. И нашёл! Причём, их много и начинка есть на любой вкус.
Например малыш STM32F103RFT6 на ядре M3 (72 МГц). Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл!
А цена всего 3$
Есть и другие примеры. Жаль только, что нет в продаже готовых макеток с этими МК.
Например малыш STM32F103RFT6 на ядре M3 (72 МГц). Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл!
Есть и другие примеры. Жаль только, что нет в продаже готовых макеток с этими МК.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: LinuxCNC + Orange Pi
так вот и готовая идея для бизнеса ," Альпенсинка ЧПУ"MX_Master писал(а):Жаль только, что нет в продаже готовых макеток с этими МК
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
В этом проекте у меня задача поставлена не за деньги, а за идеюsolo писал(а):так вот и готовая идея для бизнеса ," Альпенсинка ЧПУ"MX_Master писал(а):Жаль только, что нет в продаже готовых макеток с этими МК
-
arkhnchul
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
мне чот подсказывает, что для 200кГц шагов хватит и одного таймера на всех.MX_Master писал(а):Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл!
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
К сожалению нет. Я в этом деле уже туннель прорыл, пока делал умножитель сигналов. На каждый независимый аппаратный вывод шагов нужен свой таймер и один DMA канал.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
У многоногих чипов много и периферии.MX_Master писал(а):Например малыш STM32F103RFT6 на ядре M3 (72 МГц). Помимо богатой переферии, у него есть 14 таймеров и 12 каналов DMA. Это значит, что можно организовать аппаратную генерацию шагов на 12 осей. 12 осей, Карл!А цена всего 3$
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Я думаю, чтоб не парится, надо сделать возможность каскадирования платок STM32. Когда нужно до 4 осей, то хватит одной платки. Кому нужно больше осей вывода - втыкаем проводки из второго SPI первой платки в первый SPI второй платки. И так далее до посинения. В прошивке заложить механизм сквозной передачи из SPI1 в SPI2. Или как-то еще извернуться.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: LinuxCNC + Orange Pi
а так одно другому не мешает , вот идея 3д принтеров тоже как бы все бесплатно , но на этой идее начали делать РАМПСЫ и хот энды и много чего прочего , почему бы не сделать и здесь что то похожее , Хозяин канечно Барин и решать все самомуMX_Master писал(а):В этом проекте у меня задача поставлена не за деньги, а за идею
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
А какой тогда смысл в этом SPI? Лучше уж применить специально придуманные для таких подключений шины: RS422/RS485, CAN, ...MX_Master писал(а):Когда нужно до 4 осей, то хватит одной платки. Кому нужно больше осей вывода - втыкаем проводки из второго SPI первой платки в первый SPI второй платки. И так далее до посинения. В прошивке заложить механизм сквозной передачи из SPI1 в SPI2. Или как-то еще извернуться.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...