Всем ку! А кто-нибудь релизовывал управление шаговиками в "фоновом режиме". То есть, чтобы все ускорения/замедления и вообще вся генерация импульсов происходили вне зависимости от основной программы. Вроде бы, FreeRTOS-задачей такое возможно, но планировщик слишком редко переключается, скорости будут очень медленными. Я, пока что, вижу только один вариант - считать и генерировать импульсы в каком-нибудь прерывании таймера, которое будет срабатывать вне FreeRTOS и очень часто, раз этак 10-100 тысяч раз в секунду.
Комментарии: 25
Boris
ну смотря что делать, вообще для трёхоординатного манипулятора хватает и 1кГц если прям показатели массы не меняются и не нужно вносить корректировки по уставке из-за изменения сопротивления
Krevedko
У меня 6-осевой манипулятор на шаговиках с планератными редукторами, там надо очень быстро.
Anton
А контроллер какой?
Krevedko
STM32F407
Anton
Можно использовать аппаратный выход таймера для генерации импульсов. Нужно будет только вовремя останавливать таймер, чтобы не нагенерил лишнего...
Boris
Вот да, самый дельный вариант Либо коротким прерыванием делать, там чуть посуровей
Krevedko
Можно, но как делать ускорения-замедления? И как рулить всеми моторами одновременно, одним быстрее, другим медленнее?
Boris
Вооо, в хорошем направлении пошёл Там эта штука называется планирование
Anton
Рулить несколькими моторами... Таймеров у стм много :) Ускорения - замедления изменением параметров счета в каком нибудь прерывании, которое будет заметно реже вызываться, чем выходная частота таймера...
Boris
И это прям отдельная дисциплина в робототехнике