Печать

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

Опубликовано . Опубликовано в Устройства на AVR

Рейтинг:   / 19
ПлохоОтлично 
Контроллер шагового двигателя на Attiny2313

Функционально устройство состоит из двух частей: "Контроллера" и "Драйвера". "Контроллер" собран на популярном МК Attiny2313, работающим на частоте 1 мГц от внутреннего генератора. "Драйвер" представляет собой набор из 4-х ключей, на транзисторах КТ972.

Конструктивно и "Контроллер" и "Драйвер" собраны на одной печатной плате, но разводка сделана так, что можно собрать на двух отдельных платах, соединив их между собой плоским шлейфом (для этого на плате предусмотрены разъемы) и подав на плату "Контроллера" +5В через разъем Х1, а на плату "Драйвера" от +12 до +35В через разъем Х4 (выв.1).

В одноплатном варианте, как на фото, контроллер может использоваться для проверки любого 12-ти вольтового двигателя с питанием от компьютерного блока питания

Возможности контролера:

- управление шаговым двигателем в 2 стороны (реверсивное вращение);
- 9 скоростей вращения двигателя;
- вход для проверки контролера, работающий с программой VRI-CNC;
- вход для проверки контролера с управляющими сигналами СТЕП-ДИР;
- Инверсия сигнала СТЕП;
- Пошаговый режим работы;
- Полушаговый режим для всех кроме режима СТЕП-ДИР.

Контроллер шагового двигателя на Attiny2313 - схема

При включении питания, устройство через 2 секунды стартует в обычном режиме (светодиоды VD1-VD3 не светятся): Крутит двигатель влево (кнопка 1), вправо (кнопка 2), можно изменять скорость (кнопка 3), переключать в режим "ШАГ-ПОЛУШАГ" (кнопка 4), инвертировать сигнал. Если 3-4 секунды удерживать кнопку 3, то по отпускании ее включится максимальная скорость вращения. СТЕП.

Если в момент включения питания удерживать 3 секунды любую кнопку, то устройство стартует в ПОШАГОВОМ режиме (должны зажечься светодиоды VD1-VD3). Далее, нажимая любую кнопку, будет происходить режим пошаговой работы, вал двигателя будет проворачиваться на 1 шаг. Никакие другие режимы в пошаговом режиме не работают и двигатель вращается только в одну сторону. Переход в обычный режим можно осуществить либо отключением и включением питания или джампером "Reset".

Контроллер шагового двигателя на Attiny2313 - печатная плата

Установка FUSE-битов: lfuse:0x64, hfuse:0xdf


Файлы:
Файл прошивки микроконтроллера, макет печатной платы SprintLayout5
Дата 13.06.2013 Размер файла 10.14 KB Закачек 2918

Комментарии  

+1 #1 kaschenko.alex 04.10.2013 20:48
укажите фуз биты для прощивки контроллера
Сообщить модератору
+2 #2 AntonChip 04.10.2013 22:18
Фьюзы добавил в статью
Сообщить модератору
+1 #3 Михаил 23.10.2013 17:56
Собрал устройство, работает прекрасно!
Есть вопросик- Можно ли им проверить работу
биполярного шагового двигателя(4 провода)?
Если можно, то как подключать?
Сообщить модератору
+1 #4 AntonChip 23.10.2013 19:21
Цитирую Михаил:
Есть вопросик- Можно ли им проверить работу биполярного шагового двигателя(4 провода)? Если можно, то как подключать?
Подключить биполярный двигатель к этой схеме не получится, подробнее здесь radioparty.ru/.../...
Сообщить модератору
0 #5 Le_Fleurs 20.11.2013 21:32
А можно было бы посмотреть видео работы устройства? на максимальной скорости не будет ли шаговик слетать? а потом без датчика холла тупить свое положение?
Сообщить модератору
0 #6 Alfa2 02.03.2015 15:42
Собрал данную схему
Подключил контроллер шагового двигателя по линии Степ/Дир

Двигатель крутится только в одну сторону кнопка 1, на кнопку 2 реагирует остановкой движка. Повторное нажатие на кнопку 2 движок крутит в туже сторону что и по кнопке 1.

Так и задумано?
Сообщить модератору
0 #7 Alukard 31.05.2015 22:14
Скажите пожалуйста для чего в схеме цепь X3????
Сообщить модератору
0 #8 AntonChip 31.05.2015 23:06
Цитирую Alukard:
Скажите пожалуйста для чего в схеме цепь X3????

- вход для проверки контролера, работающий с программой VRI-CNC;
- вход для проверки контролера с управляющими сигналами СТЕП-ДИР;
Сообщить модератору
0 #9 Tantrum 26.06.2015 22:22
Искал как раз подобное устройство с регулировкой скорости и реверсом.
А можно как-то доделать программу так, чтобы двигатель сделал нужное количество оборотов (оно вычисляется экспериментальн ым путем и потом вписывается в код как константа) и остановился?
Спасибо.
Сообщить модератору
+2 #10 AntonChip 26.06.2015 23:04
На форуме обсуждали radioparty.ru/.../...
Сообщить модератору
0 #11 sergsib 30.06.2015 10:21
Антон. Если не трудно, поместите в архив (после статьи) исходник программы для униполярного двигателя. Мне требуется значительно, раз в 10 снизить скорость вращения.
Сообщить модератору
0 #12 AntonChip 30.06.2015 23:25
К сожалению исходника нет
Сообщить модератору
0 #13 Vladimir90 23.09.2015 12:44
Скажите пожалуйста, как переделать схему чтобы при нажатии и удержании кнопок вправо/влево двигатель вращался в ту или другу сторону соответственно, а при отпускании останавливался?
Сообщить модератору

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