Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

Автор: Tonich от 2-04-2014, 11:57

Занявшись построением своего первого станка с ЧПУ, нужно было быстро состряпать контроллер для ШД, чтобы проверить механику. Недолгий поиск в интернете привёл меня к этой схеме:
 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Характеристики:

1.Поддержка стандарта Step\Dir.
2.Режим шага - полный (две фазы), полный (одна фаза), полушаг.
3.Режим удержания (через 2 секунды) с заданием тока (0-100%). Опционально.
4.Ограничение тока на ШД (0-100%) в рабочем режиме псевдоШИМом (или недоШИМом). Без автоматического поддержания тока. Опционально.
5.Режим логического поддержания тока на ШД. Общий для всех осей. Опционально.
6.Все настройки указываются отдельно для каждой оси.
7.Настройки сохраняются в энергонезависимой памяти МК.
8.Ручное перемещение осей с клавиатуры.
9.Автоматический выезд в ноль по команде с клавиатуры (при ранее заданном нуле координат).

Если клавиатура и управление по COM-порту не интересует, то вы получите контроллер, настроенный по умолчанию (полушаг, 100% тока, режим удержания не задейвствован).

 
Настройка параметров с клавиатуры:

- \ + изменить скорость ручной подачи
Влево\вправо движение по X
Вверх\вниз движение по Y
Page Up\Down движение по Z
F1 + режим шага X
F2 + режим шага Y
F3 + режим шага Z
F4 вкл. режим логического поддержания тока
F5 + % ШИМа X
F6 + % ШИМа Y
F8 + % ШИМа Z
F9 + % ШИМа режима удержания X
F10 + % ШИМа режима удержания Y
F11 + % ШИМа режима удержания Z
F12 Сохранение настроек в EEPROM
Shift+F12 Установка настроек по умолчанию
Delete Установка внутренних координат контроллера в ноль
"0” Выезд осей в ноль

При этом, F1 – выбрать следующий режим, а Shift+F1 – выбрать предыдущий режим, F4 – вкл., а Shift+F4 – выкл., F5 – увеличить ток, а Shift+F5 – уменьшить и т.д.
Величина тока в режиме удержания НЕ может быть задана больше, чем величина тока в рабочем режиме.

Активный уровень по входам – ноль!
 
В качестве силового драйвера можно использовать любую из приведённых схем:
 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

 

Я выбрал первую схему, но вместо КТ829 поставил транзисторы 2SC3987.
 
Печатная плата:
 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Монтаж:
 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Скачать печатную плату: hCNC.lay [116,63 Kb] (cкачиваний: 1704)
Скачать проект Proteus, описание, прошивку: hCNC.zip [690,29 Kb] (cкачиваний: 2679)
 
Фьюзы:

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Фото готового контроллера:
 

Простой трёхосевой контроллер униполярных шаговых двигателей на AtMega 8

 

Рулил с помощью этого контроллера моторами EM-181 от матричного принтера Epson, через программу K-cam, также пробовал настроить mach3, но мне не хватило терпения.

 

Прошивка и схема отсюда: http://vri-cnc.ru/forum/viewtopic.php?f=13&t=1134

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
  • Группа: Посетители
  • ICQ: 208846175
  • Регистрация: 9.12.2012
  • Статус: Пользователь offline
  • Комментариев: 22
  • Публикаций: 6
^
ЭЭЭ братуха, полехчи! Ваще чотка написал. Мне вот интересно, а зачем станком управлять с клавы? Что можно сделать таким образом? Но не суть. Делал такой я контроллер - работает. Но чисто для проверки униполряных двигателей, ибо при больших токах силовые транзисторы греются, а ограничения по току, при использовании K-Cam, нету.

--------------------
  • Группа: Посетители
  • ICQ:
  • Регистрация: 1.02.2015
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
Я сделал это.
но я не могу запустить
Пожалуйста, помогите мне
  • Tonich

  • 2 февраля 2015 10:09
  • Группа: Администраторы
  • ICQ:
  • Регистрация: 18.10.2012
  • Статус: Пользователь offline
  • Комментариев: 160
  • Публикаций: 320
^
Цитата: dizayner
Я сделал это.
но я не могу запустить
Пожалуйста, помогите мне


Для начала нужно проверить контроллер, для этого нужно подключить шд или 4 светодиода к любой из 3 осей, и подать импульсы на вход step, той оси к которой подключен шд. Двигатель должен начать поворачиваться, а если подключены диоды, то они будут последовательно загораться.
  • Группа: Посетители
  • ICQ:
  • Регистрация: 5.02.2015
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Каким лучше программатором прошить. Я шил через LPT у меня как то криво получается не все оси работают. И можно использовать Atmega 8A вместо 8?
  • Группа: Посетители
  • ICQ:
  • Регистрация: 1.02.2015
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
Как принесет осмотр
не имею Пожалуйста, научите
Схема разработана но износ двигателя, незнаю
  • Группа: Посетители
  • ICQ:
  • Регистрация: 3.03.2015
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Сделал этот контроллер. Подключил. Через mach3 управляется. Но не гладко( хз как настроить скорость
  • Группа: Посетители
  • ICQ:
  • Регистрация: 12.05.2016
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
куда именно подключать светодиоды чтобы проверить работоспособность контроллера?
  • Группа: Администраторы
  • ICQ:
  • Регистрация: 18.10.2012
  • Статус: Пользователь offline
  • Комментариев: 60
  • Публикаций: 26358
^
Цитата: maz_19
куда именно подключать светодиоды чтобы проверить работоспособность контроллера?

Либо анодами на выходы микроконтроллера, либо катодами вместо мотора.

--------------------
  • Группа: Посетители
  • ICQ:
  • Регистрация: 12.05.2016
  • Статус: Пользователь offline
  • Комментариев: 2
  • Публикаций: 0
^
можете показать где катоды

а где катод можете показать на схеме, и как подключать светодиод
  • Группа: Посетители
  • ICQ:
  • Регистрация: 27.05.2016
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Как выставить фьюзы для атмеги 8 в программе код вижн авр?Я так понимаю что нужно запрограмировать фьюзы SUT1,BODEN,BODLEVEL,CKOPT.Подскажите пожалуйста!Спасибо!
  • Deyvon

  • 2 декабря 2016 22:59
  • Группа: Посетители
  • ICQ:
  • Регистрация: 2.12.2016
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
А что за программу использует автор для прошивки фьюзов? Всё собрал осталось только прошить и на этом застрял не знаю какие фьюзы нужно прошить. Помогите кто чем может!
  • Tonich

  • 3 декабря 2016 14:00
  • Группа: Администраторы
  • ICQ:
  • Регистрация: 18.10.2012
  • Статус: Пользователь offline
  • Комментариев: 160
  • Публикаций: 320
^
Цитата: Deyvon
А что за программу использует автор для прошивки фьюзов? Всё собрал осталось только прошить и на этом застрял не знаю какие фьюзы нужно прошить. Помогите кто чем может!

Фьюзы прошиваются в той же программе, что и сам контроллер, в зависимости от того каким программатором пользуетесь, софт будет отличаться. Если возникают сложности, рекомендую воспользоваться калькулятором фьюзов
  • OnRec18

  • 12 августа 2017 02:58
  • Группа: Посетители
  • ICQ:
  • Регистрация: 12.08.2017
  • Статус: Пользователь offline
  • Комментариев: 1
  • Публикаций: 0
^
Очень класная статья... Собрал давно, но руки до программатора не доходили... Но вот дошли... результат меня порадовал) + в процессе понял смысл фьюзов и принцип их работы) Спасибо
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.