» » Контроллер униполярного шагового двигателя на базе PIC16F628 V2.1
Информация к новости
  • Просмотров: 119342
  • Автор: Sergey_r
  • Дата: 5 января 2009
  • 80
5 января 2009

Контроллер униполярного шагового двигателя на базе PIC16F628 V2.1

Категория: Домашнее ЧПУ (CNC)

Представляем краткое описание, схему и прошивку контроллера униполярного шагового двигателя на основе микроконтроллера PIC16F628A (доработанный вариант V2.0). Контроллер поддерживает управляющие сигналы STEP, DIR и ENABLE. Реализован режим удержания.

 

Особенности контроллера униполярного двигателя PIC BINAR CNC 2.1:

  • Аппаратная ШИМ регулировка ограничения тока фаз.
  • Аппаратная ШИМ регулировка ограничения тока фаз в режиме удержания.
  • Реализован режим “fixed time off”.
  • Больший диапазон тока фаз (проверен до 5А).
  • Использование универсальных управляющих сигналов STEP, DIR, ENABLE.
  • Работа в режимах «полный шаг», «полушаг» (FULL STEP/ HALF STEP).

Контроллер униполярного шагового двигателя на базе PIC16F628 V2.1

 

Регулировка тока фаз осуществляется с помощью подстроечного резистора R11.

Регулировка ограничения тока в режиме удержания осуществляется подстроечным резистором R9 и настраивается относительно рабочего тока. Программа контроллера переходит в режим «удержание» автоматически при отсутствии сигнала STEP – это снижает потребление энергии  и уменьшает нагрев двигателя.

 

Time off зависит от номиналов R15, C4 и R16, C5. Расчеты не приводим, т.к. на практике при указанных номиналах хороше работали все имеющиеся в наличии ШД. Ток изменяли в пределах 0.5 – 5 А. Нагрев полевых транзисторов практически отсутствовал (габариты радиатора 70 х 50 мм, высота ребер 15 мм). Т.к. защитные диоды в схеме не установлены, полевые транзисторы должны иметь как минимум двойной запас по напряжению.

 

Транзисторы Т1 и Т2 любые маломощные - 2SC945, 2N2222 и т.д. Диоды VD1 и VD2 - 1N4148.

 

Резисторы R25 и R26 рассчитываем в зависимости от требуемого тока. Падение напряжения на них должно находиться в пределах 0.2 – 0.8 вольта (R=U/I). Мощность выбираем соответственно (P=U*I или P=R*I*I).

 

Сигнал ENABLE управляется низким логическим уровнем. Включение и отключение режима работы сигнала ENABLE осуществляется перемычками JMP1 и JMP2. Так же перемычкой  JMP3 переключаются режимы работы «шаг» и «полушаг», при изменении режимов работы необходим перезапуск контроллера.

 

Схема контроллера в формате sPlan 6.0 и файл прошивки в формате *.hex вы можете скачать ниже:

Вы не можете скачивать файлы с нашего сервера

 

Прошивка для PIC16F628 (без буквы А) не тестировалась:

Вы не можете скачивать файлы с нашего сервера

Метки к статье: cnc, чпу, драйвер двигателя, контроллер шагового, шаговый двигатель, PIC16F628

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
Sergey_r

15 марта 2009 11:05

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
oleg__79,
Питание на шаговик 5 вольт подал? Маловато будет. Какой шаговик использовал? Ну и чем пик прошивал?
Сам контроллер можешь проверить так: подай питание только на логику, двигатель не запитывай и перемычки Jmp1 - Jmp3 не устанавливай, на выводах 10 - 13 пика должен быть логический 0, на выводах 4, 6 - 8 логическая 1. Вход Step замкни на массу и проверь что на 6 выводе логический ноль присутствует. Разомкни вход Step и смотри что стало на выводах 10 - 13 пика. Один из выводов 10 и 11 должен быть в 0 другой в 1, аналогично и для выводов 12 -13. Если этого не происходит, значит пик прошит не правильно. Если все происходит именно так как описал, то ищи ошибки в монтаже, настройках K-Cam (он капризный очень).
Для настройки практически любого "не сложного" драйвера нужен осциллограф и понимание принципов работы ШД при регулировке тока посредством ШИМ. Универсальный "простой" драйвер под любой двигатель не нуждающийся в настройке создать не реально.
<
oleg__79

15 марта 2009 13:04

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
Podaval 5v, hagovik na 3,5v 0,95A, pic prohival programator EXTRA PIC programma WinPic800, logiku proveril vse kak v opisanii, echo proveryu montag. A chto Mach3 luche ispolzovat dlya domahnego cnc?
<
Sergey_r

15 марта 2009 15:08

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
oleg__79,
Mach3 гораздо лучше работает и "стабильность" шагов честно говоря просто поражает. Напряжение на ШД хотябы 12 вольт подай. Ну и полевики проверь, народ уже с браком сталкивался.
<
oleg__79

16 марта 2009 23:21

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
spasibo za sovetu, da deystvitelno dopustil ohibku v montaje. Hagovik krutitsa, no silno greyutsa tranzistoru, podskajite pojaluysta kak ego nastroit, oscilograf u menya est.
<
Sergey_r

17 марта 2009 10:00

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
oleg__79,
При каком напряжении на двигатель греются полевики? Номиналы все как в схеме стоят? IC2 именно HC серии должна быть и полевики IRL. Настройка в принципе сводится к установке тока на резисторах R25, R26 переменником R11. Без перемычек сделай хотябы один шаг, далее контролируй осциллографом на R25 и R26 форму и размах сигнала. Амплитуду сигнала выставляй 0,19 вольта (это ее двойное значение и в плюс и в минус отнросительно ноля). С твоим движком R25 и R26 лучше поставить номиналом 0,47 ом, тогра амплитуда сигнала на них должна быть 0,9 вольта. Затем настраиваем временные характеристики. Время выключенного состояния полевиков выставляем в районе 20 мкСек, чем больше номинал С4, С5 тем больше время. Время включенного состояния в основном зависит от индуктивности обмоток двигателя и напряжения подаваемого на обмотки, т.е. мы его можем регулировать только подаваемым напряжением. На практике, с большинством движков, вполне хватает 24 - 48 вольт. В последнюю очередь настраиваем ток удержания резистором R9 при установленной перемычке Jmp2. Полевики кстати на радиаторе?
<
oleg__79

19 марта 2009 09:03

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
проверка

Sergey_r,
Сергей извиняюсь за надоедливость. Так и не удалось мне добится нормальной работы шаговика :( Напряжение на шаговик 12вольт, номиналы все как в схеме, IC2 - NM74HC08M, R25 и R26 заменил на 0,47 ом как вы и рекомендовали. Убрал перемычки подал один шаг, смотрю осцилографом на резисторах - две сплошные линии, выставил с помощью R11 амплитуду приблизительно 0,9 В. Движок вращался с малыми оборотами и при легком касании вала останавливался, дергается, бывает пищит. Я еще раз перепроверил схему заметил что вместо с5 ошибочно впаял 100n. После того как перепаял на номинал как в схеме 330, движок только дергается и бывает пищит. Радиатор еще не установил. Корпуса все изолируем от радиатора?
<
2nz

19 марта 2009 10:15

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Доброго времени суток. Обнаружил с себя в закромах PIC16F628. В комментариях было сказано что этот чип уже снят с производства и прошивка скомпилирована под PIC16F628A и существуют различия в их программировании. Вопрос: будет ли работать? Пардон за ламерство.
<
Sergey_r

19 марта 2009 14:51

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
2nz,
Выложил прошивку под PIC без буквы А. Пробуй, проверить не на чем.

oleg__79,
Завтра поснимаю осциллограммы, как должно быть, и выложу. Думаю так будет проще.
<
Sergey_r

20 марта 2009 14:03

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
oleg__79,
Смотри в версии 4.1 выложил архив с осциллограммами в разделе "настройка". В данной версии принципиальных отличий нет, все аналогично.
<
oleg__79

20 марта 2009 21:36

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
Сергей, большое спасибо за осциллограммы. На выходных буду дальше "ковырять" свою плату контроллера :). Я вот уже думаю, может лучше собрать контроллер на PIC18F2320 V4.1. Но у меня есть 628А четыре штуки - чего добру пропадать. Еще вопрос, Сергей можно Вам выслать мою разводку платы на "рецензию" (только она в P-CAD)?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.