Пятница, 19.04.2024, 14:05
Приветствую Вас Гость | RSS

   
Главная | Каталог статей | Регистрация | Вход
ORION
   
Форма входа
Меню сайта

Категории раздела
Разное [4]
Управление [12]
RX, TX [13]
Металлоискатели [4]
Усилители [18]
Усилители НЧ
Программаторы [4]
Справочники [20]
Электрошокеры [7]
Администрация НЕ несет ответственности за содержащуюся информацию на сайте! Администрация НЕ несет ответственности за последствия использования материалов сайта.
Всё о LPT [3]
Измерительные приборы [7]
Блоки питания [2]
Электроника на рыбалке [7]
ШИМ [2]
Цифровое аудио [7]
Видео с интернета [5]

ADSENSE

...

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0



...
Каталог сайтов

Каталог качественных сайтов

Простой и удобный каталог сайтов


...
  • atmaudiovn
  • ut4ucg
  • tolikman888
  • Тэни
  • fizika37
  • lenyavalis74
  • sergej-sibirjak
  • miz2022
  • cexetil
  • vladimirelfimov1952
  • valisleonid18
  • nitro-oc
  • audionosvalvular
  • svvova68
  • qahromonb
  • abbasaliev1971
  • esusloff
  • sargismkrtchyan1962
  • biblicalstudiesru
  • cecfjgpartwilade
  • fiediaxurestand
  • fsem
  • polina2016
  • Teach
  • Пирамидон
  • ridik
  • АлександрСамол
  • osy18108431
  • retron
  • osy1810
  • Milenov
  • Zjama
  • ilfat-imamutdinov
  • urakol
  • Orion_vn6927
  • Alex9673
  • amateur
  • Emon
  • sa1967
  • ananev009
  • niko
  • Akilam
  • Blak_S
  • evg339
  • Любимый
  • rod
  • Supokil
  • DarkAssassian
  • bizmarke
  • n109
  • piligrim59
  • snover
  • Alex
  • Serzh
  • max1111
  • Admin
  • Генадзь
  • myha
  • тамплиер
  • serg
  • aleksm
  • kvpetr53
  • hekoo
  • radist
  • Мой
  • majkl
  • Вадим42
  • Prostoi
  • Гусь
  • Serega15
  • valkor
  • ivan4o47
  • osh73
  • haykaz
  • suh
  • silantiy
  • LadaZ94
  • YES
  • Dgeison
  • el
  • vovka
  • PREVED
  • trifon
  • azer
  • acetilka
  • SergeyNik
  • atl
  • marik4
  • sergey1955
  • stikson0099
  • Sodeystvie
  • viknik
  • supzim
  • 666
  • lawyer
  • ___DMK___
  • Vova1954
  • anton234ff
  • kr580ik80
  • Orion_vn6088
  • ALFA
  • Vano
  • Orion_vn

  • Наша кнопка
    Orion – электроника для любителей и профессионалов

    Главная » Статьи » Управление

    STEP/DIR контроллер 3-х шаговых двигателей на микроконтроллере

    STEP/DIR контроллер 3-х шаговых двигателей на микроконтроллере

     (для станка ЧПУ)

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

     


    Вот пришло время собрать электронику. Сразу покопавшись в просторах инета, начитался, что обязательно нужна опторазвязка 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 порта должны приходить такие сигналы:

    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 – низкоуровневый.

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

     

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

     

    Прошивка МК

     

    Категория: Управление | Добавил: Orion_vn (26.11.2011)
    Просмотров: 9958 | Комментарии: 1 | Теги: контроллер, шаговый, двигатель, Микроконтроллер | Рейтинг: 5.0/2
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    <
    Яндекс цитирования
    radionet
      Яндекс.Метрика
    CY-PR.com
    Copyright by Orion © 2024-2013