» » Микрошаговый контроллер шагового двигателя на базе PIC18F252 V3.0
Информация к новости
  • Просмотров: 67025
  • Автор: Sergey_r
  • Дата: 16 октября 2008
  • 80
16 октября 2008

Микрошаговый контроллер шагового двигателя на базе PIC18F252 V3.0

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

Представляем краткое описание, схему и печатную плату контроллера униполярного шагового двигателя на основе микроконтроллера PIC18F252. Контроллер поддерживает управляющие сигналы STEP, DIR и ENABLE. В контроллере реализован микрошаговый режим (1, 1/2, 1/4, 1/8, 1/16, 1/32).  

 

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

 

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

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

Микрошаговый контроллер шагового двигателя на базе PIC18F252 V3.0

 

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

Сигнал ENABLE управляется высоким логическим уровнем. Перемычками Jmp1-Jmp3 на плате переключаются режимы работы «шаг», «полушаг» и «микрошаг», при изменении режимов работы необходим перезапуск контроллера.

 

Режимы работы            Jmp1        Jmp2        Jmp3

1                                  on            on            on

1/2                               off            on            on

1/4                               on            off            on

1/8                               off            off            off

1/16                             off            on            off

1/32                             on            off            off

 

 

Силовые MOSFET транзисторы могут быть выбраны под конкретные требования с подходящей цоколевкой (если устанавливаются более мощные транзисторы и планируется использование двигателей с большим током фаз, необходима установка более мощных резисторов R12, R13). Рекомендуются к использованию  серии транзисторов с управлением логическими уровнями. В данном конкретном варианте установлены транзисторы снятые с материнских плат ПК – BE4532. Защитные диоды VD1 – VD4 необходимо выбирать исходя из параметров напряжения и тока используемого двигателя.

 

Контроллер тестировался с различными униполярными двигателями от списанной орг.техники и показал стабильную работу и минимальный нагрев. Самый мощный двигатель имел сопротивление фазы 5 Ом.  Нагрев двигателя был в пределах рабочего режима, нагрев контроллера самый минимальный (подаваемое напряжение 12В). Тестировался контроллер совместно с нашей платой LPT интерфейса и под управлением программы K-cam.

 

Печатная плата контроллера разведена в двухстороннем SMD варианте. Несмотря на это, повторение не составит особого труда.

Печатная плата контроллера разведена в двухстороннем SMD варианте

Схема контроллера в формате sPlan 6.0, разводка печатной платы под ЛУТ в формате Sprint-Layout 5.0 и файл прошивки в формате *.hex вы можете скачать ниже.
Вы не можете скачивать файлы с нашего сервера

Метки к статье: шаговый двигатель, ЧПУ, CNC, микрошаг, PIC18F252

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

27 октября 2008 14:44

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Двигатель z22 LT195
напряжение = 48В.
ток = 2А.
Хочу подать около 100В, транзисторы поставить irl640 (если устанавливаются более мощные транзисторы и планируется использование двигателей с большим током фаз, необходима установка более мощных резисторов R12, R13). Какой мощности резисторы использовать.
[/b]
<
Sergey_r

27 октября 2008 17:16

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
Закон Ома в нашей стране еще не отменили. К примеру R = 0,33 получим:
U = 0.33Om * 2A = 0.66V (падение на резисторе)
P = 0.66V * 2A = 1.32 Вт (рассеиваемая на нем мощность)

Запитав от 100 вольт ты ничего не выиграешь, а спалить движек и блок питания сможешь. Если движек подстроечного резистора буде в верхнем по схеме положении то шим = 100% (т.е. его нет когда на обмотку подается 100% тока). В данной прошивке ток с резисторов R12 и R13 не контролируется. Либо запитывать движек от 12 вольт либо собери схему по варианту 2, там шим для твоего варианта работать будет нормально.
<
jab

28 октября 2008 12:57

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
P = 0.66V * 2A = 1.32 Вт (рассеиваемая на нем мощность)

Забыл ещё умножить на коэффициент заполнения ШИМа. Т.к. ток на резисторе будет пилообразный, то там ещё меньше мощность рассеивания. А прошивка к этому проекту тоже на Си'шнике писана? В смысле переделывал её под асм или ещё не успел?
<
Sergey_r

28 октября 2008 17:08

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
P привел как раз максимальную. Прошивка на Си, переписывать не буду т.к. это эксперимент с микрошагом опять же с комплектухой которая была под рукой. А нормальная схемка с микрошагом будет на PIC18F2320, но прошивку все равно на Си писать буду, там все аппаратно реализовано и к скорости обработки не критично. Ее публиковать не буду. Кому интересен микрошаг смотрим микросхемку A3955 1/8 шага 50V 1.5A цена 150р. в Чип и Дипе, или A3957 1/16 шага.
<
Anubis

11 ноября 2008 13:22

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Sergey_r респект!!!! И огромное спасибо! Это действительно полезная вещь!
<
Thunderstorm

24 ноября 2008 10:51

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

Конкретно двигатель FL86STH118-4208A ток 4.2 сопротивление 0,9 выводов 8
<
Sergey_r

24 ноября 2008 18:29

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
С таким движком только контроллер V.20 без микрошага. Транзисторы IRL640, диоды не ставь. Питание 48 - 80V.
<
Thunderstorm

25 ноября 2008 20:14

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

PS Нехотел обидить, просто хочу разобраться, может сам чего нибудь напишу.
<
Sergey_r

25 ноября 2008 21:06

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
В данном варианте прошивки контроль тока не осуществляется. Регулировка тока происходит в зависимости от положения подстроечника от 20% до 100%. В итоге получим следующее к примеру у тебя двигатель с током обиотки 5А и сопротивлением 0,5Ом, получим что на обмотку надо выдать мощность: P=5*5*0,5=12,5Вт. Это в режиме шаг. При 100% тока нам на движок надо подать 2,5 вольта а при 20% - 12,5 вольта. Скорость при таком напряжении ты получиш стремящуюся к нулю...
По поводу логики все просто, как сам понимаеш в любой программе есть арифметические и прочие вычисления, на сие действа уходят драгоценные такты микроконтроллера. При максимальной частоте в 40МГц (10*4 внутренние прибамбасы 18 пиков) на одну команду (если это не переход) уходит 4 такта от 40МГц, итого получаем на 1 команду 0,1нс а мы к примеру хотим получить 100кГц тактирования на шаг (это кстати не очень много, при 1/32 на шаг и движке на 1,8 градуса получим 6,4кГц на один оборот за 1 секунду), в итоге на обработку одного шага у нас есть время всего на 100 команд максимум. Вот из этих соображений и логика присутствует, или 3 рубля на нее жалко?

P.S. Товарищи теоретики, поправки к расчетам просьба не добавлять, я просто привел "тупой" вариант расчета того что надо выдать в обмотку без всяких там реактивных сопротивлений с учетом индуктивноси на разных частотах...
<
oldabrikos

27 ноября 2008 10:32

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Уважаемый Sergey_r не прокомментируете ли обсуждение ?
http://forum.rcdesign.ru/index.php?s=bc091b70ac8080c01356249b3e7c2973&showtopic=
122542
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.