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

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

Сообщение michael-yurov »

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

Когда проверял работу СтепМастера - выяснилось, что последний справляется с этой задачей намного лучше, и при отключении мультистеппинга в драйвере (в моем случае галочку нужно было поставить) качество работы моторов заметно возрастает.
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

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

Сообщение SVP »

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

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

Сообщение MX_Master »

Четвёртый способ с DMA и 2-мя таймерами готов.

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

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

Сообщение Крафтер »

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

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

Сообщение MX_Master »

STM32F103C8T6 (1.8$) просто идеален по цене и скорости для однозадачных проектов. Умножитель на 4 оси в 4 таймера аккурат укладывается. Но для контроллера я бы меньше F4 не брал. Желательно сразу многоножку брать, например STM32F407ZGT6 (12$). Или сразу укомплектованный вариант
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

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

Сообщение tooshka »

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

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

Сообщение MX_Master »

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

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

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

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

Сообщение Serg »

MX_Master писал(а):К примеру, будет возможность выдавать разгон и торможение в виде S-образных и U-образных кривых, даже, если в оригинале их не было.
А как это будет согласовываться с движением других осей?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Andrey@KZN
Мастер
Сообщения: 442
Зарегистрирован: 22 авг 2016, 12:21
Репутация: 44
Настоящее имя: Андрей
Контактная информация:

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

Сообщение Andrey@KZN »

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

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

Сообщение MX_Master »

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

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

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

Сообщение Serg »

MX_Master писал(а):Можно синхронизировать, ибо мы всегда знаем текущую позицию в шагах каждой оси в оригинале. Сейчас все варианты умножителя никак оси не синхронизируют и маленько могут врать в траектории после умножения. Вдобавок, не один не даёт плавного вывода. Это мне не нравится. Исполнение, в общем, на троечку. Поэтому и размышляю, как это лучше сделать..
Та-же S-кривая - это траектория (разгон-движение-торможение), отличающаяся от того, что запланировал планировщик траектории...
Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика. Осилили только для холостых перемещений (G0), где важна не сама траектория, а лишь конечная точка её.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Понял. Дёргаться не стоит (:
Аватара пользователя
Prav
Мастер
Сообщения: 834
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

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

Сообщение Prav »

Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика
Вроде Siemens и Fanuc давно уже осилили.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

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

Сообщение Hanter »

UAVpilot писал(а):Та-же S-кривая - это траектория (разгон-движение-торможение), отличающаяся от того, что запланировал планировщик траектории...
Насколько я в теме ещё никто не осилил S-кривые для рабочих ходов (G1, G2, G3) даже на уровне планировщика. Осилили только для холостых перемещений (G0), где важна не сама траектория, а лишь конечная точка её.
Очередное озарение ?? где вы такой бред находите ?? расскажите плиз - какое отношение имеет планировщик к S-кривым ?
S- кривые - это аппаратная функция железа управляющего движением привода. Она либо есть, либо ее нет. если она есть - она работает на любых перемещениях ибо это параметр разгона и торможения. его нельзя игнорировать или пропустить и выполнять разгон/торможения привода как то по другому. для того чтобы выполнить разгон привода по другому - ее нада банально отключить, что без влезания в настройки привода или контролера движений не реально. соответственно оборудованию до лампочки какой код вы используете - холостой ход, рабочий, круговой или линейный - разгон и торможение привода всегда будет осуществляться в рамках заданных параметров. и если там прописано использование S-переходов - они в любом случае будут отработаны. и планировщик вообще не имеет к этому никакого отношения.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

P.S. Желающие продолжить дискуссию осваивайте сначала теорию, чтоб не тратить время на объяснение азбучных истин... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

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

Сообщение Hanter »

UAVpilot писал(а):P.S. Желающие продолжить дискуссию осваивайте сначала теорию, чтоб не тратить время на объяснение азбучных истин...
Вот именно. попробуйте осознать простую вещь - при работе по степ-диру ( а тема вроде как именно про него) S-кривые возможны только на уровне сервоусилителя. или вы хотите реализовать S-кривые на уровне сигнала "Step" ???? :lol: :lol: :lol:
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

Сообщение michael-yurov »

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

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

Сообщение Serg »

Hanter писал(а):или вы хотите реализовать S-кривые на уровне сигнала "Step" ???? :lol: :lol: :lol:
Откуда эти фантазии?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

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

Сообщение Hanter »

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

ну и так сказать раз уж заикнулись - давайте ка со ссылочками на теорию... а я вам в ответ свои ссылочки дам. и посмотрим в очередной раз кому терию почитать нада... :)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

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

Сообщение Hanter »

Разъясню свое недоумение - имеем какой то абстрактный усилитель, который работает по степ-диру. имеем какой то абстрактный планировщик, который понимает что есть G01 и G00... в усилителе включены и настроены S-кривые. Так вот мне очень интересно, как вы и при помощи чего заставите усилитель отличать движение по G01, от движения по G00... Ну степ-дир вы и сами отмели... я себе этого не представляю. ибо на выходе системы управления будут только импульсы.. так как по этим импульсам заставить усилитель отрабатывать S кривые по одному коду и не отрабатывать по другому... :)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Ответить

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