» » Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1
Информация к новости
  • Просмотров: 237202
  • Автор: Sergey_r
  • Дата: 7 января 2009
Изменил: administrator
Причина: Можно заказать в собранном и настроенном виде.
  • 100
7 января 2009

Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1

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

Контроллер униполярного шагового двигателя на основе микроконтроллера PIC18F2320. Контроллер поддерживает управляющие сигналы STEP, DIR и ENABLE. В контроллере реализован микрошаговый режим и режим удержания с понижением тока фаз.

Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1

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

  • Аппаратная ШИМ регулировка ограничения тока фаз

  • Режим удержания при отсутствии сигнала STEP более 2-х секунд (при указанных номиналах ~ 30% от номинала)

  • Реализован режим "fixed time off”.

  • Большой диапазон напряжения и тока фаз (зависит от силовой части контроллера)

  • Использование универсальных управляющих сигналов STEP, DIR, ENABLE.

  • Работа в режимах «полный шаг», «полушаг» и «микрошаг» (FULL STEP/ HALF STEP/MICRO STEP)

Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1

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

Перемычками Jmp1-Jmp3 на плате переключаются режимы работы «шаг», «полушаг» и «микрошаг»:

 

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

1                                  off            off            off

1 m                              on             off            off

1/2                               off            on            off

1/2  m                          on             on            off

1/4                               off            off            on

Только в коммерческой версии прошивки:

1/8                               on             off            on

1/16                             off             on            on

1/32                             on              on            on

 

В режиме 1 m двигатель развивает большую мощность, чем в режиме 1.

Режим 1/2 имеет стандартную реализацию полушага.

Режим 1/2 m – с компенсацией момента на валу двигателя.

 

Режим удержания с понижением тока фаз будет работать при установленной перемычке «Удержание». Ток удержания зависит от номиналов R11 и R14, с уменьшением их номиналов уменьшится и ток удержания.

 

Любое изменение в конфигурации перемычек, требует перезапуск контроллера.

 

Контроллер тестировался с униполярным шаговым двигателем PL57H76-3.0-6 (1 Ом, 3 А),  нагрев двигателя был в пределах рабочего режима, нагрев контроллера минимальный (подаваемое напряжение 42 В, ток 2,7 А), но радиатор для силовой части крайне рекомендуется (габариты зависят от мощности двигателя). Максимальная частота следования сигнала STEP - 65 кГц. При тестах с выше указанными параметрами и двигателем получили максимальную скорость 1600 оборотов в минуту. В течении 10 минут (дальше просто двигатель рисковали перегреть) на данном двигателе тестировали при токе 5 А.

 

Печатная плата контроллера разведена в двухстороннем варианте под «ЛУТ». Силовые транзисторы T3 – T6 и стабилизатор VR1 монтируются на плату с нижней стороны печатной платы (пластиком к плате) для удобства крепления радиатора (как на фото). Изоляция транзисторов через теплопроводящие прокладки от радиатора ОБЯЗАТЕЛЬНА!!! Транзисторы не менее чем с двойным запасом по подаваемому напряжению на силовую часть.

Печатная плата контроллера

 

При использовании мощных ШД нужно уделить особое внимание блоку питания, он должен хорошо выдерживать импульсную нагрузку и иметь небольшие выходную индуктивность и сопротивление. Питание силовой части подают после того как подали напряжение 12 В. Если питание на силовую часть и на логику подаются одновременно, то необходимо установить резисторы с выводов 15 – 18 IC1 на массу, номиналом 10 – 47 кОм.

Так же стоит обратить внимание на то, что данная схема предполагает использование IC2 именно 74HC08, т.к. временные характеристики работы схемы имеют прямую зависимость от данного типа микросхемы. Эксперименты с другими типами полевых транзисторов тоже ни к чему хорошему не приведут.

 

РЕКОМЕНДАЦИИ ПО СБОРКЕ

Порядок монтажа, для удобства пайки со стороны деталей:

1.    Все резисторы кроме R2, R4, R27 и R28

2.    Все конденсаторы кроме C9, C10 и C12

3.    Диоды VD1 и VD2, все транзисторы

4.    Все микросхемы

5.    Стабилизатор VR1 и все разъемы

6.    Резисторы R2, R4, R27 и R28

7.    Конденсаторы C9, C10 и C12

 

НАСТРОЙКА

1.    До включения установить подстроечные резисторы R2 и R4 в одинаковое положение, рассчитав нужное сопротивление исходя из требуемого тока фазы: Rп = 27000 / ( 3,17 / ( R * I ) – 1 ))

      где R = R27 и R28, I = требуемый ток фазы. Формула под конкретные номиналы указанные в схеме!!!

2.    При наличии осциллографа проконтролировать напряжение и частоту на резисторах R27 и R28 в режиме 1 m, без сигнала STEP на входе и без перемычки «Удержание». При этом нас интересует только верхняя часть осциллограммы (выше ноля). Если напряжение отличается от расчетного значения (U = I*R), произвести подстройку резисторами R2 и R4. Частота ШИМ должна быть как минимум в два раза выше от максимальной частоты, которая будет подаваться по входу STEP. С выбором максимальной частоты ШИМ главное не переусердствовать, т.к. при частотах выше 200 кГц полевые транзисторы начинают ощутимо греться. Частота ШИМ зависит от индуктивности обмоток двигателя и номиналов R19, C5 и R20, C6 которые определяют время Toff.

Toff = - Ln(1 - Vm/Vp) * R * C    [Ln - это натуральный логарифм]

где:

Vm - пороговое напряжение срабатывания логической 1 по входу IC2

Vp - напряжение питания логики (в данном случае 5 вольт)

R - номинал R19, R20

C - номинал C5, C6

Т.е. к примеру Vm = 3,6 вольта и номиналы указанные в схеме: Toff = -Ln(1 - 3,6/5)*39000*0,00000000033 = 0,00001638 сек.

Время включенного состояния Ton в данном варианте можно регулировать только напряжением питания силовой части.

Хотя в большинстве случаев данное напряжение соответствует именно указанному в т.х. на ШД - source voltage.

Формы сигналов в контрольных точках схемы:

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

 

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

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

 

Прошивка для "некультурных" программаторов:

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

 

Вариант прошивки со следующими изменениями:

1. Введен контроль пропуска шагов, т.е. если частота сигнала STEP превысит скорость обработки шагов контроллером, при этом на 28-м выводе PIC контроллера устанавливается 1, далее, если установлена перемычка обозначенная на схеме как "Удержание", то дальнейшая работа блокируется и двигатель обесточивается, если нет, то работа продолжится, но на 28-м выводе логическая 1 так и останется.

2. Введен режим защиты от сбоев (к примеру по питанию), если по каким либо причинам контроллер глюканул, то через ~ 0,5 сек. контроллер обесточит двигатель и на 28-м выводе PIC контроллера с периодичностью 1 сек. будет поочередно устанавливаться 1, 0 и т.д. по циклу.

3. В данном варианте для того чтобы не использовать вариант с понижением тока в режиме "удержание" просто не впаиваем резисторы R11 и R14.

p.s. Удобно для контроля работы к 28-му выводу PICа подключить светодиод, который будет индицировать ошибку.

При включении контроллера на ~ 0,5 сек. на данном выводе устанавливается 1 и работа силовой части заблокирована (удобно для нормального старта импульсного БП), далее контроллер переходит в штатный режим работы.

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

Видео-ролик работы электронной части управления шаговыми двигателями. Деление шага 1/16, программа управления Mach3.

 

Печатная плата контроллера промышленного изготовления

 

P.S. Данная схема без особых проблем переделывается под мостовую, с использованием драйверов верхнего и нижнего плеча, например IR2101 (мостовой вариант вы делаете на свой страх и риск).

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

 
Полная версия прошивки (бывшая коммерческая) -  Вы не можете скачивать файлы с нашего сервера
Так как производства больше не будет  - пользуйтесь бесплатно  fellow  

 

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

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

21 мая 2009 10:06

Информация к комментарию
  • Группа: Администраторы
  • ICQ: {icq}
  • Регистрация: 26.02.2008
  • Статус: Пользователь offline
  • Публикаций: 66
  • Комментариев: 747
Тропик, нет
<
Andrey22Grygorev

22 мая 2009 13:11

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Уважаемый разработчик, у меня возникла такая проблема: Не крутит двигатель.
Было так - прошил PIC Winpic800-Програматором ExtraPIC, собрал, подключил LPT, USB, подключил двигатель (у меня EM210 от Epsona LX300 вроде хорошие, хотя инфу про них не нашел sad ) через амперметр, соединил оптоплату с контроллером, подвел 12В к оптоплате, 24В (блок питания от того же принтера) к контроллеру. Двигатель дернулся. Установил ток удержания 0,5А, причем, при настройке тока удержания появлялся свист от двигателя примерно как при настройке УЗ генеретора (наверное отражается работа ШИМа). движек через некоторое время начал греться. С Kcam'а пробывал управлять вручную нажимая на стрелки. Движек не крутился, а дергался вправо/влево как буд-то не хватало еще одного провода . Начал изменять скорость перемещения в программе (Feed rates), результата не принесло, если не считать, что двигатель изредка проворачивался на 1 оборот при этом продолжая дергаться. Менял перемычки, перезапуская потом контроллер не отключая питания двигателя. Мой двигатель делает 48 шагов на оборот. Можете подсказать как настроить Kcam 4.0.36? Такое ощущение, что движек не успевает за частотой контроллера. Думаю проверить ток в каждой фазе (а вдруг провод не контачит) и сигналы на затврах полевиков. И еще сильно греется двигатель, а полевики холодные как лед!
<
saschai

22 мая 2009 14:11

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Достались две штуки AD-200-31, чуток бу, но с гарантией
Можно ли поженить их с данным контролером.
Кроме того к моторчикам выдали две схемы подключения, честно говоря не все в них понял wink

В догонку есть еще парочка FL86STH118(6004) и (6024), но они с карусельного конвейера и в работе были более 2 лет, хотя по цене достаточно гуманно, но вот потянет ли контроллер?
<
Sergey_r

22 мая 2009 15:34

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
saschai,
AD-200-31 - работать будет. ток фазы 2 ампера.
Для FL86STH118(6004) и (6024) нужна мостовая схема, так что их с данным контроллером использовать нельзя.

Andrey22Grygorev,
Движек и должен греться (примерно 40 - 50 градусов это норма), тем более что 0.5 ампера - это примерно рабочий его ток а не ток удержания. Ну и полевики при таком токе потеть не должны...
По поводу Kcam подсказать ничего не смогу, лично я от этой проги давно отказался, т.к. заставить ее хоть как то нормально работать очень уж затруднительно.
<
saschai

22 мая 2009 16:46

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

23 мая 2009 15:27

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

25 мая 2009 06:26

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

26 мая 2009 23:35

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Доброго времени!
Уважаемый разработчик, подскажите.
Собрал данный контроллер. При включени полная тишина. Ничего даже не дергаеться. Но стоит очень близко поднести палец или каснуться контроллера или микросхемы 74нс08 как двигатель начинает слегка беситься поворачиваясь то в одну то в другую сторону гдето на треть оборота. При этом наличие управляющей программы необязательно. На команды управляющей программы не реагирует никак. Подключено через Интерфейсную плату LPT V2.1. С интерфейсной платой все ок! Полностью проверено. Я понимаю если не работает. Я это дело не брошу, буду пытаться-стараться, очень нужно! Но причем наводки с пальца??? Двигатель ДШР57. Как можно понять что контроллер правильно прошит без подключения силовой части??? Жалковато транзюки привезенные под заказ. В программировании не силен но собирал много устройств и на Atmel и на PIC
<
Smolman

27 мая 2009 02:39

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Хочу уточнить немного.
Правильно ли я подключаю мотор???
Я НАРИСОВАЛ ЗДЕСЬ
Дока на мой ДШР57 здесь
На какой ток мне считать формулу Rп = 27000 / ( 3,17 / ( R * I ) – 1 )), на 1.5А??? Если да, то у меня выходит гдето 1.35Ком, верно???
На схеме транзисторы IRL540L, мои без "L" на конце (IRL540), нормально??? Пересмотрел всю плату контроллера, ни единой ошибки нет. Да, от пальца дергаеться если все три перемычки поставить, в режиме без них вродебы нет такого.
Прошу помощи, электронка просто хобби, я не специалист.


Ну вот! Лишнее подтверждение того, что тыкать пальцы в плату иногда бывает полезно. Стоило мне каснуться 1-й ноги контроллера и резистора R21 как моторчик закрутился по команде управляющей программы. Крутил в ручном режиме. Субъективно работает хорошо, крутит в обе стороны, разные типы шага работают. Но стоит снять питание с контроллера (не моторное) а потом подать опять снома трабл. Чтобы все заработало снова нужно каснуться 1-й лапки ПИКА и R21. С паяльником пока не залез, время не хватило. R21 точно 10ком??. Кто что посоветует?
<
Andrey22Grygorev

28 мая 2009 10:20

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

правда <максимальную скорость 1600 оборотов в минуту> не получил, но работой доволен. у меня вообще маленькие обороты, думаю связанно с тем, что пользуюсь Kcam'ом и движек делает 48 шагов на оборот, а мож и комп слабоват, короче не резобрался.
А может ли уважаемый автор проектов подсказать где можно купить, или мож даже скачать Mach 3 (Mach 2 уже есть но без кряка и русификатора) со всем необходимым...?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.