понедельник, 3 августа 2015 г.

Контроллер шагового двигателя.

Контроллер для непосредственного управления шаговым двигателем является наиболее удобным устройством для использования с такими двигателями в случаях когда не требуется сложное программное управление. Если стоит задача изготовить такой контроллер то перед разработчиком возникает ряд трудностей, например изготовление интерфейса для удобного использования данного контроллера, решить эту задачу можно разными способами. Один из способов это использование аналогового устройства ввода (потенциометра, энкодера и т.д.) для регулировки скорости и кнопок для запуска, реверса и остановки. Такой способ хорош в случаях когда в данном контроллере планируется использовать микроконтроллер со встроенным АЦП, имеется возможность подключения недорогого энкодера или др. Также можно использовать семисегментный индикатор для отображения скорости и кнопки для всего управления контроллером. Ещё одной проблемой является организация управления самим двигателем. При всей кажущейся простоте данной задачи всё же могут возникнуть проблемы с недостаточной производительностью или памятью микроконтроллера, например в случае если необходим микрошаговый режим управления двигателем и большие обороты то не каждый микроконтроллер сможет с этим справиться, но полушаговый режим с отображением на семисегментный индикатор - задача посильная даже для микроконтроллера например PIC16F84. Рассмотрим схему:

Рисунок 1 - Контроллер шагового двигателя

Если например необходимо 4 вывода общего назначения задействовать как входы (4 для кнопок и 2 для датчиков крайнего положения) и с учётом того что для управления двигателем нужно 4 провода то на вывод на индикатор останется только два вывода микроконтроллера. Решить проблему можно например использованием дополнительной микросхемы двоичного счётчика например 4024, в таком случае один вывод микроконтроллера можно соединить с выводом RESET счётчика а другой вывод микроконтроллера соединить с выводом CLOCK счётчика тогда подав импульс сначала на RESET потом пачку импульсов количество которых равно коду для высвечивания на индикаторе нужной цифры можно высветить на индикаторе нужную цифру. У счётчика имеется 7 выводов для отображения цифры а у индикатора семь выводов для отображения цифры и один для отображения точки. Для отображения точки можно оставшийся вывод микроконтроллера соединить с выводом для отображения точки на индикаторе а выходные выводы счётчика соединить входными выводами индикатора так как будет удобнее для разводки платы по тому что составить коды для цифр по схеме будет проще чем мучиться со сложной разводкой. В ходе проверки было выяснено что выход RA4/TOCKI микроконтроллера PIC16F84 является выходом с открытым стоком т.е. он может только просаживать на землю но не подтягивать к питанию поэтому для решения этой проблемы был установлен резистор R24. Все проблемы на этапе разработки решить всё же не удалось т.к. семисегментный индикатор светит достаточно тускло но в общем и целом контроллер работоспособен.


Демонстрация работы на видео:

Программа для микроконтроллера писалась в среде MikroC, скачать проект можно по ссылке: https://yadi.sk/d/XPxB278qiF4uz.

КАРТА БЛОГА (содержание)

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

Отправить комментарий