8-900-374-94-44
[email protected]
Slide Image
Меню

Драйвер шагового двигателя на транзисторах своими руками: Драйвер шагового двигателя своими руками

УПРАВЛЕНИЕ ШАГОВЫМИ ДВИГАТЕЛЯМИ

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

Шаговые двигатели не имеют коммутаторов и щеток. Это синхронные двигатели постоянного тока с электронно-коммутируемым магнитным полем, вызывающим вращение якоря (его магнитов). Можно считать, что шаговые двигатели управляются цифровыми импульсами, и в шаговом двигателе полный угол поворота ротора разделен на дискретное количество шагов. Количество этих ступеней (фаз) равно количеству магнитов, расположенных вокруг центрального сердечника.

Конструкция шагового двигателя

Теория работы шаговых двигателей. В отличие от двигателей постоянного или переменного тока, для шаговых двигателей требуется последовательное питание, то есть они должны получать фиксированную последовательность импульсов для отдельных катушек. Также бывают биполярные и униполярные двигатели. Униполярный шаговый двигатель отличается от биполярного тем, что имеет дополнительный отвод обмотки, который разделяет обмотку на две части. Обычно биполярный шаговый двигатель имеет 4 или 8 контактов, а униполярный – 5 или 6 контактов.

Схема униполярных и биполярных шаговых двигателей

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

Двух переключателей достаточно, чтобы построить простейший драйвер шагового двигателя, как показано на рисунке. Здесь используем 6-проводный униполярный двигатель. Также можно сказать, что двигатель в этом случае управляется однополярно, за счет использования средней обмотки катушки и постоянного напряжения питания на нее.

Переключая данные переключатели в последовательности S1, S2, S1, S2, S1, S2… заметим, что двигатель вращается. Рисунок выше иллюстрирует важный принцип управления: обе обмотки не могут питаться от одной пары одновременно. Каждое изменение переключателя поворачивает ротор на один шаг. Чем быстрее начнем переключать переключатели в последовательности S1, S2, S1, S2…, тем быстрее начнет вращаться ротор.

Подключение переключателей к катушкам шагового двигателя

Скорость шагового двигателя зависит не от величины напряжения, а от скорости подключения питания к отдельным обмоткам. Чтобы добиться полного вращения ротора с 200-шаговым двигателем, надо изменить положение каждого переключателя 100 раз, то есть выполнить до 200 последовательностей для двух переключателей. Это уже говорит о том, что шаговые двигатели не могут работать на высокой скорости. Из этого следует, что шаговые двигатели можно назвать «цифровыми двигателями», поскольку для вращения ротора необходимо переключать переключатели в соответствующей последовательности.

В нашем случае последовательность переключений также определяет направление вращения шагового двигателя. Когда меняем последовательность включения переключателей, то меняем и направление вращения, например S2, S1, S2, S1, S2, S1… влево, S1, S2, S1, S2, S1, S2… вправо. В этом примере есть двухпозиционные переключатели, которые всегда обеспечивают питание двух из четырех обмоток шагового двигателя в данный момент. Но использование трехпозиционных переключателей дает гораздо больше возможностей.

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

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

Упрощенная схема управления униполярным шаговым двигателем

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

Вращение униполярного шагового двигателя в последовательных тактах цикла управления волной

Управляющая последовательность A +, B +, A-, B- повторяется каждые четыре импульса тактового генератора.

Этот тип управления называется однофазным или волновым. Это полный шаг управления, потому что двигатель выполняет один полный ход (шаг) с одним импульсом генератора.

Последовательность импульсов A +, B +, A -, B – вращает двигатель в одном направлении. Смена полюсов статора (N, S) заключается в питании соответствующей катушки (A + или A -). 

Самый простой способ изменить направление – поменять местами одну пару проводов катушки (поменять местами, например, B + с B – и B – с B +), затем дадим последовательность A +, B -, A -, B + импульсы, он вращает двигатель в противоположном направлении. Так управление направлением реализовано в некоторых контроллерах шаговых двигателей. Самый простой способ изменить последовательность импульсов – использовать, например, реле.

Форма волны (однофазная) импульсная последовательность драйвера

Упрощенная схема однофазного (волнового) регулятора с изменением направления вращения

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

Двухфазное управление шаговым мотором

Гораздо лучшей альтернативой однофазному управлению будет двухфазное, при котором работают две из четырех обмоток шагового двигателя. В таком управлении используем 1/2 всех обмоток. Тогда мотор станет более эффективен.

Вращение двигателя при двухфазном полноступенчатом управлении

Две катушки шагового двигателя всегда находятся под напряжением. Опять же, мы никогда не питаем две катушки из одной пары одновременно. С каждым импульсом от генератора переключается только одна катушка из отдельных пар (последовательно). В первом цикле катушки A и B находятся под напряжением, во втором катушка A все еще находится под напряжением, в то время как катушка B переключается на B +, в третьем цикле катушка B + находится под напряжением из второго цикла, и катушка A переключается на A + и так далее.

Двухфазная последовательность управляющих импульсов

Формы сигналов A + и B + сдвинуты друг к другу (две из четырех обмоток всегда работают в заданном цикле), а сигналы A + и B- инвертируются с сигналами A + и B +. Такие формы сигналов (смещенные относительно друг друга) легко генерируются, например, благодаря интегральной микросхеме 4013, которая имеет два D-триггера. Также можно использовать микроконтроллер. Изменение направления вращения в таком контроллере, как и при однофазном (волновом) управлении, может быть реализовано путем изменения направления проводов одной пары концов катушки (изменение с A + на A – и A – на A +). Чаще всего изменение скорости основано на изменении логики последовательности управляющих импульсов. Мы можем сделать это, например, используя логические элементы XOR, которые будут отрицать сигналы (инвертировать их).

Упрощенная схема двухфазного контроллера с изменением направления вращения, D-триггерами для создания смещенных сигналов и логическими вентилями XOR

Оба типа управления представленные выше: однофазный (волновой) и двухфазный (инвертированные сигналы, управляющие транзисторами), в просторечии, являются униполярными типами управления, потому что используем униполярные шаговые двигатели с дополнительными ответвлениями обмотки.

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

Также стоит упомянуть моторы VR (реактивного сопротивления). Двигатели VR обычно имеют три обмотки. Чтобы управлять таким двигателем, нам нужно подавать отдельные обмотки одну за другой в последовательности A, B, C, A, B, C… это заставит двигатель вращаться в одном направлении, в то время как последовательность питания обмотки A, C, B, A, C, B… заставит его вращаться в противоположном направлении. Самый простой способ изменить направление – поменять местами концы двух обмоток шагового двигателя VR, и проще всего это сделать с помощью реле.

Упрощенная схема драйвера резистивного шагового двигателя

Последовательность импульсов управления шаговым двигателем

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

Биполярное управление обеспечивает более эффективное использование шагового двигателя, при котором всегда работает вся обмотка шагового двигателя, что дает гораздо лучшую производительность на низких и средних скоростях.

А крутящий момент примерно на 30 – 40% больше. Но для этого требуется изменить полярность питания катушки, изменив направление тока в обмотках (например поменяв местами концы катушек). Для этого используются два транзисторных моста H (название происходит от сходства с буквой H на схеме), которые состоят из двух ветвей, а каждая ветвь состоит из двух транзисторов. Чаще всего для построения такого моста используются биполярные транзисторы NPN или MOSFET N.

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

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

Также в биполярных контроллерах имеем дело с однофазным (волновым) и двухфазным управлением. Оба элемента управления являются полношаговыми. При однофазном управлении, как и в униполярных шаговых двигателях, в следующем цикле запитывается только одна катушка,

Вращение биполярного шагового двигателя в последовательных тактах однофазного (волнового) цикла управления

Вращение биполярного шагового двигателя в последовательных тактах двухфазного цикла управления

Упрощенная схема драйвера для биполярных двигателей с транзисторными Н-мостами

Последовательность импульсов для питания катушек идентична униполярному двигателю, но в этом случае нет четырех сигналов на транзисторы, только восемь сигналов на восемь транзисторов. Каждым из них нужно управлять индивидуально, переключая соответствующие транзисторы в нужный момент. Ток протекает через катушку, когда один верхний транзистор и один нижний транзистор включены «крест-накрест», то есть 1 и 3 на схеме, другие 2 и 4 в катушке A шагового двигателя закрыты. Но когда выключаем 1 и 3 и включаем 2 и 4, то меняем направление тока в катушке.

Включаем транзисторы «крестом» в катушке A и B. Напряжение питания катушки задается как в униполярном управлении, в то время как «массовый» транзистор подключается крест-накрест к присоединенному верхнему силовому транзистору. Можем если надо изменить скорость, изменив управление двумя концами одной катушки, что приведет к другой последовательности импульсов. Самый простой способ – использовать реле, как при униполярном управлении, также можно реверсировать сигналы, управляющие транзисторами.

Ход управления катушками в биполярном шаговом двигателе волнового управления

Чтобы понять идею, можно сказать что на схеме показано питание проводов биполярного шагового двигателя, т.е. высокое состояние означает напряжение на конкретном проводе (A +, B +, A -, B -), а низкое состояние – появление заземления на отдельных проводах в заданном цикле. Здесь меняем направление тока в катушках, в первом импульсе (в первом цикле) генератор A + земля A – питается от генератора, а в третьем A – земля A + подается, меняя «полярность» источника питания так, чтобы меняли полярность катушек, например N на S.

Фактически, форма сигналов управления транзисторами в H-мосте будет выглядеть как на схеме ниже. Это биполярное однофазное (волновое) управление.

Ход транзисторной последовательности управления в биполярном волновом контроллере

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

Ход управления катушками в биполярном двигателе двухфазного управления

Эта схема, что касается управления биполярной волной, показывает соответствующий источник питания проводов биполярного шагового двигателя. Низкое состояние означает основное высокое напряжение питания катушки. В первом цикле проводники A – и B – земли A + и B + находятся под напряжением, во втором цикле проводники A – и B + земли A + и B- находятся под напряжением и так далее.

Последовательность импульсов управления транзистором будет выглядеть примерно так:

Последовательность управления транзистором в двухфазном биполярном контроллере

Как правило, биполярные шаговые двигатели требуют сложной схемы управления. Эта проблема была решена с появлением специализированных интегральных схем (A3977, A4988, L297), которые используются для генерации соответствующей последовательности импульсов для управления транзисторами в H-мосте.

Также можем использовать логические элементы или D-триггеры для генерации этой последовательности, но чаще существуют драйверы, построенные на микроконтроллерах или специализированных интегральных схемах.

Самым большим преимуществом управления биполярным шаговым двигателем является хорошо используемый крутящий момент, благодаря тому что вся обмотка находится в текущем состоянии после получения импульса (в течение одного цикла).

Двигатели PM (с постоянным магнитом) и HB (гибридные), несмотря на их различную конструкцию, управляются одинаково. Каждый двигатель с 4 контактами может управляться только биполярно, в то время как униполярный шаговый двигатель с 6 контактами может работать как биполярный, так и униполярный.

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

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

Схема последовательного и параллельного подключения 8-проводного шагового двигателя

Идея последовательного и параллельного подключения также может быть использована с 6-проводным униполярным двигателем.

Схема последовательного и параллельного подключения 6-проводного шагового двигателя

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

Схема подключения диодов к униполярному драйверу на биполярных транзисторах

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

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

Схема униполярного шагового двигателя с MOSFET транзисторами

Также используем тот же принцип для биполярного управления. При использовании MOSFET-транзисторов можем использовать встроенные «диоды» в транзисторе.

Схема использования диодов в биполярных драйверах

Схема биполярного шагового двигателя с MOSFET транзисторами

Ещё стоит упомянуть инерцию обмоток, ограничивающую скорость нарастания тока. Каждая из катушек шагового двигателя имеет определенную индуктивность L и сопротивление R. После подачи напряжения на катушку ток I определяется напряжением питания катушки (VCC) и ее сопротивлением, то есть I = VCC / R. Он не сразу достигает значения, определяемого L iR. Ток постепенно увеличивается, а постоянная времени нарастания составляет T = L / R. Обычно это 10 мс, поэтому период прямоугольной волны должен составлять 20 мс или 50 Гц, чтобы обеспечить 10 мс высокого состояния длительности импульса для катушки для достижения полного тока.

На низких частотах (скоростях) это значения не имеет, а на более высоких частотах ток не успеет увеличиться до нужного значения. Следовательно, двигатель будет значительно терять крутящий момент при увеличении оборотов, из-за того что ток не успевает увеличиться до номинального тока мотора.

Лучшее решение этой проблемы – подать на двигатель напряжение, намного превышающее номинальное напряжение его работы. Из-за более высокого напряжения ток нарастает быстрее. Правда для этого требуется специальная схема, ограничивающая ток протекающий по обмоткам.

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

Схема использования резистора для ограничения тока в обмотках шагового двигателя

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

Схема использования источника тока для ограничения тока в обмотках шагового двигателя

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

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

Упрощенная схема использования двух источников питания для регулирования тока в обмотках шагового двигателя

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

Фрагмент схемы биполярного контроллера с технологией чоппера

Форма сигнала прерывателя для управления транзистором

Напоминаем, что в первые моменты управляющего импульса продлеваем включение транзистора, что позволяет быстрее увеличить ток, благодаря гораздо более высокому напряжению VCC, чем номинальное напряжение мотора. В следующие моменты импульса значительно сокращаем время транзистора, он работает циклически и тем самым ограничивает напряжение до номинального рабочего напряжения шагового двигателя. Компаратор, который будет сравнивать напряжения решает, когда сигнал управления транзистора должен быть переключен с постоянного на прерывистый. Благодаря этому есть возможность регулировать ток, подаваемый на катушку шагового двигателя.

Схема использования компаратора в биполярном контроллере

Эта схема очень эффективна и позволяет регулировать ток катушки независимо от напряжения питания, изменяя напряжение Vs.

Напряжение питания катушки VCC намного выше, чем рабочее напряжение обмотки, а это означает что после включения транзистора ток достигает своего рабочего значения намного быстрее, за гораздо более короткое время чем постоянная времени L / R. После достижения порогового значения (установленного Vs) компаратор сравнивает падение напряжения на управляющем резисторе Rs с напряжением Vs. Если ток двигателя и, следовательно, падение напряжения на Rs увеличиваются выше напряжения Vs, компаратор запускает моностабильный триггер, который излучает один импульс и на короткое время отключает напряжение питания катушки, что снижает ток, а затем цикл повторяется с начала.

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

График импульсов тока в обмотке

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

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

Обмотки шаговых двигателей чаще всего управляются формой сигнала ШИМ через H-мосты, по одному на обмотку. Угол поворота пропорционален количеству импульсов, а скорость вращения – их частоте. При работе с полными ступенями довольно много шума и вибрации. К сожалению, также могут быть случаи пропуска ступеней («выход») и, как следствие, потеря контроля над положением ротора. Эта проблема решается за счет использования микрошагов, таким образом питая обмотки так, что ротор проходит через промежуточные положения за один полный шаг.

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

Это возможно на основании наблюдения увеличения BENF и соответствующего увеличения частоты импульсов, питающих двигатель. Вышеописанный алгоритм реализован в интегрированном однокристальном контроллере AMIS-30624. Он настроен для работы с различными типами шаговых двигателей, диапазонами позиционирования и такими параметрами, как скорость, ускорение и замедление.

Схема контроллера AMIS-30624

Он имеет встроенный бессенсорный детектор потери шага, который предотвращает потерю шагов позиционером и быстро останавливает двигатель при его остановке. Это обеспечивает тихую, но точную калибровку во время эталонного прогона и позволяет работать с полузамкнутым контуром. AMIS-30624 включает в себя как аналоговые цепи высокого напряжения, так и цифровые блоки управления. Чип разработан для применений в автомобильной, промышленной и строительной отраслях.

   Форум

Звуковой усилитель на драйвере шагового двигателя L298 и таймере 555. Да, 555-й может и спеть / Хабр

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

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

В этой статье вы можете узнать, как мне удалось заставить симбиоз из драйвера шагового двигателя L298 и 555-ого таймера петь, и какую роль во всем этом играла зимняя куртка. А также разберемся с особенностями усилителей класса D. Да простят меня аудиофилы…

❯ Выбор концепции

Последний раз я собирал усилитель мощности звуковой частоты (УМЗЧ) на младших курсах колледжа. А чем тогда еще было заниматься радиолюбителю? Или радиосвязь, или усилители, ну еще телеки можно было ремонтировать. Наелся я тогда этим здорово, и уже многие годы к этой теме не возвращался. Но вот, совершенно случайно, мне подкинули пару динамиков. Не выбрасывать же добро?! Поэтому было решено как-то их применить.

На первых порах я действительно хотел тряхнуть стариной и собрать классический аналоговый усилитель. Но это казалось мне на столько скучно, что проект я так и не начал… пока не наткнулся на десяток L298 в моем столе.

Микросхема L298 на сегодняшний день не самый лучший драйвер для шаговых двигателей. Она выполнена на биполярных транзисторах. Обладает слабыми частотными характеристиками. Сильно греется. Мощность невысокая. Выполнена в огроменном корпусе. В общем, для управления шаговыми двигателями сейчас можно найти намного лучшие решения, поэтому эти микросхемы и валялись у меня так долго без дела.

Глядя на внутренности L298 пытливый читатель наверняка догадался, что дальше речь пойдет об усилителях класса D. И это действительно так, ведь выходные транзисторы L298 могут работать только в ключевом режиме.

Принцип работы любых разновидностей усилителей класса D основывается на широтно-импульсной модуляции (ШИМ). Разница только в том, как эта модуляция производится.


Если взглянуть на классическую структурную схему для усилителя класса D, нам остается придумать что-нибудь интересное для ШИМ. И тут на помощь приходит 555. Многие электронщики заслуженно любят эту микросхему за ее универсальность. С ее помощью можно не только генерировать тактовые импульсы, или еще какие-нибудь разные импульсы, но и выполнять ШИ-модуляцию.

Да, сперва график выходного сигнала меня тоже немного напугал. Но я взял себя в руки и решил не останавливаться. Из интересного: график в даташите от Тексиса на КМОП версию таймера начинается с входного напряжения 0,5В, и даже имеет ступеньку. Но на практике оказалось, что это свойственно только биполярной версии NE555. При входном напряжении ниже 0,5В NE555 вообще выходил из режима и беспорядочно генерировал шум. А вот КМОП версия TLC555 работает практически с нуля и подобным не грешит.

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

❯ Выбор топологии усилителя

С традиционными аналоговыми усилителями все понятно. Есть несколько общепринятых классов, которые подходят для УМЗЧ. Есть класс А, который усиливает полный период сигнала. Есть класс В, который усиливает примерно половину периода сигнала. И есть класс АВ, который сочетает в себе все лучшее от двух предыдущих классов. А вот с усилителями класса D, или «цифровыми» усилителями, все немного запутанно.

Основная загвоздка при проектировании цифрового усилителя — это выбор топологии выходного каскада. И тут есть несколько вариантов: с несимметричным или дифференциальным питанием. Причем схема выходного каскада с дифференциальным питанием может быть выполнена по полу мостовой или мостовой топологии.

Выходной каскад с несимметричным питанием схемотехнически проще всего реализовать. Для него используется однополярный источник питания и достаточно одного транзисторного полумоста.

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

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

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

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

В этом есть определенное сходство выходного каскада схем с несимметричным питанием с усилителями класса А. Разница заключается в том, что усилитель класса D не расходует лишнюю энергию источника питания на выходных транзисторах, т.к. они работают в ключевом режиме.

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

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

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

Если входной сигнал будет иметь значение 0В, то ШИМ буде иметь заполнение 50%. При правильно подобранном выходном ФНЧ значение тока в катушке динамика будет практически равно нулю.

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

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

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

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

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

❯ Демо версия электрической схемы

Схема представлена в ознакомительных целях, повторять ее могу порекомендовать разве что из любопытства. Рисовал схему как эскиз, поэтому по ГОСТу оформлять не стал, не обращайте на это внимание. В целом, я думаю, что сама схема на картинке понятна. Номиналы резисторов и конденсаторов очень примерные. Много раз их пере подбирал, уже сложно сказать точно, на чем остановился.

По сути схема получилась с однополярным питанием. Операционный усилитель IC5A формирует искусственную среднюю точку между плюсовым и минусовым потенциалами источника питания. Это необходимо для нормальной работы входных усилителей IC1 в инвертирующем включении. Усилитель IC5A обязательно должен быть выполнен в отдельном независимом корпусе, т.к. схема средней точки очень шумит, шум может наводиться по подложке кристалла на другие вентили внутри корпуса, и помеха может проникнуть в другие каскады.

Почему я сделал искусственную среднюю точку вместо двухполярного блока питания? С детства не люблю двухполярные источники питания, всегда было лень мотать дополнительные обмотки на трансформаторах. Вот до сих пор стараюсь обходиться одной полярностью.

Если эту схему подключить к однополярному блоку питания +12В, вместо двухполярного +6В и -6В, входной сигнал надо подавать относительно минусового потенциала питания. Входной конденсатор С28 развязывает вход по постоянному напряжению, а делитель на R3R27 подтягивает сигнал относительно искусственной средней точки. Так что нет особой разницы относительно чего подавать входной сигнал. Но, если подать его относительно средней точки при однополярном питании, то через землю источника входного сигнала искусственная средняя точка может быть замкнута на минусовой потенциал источника питания. Тогда работать ничего не будет. Тут надо быть внимательным.

Принцип работы схемы проще всего будет посмотреть на графиках. На графиках подписаны названия сигналов в соответствии с названием цепей на электрической схеме.

Входной сигнал поступает на однополупериодные выпрямители IC1. IC1A передает положительную полуволну, и отсекает отрицательную. IC1В пропускает только отрицательную полуволну и переворачивает сигнал.

Таймеры IC3 и IC4 раздельно модулируют положительную и отрицательную полуволны входного сигнала. За счет чего получается, что при положительной полуволне динамик питается по одной диагонали Н-моста, а при отрицательной — от противоположенной диагонали со сменой направления тока.


Отдельное внимание хочется уделить токовым зеркалам. Я применил их для того, чтобы перенести ШИМ сигналы с выходов таймеров от средней точки к минусовому потенциалу схемы. Это необходимо потому, что L298, по сути, имеет однополярное питание, и управляющие сигналы ей нужно подавать относительно ее 8-ой ноги, а она посажена на минус. Таким образом я сэкономил на стабилизаторах напряжения, для логического питания драйвера использована искусственная средняя точка. Но это возможно только при условии, что напряжение между плюсовым и минусовым потенциалами схемы не превышает 12В.

На мой взгляд токовое зеркало лучше подходит для переноса сигнала с одного потенциала к другому. Схема менее подвержена влиянию изменения напряжения питания. Имеет хорошие частотные характеристики. На практике осциллограф показал, что форма сигнала на выходе таймеров и на выходе зеркала по форме визуально ничем не отличается. А различные комбинации схем с ОК и ОЭ на транзисторах разной проводимости все-таки заваливают фронты. Но вот подбор параметров схемы зеркала требует немного больше усилий. Логический вентиль на выходе зеркала поставлен больше для перестраховки, без него все вполне нормально работает.

Что мы имеем в результате таких манипуляций с сигналами? Собственно, собрано два усилителя класса D, первый — для положительной полуволны, а второй — для отрицательной. Получилась не совсем стандартная схема. Выходной каскад фактически имеет дифференциальное питание при однополярном источнике питания. Ценой упрощения схемы питания является усложнение схемы ШИ-преобразования. За все надо платить. С одной стороны, можно не переживать, что однополярный источник питания вносит искажения. Но зато вместо него искажения вносятся за счет разделения положительной и отрицательной полуволн входного сигнала.

И у этого решения тоже есть свои плюсы. Габариты необходимого выходного ФНЧ будут меньше, т.к. к ним не прикладывается напряжение противоположенной полярности. Необходимо использовать однополярный источник питания. Источник питания равномерно нагружен в течении полного периода входного сигнала.

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

❯ Макетирование

Борьба со схемотехникой была нешуточная. Изготовлен десяток разных версий усилителей, в том числе и с ШИ-модулятором на основе компаратора. Проведена куча экспериментов с целью малой кровью подавить помехи между каскадами и добиться хоть какого-то качества звучания. Хотелось минимизировать выходной ФНЧ, а в идеале избавиться от него. Было не скучно, развлекался я по полной.

Так как поверхность моего рабочего стола обладает не самыми лучшими акустическими свойствами, звук от динамиков получался совершенно плоским. А это усложняло и без того непростую задачу: на слух определить качество работы усилителя. Чтобы хоть немного облегчить это дело, противофазу динамиков заглушил курткой. Благодаря этому появился хоть какой-то объем звучания динамиков.

В результате, конечно, добиться хай-энда так и не удалось. Но, если правильно подобрать композицию и немного настроить фильтр на компе, то звучит вполне терпимо. (Вот тут сильно не хватает смайликов для текста)

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


В этом производитель точно не обманул. Но вот с заявленным током не все так очевидно, как заявлено в релизе.

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

Что касается мощности, выжать больше 10Вт при напряжении 12В с L298 так и не вышло. Собственно, этот драйвер и не предназначен для работы в тех режимах, которые реализованы в усилителе. Я последовательно подключал три динамика суммарным активным сопротивлением 8Ом, больше у меня не было. Заявленные 2А на канал при таких частотах и коэффициенте заполнения под 95% естественно получить не удалось. Уменьшение сопротивления нагрузки громкости не прибавляло, а вот корпус драйвера становился заметно теплее.

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

Чтобы успокоить совесть и окончательно убедиться в том, что модулятор на 555 работает удовлетворительно, и все дело именно в частотных ограничениях L298, был проведен еще один эксперимент. Выходной драйвер был заменен на готовый усилитель с алика. Звуковой сигнал подавался на модулятор, а ШИМ с него на вход усилителя. При частоте ШИМ примерно 250кГц звук получился вполне приличный.

Руки чесались снять драйвер шагового двигателя с 3D принтера, чтобы довести эксперимент до конца. Но я решил притормозить и остановиться на уже достигнутых результатах.

❯ Финальная версия усилителя

Финальная версия усилителя собрала в себе наиболее удачные решения. Добавил автоматическое отключение на одном LM358, чтобы динамики не шумели при отсутствии входного сигнала, выход схемы управляет входом enable драйвера. Заменил входные операционники на более простые, т.к. общее качество работы усилителя от этого уже не пострадает. Заменил логику на 74HC в SOIC, она имеет более широкий диапазон напряжения питания. И добавил фильтры по питанию.

Какой итог хотелось бы подвести. Проектирование усилителей класса D это всегда поиск компромисса. Если мы упрощаем схему усилителя, то приходится использовать более сложные схемы для источника питания. Если хотим источник питания по проще, то придётся усложнять сам усилитель.

Если вам необходима выходная мощность 10Вт — 15Вт, то вполне подойдет схема с симметричным выходным драйвером. Из-за невысокой выходной мощности выходной ФНЧ получится достаточно компактным, несмотря на необходимость емкостной развязки.

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

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

Если у вас есть какие-то соображения на этот счет, с удовольствием выслушаю их в комментариях. Тема очень для меня интересная, да и я сам в ней не очень силен.

Всем спасибо за внимание. И желаю вам, чтобы в новом году в вашей жизни было по больше увлекательной схемотехники!

Arduino — Nema 17 с транзисторами

\$\начало группы\$

Я пытаюсь управлять шаговым двигателем nema 17 с внешним источником питания 12 В между коллектор и эмиттер. Базовое напряжение будет 5В от Arduino Uno. Я много читал в сети о транзисторах и шаговых двигателях. Однако на схемах в сети диоды расположены в разных местах, а на некоторых есть резисторы, а на некоторых нет.

Я изо всех сил старался нарисовать диаграмму, чтобы показать, как у меня это подключено в настоящее время. У меня на схеме нет резисторов, потому что я не знаю, зачем они мне нужны и куда их добавить. Я добавил диод между источником сигнала 5 В и базой, думая, что это предотвратит попадание внешних 12 В обратно в Arduino. Некоторый положительный вклад, который поможет мне понять, будет очень кстати.

  • Arduino
  • транзисторы
  • шаговый двигатель

\$\конечная группа\$

4

\$\начало группы\$

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

Есть несколько компаний, которые предоставляют подобные модули для экспериментаторов. Мне на ум приходят Adafruit и Sparkfun, которые вы можете найти с помощью простого поиска в Интернете. Номер детали ROB-12779 EasyDriver от Sparkfun — это модуль, который поставляется со всеми видами полезной документации для начала работы, включая схему, руководство по подключению, техническое описание используемого чипа A3967 и доступные образцы кода Arduino.

Если вы откроете техпаспорт чипа A3967 и посмотрите на его функциональную блок-схему, вы сможете понять, что требуется для правильного управления катушками биполярного шагового двигателя. Для приложений с относительно низким током (то есть ток катушки менее 1 А) вам гораздо лучше использовать встроенную микросхему драйвера шагового двигателя, чем пытаться построить два H-моста с дискретными транзисторами и диодами.

\$\конечная группа\$

\$\начало группы\$

Краткое описание ошибок:

  1. нет устройства ограничения тока между GPIO и базами. Чтобы правильно управлять транзисторами, вы должны установить базовый ток на разумное значение. В этом случае следует рассчитать и выбрать последовательный резистор.
  2. Диоды не нужны. Воруют только напряжение для управления базой
  3. При управлении индуктивными нагрузками, а почти все двигатели являются индуктивными нагрузками, вы должны поставить восстановительный диод, иначе что-то сломается из-за скачка напряжения от внезапно отключенных обмоток.
  4. Нет эталонного соединения с обмотками. Обмотки ничего не сделают, потому что через них не будет никакого тока, если где-то не соединить контакт «Co», предпочтительно GND.. Вы должны управлять ими, вероятно, с помощью H-моста (спасибо Майклу Карасу за поиск модель).
  5. Вы построили странный высокий драйвер. Нагрузка будет повышать базовое напряжение до тех пор, пока не перестанет течь базовый ток. С этой настройкой (исключая диоды) вы не сможете генерировать более 4,3 В на обмотках, потому что Arduino не может выдавать более 5 В.

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

Приложение Я учуял еще одну крысу. Возможно, диоды, критикуемые в пункте 2), предназначались для восстановления. Тем важнее посмотреть чужие схемы и сравнить.

\$\конечная группа\$

4

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

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

Требуется, но никогда не отображается

Опубликовать как гость

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

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

как выбрать транзистор для схемы драйвера шагового двигателя?

Видимо вы спрашиваете как найти транзистор который можно использовать для переключения 1А с 5мА цифрового сигнала?

1 А / 5 мА = 200, что соответствует коэффициенту усиления, необходимому при использовании одного биполярного транзистора. Это нереально много для транзистора, который может выдерживать 1А. Вы не говорите, какое напряжение, но это было бы полезно знать. Транзисторы с более низким напряжением могут быть изготовлены с более высоким коэффициентом усиления.

В любом случае, это слишком много для одного BJT. Остается несколько очевидных вариантов:

  1. Использовать полевой транзистор. Они переключаются напряжением, а не током. Опять же, вы не говорите, какое напряжение вам нужно переключать, но вы можете получить полевые транзисторы до 30 В или около того, которые можно достаточно хорошо переключать непосредственно с цифрового логического выхода 0-5 В.

    Теперь вы добавили, что питание шагового привода составляет 12 В. В таком случае вот пример схемы:

    Резистор нужен только для того, чтобы убедиться, что полевой транзистор выключен, если цифровой выход когда-либо перейдет к высокому импедансу. Если он всегда стабильно работает и сбои при запуске не имеют значения, тогда вы можете оставить R1.

  2. Используйте более одного транзистора, чтобы получить более высокий коэффициент усиления. Например:

    Суммарный коэффициент усиления от тока логического сигнала к коммутируемому току примерно равен произведению коэффициентов усиления транзисторов Q1 и Q2. В этом случае можно рассчитывать на выигрыш Q2 в 15 раз. Поскольку вы хотите переключить 1 А, это означает, что ему требуется 1 А / 15 = 67 мА базового тока. R1 видит 5 В за вычетом падений B-E обоих транзисторов, что дает около 3,6 В. Это, деленное на 36 Ом, дает около 100 мА базового тока, что оставляет некоторый комфортный запас. R2 гарантирует, что Q2 выключен, если он явно не включен, а также помогает быстрее отключить его. Предполагая падение напряжения 700 мВ BE, резистор R2 будет потреблять 700 мкА при включении транзистора Q2. Поскольку у нас доступно 100 мА, а нам нужно только 2/3 от этого, для Q2 все еще остается много базового привода.

    Ток через Q1 будет около 100 мА во включенном состоянии. В этом случае такой низковольтный транзистор с малым сигналом можно рассчитывать на коэффициент усиления 50, что означает, что цифровой выход 0-5 В должен обеспечивать только 2 мА, что вполне соответствует вашим спецификациям.

Вы переключаете что-то со значительной индуктивностью. Индуктивный ток не может отключиться мгновенно. Без диода в выключенном состоянии катушка индуктивности повышала бы напряжение на P1 до тех пор, пока существующий ток не мог бы протекать — как-то куда-то. Вероятно, это произошло бы из-за превышения максимального напряжения коллектора транзистора Q2 и его выхода из строя. Это плохо. Диод обеспечивает хороший безопасный путь для этого тока до тех пор, пока энергия, накопленная в катушке индуктивности, не рассеется. У него есть недостаток, заключающийся в том, что ток катушки шагового двигателя будет медленно уменьшаться после выключения катушки. С этим можно справиться, выключив катушку немного раньше и/или добавив резистор последовательно с диодом, чтобы катушка воспринимала более высокое обратное напряжение, которое быстрее снижает ток. Обратите внимание, что Q2 должен быть рассчитан на то, чтобы выдерживать напряжение питания плюс это дополнительное напряжение.

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

Схема, которую я показал, почти идеальна, за исключением того, что коллектор Q1 подключен к источнику питания 5 В вместо коллектора Q2. Это позволяет Q2 полностью насыщаться. Это будет меньше, чем половина падения напряжения настоящего Дарлингтона.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *