stm32: два мотора + переферия + тахометр с прерываниями.
- Войдите на сайт для отправки комментариев
Здравствуйте!
у меня stm32 управляет скоростью двух безщёточных моторов (bldc) с помощью DAC.
И ещё всякой ерундой должен управлять.
Работает пока гладко и хорошо.
Но управление напряжением не всегда линейное и скорость чуть-чуть плавает.
Захотелось завести тахометр. (для точной синхронизации моторов)
Вопрос. При скорости работы двух моторов в несколько тысяч об\мин правильно ли
измерять их скорость этим же контроллером? Т.е. 2 прерывания будут постоянно
отвлекать контроллер от других дел? В которых есть и дела поважнее чем
измерять скорость моторов.. Но и измерять скорость раз в секунду неправильно.
Надо чтоб обратная связь с моторами была без рывков.
Или STM32F103ZET6 на 72мгц справится с этим спокойно и я зря волнуюсь?
спасибо)
Если опасаетесь или появятся проблемы - есть волшебное слово "редуктор". Понижает как частоту вращения тахометра, там и нагруженность камня, но также одновременно понижает и точность контроля поворота .. но, с вашими несколькими тысячами оборотов в минуту последнее может стать даже благом. :)
Если честно, я не понял вопроса. Указанный МК имеет все необходимое для измерения периода вращения вала полностью аппаратно, т.е. без отвлечения ресурсов ЦП. Те, кто попрактиковался в программировании STM32 об этом обычно знают. Если вы не знаете, то значит опыта у вас нет и воспользоваться этой фишкой не сможете. Отсюда непонятки -- с какой целью интересуетесь и в чем суть поста?
Да есть редуктор. Непросто работать в широком спектре скоростей ) Сам мотор крутится от десятков до тысяч об/мин.
Редуктор - 3 последовательных планетарки. На нём от 1 до 60 об/мин.
Пока вот так получилось. Но я не уверен, что после этого всего у контроллера останется много времени на будущие вещи.
https://www.youtube.com/watch?v=D2VgjsKLWxw
a5021, первый проект на стм32 :) спасибо за инфу.