Драйвер шагового двигателя схема step dir

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 34. STEP/DIR драйверы шаговых двигателей. Основные понятия. Протокол STEP/DIR.

В статье рассказываю о STEP/DIR драйверах шаговых двигателей, о преимуществах применения их, об интерфейсе управления STEP/DIR.

В предыдущих уроках для подключения шаговых двигателей к плате Ардуино мы использовали простые драйверы-ключи, которые по сигналам от микроконтроллера коммутировали обмотки двигателей. Вся логика работы была реализована в программе микроконтроллера.

Достоинство такого решения очевидно – простота и минимум аппаратных средств. Всего четыре транзисторных ключа для униполярных приводов или микросхема L298N для биполярных шаговых двигателей достаточно для управления ими. Да и программа коммутации фаз несложная, занимает совсем не много ресурсов микроконтроллера. Альтернативным вариантом управления шаговыми двигателями является использование STEP/DIR драйверов.

STEP/DIR драйвер это аппаратный модуль управления шаговым двигателем, использующий для связи с микроконтроллером протокол STEP/DIR.

Кроме того STEP/DIR драйверы обеспечивают широкий набор дополнительных функциональных возможностей:

  • стабилизацию фазных токов;
  • микро шаговый режим;
  • защиту выходных ключей от замыкания нагрузки;
  • сложную коммутацию для ускорения спада токов в обмотках;
  • защиту от перегрева;
  • оптоизоляцию сигналов управления.

Стабилизация тока фазных обмоток.

Главный недостаток простых драйверов шаговых двигателей – отсутствие стабилизации тока обмоток.

В предыдущих уроках я уже затронул эту тему. Итак, как мы подключали обмотки к источнику питания. По самой простой схеме – через транзисторные ключи.


Какие недостатки этой схемы?

Постоянный ток через обмотку при замкнутом ключе определяется по закону Ома:

Iфазы = ( Uпитания — Uключей )/ Rобмотки

Ток фазы определяется как отношение напряжения питания к активному сопротивлению обмотки. Т.е. какой попало двигатель подключать нельзя. Надо подбирать привод по сопротивлению обмоток или менять напряжение питания.

В предыдущем уроке я использовал двигатель с сопротивлением обмотки 1,65 Ом. Если бы я его подключил к источнику питания 12 В, то ток был бы свыше 7 А. Двигатель просто сгорит. Для обеспечения требуемого тока фазы 1 А, напряжения источника питания должно быть 1,65 Ом * 1 А = 1,65 В. Где взять такой источник питания я не знаю. К тому же на открытых ключах падает напряжение сравнимое с напряжение на обмотке, которое тоже надо учесть в расчетах. А оно не стабильно и строго не определено. Никаких приемлемых вариантов не видно.

Для подключения такого двигателя я использовал ограничительные резисторы, включенные последовательно с обмотками.


Формула вычисления тока фазы выглядит так:

Iфазы = ( Uпитания — Uключей )/ ( Rобмотки + Rограничительный )

Но при такой схеме на ограничительных резисторах может выделяться значительная мощность, часто превышающая мощность, потребляемую двигателем. На маломощных двигателях такой вариант более или менее приемлем. При увеличении мощности двигателя становится сомнительным. В схеме из предыдущего урока только на одном ограничительном резисторе выделялось до 7,4 Вт.

Iфазы =( 12 В – 2 В ) / (1,65 + 10 ) = 0,86 А
Pограничительная = I 2 * R = 0,86 * 0,86 * 10 = 7,4 Вт.

И это для тока фазы 0,86 А и только на одном резисторе. Даже на этом двигателе практически не допустимые потери.

Простые драйверы можно использовать с ограниченным числом типов двигателей, или с двигателями небольших мощностей.

Второй недостаток простых драйверов-ключей связан со скоростью нарастания тока в обмотках двигателя. В уроках 28 и 29 я подключал униполярный двигатель FL57STH76-1006 через транзисторные ключи к источнику питания 12 В. Сопротивление обмоток двигателя 8,6 Ом, индуктивность 14 мГн.

Давайте посмотрим, какую форму будет иметь ток фазы для скорости вращения 1 оборот в секунду. Такая скорость соответствует периоду переключения фаз 1 сек / 400 шагов на оборот = 2,5 мс.

Я промоделировал схему в пакете SwCAD.


На диаграмме видно, как задерживается рост тока через обмотку (синий цвет) по отношению к напряжению на обмотке (зеленый цвет). В предыдущем уроке я рассчитал, что для этого двигателя даже при нулевом сопротивлении обмоток ток фазы достигнет значения 1 А за время

T = I * L / U = 1 А * 14 мГн / 12 В = 1,2 мс.

И все эти расчеты для скорости вращения 1 оборот в сек. У меня на практике и получилась максимальная скорость 1 оборот в сек. Дальше двигатель выходит из синхронизма. Не хватает крутящего момента.

Выход – стабилизировать ток фазы. Стабилизатор тока это схема, меняющая напряжение на нагрузке, стремясь обеспечить заданный ток. Т.е. напряжение на нагрузке зависит от сопротивления. Если сопротивление увеличивается, то для того чтобы обеспечить заданный ток стабилизатор тока увеличивает напряжение. При уменьшении сопротивления нагрузки напряжение снижается. Естественно стабилизатор тока работает в ограниченном диапазоне напряжений. При невозможности обеспечить требуемый ток он формирует на нагрузке максимально возможное напряжение.

Например, если стабилизатор тока питается от источника 12 В, необходимо стабилизировать ток 1 А, а подключили нагрузку сопротивление 1000 Ом, то на нагрузке будет 12 В. Хотя теоретически стабилизатор тока должен обеспечить напряжение 1000 В.

Для шаговых двигателей это идеальный закон управления токами обмоток.

  • Можно подключать двигатель с любым сопротивлением обмоток. Ток будет ограничен автоматически.
  • Обеспечивается максимально возможная скорость нарастания тока в обмотках. В начале импульса фазы стабилизатор тока выдаст максимальное напряжение на обмотке, а при увеличении тока оно будет снижаться до требуемого значения.

Естественно речь идет об импульсных стабилизаторах, имеющих высокий КПД. Силовая часть стабилизаторов тока в обмотках двигателей практически состоит только из ключей. Роль сглаживающего фильтра выполняет индуктивность обмотки.

Реализовать стабилизацию тока на управляющем микроконтроллере довольно проблематично. К примеру, при скорости 10 оборотов в сек, и числе шагов двигателя на полный оборот равном 400, длительность импульса коммутации фаз равна 250 мкс. За такое время ШИМ регулятор, реализованный в программе микроконтроллера, не успеет выполнить функции стабилизации тока. Примерно каждые 10 мкс необходимо измерить ток фазы и вычислить новое значение ЩИМ. А надо реализовать два отдельных регулятора для разных обмоток. Да и скорости вращения бывают выше.

Читайте также:  Тест драйвы подержанных кроссоверов

Поэтому функция стабилизации тока обычно реализуется на отдельном аппаратном драйвере. Даже в этом случае, как правило, используется не ШИМ регулятор, а синхронный релейный регулятор. Релейный регулятор открывает ключи и с помощью аналогового компаратора следит за током. При достижении заданного значения тока ключи закрываются. При снижении тока ниже порога опять открываются. Таким образом, в обмотке создается ток с заданным значением. Пульсации сглаживаются индуктивностью обмотки. Релейный регулятор прост в реализации и, в отличие от ШИМ регулятора, обладает высоким быстродействием.

Кроме того стабилизация тока фаз необходима при реализации микро шагового режима управления двигателем. Для установки ротора в определенное положение между фазными полюсами двигателя необходимо обеспечить заданную пропорцию токов обмоток. В статье о драйвере TB6560 можете посмотреть диаграммы соотношения токов фаз для микро шагового режима с 16 градациями. Точность стабилизации тока должна быть достаточно высокая.

Интерфейс STEP/DIR.

Де факто это основной интерфейс управления аппаратными драйверами шаговых двигателей. Для связи с микроконтроллером используются три сигнала.


STEP – шаг. Каждый импульс инициирует поворот двигателя на один шаг. Если драйвер работает в полу шаговом или микро шаговом режимах, то поворот происходит не на физический шаг двигателя, а на часть шага, определяемого режимом. Для полу шагового режима это половина физического шага, для микро шагового – микро шаг. Драйверы реагируют на фронт импульса, как правило, отрицательный.

Частота следования импульсов сигнала STEP определяет скорость вращения двигателя. Естественно существуют ограничения на максимальную частоту импульсов сигнала STEP и на минимальную длительность импульса. Драйвер должен успеть принять, выделить и обработать каждый импульс. Реальный двигатель добавит свои ограничения на скорость вращения, связанные с механическими параметрами, токами обмоток, числом полюсов, механическими нагрузками и т.п.

DIR – сигнал задающий направления вращения двигателя. Как правило, при высоком уровне сигнала двигатель вращается по часовой стрелке. Сигнал DIR должен быть сформирован до импульса STEP.

ENABLE – сигнал разрешения работы драйвера. Запрещающий уровень сигнала снимает напряжение на выходе драйвера. Логика работы устройства не меняется. Сигнал используется для остановки двигателя в режиме без тока удержания. Положение ротора не фиксируется. Разрешающий уровень сигнала ENABLE – низкий, т.е. отсутствие напряжения. Если сигнал не используется, то его можно просто не подключать, бросить входы драйвера ”в воздухе”.

Как правило, все сигналы STEP/DIR драйверов имеют гальваническую развязку, выполненную на оптоэлектронных компонентах. Коммутация обмоток двигателей вызывает значительные импульсные помехи в цепях питания и приводит к смещению уровней общих (земляных) проводов всех электронных модулей системы. В таких условиях гальваническая развязка сигналов управления абсолютно необходима.

Преимущества применения STEP/DIR драйверов.

Я обобщу положительные качества STEP/DIR драйверов.

  • Стабилизация тока фаз и как следствие:
    • Можно подключать двигатели с любым сопротивлением обмоток.
    • Высокая скорость нарастания тока в обмотках, что позволяет увеличить скорость вращения.
  • Микро шаговый режим управления. Позволяет реализовать системы с высокой точностью позиционирования, используя двигатели с ограниченным числом физических шагов. В следующем уроке я свой двигатель, имеющий 400 шагов на оборот, превращу в двигатель с 6400 шагами на полный оборот.
  • Защита выходных ключей от замыкания нагрузки;
  • Оптимальная коммутация выходных ключей для ускорения спада токов в обмотках. Позволяет увеличить скорость вращения и снизить вибрации.
  • Защита от перегрева.
  • Опоизоляция управляющих сигналов. Обеспечивает высокую помехозащищенность сиситемы.

В качестве примера STEP/DIR драйвера могу привести модуль TB6560-V2.


Это один из самых недорогих STEP/DIR драйверов. На момент написания статьи (октябрь 2016) цена модуля составляла 500-700 руб. Тем не менее, он обеспечивает все перечисленные в статье функции и режимы.

В следующем уроке будем подключать этот драйвер к плате Ардуино. Я представлю библиотеку управления STEP/DIR драйверами.

Драйвер шагового двигателя схема step dir

4-х осевой Step/Dir контроллер шаговых двигателей

Автор: Роман Лут
Опубликовано 21.04.2014.
Создано при помощи КотоРед.

В статье описывается step/dir контроллер униполярных шаговых двигателей.
Контроллер используется для управления самодельным сверлильно-фрезерным станком.
Предполагается, что читатель уже знаком с самодельными ЧПУ cтанками;
иначе рекомендуется изучить материалы, указанные в конце статьи.

Введение

Контроллер разрабатывался взамен имеющегося примитивного 3-х осевого контроллера(на ATTiny2313).

Основными требованиями были поддержка микрошага и аппаратный контроль тока в обмотках с целью
снижения шума и повышения скорости перемещения.


Характеристики контроллера:

— 4 оси;
— для униполярных двигателей;
— аппаратный контроль тока в обмотках (ШИМ);
— опторазвязка с LPT портом;
— режим удержания с понижением тока до указанного значения;
— full step, half step, 4, 8,16 microstep выбирается отдельно для каждой оси;
— максимальная частота следования импульсов step: 12.5 кГц (период — 80мкс);
— минимальная длина step и dir импульса: 5мкс;
— ток двигателей — до 2А, индивидуально для каждой оси ( больше 2А не проверялось, схема позволяет);
— питание двигателей — до 30В, с возможностью увеличения ( больше 19В не проверялось ).

В общем целом, получился достаточно “навороченный” контроллер на дешёвых распространённых компонентах.
Ни один из известных мне самодельных контроллеров таким набором возможностей не обладает.

Управляющий модуль

Управляющий модуль выполнен на микроконтроллере ATMega8535, работающем на частоте 16МГц.
Задача контроллера — обрабатывать входные сигналы Step/Dir и выдавать сигналы включения и опорные напряжения для силовой части схемы.

Опорные напряжения формируются микросхемой M62359 — это 8-бит 8-канальный DAC с SPI интерфейсом.
Опторазвязка выполнена на оптронах PC817 и является неотъемлемой частью контроллера.
На этот моменте нужно остановиться отдельно.

Как видно из схемы, в отличие от аналогичных контроллеров, сигналы Step не подключены к выводам микроконтроллера, которые вызывают аппаратные прерывания.
Вместо этого контроллер «крутится» в бесконечном цикле, проверяя, не изменились ли логические уровни на входах. Это обеспечивает стабильную предсказуемую работу контроллера.

Один цикл ( проверка входов, реакция, вывод управляющих сигналов ) занимает в текущей реализации

26мкс.
При этом заявленная минимальная длина импульса Step5мкс.
Каким же образом контроллер не пропускает импульсы?

Это, так сказать, моё ноу-хау 🙂 Секрет — в свойствах оптронов.

В даташите на PC817 можно найти графики Response time.
После исчезновения сигнала на входе, оптрону требуется определённое время (ts + tf), чтобы закрыться.
Это время зависит от тока, который протекает через фототранзистор.

На практике это выглядит так:
Входные импульсы — 5мкс, период — 80мкс:

Нагрузочный резистор 10кОм на 5В — и входной импульс 5мкс превращается в

28мкс
(область уверенного чтения входа AVR как “0” — 0.8Vcc = 1V ):

Таким образом, у микроконтроллера есть, по крайней мере, 28мкс на опрос входов.
В результате он в одиночку может управлять сразу 4-мя осями.

Силовая часть

Четыре платы силовой части полностью идентичны и собраны на микросхемах UC3842
и транзисторах IRFZ44 или IRF560 (транзисторы расположены на обратной стороне платы):

Ток в каждой обмотке контролируется отдельной микросхемой и транзистором:

Микросхема UC3842 — это ШИМ контроллер для импульсных источников питания.
Она содержит ШИМ генератор, компаратор тока, RS триггер и драйвер полевого транзистора. В общем, для этих целей подходит идеально 🙂

Первоначально я пытался собрать контроллер на микросхемах TL494.
Но, как выяснилось, эти микросхемы не предназначены для контроля максимального тока в течении одного периода ШИМ.
Их входные сенсоры тока и напряжения должны быть обрезаны фильтрами с частотой 10-15кГц.

UC3842, напротив, предназначена для ограничения максимального тока через обмотку трансформатора в течении одного периода.
Она выключает транзистор в момент достижения установленного тока:

Опорное напряжение, сформированное ЦАП на управляющем модуле, поступает на вход Comp микросхемы.
В начале периода ШИМ микросхема открывает транзистор. Ток в обмотке начинает плавно нарастать.
Как только ток превышает заданное значение, микросхема закрывает транзистор.

UC3842 измеряет ток в обмотке по падению напряжения на токоизмерительном резисторе.
Кроме сравнения с опорным напряжением, в микросхеме предусмотрена защита по максимальному
току, которая отключает транзистор при напряжении на Isense выше 1В.
Поэтому токоизмерительный резистор нужно выбирать таким образом, чтобы при максимальном токе падение напряжения на нём составляло чуть меньше 1В.
Точное значение максимального тока задаётся в прошивке.

На плате предусмотрены места для резисторов R9-R11, которые позволяют набрать требуемое сопротивление.

Микросхема содержит встроенный генератор, частота которого задаётся цепочкой R3C2:

Во время разряда конденсатора, выходной транзистор закрывается (это dead time).
Таким образом, выбором номиналов R3C2 можно задавать и частоту, и dead time.
Естественно, эти элементы должны быть одинаковыми для всех обмоток.

Частоту ШИМ выбирают индивидуально для двигателя, учитывая повышение нагрева двигателя с повышением частоты.

Чтобы не устанавливать дополнительные компоненты, можно использовать сигнал Clock, который формирует микроконтроллер.
Частота и dead time при этом задаются в прошивке. Элементы R3C2 не устанавливаются — устанавливается резистор R4.

Один выход ЦАП формирует опорное напряжение для пары обмоток ( только одна из которых может быть включена в данный момент ).
Поэтому управляющий модуль отключает ( высоким логическим уровнем ) парную обмотку сигналом /M_L1EN.

Цепочка R1C1 подбирается таким образом, чтобы погасить всплеск тока, возникающий при открывании транзистора:

Диод D1 устанавливается опционально. Мне хватило встроенных в MOSFET.

При выключении транзисторов возникают выбросы противоЭДС, при этом выбросы напряжения на Drain-Source транзисторов могут превышать напряжение питания в 3 раза.
Питание — 19В, ДШИ-200:

Классически эти выбросы гасят шунтирующими диодами, установленными на обмотки, либо отводят в источник питания.

Однако нужно учитывать, что зашунтированная обмотка тормозит двигатель и не позволяет получить высокую скорость вращения.
Поэтому выбросы нужно гасить только при превышении предельного значения, что обеспечивается включением стабилитрона навстречу диоду:

Желательно просто выбрать транзисторы с достаточно большим Vdss.
Я использовал IRF540N (Vdss = 100В) для двигателя ДШИ-200 и IRFZ44N (Vdss = 55В) для двигателей от принтеров.

Напомню, что Vdss — это напряжение между Drain и Source, при котором транзистор самопроизвольно открывается.
На практике это вызывает неправильную работу контроллера, нагрев транзисторов при относительно малых токах через них, или выход транзисторов из строя.
Для двигателей до 3А, мосфеты должны быть холодными; радиаторы на них не устанавливаются.

Питание

Контроллер запитан от блока питания от ноутбука на 19В 3А:

5В получены с помощью готового модуля DC-DC преобразователя на LM2596, доступного на ebay:

Почему важен контроль тока

В стабильном состоянии ток в обмотке определяется только активным сопротивлением обмотки и напряжением питания.
Но в момент включения ток в обмотке зависит и от активного, и от реактивного сопротивления.
Поэтому вместо прямоугольных импульсов тока мы увидим следующую картину:

Чем больше индуктивность обмотки, тем дольше будут происходить нарастания и спады тока.
При повышении скорости вращения, ток не будет успевать нарастать до максимального значения, и момент двигателя начнёт падать:

Чтобы обеспечить быстрое нарастание тока, нужно увеличить напряжение питания.
Но в стабильном состоянии ток в обмотке ограничен только активным сопротивлением обмотки.
Поэтому ограничение тока при повышении питающего напряжения является обязательным.

Следует упомянуть ещё один способ повышения оборотов.
Напряжение питания двигателя повышают, а сам двигатель включают через мощное сопротивление.
Этим мы уменьшаем долю реактивного сопротивления в цепи обмотки.
Таким образом эффективно решаются сразу две задачи: повышение оборотов двигателя и обогрев мастерской 🙂

Режимы работы двигателя

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

Full Step, Full phase
(полный шаг, одна обмотка)

Классический режим, в котором в каждый момент времени включена одна обмотка.

Full Step, Half phase
(полный шаг, две обмотки)

Режим, в котором в каждый момент включены 2 соседние обмотки одновременно.
Таким включением можно добиться повышения момента двигателя (легко реализуем, но не используется в текущей прошивке).

Half step

Комбинация предыдущих режимов. Количество шагов увеличивается вдвое. Когда включены две обмотки, ток в каждой установлен в 0.707 * Imax.

Microstep 4, 8, 16

Если представить, как вращается двигатель в режиме полного шага — можно заметить, что он двигается рывками:
сначала разгоняется, притягиваемый очередной обмоткой, потом затормаживается, достигнув конечного положения.
Это вызывает вибрации вала и всего станка в целом.

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

Здесь всё плохо — мощные двигатели в режиме полного шага, огромный резонирующий корпус из ДСП…
Совсем как в моём первом станке, который и пришлось разобрать из-за шумности 🙂
В жилом помещении вопрос снижения шума — это не прихоть, это — вопрос, будет ли возможно использовать станок вообще.

Чтобы обеспечить плавное вращение двигателя, необходимо питать двигатель синусоидальным током.
Для этого в контроллерах шаговых двигателей момент перехода от одной обмотки к другой делят на 4-16 микрошагов.
На каждом микрошаге ток в первой обмотке уменьшается, а во второй — увеличивается, по синусоидальному закону:

При этом частота импульсов Step в управляющей программе должна быть увеличена в 4-16 раз соответственно.

Использование микрошага позволяет значительно снизить шум двигателя и получить более высокий момент на больших скоростях.
Станок начинает “звучать профессионально”:

Я лично не рассматриваю микрошаг как способ повышения точности позиционирования, потому что конструкция ротора и статора не гарантирует равномерного распределения микрошагов.
Кроме того, при небольшом усилии, или при переключении в режим удержания, вал двигателя может “выпадать” в положения полного шага.

Режим удержания

При отсутствии импульсов Step в течении

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

Сравнение с модулями на чипах Allegro

Популярность самодельных 3D принтеров вызвала появление на ebay готовых модулей на чипах A4983, конкурировать с которыми “рассыпухой” достаточно сложно.
С другой стороны, мне было спокойнее экспериментировать со схемой, где в худшем случае придётся заменить ключи, чем с микросхемой 3×3мм, которая взорвётся при любой ошибке.

Кроме того, в будущем планируется расширить контроллер для автономной работы с небольшого пульта,
так как составлять программу каждый раз, когда требуется сделать ровный рез — неудобно.
А в совсем отдалённом будущем, возможно, получится реализовать управление по USB
( это когда контроллер принимает описание шагов с USB-UART и сам генерирует шаги ).

Описываемый контроллер эквивалентен 4-м таким модулям + плата опторазвязки.

Отличия:

— в чипах Allegro выбросы тока при включении транзисторов моста игнорируются фиксированный интервал времени — 1us. Здесь выбросы подавляются цепочкой R1C1;
— чипы Allegro умеют включать “режим быстрого снижения тока”. Если на следующем микрошаге ток в обмотке должен снизится, чип кратковременно шунтирует обмотку, открывая транзисторы моста. Введение такой возможности в данный (униполярный) контроллер слишком сильно усложнило бы схему;
— у A4983 максимальная частота импульсов Step составляет 1/2мкс = 500кГц.

Я пробовал подключать один и тот же двигатель к этому контроллеру в униполярном и к A4983 в биполярном подключении.
Субъективно, униполярное подключение давало больший момент на высоких скоростях.
Возможно, из-за меньшей индуктивности обмотки при униполярном включении.

Печатные платы

Прошивка, фъюзы

Прошивка написана на С для CodevisionAVR 2.05.
При большом желании, основной цикл можно переписать на ассемблере и увеличить максимальную частоту импульсов Step до

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

Настройка Mach 3

В идеальном случае, управляющая программа должна уметь формировать импульсы Step точно с требуемой частотой.
На практике в программе Mach3 и подобных, драйвер работает на фиксированной частоте (Kernel speed):

Поэтому Mach3 умеет формировать импульсы только на границах периодов Kernel speed.

Например, если необходимо сформировать импульсы с частотой 16kHz (период — 62,5мкс)
при частоте ядра 25kHz (период — 40мкс), то импульсы будут следовать неравномерно — с периодами, кратными 40мкс:

Из осциллограммы на выходе оптрона видно, что время восстановления для уверенного чтения “1” микроконтроллером составляет примерно 50мкс.
После этого нужно выдержать “единицу” один цикл программы (26мкс), итого

Поэтому при частоте ядра 25кГц, максимальная частота импульсов Step не должна превышать 12500кГц, чтобы между импульсами было как минимум два периода по 40 мкс:

Для этого должно соблюдаться условие:

Steps per * Velocity / 60 Осциллограммы

Напряжение на токоизмерительном резисторе, низкая и средняя скорость вращения (Microstep 8x):

(должно быть близким к abs(sin(x))).

Напряжение на токоизмерительном резисторе, высокая скорость вращения:

Повторение конструкции/недостатки/улучшения

Общение с микросхемой M62359 идет на частоте, превышающей заявленные в даташите, поэтому её желательно заменить на что-то более быстрое.
На практике я не наблюдал проблем в работе контроллера. Мне удаётся успешно фрезеровать печатные платы, обработка которых включает штриховку всей платы с шагом 0.3мм:

Платы силовой части разводились “на все случаи жизни”. Возможно имеет смысл убрать посадочные места для опциональных деталей и уменьшить габариты. Или сделать весь контроллер на одной большой плате в SMD варианте.

Силовые платы планировалось вставлять в управляющий модуль вертикально, как в материнскую плату компьютера, но в итоге сделал на шлейфах. Из-за этот шлейфы пришлось пережимать со сдвигом. Если бы делал изначально — развёл бы под готовые шлейфы от дисководов.

Контроллер не проверялся с токами больше 2А — возможно, следует уделить больше внимания разводке.

Напряжение питания двигателей можно поднять вплоть до 60В. При этом нужно установить транзисторы в большим Vdss и подобрать сопротивление R8 в цепи питания UC3842 (микросхема содержит внутренний стабилитрон на 30В). Напряжение питания нельзя поднимать бесконечно, потому что можно получить пробой в обмотках двигателя.

Также обратите внимание на (нестандартный) разъём программатора.

Сразу хочу предупредить, что для настройки контроллера обязательно нужен осциллограф.
Без него понять, что происходит в обмотках, будет невозможно.

Материалы

Оцените статью