Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/638959ac9d375c972c4f8c2d8888936a to your computer and use it in GitHub Desktop.
Save anonymous/638959ac9d375c972c4f8c2d8888936a to your computer and use it in GitHub Desktop.

Драйвер шагового двигателя на микроконтроллере

———————————————————
>>>СКАЧАТЬ<<<
———————————————————
Download link
———————————————————























Драйвер шагового двигателя на микроконтроллере

Если при очередной проверке обнаруживается, что скорости VR и VC не равны, то к значению VC прибавляется или вычитается значение ускорения Ротор представляет собой цилиндрический многополюсный постоянный магнит. При разгоне двигатель проходит ряд скоростей, при этом на одной из скоростей можно столкнуться с неприятным явлением резонанса. Соответственно, более быстрым будет спад тока и магнитного поля. Ключевое регулирование реализуют и другие специализированные микросхемы. В то же время вал обесточенного двигателя с переменным магнитным сопротивлением вращается свободно. Для того, чтобы момент падал как можно меньше, необходимо обеспечить высокую скорость нарастания тока в обмотках двигателя, что достигается применением специальных схем для их питания. Если это возможно, при старте и остановке нужно использовать частоты выше резонансной.

Для генерации тактовой частоты удобно использовать аппаратный таймер, который имеется в составе практически любого микроконтроллера. Питание обмотки номинальным напряжением а использование ограничительного резистора б. Однако он имеет существенный недостаток: на резисторе рассеивается дополнительная мощность. Такой H-мост управляется с помощью двух сигналов, поэтому он не позволяет обеспечить всех возможных комбинаций. В униполярном двигателе в каждый момент времени используется лишь половина обмоток.

Когда двигатель совершает шаг, ротор не сразу устанавливается в новую позицию, а совершает затухающие колебания. Ключевым транзистором управляет триггер, который устанавливается специальным генератором. Однако в большинстве случаев для обычных двигателей нельзя гарантировать точного позицианирования в микрошаговом режиме. Учитывая, что вычисления периода происходят не чаще, чем один раз в 15. Большая инерционность соответствует меньшей области под кривой. Если, например, имеются мертвые зоны величиной d, то микрошаг величиной менее d вообще не сдвинет ротор с места.

Драйвер шагового двигателя на микроконтроллере

Большие габариты мощных резисторов, необходимость отвода тепла и повышенная необходимая мощность источника питания — всё это делает такой метод неэффективным и ограничивает область его применение небольшими двигателями мощностью 1 — 2 ватта. Нарастание тока будет происходить линейно, это позволит быстрее достигать номинального значения тока. Например, наличие статического трения в половину от пикового момента двигателя с шагом 90 град. Таким образом, в случае переполнения программного таймера STCNT происходит анализ значения переменной VC, в случае положительного значения указатель PHASE инкрементируется, а в случае отрицательного — декрементируется.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment