За какое-то время у меня скопилось много шаговых двигателей, но все не было времени ими заняться, а ведь шаговый двигатель вещь довольно интересная и полезная. Но у многих радиолюбителей возникают проблемы с запуском таких двигателей, вот я и решил собрать контроллер для проверки наиболее часто распространённых шаговых двигателей.
Блок управления шаговым двигателем
Шаговые двигатели достаточно распространены в устройствах, в которых необходимо добиться точного перемещения механизмов. Существует очень много типов шаговых двигателей, но самыми простыми в плане управления являются 2-х фазные униполярные двигатели. Этот тип двигателей имеет две независимые обмотки с выводами от середины (см. Рис.1). Их устанавливают в такие аппараты, как принтер, копир, дисковод и т.д.
Схема управления шаговым двигателем.
На рисунке 2 представлена схема управления шаговым двигателем.
Сперва хотел разработать схему на жесткой логике, но когда определился с функциями, которые она должна выполнять, пришло твердое решение использовать для этих целей микроконтроллер. И так, что можно определить с помощью данного блока управления.
- Можно определить количество шагов.
- Определить один из двух алгоритмов работы двигателя.
- Опробовать работу двигателя в полушаговом режиме.
- Можно опробовать работу в полношаговом режиме.
Еще раз повторюсь, что разновидностей шаговых двигателей много и данный контроллер подойдет не для всех.
Программы управления шаговыми двигателями
Программа управления состоит из пяти подпрограмм, которые переключаются кнопкой BS3 – «Выбор программ». Номер выбранной подпрограммы отображается тремя светодиодами в двоичной системе счисления. При первом включении должен загореться светодиод HL1, индицирующий о том, что включена первая подпрограмма работы шагового двигателя в полушаговом режиме. Запуск двигателя осуществляется кнопками «Право» и «Лево». Право – двигатель должен крутиться по часовой стрелке, лево – против часовой, но направление вращения зависит еще и от того, как вы скоммутируете обмотки двигателя.
Возможно, придется экспериментировать. На скриншоте 1 (передняя панель виртуального осциллографа программы Proteus) можно наблюдать импульсную последовательность и коды полушагов работы двигателя. Некоторые из шаговиков по этому алгоритму у меня не работали.
Полношаговый алгоритм работы шагового двигателя
Подпрограмма №2 – светится второй светодиод. В этой подпрограмме двигатель будет работать по полно шаговому алгоритму, показанному на скрине 2.
Подпрограмма №3 – светятся первый и второй светодиоды. В этой подпрограмме двигатель будет работать по полношаговому алгоритму, показанному на скрине 3.
Количество шагов шагового двигателя
Подпрограмма №4 – светится третий светодиод. Данная подпрограмма обеспечивает один шаг двигателя при каждом нажатии на кнопку «Право». Кнопка «Лево» в данном случае не задействована. Короче говоря, нажимая каждый раз на кнопку, можно сосчитать количество шагов за один оборот проверяемого двигателя. Алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 2.
Подпрограмма №5 – светятся первый и третий светодиоды. В этой подпрограмме творится тоже самое, только алгоритм работы двигателя в данной подпрограмме соответствует алгоритму на скрине 3.
Общий вид платы — на фото.
Файл прошивки, схему и рисунок печатной платы можно скачать по ссылке ниже.
Купить USB программатор PIC K150 ICSP