» » Микрошаговый контроллер шагового двигателя на базе PIC18F2320 V4.1
Информация к новости
  • Просмотров: 216217
  • Автор: 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

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

7 января 2009 18:09

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

Вообще то, только в 1,41 раза...

Опорное в виде SIN/COS формируется во всем диапазоне частот STEP?

Давно уже написано, что при частотах STEP (имеется ввиду частота полного шага) выше 1,5-2 кГц микрошаг не только не имеет смысла, он еще и проигрывает по моменту.
В самом деле, это легко проверяемо: задайте режим полного шага и посмотите на форму сигнала на измерительном резисторе постепенно увеличивая частоту STEP.
Вместо ровной линии вы увидите трапецию и чем выше будет частота STEP, тем положе будет нарастание тока (бок трапеции). На этих скоростях микрошаг уже вреден.
<
Sergey_r

7 января 2009 18:29

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
Да, извиняюсь в 1,41... мой глюк.
Опорное конечно во всем диапазоне.
По поводу микрошага могу сказать из личного опыта только следующее - при разном микрошаге на одном конкретном движке всегда получается разная граница частоты резонанса. К примеру на движке который опубликован на фотке от версии 4.0 лучшие результаты в режиме 1/4 и 1/16 и по скорости и по моменту, по крайней мере на скоростях выше 800 оборотов в минуту это уже заметно.
<
fominia

8 января 2009 00:52

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

Есть 2 вопроса :
1. Как прошивать PIC на готовой плате ? (особенно при SO корпусе)
2. Хотелось бы иметь версию на Atmel (mefa8,16,32...) !!!
Они более дешёвые и проблем с наличием на фирмах (на Украине), в отличие от PIC18, у них нет. При наличии исходника на С готов перевести проэкт на Atmel. На ассемблере тоже можно, но придётся попотеть.

С уважением,
Игорь.
<
densh

8 января 2009 01:26

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

Здравствуйте !!!
Есть 2 вопроса :
1. Как прошивать PIC на готовой плате ? (особенно при SO корпусе)
2. Хотелось бы иметь версию на Atmel (mefa8,16,32...) !!!
Они более дешёвые и проблем с наличием на фирмах (на Украине), в отличие от PIC18, у них нет. При наличии исходника на С готов перевести проэкт на Atmel. На ассемблере тоже можно, но придётся попотеть.
С уважением,
Игорь.

На готовой плате прошивать через любой ICSP програматор (в гугле JDM програматор)- интерфейс там простой ком кабель мах232 пару кренок транзистор. 2 часа работы на макетке от силы. Перед тем как шить лучше все проверить через апи того-же ICPROG (напряжение и сигналы на соотв выводах) - лично мне попадаются схемы явно нерабочие несмотря на все заверения их авторов :)
Покупать процы пика в Украине лучше всего у их представителя http://microchip.com.ua/index.php цены меньше чем везде , есть доставка по Украине.(в Киеве я просто подьезжал забирал на фирме)

Переделка на AVR такого проэкта будет более громоздкой (пары компараторов на борту у авр я не встречал) + время которое ты затратиш тоже чегото стоит + подобный проект на АВР я точно уже видел http://www.pminmo.com/kreutz/Mardus-Kreutz%20Schematics%20Rev%202.1E.pdf.Там вроде и прошика есть.
Насчет работоспособности незнаю, хотя вроде ктото говорил что работает.
Главное чем хорош текущий проект - уже все проверено все работает.
Если сильно охота мелкий микрошаг на пике - купи проц с прошивкой или переделай демо прошивку( неделя работы : пару релоков + свой кусок дописать ). Исходник давать тебе как понимаеш автору не с руки, он этим на кусок хлебушка зарабатывает.

<
Sergey_r

8 января 2009 12:38

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

8 января 2009 23:11

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Спасибо, но нет времени этим заниматься...
Но всё таки не мешало бы предусмотреть на плате разъём для программатора, не было бы и вопросов. И по поводу AVR - на них я перешёл лет 10 назад, PIC всю дорогу глючили, отвратительная документация да и С на них был проблемный. После перехода на AVR скорость разработки увеличилась раз в 5. И работают они стабильнее.
А по поводу контроллера - остановился всё же на Вашей разработке, перешерстил в течении недели интернет, в том числе и проект Mardus-Kreutza. У него проэкт неплохой, опять же на Бейсике, но с комплектующими проблема. Хотя с точки зрения схемотехники (выбор элементов) сделана почти идеально. Интересно как работает ?
Но Ваш проект буду переразводить под SMD комплектующие - сейчас работаю только с ними, плюс оптронная развязка.
Что получиться - пришлю.
Есть пару вопросов :
1. для чего нужны транзисторы ? Я думаю вы используете их или как инверторы (но проще было бы поставить логику) или как элементы задержки ?
2. Нельзя ли получить схему с хорошим разрешением - номиналов на половине схемы (на сайте) почти не видно.
3. Чтобы не разбираться с PIC ещё один вопрос - имеет ли PIC внутренние pull-up или pull-down по входам STEP,DIR,ENABLE ? Или необходимо ставить внешние ?
4. Если мне придётся (хотя маловероятно) переходить на микрошаг - сколько будет стоить .hex файл для него ? На этот вопрос Вы можете ответить по адресу administrator@scorpion.odessa.ua
Заранее спасибо за ответ :)
<
densh

9 января 2009 02:02

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Я хоть и не автор но подсказать пару моментов могу:
Цитата: fominia
Но всё таки не мешало бы предусмотреть на плате разъём для программатора, не было бы и вопросов

5 выводный разьем помеченый на плате как program - он сообственно и есть

Цитата: fominia
1. для чего нужны транзисторы ? Я думаю вы используете их или как инверторы (но проще было бы поставить логику) или как элементы задержки ?

в теме контроллер 2.1 на этом же сайте в коментах почти все разжевали
http://robozone.su/2009/01/05/kontroller-unipoljarnogo-shagovogo-dvigatelja-na.h
tml

Цитата: fominia
Если мне придётся (хотя маловероятно) переходить на микрошаг - сколько будет стоить .hex файл для него

тут же в описании проекта в конце написано

Цитата: fominia
Нельзя ли получить схему с хорошим разрешением - номиналов на половине схемы (на сайте) почти не видно.

В zip файле помимо прошивки лежит разводка платы под программу
slayout и схема под sPlan
<
bolek

9 января 2009 05:43

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
fominia,
И по поводу AVR - на них я перешёл лет 10 назад, PIC всю дорогу глючили, отвратительная документация да и С на них был проблемный. После перехода на AVR скорость разработки увеличилась раз в 5. И работают они стабильнее.
Сколько людей - столько мнений. Я некоторое время назад поменял отношение к АВР, однако когда читаю даташит - каждый раз корежит после микрочиповской документации, так все хреново написано и рассовано по разным углам.
На работе проекты делаю только на микрочип, в том числе и из-за соображений надежности и стабильности.
АВР - только дома или проектов на сторону.

Цитата: fominia
проект Mardus-Kreutza. У него проэкт неплохой, опять же на Бейсике, но с комплектующими проблема. Хотя с точки зрения схемотехники (выбор элементов) сделана почти идеально. Интересно как работает ?

Не знаю, как он работает, но схема сделана отвратительно - такие схемы рисуют студенты на курсовых, когда уже что-то знают, но ни опыта, ни знания элементной базы нет. Ее можно сделать существенно проще и меньше. Не могу сказать, что схема Сергея идеал (с моей точки зрения), но то, что там нет лишней мишуры, как у Kreutz-a, это точно!
По поводу работы: есть у меня определенные сомнения, связанные с тем, что если к ШИМ драйверу подключить двигатель у которого время установки тока в обмотке в цикле регулирования будет хотя бы немного больше полупериода ШИМ, то драйвер будет стабильно уходить на на увеличение цикла регулирования тока в обмотке в 2 раза. Т.е. вместо заявленных 38 кГц будет только 19. Их тоже не слышно, но это все-таки не то, что декларируется. И, видимо, такая высокая частота ШИМ нужна именно для этих целей, иначе обошелся бы частотой 20-25 кГц.

Цитата: fominia
сколько будет стоить .hex файл для него ?

Насколько я понял .hex файл не продается, продаются запрограммированные контроллеры, иначе зачем все это затевать? Если любой желающий потом будет бесконтрольно плодить драйверы? Автору то с этого какой доход?
<
Sergey_r

9 января 2009 12:16

Информация к комментарию
  • Группа: Журналисты
  • ICQ: {icq}
  • Регистрация: 13.07.2008
  • Статус: Пользователь offline
  • Публикаций: 10
  • Комментариев: 181
pull-up по входам STEP, DIR и ENABLE естественно есть, иначе стояли бы внешние резисторы.
<
fominia

9 января 2009 22:00

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