» » Контроллер униполярного шагового двигателя на базе 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

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

17 февраля 2009 14:07

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
admin,
Я еще раз проверю, но указать ошибки, если есть таковые, можно было, большого труда это не составило бы, ну да ладно.

admin, значит так, плату я проверил досконально и не найдя ошибок в разводке, разве что только т1 и т2 лыской в другую сторону, но обозначение экб верно, и расстояния между отверстиями клемников немного велико, в общем собрал, всё работает, отлично, но вопросы всё же есть, на осцилографе, на выходе из логики, идут два рядышком импульса, первый меньше второй больше, чтобы устранить надо подбирать номиналы С4 и С5? Потом я попробовал совсем без т1 и т2, подав напрямую +5 на 2 4 10 12 ноги логики, маленький импульс исчез, движок стал работать хорошо, но может он станет еще лучше работать с транзисторами, если правильно подобрать номиналы С4 С5?
<
Sergey_r

17 февраля 2009 22:36

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
Артём,
Вот по твоему посту, все и отражается по разводке печатной платы, т.к. T1 и T2 отвечают только за время закрытого состояния полевиков, и на наличие дополнительного импульса они влиять не могут, без них должно быть только хуже. Разводку твоей платы не видел, но думаю все-же проблема там. Еще уточни какая серия логики стоит, именно HC или нет? Т.к. если поставить логику TTL или быстродействующий CMOS, то на затворы полевиков придется ставить резисторы на 10 - 22 ома для оптимизации режима работы полевиков.
По поводу того что подал +5 по входам 2, 4, 10, 12 логики - ты просто ВЫКЛЮЧИЛ ШИМ, т.е частота в обмотках стала равна частоте STEP, т.е. снизилась и наводок стало меньше. Тоже в догонку, но не в обиду, работа любой схемы на 90% зависит от разводки платы.
Да простит admin, отпишусь не в тему... этак ...цать лет назад один друг собирает Hi-end усил на лампах по довольно приличной схеме, а я в это-же время свою но на транзисторах (переработка со своей колокольни Суховского усилка). Так вот про советы монтажа он не внял и сделал по своему. При настройке всегда просил мой "отстой на транзисторах" выключить, т.к. ламповый на данном фоне звучал ОЧЕНЬ хреново... Дальнейший геморой описывать не буду, просто после НОРМАЛЬНОГО монтажа у друга усил стал работать на ура!!!

Артём,
Да в догонку, если уж меряешь сигналы, то учитывай куда при измерениях подключаешь массу осцилла, если на 74HC08, то вешай массу осцилла именно на массу данной микрухи.
<
Артём

18 февраля 2009 21:43

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
Значица так, логика советская, вопреки советам админа, просто не нашел импортную, а точнее кр1533ли1, в принципе, работа контроллера устраивает вполне, требования выполняет полностью, а точнее движок дши-200-3 отлично просто работает, на холостую разгонял почти до 1000об/мин, а стабильно работает до 200-250, неужели можно и лучше сделать. Вот только полевики греются как собаки, я их посадил на радиатор площадь только плоской части10х20 из под транзисторов от старого усилка, ну в общем около 70-80 градусов, но в режиме удержания сильнее греется, с этим что ни будь можно сделать?
Да в догонку, если уж меряешь сигналы, то учитывай куда при измерениях подключаешь массу осцилла, если на 74HC08, то вешай массу осцилла именно на массу данной микрухи.

а разве масса микрухи разве не на общей массе сидит, что-то я не понял
и большая просба, если можно, если не трудно, подробнее о работе т1 и т2, как и в каких случаях они срабатывают, как управляются от пика.
<
Sergey_r

19 февраля 2009 09:02

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
Артём,
Ну с микросхемой ты погорячился, это ТТЛШ серия, т.е. на выходе биполярные транзисторы, максимальная нагрузка 15 мА и максимальная емкость нагрузки 500 pF. Полевикам я просто сочувствую, хотябы сопрушки по 15 - 20 ом в цепи затвора поставь. Но лучше конечно поставить именно буржуйскую HC серию, ток до 25 мА, а емкость нагрузки не документируется, на выходе полевики и в открытом состоянии это эквивалент резистора. Соответственно на затворах силовых полевиков большой бяки не происходит. Основную причину нагрева думаю понял. С твоими движками и маленьким радиатором полевики должны греться на 10 - 15 градусов выше окружающей температуры, конечно если частота ШИМ в разумных пределах 20 - 40 кГц. Для данной схемы и твоих движков ее лучше настроить чуть выше уровня слышимости, т.е. 19 - 20 кГц.
По поводу максимальной частоты вращения, факторов много, основные это сам движек и напряжение питания. На холостую мы догоняли некоторые движки и до 2600 об/мин, движки правда импортные, но раза в три слабее твоих.
Про принцип работы T1 и T2 уже писал в постах версии 4.1, смотри 3-ю страницу коментов, в данной схеме все аналогично.
<
Артём

19 февраля 2009 16:23

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
Но лучше конечно поставить именно буржуйскую HC серию
Внимание! У Вас нет прав для просмотра скрытого текста.
<
Sergey_r

19 февраля 2009 17:58

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

20 февраля 2009 00:56

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r,
Вопрос такого плана; в режиме удержания сколько полевиков участвуют, и это всегда одни и те же, или тот на котором закончится шаг? Почему спрашиваю, у меня бывает что один полевик включён, а бывает что два, во втором случае ток достигает до 2,5А и вот тогда идет сильный нагрев, а в режиме вращения, полевики в отлично себя чувствуют, нормально ли это, и нельзя ли сделать так чтобы ток удержания можно было регулировать от нуля? или вообще выключить его?

Да, забыл уточнить, что полевики стоят IRF540N, что интересно, покупал IRL-ки, в магазине не проверил, а дома уже обнаружил замену sad

Напряжение 28В
<
Sergey_r

20 февраля 2009 11:18

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

20 февраля 2009 21:49

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Уважаемый Sergey_r, может я сейчас сморозю глупость, но я не собираюсь защищаться в Бауманке, так что я ее сморозю, значит так я упростил схему до неузнаваемости, во первых я обнаружил что номинал R25 и 26 большой, а конкретно 1.5Ом, по схеме 0,1 и я видел что надо подобрать по падению напряжения, а как раз с 1.5 падение было 0.6в, в общем я решил уменьшить для пробы, но так как у меня не было номинала меньше, я их вообще убрал, и что я вижу, полевики в место печки превратились в холодильник ) но, за то печкой стал движок )) он и раньше грелся но сейчас сильнее, это первое, а теперь к переделке схемы до неузнаваемости, во первых я выкинул логику вообще, соединив перемычками входы и выходы соответственно, ну естественно и транзисторы, смотрю еще работает, потом решил взяться за пик, откинул ноги 1,2,3,9 оставил минимум, в общем я хочу сказать, что шим мне не нужен, и движку тоже, все хорошо, но ток великоватый в режиме удержания, хотя если смотреть на всё это при 12в то весьма сносно, работать можно, хотя ток в режиме удержания бывает 5А, а то и выше, но движок стоит около 60-70 по цельсию, думаю что до 16В можно поднять, но конечно хотелось бы при 24В, намного быстрее можно работать, если бы не ток удержания, то до28В смело можно было бы поднять, но чётово удержание убьёт движок! зачем оно нужено вообще если уж на то пошло, или нельзя ли сделать так, чтобы после останова всегда включался просто один полевик, это надо переделывать прошивку, или как??? должен же быть выход, не прикручивать же мне в самом деле радиатор к шд и вешать ещё кулер. (хотя тоже идея)))
Подскажи милый человек, великодушно прошу! Нет умоляю!!!
<
dizzyy

20 февраля 2009 23:33

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
это как только один полевик?
а если полушаг закончился с 2 полевиками то в какую сторону должен провернутся двигатель на шаг, и как потом в прогу вносить эту корекцию

для этого и нужен режим удержания - чтоб в простое уменшать ампераж на движке

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

тогда встречный вопрос - а нафига вам вобще контролёр на пике если всё выбросить, сделайте на логике и всё
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.