Драйвер step dir для шагового двигателя

Добрый день!

Как-то загорелся я построить себе домашний ЧПУ станок для сверления плат, а в будущем, может, и для их гравировки. Купил шаговики (униполярные), от старых матричных принтеров, материалы. Несколько месяцев ушло на сборку, большая часть времени ушла на поиск нужных материалов (фторопласт, направляющие). В результате станок был готов.

 

Вот пришло время собрать электронику. Сразу покопавшись в просторах инета, начитался, что обязательно нужна опторазвязка LPT-порта. Относительно контролера, сразу захотелось на микроконтроллере – если что и прошивку можно переписать, и подправить. В общем, нашел одну схему на PIC, с контролем по току, ШИМом и прочей ерундой. После сборки и прошивки схема сразу заработала, но… рано обрадовался! После первого же запуска станка появилась куча глюков – то ШИМ пропадал, то включался в ненужное время, пропуск шагов, зависание. Настраивал, переделывал я эту схему пару дней, в результате просто забил.

Решил применить самое популярное в инете решение L297+L298. Сразу же сжег одну L298. В общем, после настройки и отладки L298 дико грелась даже при довольно большом радиаторе (двигатели брали до 3-х ампер). Во время 10-минутного теста станка разорвалась вторая L298, при том, что никакого замыкания нигде не было и температура и ток была в пределах нормы. Заменил все L298 на полевики IRFZ34n, и все кардинально улучшилось! Они почти не грелись даже на максимальной нагрузке, так что могли спокойно обходится без радиатора совсем. Но не все так хорошо. С полевиками в режиме удержания не запускался ШИМ. Может где-то был косяк в схеме, так как ШИМ не работал ни на одной из трех плат. В общем наигрался я и с этой схемой, в результате чего просто добавили таймер на ne555, который бы отключал двигатель после секундного простоя.

После запуска появилась куча глюков – станок растягивал все по осям, корявил и дергался. Причина оказалась в опторазвязке. Прикинув, что станок у меня питаться будет от отдельного компьютерного блока питания и что LPT порту ничего не угрожает, выбросил ее совсем, поигрался с настройками в MACH3 - часть глюков исчезла, но не все. В конце концов забил я и на эту схему и на станок в общем.

Прошло пол года, а станок все пылился в углу комнаты. Как-то вечером, после сверления вручную очередной платы, опять появилось вдохновение. Решил сделать станку новые мозги – на контроллере со своей прошивкой.

Почему выбор пал именно на Atmega16? Такой жирный и дорогой с кучей ненужной периферии? (Впрочем, дороговизна относительна - 3шт. L297 – 75 грн., Мега16 – 36 грн.)

  1. У меня валялись несколько не востребованных мег16 в дип корпусе – это основная причина.
  2. У него куча выводов. Не очень то хотелось играться со всякими сдвиговыми регистрами. Кроме того (по опыту предыдущих схем) - чем оно проще тем лучше.
  3. У меги16 целых три внешних прерывания, что очень удобно. Конечно, можно было обойтись без них совсем, но см. пункт 1 и 2.
  4. Хотелось бы в будущем добавить всяких полезных функций – датчики температуры на двигатели, управление вытяжкой и охлаждением.

Вырисовалась вот такая схема (сразу извините за месиво, делалось очень быстро):

 

Все резисторы по 27 Ом., кроме R1,R27 (4.7k), R6,R28,R33,R34 (100Ом. Впрочем их можете не ставить, как и светодиоды – они нужны были только для отладки). Колодка J1 – питание (1 +12, 2-3 земля, 4 +5). +12 можете не подводить (в будущем планировалось управлять реле). Если будете питать схему не от компьютерного БП, то поставьте 7805 в цепь питания.

Так же стоит добавить пару конденсаторов по 100nF возле ног контроллера.

ХА – выход управляющих сигналов для первого двигателя.

ХВ – для второго.

ХС – для третьего.

ХD – запасной разъем. Для платы с реле.

JP1 – разъем ISP для программирования контроллера.

X9 – подключение аварийной кнопки.

С LPT порта должны приходить такие драйвер step dir для шагового двигателя сигналы:

2 – STEP A

3 – STEP B

4 – STEP C

5 – DIR A

6 – DIR B

7 – DIR C

В разъеме управляющих сигналов для двигателей 1 контакт – ШИМ выход, 2 – 5 – управляющие выходы, 6 – земля.

Так же с LPT порта выведена пара запасных контактов – на всякий случай.

 

Силовые цепи размещаются на отдельных платах.

Тут есть два варианта:

1. 

Все силовые цепи коммутируются через полевики Q2-Q5, ШИМ сигнал отдельно двигателя коммутирует + питания через полевик Q6. Кому ШИМ не нужен, можете его выкинуть.

Достоинства: упрощение конструкции из-за отсутствия логики, нет необходимости применять отдельные радиаторы для каждого полевика или изолировать их друг от друга – в основном греется только Q6.

 

2.

Здесь применены элементы лог. «И» для вывода ШИМ сигнала через полевики.

Достоинства: на один полевик и транзистор меньше.

Недостатки: Придется на каждый полевик цеплять радиатор, либо изолировать их друг от друга. Еще нужно будет развезти логику.

 

Так же контроллер должен работать и с мостовыми схемами для биполярных двигателей, но такой вариант не проверялся. Кто сильно горит желанием, может втулить вместо полевиков L298... но я б такого не делал.

 

Для себя я выбрал первый вариант. В конце вместо IRF520 поставил IRFZ34N, а вместо IRF9530 – IRF9Z34N.

Еще лучше добавить шунтирующие диоды или поставить сборку L6210. Я никакие диоды не ставил и еще ничего не сгорело.

Контроля по току нет -  это усложнило бы схему и сделало бы ее менее надежной, без него все прекрасно работает вот уже пол года. Кроме того, мне он был не нужен.

 

Логика работы такова: По спадающему фронту сигнала STEP происходит переключение обмоток в направлении, которое определяет сигнал DIR. При отсутствии сигнала STEP больше 750мс, включается режим удержания, при котором на двигатель подается 20-процентный ШИМ. Каждый двигатель управляется независимо от других. Все просто и банально.

После прошивки контроллера, схема должна сразу заработать. Ах да, забыл… во фьюзах выберете работу от внешнего кварца и выключите JTAG.

В настройках MACH3 сигнал STEP – низкоуровневый.

Если двигатель дергается, но не крутится, проверьте правильность подключения обмоток.

 

Работает сей девайс уже несколько месяцев, глюков не наблюдалось. По сравнению с предыдущими вариантами мозгов станка – это небо и земля.

 

Извините, если что не по госту или не красиво или не рационально - все делал для себя и на том, что было под рукой, а тут, думаю, выложу в инет, мож кому нужно будет

 

Спасибо за внимание, надеюсь, кому-то пригодится.

 Если есть вопросы, пишите на почту или на форум.

 

Удачи!


Файлы:
Прошивка МК


Все вопросы в Форум.


Источник: http://www.radiokot.ru/circuit/digital/automat/25/


Поделись с друзьями



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Драйвер Униполярного Шагового Двигателя - mebelclassic Диета для девочек в домашних условиях

Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя Драйвер step dir для шагового двигателя

ШОКИРУЮЩИЕ НОВОСТИ