Всем ку! А кто-нибудь релизовывал управление шаговиками в "фоновом режиме". То есть, чтобы все ускорения/замедления и вообще вся генерация импульсов происходили вне зависимости от основной программы. Вроде бы, FreeRTOS-задачей такое возможно, но планировщик слишком редко переключается, скорости будут очень медленными. Я, пока что, вижу только один вариант - считать и генерировать импульсы в каком-нибудь прерывании таймера, которое будет срабатывать вне FreeRTOS и очень часто, раз этак 10-100 тысяч раз в секунду.

Комментарии: 25

  1. Boris

    ну смотря что делать, вообще для трёхоординатного манипулятора хватает и 1кГц если прям показатели массы не меняются и не нужно вносить корректировки по уставке из-за изменения сопротивления

    • Krevedko

      У меня 6-осевой манипулятор на шаговиках с планератными редукторами, там надо очень быстро.

  2. Anton

    А контроллер какой?

    • Krevedko

      STM32F407

      • Anton

        Можно использовать аппаратный выход таймера для генерации импульсов. Нужно будет только вовремя останавливать таймер, чтобы не нагенерил лишнего...

        • Boris

          Вот да, самый дельный вариант Либо коротким прерыванием делать, там чуть посуровей

        • Krevedko

          Можно, но как делать ускорения-замедления? И как рулить всеми моторами одновременно, одним быстрее, другим медленнее?

          • Boris

            Вооо, в хорошем направлении пошёл Там эта штука называется планирование

          • Anton

            Рулить несколькими моторами... Таймеров у стм много :) Ускорения - замедления изменением параметров счета в каком нибудь прерывании, которое будет заметно реже вызываться, чем выходная частота таймера...

            • Boris

              И это прям отдельная дисциплина в робототехнике

Не нашли ответ?

Вам также может быть интересно