Страница 13 из 20

Re: Умножитель частоты шагов на STM32

Добавлено: 06 апр 2017, 12:19
michael-yurov
Oxford писал(а):В чем проявляется убожество? В чем собственно вред?
На низких частотах, где он нужен - он не работает.
На высоких частотах - вносит неравномерность в движение. Появляется неких шум / хруст при вращении.

Когда проверял работу СтепМастера - выяснилось, что последний справляется с этой задачей намного лучше, и при отключении мультистеппинга в драйвере (в моем случае галочку нужно было поставить) качество работы моторов заметно возрастает.

Re: Умножитель частоты шагов на STM32

Добавлено: 06 апр 2017, 12:24
SVP
Oxford писал(а): Спасибо за совет. А какой станок советуете купить c рабочим полем A3 для фрезеровки алюминия?
DMG ничего так, мазаки тоже посмотрите...

Re: Умножитель частоты шагов на STM32

Добавлено: 11 апр 2017, 16:41
MX_Master
Четвёртый способ с DMA и 2-мя таймерами готов.

В малыша STM32F103C8T6 он по всем лимитам влезает. Однако, больше 600 КГц этот способ не выдаёт при входе в 20 КГц и общаке в 168 МГц. Всё-таки, много программного вывода взамен аппаратного. На фотке множитель 20, вход 16.7 КГц, вывод 350 КГц
2017-04-11_191542.png (2346 просмотров) <a class='original' href='./download/file.php?id=108609&mode=view' target=_blank>Загрузить оригинал (16.58 КБ)</a>
По совету
Крафтер писал(а):Есть системный таймер SysTick, можно его использовать для отсчета времени, и есть еще DWT - отладочный таймер, у него самое большое разрешение.
попробую системные и отладочные таймеры для подсчёта периодов и вернусь к максимально аппаратному выводу

Re: Умножитель частоты шагов на STM32

Добавлено: 13 апр 2017, 22:42
Крафтер
F103C8 - это не та самая шняга, которую толкают за 400 руб вместе с ардуиной? Чувствую, мне надо тоже на такой переходить ;) . Всем доступно, недорого, частота зашкаливает (72 МГц). Но есть проблема, у него меньше таймеров, чем у F100.

Re: Умножитель частоты шагов на STM32

Добавлено: 14 апр 2017, 09:26
MX_Master
STM32F103C8T6 (1.8$) просто идеален по цене и скорости для однозадачных проектов. Умножитель на 4 оси в 4 таймера аккурат укладывается. Но для контроллера я бы меньше F4 не брал. Желательно сразу многоножку брать, например STM32F407ZGT6 (12$). Или сразу укомплектованный вариант

Re: Умножитель частоты шагов на STM32

Добавлено: 14 апр 2017, 10:38
tooshka
MX_Master писал(а): Или сразу укомплектованный вариант
Ннндаа время ардуин стремительно уходит, СТМ32 по таким ценам рулит.

Re: Умножитель частоты шагов на STM32

Добавлено: 16 май 2017, 16:08
MX_Master
Перепробовал несколько других способов умножения. Везде процесс упирается в какую-то мелочь, которая не даёт сделать вывод стабильным. Один только плюс - опыта стало больше, но чувствую надо вернуться к началу и сформулировать задачу немного иначе..

А что если отказаться от идеи простого умножителя в пользу преобразователя или фильтра? Потребуется различать участки разгона, постоянной подачи и торможения. А затем на выход подавать уже обработанный сигнал. К примеру, будет возможность выдавать разгон и торможение в виде S-образных и U-образных кривых, даже, если в оригинале их не было. Всё будет зависеть от настроек. Умножение частоты обработанного сигнала сделать тоже проще.

Стоит или не стоит такое делать?

Re: Умножитель частоты шагов на STM32

Добавлено: 16 май 2017, 16:38
Serg
MX_Master писал(а):К примеру, будет возможность выдавать разгон и торможение в виде S-образных и U-образных кривых, даже, если в оригинале их не было.
А как это будет согласовываться с движением других осей?..

Re: Умножитель частоты шагов на STM32

Добавлено: 16 май 2017, 18:10
Andrey@KZN
Не проще свой контроллер написать? :)

Re: Умножитель частоты шагов на STM32

Добавлено: 16 май 2017, 18:34
MX_Master
UAVpilot писал(а):А как это будет согласовываться с движением других осей?..
Можно синхронизировать, ибо мы всегда знаем текущую позицию в шагах каждой оси в оригинале. Сейчас все варианты умножителя никак оси не синхронизируют и маленько могут врать в траектории после умножения. Вдобавок, не один не даёт плавного вывода. Это мне не нравится. Исполнение, в общем, на троечку. Поэтому и размышляю, как это лучше сделать..

Про синхронизацию надо подумать.. Вряд ли это будет отвалом башки в исполнении, зато даст неплохие карты в руки для дальнейших действий.
Andrey@KZN писал(а):Не проще свой контроллер написать?
Контроллеров много, стоит ли делать ещё один? Смысел умножителя как раз в том, чтобы исправить очевидный недостаток большинства бюджетных контроллеров. Должен получится SmoothStepper с открытым кодом под любой контроллер.

Re: Умножитель частоты шагов на STM32

Добавлено: 16 май 2017, 20:31
Serg
MX_Master писал(а):Можно синхронизировать, ибо мы всегда знаем текущую позицию в шагах каждой оси в оригинале. Сейчас все варианты умножителя никак оси не синхронизируют и маленько могут врать в траектории после умножения. Вдобавок, не один не даёт плавного вывода. Это мне не нравится. Исполнение, в общем, на троечку. Поэтому и размышляю, как это лучше сделать..
Та-же S-кривая - это траектория (разгон-движение-торможение), отличающаяся от того, что запланировал планировщик траектории...
Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика. Осилили только для холостых перемещений (G0), где важна не сама траектория, а лишь конечная точка её.

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 09:15
MX_Master
Понял. Дёргаться не стоит (:

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 09:46
Prav
Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика
Вроде Siemens и Fanuc давно уже осилили.

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 10:35
Hanter
UAVpilot писал(а):Та-же S-кривая - это траектория (разгон-движение-торможение), отличающаяся от того, что запланировал планировщик траектории...
Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика. Осилили только для холостых перемещений (G0), где важна не сама траектория, а лишь конечная точка её.
Очередное озарение ?? где вы такой бред находите ?? расскажите плиз - какое отношение имеет планировщик к S-кривым ?
S- кривые - это аппаратная функция железа управляющего движением привода. Она либо есть, либо ее нет. если она есть - она работает на любых перемещениях ибо это параметр разгона и торможения. его нельзя игнорировать или пропустить и выполнять разгон/торможения привода как то по другому. для того чтобы выполнить разгон привода по другому - ее нада банально отключить, что без влезания в настройки привода или контролера движений не реально. соответственно оборудованию до лампочки какой код вы используете - холостой ход, рабочий, круговой или линейный - разгон и торможение привода всегда будет осуществляться в рамках заданных параметров. и если там прописано использование S-переходов - они в любом случае будут отработаны. и планировщик вообще не имеет к этому никакого отношения.

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 12:33
Serg
Hanter писал(а):Очередное озарение ?? где вы такой бред находите ?? расскажите плиз - какое отношение имеет планировщик к S-кривым ?
попробуйте осознать простую вещь - например для движения инструмента по диагонали в плоскости XY требуется согласованное движение осей X и Y, т.е. для получения прямой ровной линии у обоих этих осей должны быть строго одинаковые формы S-кривых (во времени и пространстве), это и есть задача плаировщика. Только вот ускорение на крутом участке S-кривой не должно превышать максимально допустимое для привода/оси, что автоматически предполагает меньшее ускорение на пологих участках S-кривой, т.е. более долгий разгон/торможение, а следовательно инструмент будет дольше работать вне заданных режимов. Вот и получается, что для рабочего движения S-кривые использовать бессмысленно - приходится ограничивать максимальные скорости/ускорения, т.е. то, ради чего эти S-кривые и нужны...

P.S. Желающие продолжить дискуссию осваивайте сначала теорию, чтоб не тратить время на объяснение азбучных истин... :)

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 13:05
Hanter
UAVpilot писал(а):P.S. Желающие продолжить дискуссию осваивайте сначала теорию, чтоб не тратить время на объяснение азбучных истин...
Вот именно. попробуйте осознать простую вещь - при работе по степ-диру ( а тема вроде как именно про него) S-кривые возможны только на уровне сервоусилителя. или вы хотите реализовать S-кривые на уровне сигнала "Step" ???? :lol: :lol: :lol:

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 13:25
michael-yurov
Компьютеры ничто.
Сервоусилители все!

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 13:31
Serg
Hanter писал(а):или вы хотите реализовать S-кривые на уровне сигнала "Step" ???? :lol: :lol: :lol:
Откуда эти фантазии?..

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 14:25
Hanter
Ну эта фантазия в моем понимании единственное что может объяснить ваши высказывания... :)
очень мне знаете ли интересно как вы при помощи планировщика будете делить движения на G1 и G0....

ну и так сказать раз уж заикнулись - давайте ка со ссылочками на теорию... а я вам в ответ свои ссылочки дам. и посмотрим в очередной раз кому терию почитать нада... :)

Re: Умножитель частоты шагов на STM32

Добавлено: 17 май 2017, 14:47
Hanter
Разъясню свое недоумение - имеем какой то абстрактный усилитель, который работает по степ-диру. имеем какой то абстрактный планировщик, который понимает что есть G01 и G00... в усилителе включены и настроены S-кривые. Так вот мне очень интересно, как вы и при помощи чего заставите усилитель отличать движение по G01, от движения по G00... Ну степ-дир вы и сами отмели... я себе этого не представляю. ибо на выходе системы управления будут только импульсы.. так как по этим импульсам заставить усилитель отрабатывать S кривые по одному коду и не отрабатывать по другому... :)