LinuxCNC + Orange Pi

Контроллеры, драйверы, датчики, управляющие устройства.

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 04 апр 2019, 09:18

1f7 писал(а):пилят, сырая конечно но уже загружается https://dl.armbian.com/orangepi3/

"уже загружается" звучит ободряюще ((: примерно за ту же цену можно взять rockpi4 (1гб), где всё полноценно работает, и видеочип, и pci-e (m.2), и usb 3.0.

не стоит дергаться
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение _Pavel » 04 апр 2019, 13:23

MX_Master писал(а):Про килогерцы не надо судить по себе (:

Так ты мне объясни куда их и как применять. Я может сразу мегагерц захочу )))
_Pavel
Кандидат
 
Сообщения: 49
Зарегистрирован: 28 май 2015, 06:50
Репутация: 0
Настоящее имя: Павел

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 04 апр 2019, 13:36

Для ШВП с шагом 4-5 мм, для плавной и быстрой работы 17 КГц мало (:
Для линейки с разрешением в микрон 17 КГц мало (:

Станок должен работать максимально быстро, особенно, на холостых ходах. Это же всё рабочее время. Чем оно меньше, тем больше можно сделать.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение _Pavel » 04 апр 2019, 14:22

MX_Master писал(а):Для линейки с разрешением в микрон 17 КГц мало (:

Аааа, ну если в один микрон :-0 , то тогда конечно :-0
Так надо еще будет импульсы успеть обработать, я даже не знаю какого проца для этого хватит. По хорошему ПЛИСа нужна.
_Pavel
Кандидат
 
Сообщения: 49
Зарегистрирован: 28 май 2015, 06:50
Репутация: 0
Настоящее имя: Павел

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 04 апр 2019, 14:47

Там же внутри шпарит сопроцессор с частотой 450 МГц.
Модуль подсчёта импульсов я там реализовал.
Оно, канеш, мегагерцы не ест, но сотни килогерц может.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение _Pavel » 04 апр 2019, 15:15

Задача конечно интересная, но сложная. Тут надо ИМХО как то в ядро залазить, чтоб счетчики независимо от планировщика задач работали и чтоб еще этот реалтайм не нарушить.
_Pavel
Кандидат
 
Сообщения: 49
Зарегистрирован: 28 май 2015, 06:50
Репутация: 0
Настоящее имя: Павел

Re: LinuxCNC + Orange Pi

Сообщение going » 04 апр 2019, 23:34

_Pavel писал(а):Тут надо ИМХО как то в ядро залазить

Павел, а "личку" посмотри. Я тебе ссылочку на готовые пакеты для Н5 зачем послал?
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 415
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 119

Re: LinuxCNC + Orange Pi

Сообщение antoxa-kylibin » 05 апр 2019, 02:27

MX_Master писал(а):Там же внутри шпарит сопроцессор с частотой 450 МГц.
Модуль подсчёта импульсов я там реализовал.
Оно, канеш, мегагерцы не ест, но сотни килогерц может.


Ждемс килогерцов :-).... я вот видел на али линейки с разрешением 5 микрон. Они и дешевле и для не промышленных станков вполне достаточно. По моим сугубо теоретическим прикидкам на скорости 3000мм/мин она будет выплевывать импульсы на 10кгц....а это блин lpt порт даже должен переварить....или я фигню сморозил? Только не бейте :)
antoxa-kylibin
Мастер
 
Сообщения: 219
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 11
Настоящее имя: Антон

Re: LinuxCNC + Orange Pi

Сообщение _Pavel » 05 апр 2019, 02:35

Спасибо! Пособираю)))
_Pavel
Кандидат
 
Сообщения: 49
Зарегистрирован: 28 май 2015, 06:50
Репутация: 0
Настоящее имя: Павел

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 08:17

Наконец-то, добил формулы для двух режимов stepgen'a с симуляцией в электронных таблицах. Надо провести ещё несколько тестов, подчистить косяки и можно заливать все эти формулы в код драйвера. Больше всего времени отнял режим работы stepgen'a по позиции. Без наглядных значений каждой переменной в каждом сервопериоде, очень сложно понять, что происходит. Я до этого несколько раз пробовал представить каждый шаг процесса в уме. Но оперативки никогда не хватало :hehehe: Вощем, LibreOffice Calc во всех отношениях рулит.

LinuxCNC + Orange Pi 2019-04-11_105152.png
LinuxCNC + Orange Pi 2019-04-11_105051.png
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение antoxa-kylibin » 11 апр 2019, 14:04

Я например ничего не понял из этих скринов....ждем первого релиза драйвера! А в будущем ещё нужно encoder повесить на сопроцессор и попробовать pid настроить в связке шд+энкодер!
antoxa-kylibin
Мастер
 
Сообщения: 219
Зарегистрирован: 22 июн 2017, 13:18
Откуда: г. Воронеж
Репутация: 11
Настоящее имя: Антон

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 15:00

antoxa-kylibin писал(а):Я например ничего не понял из этих скринов....ждем первого релиза драйвера!

Это пошаговая симуляция. Одна строка = сервопериод. В каждом сервопериоде видно состояние каждой переменной и основных входных/выходных пинов драйвера. Для каждой переменной и выходных пинов есть ряд формул, по которым вычисляются их значения. А также видно сколько раз и куда нужно дёргать GPIO пины.

Каждый сервопериод stepgen вычисляет значения скорости (частоту) и направления, чтобы с учётом всех параметров попасть ровно в указанную позицию. Та ещё тягомотина :)

К примеру, позиция оси равна 0мм, а мы ей командуем ехать в позицию 10мм. И вот, каждый сервопериод, мы наблюдаем плавное увеличение скорости, которое не должно превышать лимиты скорости и ускорения. Затем -плавное замедление с точным попаданием в позицию 10мм. И это - простейший случай. А, допустим, мы на полном ходу скомандуем оси уехать в позицию -20мм. При этом stepgen не должен сразу рвать когти назад. Он должен плавно остановить движение, дёрнуть пин направления, плавно набрать скорость, проехаться на постоянной скорости и плавно замедляться вплоть до позиции -20мм. И таких ситуаций далеко не одна. В каждый такой момент stepgen должен знать, что делать. И всё это можно увидеть в данной таблице.

antoxa-kylibin писал(а):А в будущем ещё нужно encoder повесить на сопроцессор и попробовать pid настроить в связке шд+энкодер!

Драйвера, типа pwmgen и encoder сделать очень легко. К тому же, в прошивке сопроцессора для этого всё уже есть.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение merkwurdigliebe » 11 апр 2019, 16:31

MX_Master писал(а):К примеру, позиция оси равна 0мм, а мы ей командуем ехать в позицию 10мм. И вот, каждый сервопериод, мы наблюдаем плавное увеличение скорости, которое не должно превышать лимиты скорости и ускорения. Затем -плавное замедление с точным попаданием в позицию 10мм. И это - простейший случай. А, допустим, мы на полном ходу скомандуем оси уехать в позицию -20мм. При этом stepgen не должен сразу рвать когти назад. Он должен плавно остановить движение, дёрнуть пин направления, плавно набрать скорость, проехаться на постоянной скорости и плавно замедляться вплоть до позиции -20мм. И таких ситуаций далеко не одна. В каждый такой момент stepgen должен знать, что делать.


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

сервоцикл 0.44мс
макс скорость 600 мин-1 = 10 с-1 = 2000 шаг/с

получается даже на максимальной скорости мотор будет делать не более одного полного шага за сервопериод. на неравномерность изменения частоты импульсов от периода к периоду, имхо, можно смело забить... во всяком случае с микрошагом. или нет?
merkwurdigliebe
Мастер
 
Сообщения: 235
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 174

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 17:30

Если изучить оригинальный stepgen, можно заметить, что в настройках ему передаются лимиты скоростей и ускорений. stepgen их активно использует. И это, несмотря на то, что у планировщика есть свои лимиты тоже.

Зачем? Возможно, для безопасности. Или для тех случаев, когда мы не используем планировщик для каких-то осей :) Например, можно из командной строки (или каким-то компонентом) абсолютно независимо рулить отдельным мотором. Прямо во время выполнения УП. При этом независимый мотор не будет дёргаться в конвульсиях, благодаря встроенной проверке ускорений и скоростей. Очень удобный способ для какой-то параллельной автоматики.

Моя задача, кстати, повторить поведение оригинального stepgen'a. Чтобы переход с одного на другой был незаметен. Изобретать новые и проводить тюнинг старых будем, когда в арсенале будет хотя бы один рабочий. На скринах, вощем-то, просто один из вариантов. Максимальная частота шагов может быть и 2 КГц, и 200 КГц, и даже 0.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение UAVpilot » 11 апр 2019, 17:42

MX_Master писал(а):режим работы stepgen'a по позиции.

Про другой режим наверно лучше не говорить, хотя бы какое-то время. :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 17707
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4386
Медальки:
Настоящее имя: Сергей

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 17:49

UAVpilot писал(а):Про другой режим наверно лучше не говорить, хотя бы какое-то время.

Сомневаюсь, что сюда зайдёт Алексей (Hanter) и оспорит сказанное :hehehe:
Здесь чисто программерский кружок :)
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение merkwurdigliebe » 11 апр 2019, 19:18

MX_Master писал(а):Моя задача, кстати, повторить поведение оригинального stepgen'a. Чтобы переход с одного на другой был незаметен.


ага, понятно, аргумент. я никогда с шаговыми моторами не ковырялся и чет упустил это дело...

Например, можно из командной строки (или каким-то компонентом) абсолютно независимо рулить отдельным мотором. Прямо во время выполнения УП. При этом независимый мотор не будет дёргаться в конвульсиях, благодаря встроенной проверке ускорений и скоростей. Очень удобный способ для какой-то параллельной автоматики.


так есть простенький компонент - limit3, который это делает. я его недавно использовал чтобы рулить сервой вращающей тангенциальный нож в обход планировщика траектории. а насчет безопасности - сервоприводы, при управлении по позиции, по-умолчанию отрубаются с ошибкой, если скомандовать им прыгнуть куда-то далеко от текущего положения. и мне кажется, что это правильнее, чем пытаться долго и упорно туда ехать, маскируя тем самым ошибку задания...
merkwurdigliebe
Мастер
 
Сообщения: 235
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 174

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 19:47

Честно говоря, в LinuxCNC достаточно компонентов, чтобы сделать что-то разными способами. Но в данном случае, я делаю именно аналог оригинального компонента. А вот, к примеру, драйвер stepgen'a для моего генератора на STM32 использует другой подход. Он все значения пинов тупо отправляет в STM32 и в ус не дует. Внутри STM32'a свой собственный алгоритм и частота шагов меняется в 20 раз чаще.

Я, кстати, с сервами дел не имел.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Re: LinuxCNC + Orange Pi

Сообщение merkwurdigliebe » 11 апр 2019, 20:19

про аналог оригинального я уже понял из прошлого ответа :)
в 20 раз чаще чем сервоцикл?
merkwurdigliebe
Мастер
 
Сообщения: 235
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 174

Re: LinuxCNC + Orange Pi

Сообщение MX_Master » 11 апр 2019, 20:27

merkwurdigliebe писал(а):в 20 раз чаще чем сервоцикл?

Внутри STM'ки свой сервоцикл длиной в 50 мкс. И ей неважно какой сервоцикл на той стороне провода. Можно слать команды в любое время (:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4033
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2038
Медальки:
Настоящее имя: Михаил

Пред.След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: Argon-11, Bender, Bing [Bot], dpss-2, evgenbaraba, extentia, Fagot, Gestap, Google [Bot], Google Feedfetcher, kstmkltr, Majestic-12 [Bot], Mamont, sas_75, sazn86, Smlua, Yandex [bot], yurayerz

Reputation System ©'