» » Самодельный контроллер для шагового двигателя. Управление шаговым двигателем

Самодельный контроллер для шагового двигателя. Управление шаговым двигателем

Недавно приобрел ARDUINO в Китае. Мыслей по изготовление различных устройств- море. Мигать светодиодом на плате очень быстро надоело, захотелось чего то более существенного. Конечно надо бы заказать набор но цена его несколько завышена и пришлось что то искать в интернете, что то придумывать самому. В итоге все равно заказал в том же Китае различные датчики, реле, индикаторы… Немного попозже пришел знаменитый индикатор 1602. С ним поучился работать, тоже довольно быстро освоился. Захотелось поуправлять шаговым двигателем от CD-DVD привода. Ждать с Востока посылку 1-2 месяца не захотелось и я решил попробовать сделать драйвер самостоятельно. Нашел вот такую схему включения биполярного шагового двигателя:

Микросхемы в нашей глуши я не нашел, или заказывать микросхемы в российских интернет-магазинах по стоимости 2-3 готовых драйверов за 1 микросхему. Микросхема представляет собой Н- мост из транзисторов. Кстати включать в мост надо или составные биполярные транзисторы (так называемые сборки Дарлингтона), или полевые транзисторы. Одиночным биполярным транзисторам нужна хорошая раскачка, которую контроллер дать не может, иначе получается очень высокое падение напряжение на транзисторе из за того что он открыться не может. Т.к. хороший товарищ занимается ремонтом компьютеров, то с полевиками проблем не возникло. Сначала хотел сделать на биполярниках- но получается в 2 раза больше транзисторов, что не совсем хорошо для габаритов драйвера, да и ток они выдержат гораздо меньший. Выпаяв около десятка полевых транзисторов и почитав на них даташиты я снова впал в уныние- в интернете есть схемы только на парах полевых транзисторов n- и p- типов. И ниодной схемы на транзисторах одного типа я просто не нашел. В компьютерах же используются транзисторы n- типа. Пришлось мудрить на макетной плате небольшой девайс на полевиках, попробовал управлять светодиодами, получилось и я решил собрать готовое устройство. Драйвер не нуждается в налаживании ибо налаживать здесь практически нечего. Единственная проблема возникла с программным обеспечением. Нашел даташит на похожий двигатель и по графикам работы выставил состояния выходов. После этого осталось только подобрать delay и все- устройство готово! Собственно схема замены микросхемы L293D.


Данные транзисторов даны просто так- в мультисиме никак не смог их изменить. Я использовал транзисторы P60N03LDG в корпусе ТО-252 . В ней все довольно просто: при поступлении напряжения на один из входов U1 или U2 открываются 2 транзистора в верхнем и нижнем плече, причем крест- накрест. Таким образом переключается полярность напряжения на двигателе. А чтобы не подавалось напряжение сразу на 2 входа (это вызовет КЗ цепи питания) и использовал схему включения L293D. При таком включении NPN-транзистор не позволяет открывать сразу все 4 транзистора Н-моста. Кстати 1 двигатель будет управляться по 2 выходам Arduino, что крайне важно для экономии выходов и входов микроконтроллера. Еще условие- минусовой провод транзисторных ключей обязательно должен быть соединен с минусовым выводом платы управления. Питание подается на плату управления от Arduino, на ключи- от внешнего БП. Это позволяет подключить достаточно мощные двигатели. Все зависит от характеристик транзисторов. Итак для одного драйвера вам нужно 8 полевых транзисторов (P60N03LDG или любые другие n-канальные), любые 2 SMD-биполярных транзистора NPN (у меня стоят с маркировкой t04), smd-резисторы типоразмера 0805, и 4 такие же перемычки того же размера (на них написано 000 или просто 0). Все эти детали можно найти на старых и негодных материнских платах. Обязательно проверьте детали перед установкой.


Плата драйвера Arduino

Выкладываю плату в формате Layout6. . Замечу что у вас должен получится именно такой вид- надписи должны быть читабельными а не перевернутыми, учитывайте это при печати платы, детали ведь будут установлены со стороны дорожек. Разъемы тоже выпаиваем из материнки феном, отрезаем сколько по надо количеству пинов и впаиваем в нашу плату- так гораздо удобнее и надежнее нежели чем паять провода в плату. Разберемся с назначением выводов: выводы Out1 и Out2- подключение обмоток шагового двигателя, In1,2- вход от Arduino, ±5V- питание управления от Arduino (сделал двойной разъем т.к. подключать питание можно шлейфом сразу к нескольким блокам), 2 перемычки располагаются на другой стороне платы, по ним подается напряжение на ключи. Размер платы- 43х33мм. Кто желает- может еще больше минимизировать.

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


Диаграмма работы шагового двигателя

Цифрами указаны номера шагов. Исходя из того что при переключении контроллером высокого уровня на низкий драйвер сам переключит нужные ключи, то пишем, например, состояния только для верхних графиков каждой обмотки. Первый шаг: первая обмотка- первый провод +(HIGH), другой автоматически переключится драйвером на минус (LOW), напоминаю что описываем по первому проводу каждой обмотки. Вторая обмотка: первый провод — (LOW), второй + (HIGH), второй провод переключится драйвером автоматически. Переходим к первому изменению графика. Это 2 шаг. Описываем состояние только первых проводов. 1 провод первой обмотки остался HIGH, 1 провод второй сменился с LOW на HIGH . Третий шаг- 1 провод первой обмотки сменился HIGH на LOW, 1 провод второй остался HIGH. Четвертый шаг: 1 провод первой обмотки остался LOW, 1 провод второй обмотки сменился с HIGH на LOW. Описывать можно с любого шага, главное сохранять последовательность. Чтобы двигатель вращался в другую сторону нужно просто сдвинуть в диаграмме значения любой обмотки на полцикла в любую сторону. Таким образом можно писать программное обеспечение для драйверов. Нужно лишь знать диаграмму и правильно описать ее состояние на выходные пины.

Теперь подключаем плату к Arduino, двигателю. Забрасываем такой скетч:

// подключаемся к 8,9 выводам arduino
int input1 = 8;
int input2 = 9;
int stepCount = 5; //задержка между шагами регулирует скорость двигателя

void setup()
{
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
}

void loop()
{
//1-ый шаг
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
delay(stepCount);

//2-ой шаг
digitalWrite(input1,HIGH);
digitalWrite(input2,HIGH);
delay(stepCount);

//3-ий шаг
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
delay(stepCount);

digitalWrite(input1,LOW);
digitalWrite(input2,LOW);
delay(stepCount);

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

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

Если вы хотите купить драйвер шагового двигателя , нажмите на информер справа


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

Шаговый двигатель – двигатель со сложной схемой управления, которому требуется специальное электронное устройство – драйвер шагового двигателя. Драйвер шагового двигателя получает на входе логические сигналы STEP/DIR, которые, как правило, представлены высоким и низким уровнем опорного напряжения 5 В, и в соответствии с полученными сигналами изменяет ток в обмотках двигателя, заставляя вал поворачиваться в соответствующем направлении на заданный угол. >Сигналы STEP/DIR генерируются ЧПУ-контроллером или персональным компьютером, на котором работает программа управления типа Mach3 или LinuxCNC.

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

Типы (виды) драйверов ШД


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

1) Драйверы постоянного напряжения

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

2) Двухуровневые драйверы

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

3) Драйверы с ШИМ.

На текущий момент ШИМ-драйверы шаговых двигателей наиболее популярны, практически все драйверы на рынке – этого типа. Эти драйверы подают на обмотку шагового мотора ШИМ-сигнал очень высокого напряжения, которое отсекается по достижению током необходимого уровня. Величина силы тока, по которой происходит отсечка, задается либо потенциометром, либо DIP-переключателем, иногда эта величина программируется с помощью специального ПО. Эти драйверы достаточно интеллектуальны, и снабжены множеством дополнительных функций, поддерживают разные деления шага, что позволяет увеличить дискретность позиционирования и плавность хода. Однако, ШИМ-драйверы также весьма сильно отличаются друг от друга. Помимо таких характеристик, как питающее напряжение и максимальный ток обмотки, у них отличается частота ШИМ. Лучше, если частота драйвера будет более 20 кГц, и вообще, чем она больше – тем лучше. Частота ниже 20 кГц ухудшает ходовые характеристики двигателей и попадает в слышимый диапазон, шаговые моторы начинают издавать неприятный писк. Драйверы шаговых двигателей вслед за самими двигателями делятся на униполярные и биполярные. Начинающим станкостроителям настоятельно рекомендуем не экспериментировать с приводами, а выбрать те, по которым можно получить максимальный объем технической поддержки, информации и для которых продукты на рынке представлены наиболее широко. Такими являются драйверы биполярных гибридных шаговых двигателей.

Как выбрать драйвер шагового двигателя (ШД)

Первый параметр , на который стоит обратить внимание, когда вы решили выбрать драйвер шагового двигателя – это сила тока, которую может обеспечить драйвер. Как правило, она регулируется в достаточно широких пределах, но стоит драйвер нужно выбирать такой, который может выдавать ток, равный току фазы выбранного шагового двигателя. Желательно, конечно, чтобы максимальная сила тока драйвера была еще на 15-40% больше. С одной стороны, это даст запас на случай, если вы захотите получить больший момент от мотора, или в будущем поставите более мощный двигатель, с другой – не будет излишней: производители иногда «подгоняют» номиналы радиоэлектронных компонентов к тому или иному виду/размеру двигателей, поэтому слишком мощный драйвер на 8 А, управляющий двигателем NEMA 17 (42 мм), может, к примеру, вызывать излишние вибрации.

Второй момент – это напряжение питания. Весьма важный и неоднозначный параметр. Его влияние достаточно многогранно – напряжение питания влияет на динамику(момент на высоких оборотах), вибрации, нагрев двигателя и драйвера. Обычно максимальное напряжение питания драйвера примерно равно максимальному току I, умноженному на 8-10. Если максимальное указанное напряжение питания драйвера резко отличается от данных величин – стоит дополнительно поинтересоваться, в чем причина такой разницы. Чем больше индуктивность двигателя - тем большее напряжение требуется для драйвера. Существует эмпирическая формула U = 32 * sqrt(L), где L - индуктивность обмотки шагового двигателя. Величина U, получаемая по этой формуле, весьма приблизительная, но она позволяет ориентироваться при выборе драйвера: U должно примерно равняться максимальному значению напряжения питания драйвера. Если вы получили U равным 70, то по данному критерию проходят драйверы EM706, AM882, YKC2608M-H.

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

Четвертый аспект – наличие механизмов подавления резонанса. Резонанс шагового двигателя – явление, которое проявляется всегда, разница только в резонансной частоте, которая прежде всего зависит от момента инерции нагрузки, напряжения питания драйвера и установленной силы тока фазы мотора. При возникновении резонанса шаговый двигатель начинает вибрировать и терять крутящий момент, вплоть до полной остановки вала. Для подавления резонанса используется микрошаг и – встроенные алгоритмы компенсации резонанса. Колеблющийся в резонансе ротор шагового двигателя порождает микроколебания ЭДС индукции в обмотках, и по их характеру и амплитуде драйвер определяет, есть ли резонанс и насколько он силен. В зависимости от полученных данных драйвер несколько смещает шаги двигателя во времени относительно друг друга – такая искусственная неравномерность нивелирует резонанс. Механизм подавления резонанса встроен во все >драйверы Leadshine серий DM, AM и EM. Драйверы с подавлением резонанса – высококачественные драйверы, и если бюджет позволяет – лучше брать именно такие. Впрочем, и без этого механизма драйвер остается вполне рабочим устройством – основная масса проданных драйверов – без компенсации резонанса, и тем не менее десятки тысяч станков без проблем работают по всему миру и успешно выполняют свои задачи.

Пятый аспект – протокольная часть. Надо убедиться, что драйвер работает по нужному вам протоколу, а уровни входных сигналов совместимы с требуемыми Вам логическими уровнями. Эта проверка идет пятым пунктом, потому что за редким исключением подавляющее число драйверов работает по протоколу STEP/DIR/ENABLE и совместимо с уровнем сигналов 0..5 В, вам надо только лишь на всякий случай убедиться.

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

Седьмой аспект – наличие микрошаговых режимов. Сейчас практически в каждом драйвере есть множество микрошаговых режимов. Однако, из каждого правила есть исключения, и в драйверах Geckodrive режим только один – деления шага 1/10. Мотивируется это тем, что большее деление не приносит большей точности, а значит, в нем нет необходимости. Однако, практика показывает, что микрошаг полезен вовсе не повышением дискретности позиционирования или точности, а тем, что чем больше деление шага, тем плавней движение вала мотора и меньше резонанс. Соответственно, при прочих равных условиях стоит использовать деление чем больше, тем лучше. Максимально допустимое деление шага будет определяться не только встроенными в драйвер таблицами Брадиса, но и максимальной частотой входных сигналов – так, для драйвера со входной частотой 100 кГц нет смысла использовать деление 1/256, так как скорость вращения будет ограничена 100 000 / (200 * 256) * 60 = 117 об/мин, что для шагового двигателя очень мало. Кроме того, персональный компьютер тоже с трудом сможет генерировать сигналы с частотой более 100 кГц. Если вы не планируете использовать аппаратный ЧПУ контроллер, то 100 кГц скорее всего будет Вашим потолком, что соответствует делению 1/32.

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

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

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

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


Контроллер состоит из мультивибратора на таймере 555 , микросхемы десятичного счётчика 4022 (CD4022 , HEF4022 и т.д.) и необязательных светодиодов с резистором для визуализации и наглядности, резистор один т.к. больше одного светодиода в данной схеме светиться не может. Счётчик десятичный т.е. при подаче на его тактовый вход (CLOCK (вывод 14)) импульсов напряжения на выводе соответствующему выходу номер которого совпадает с количеством поданных импульсов, после сброса, появляется напряжение уровня логической единицы, на всех остальных выводах выходов, при этом, устанавливаются напряжения уровня логического нуля. Вывод "11" соединён с выводом "15" для того чтобы ограничить счёт данного счётчика. Когда на тактовый вход приходит четвёртый импульс, после сброса, на выводе "11" (выход out4) появляется напряжение уровня логической единицы которое подаётся на вывод "15" (RESET) - вывод сброса, от этого счётчик происходит сброс счётчика в исходное состояние когда напряжение уровня логической единицы будет на выводе "2" который соответствует выходу out0 (т.е. 0 импульсов пришло на тактовый вход). Если вывод "15" соединить с "землёй" (GND, минус ноль питания) а "14" при этом никуда не соединять то счётчик будет считать 7 импульсов, 8ой импульс произведёт сброс и счёт пойдёт заново (так можно сделать мигалку с 8 светодиодами). Если убрать мультивибратор и светодиоды то останется только микросхема и её можно использовать с программируемым устройством для управления шаговым двигателем подавая на тактовый вход этой микросхемы импульсы с программируемого устройства. Вместе с этим контроллером можно использовать например драйвер на эмиттерных повторителях на транзисторах такая схема универсальная, безопасная при неправильном управлении но у неё есть недостатки , можно также использовать микросхему драйвер если она подходит. Схема драйвера:

Рисунок 2 - Драйвер на транзисторах


Шаговый двигатель подключается к драйверу

Рисунок 3 - Шаговый двигатель


Для возможности реверса двигателя можно поставить переключатели (или переключатель) так чтобы при переключении менялись местами выводы output1 с output4 и output2 с output3 например:

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

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

Типы шаговых двигателей

Существуют три основных типа шаговых двигателей: переменной индуктивности, двигатели с постоянными магнитами, и гибридные двигатели.

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

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

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

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

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

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

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

Разные шаговые двигатели могут иметь разное количество проводов, как правило, 4, 5, 6, или 8. 4-х проводные линии могут поддержать только биполярные шаговые двигатели, поскольку у них нет центрального провода.

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

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

Полный шаг — такой привод всегда имеет два электромагнита. Для вращения вала, один из электромагнитов выключается и далее электромагнит включен, вызывая вращение вала на 1/4 зуба (по крайней мере для гибридных шаговых двигателей). Этот стиль имеет самый сильный момент вращения, но и самый большой размер шага.

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

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

Схема подключения шаговых двигателей

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

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

Николай Гурылёв.

Здравствуйте Юрий Валерьевич! Опишу изменения в схеме > Что меня подвигло к изменению схемы? В исходной схеме управление двигателем производится двумя кнопками каждая, из которых содержит по две группы контактов. Одна группа подаёт высокий логический уровень на вход микросхем, другая подаёт питание на двигатель. В виду того, что некоторые двигатели потребляют значительный ток, группа контактов, управляющая двигателем должна быть достаточно мощной, а, следовательно, и габаритной.

Это конечно не удобно и не желательно в виду снижения надёжности устройства по причине использования механических контактов в сильноточных цепях. Я предлагаю управлять питанием двигателя при помощи мощного полевого транзистора, который в свою очередь управляется теми же кнопками. При замыкании кнопок SB-1 или SB-2 высокий логический уровень через логический элемент ИЛИ образованный диодами VD-6 и VD-7 поступает на затвор полевого транзистора VT-5,открывая его, и тем самым замыкая цепь питания двигателя. Это даёт возможность разделить цепи питания и управления, и использовать для управления миниатюрные слаботочные кнопки например тактовые кнопки и кроме того даёт возможность производить управление от внешнего устройства (например компьютера) подачей соответствующих логических уровней. Естественно через дополнительное устройство согласования. Можно ещё реализовать пошаговое управление, но не буду усложнять. Ведь это ПРОСТОЕ устройство. Диоды можно применить любые, кремниевые, какие влезут. Полевой транзистор следует выбирать исходя из напряжения питания и потребляемого тока применяемого двигателя. Полевых транзисторов сейчас продаётся много различной мощности с напряжениями сток-исток до сотен вольт и с токами стока до десятков ампер. Если применяется низковольтный двигатель, то желательно и транзистор выбирать низковольтный, так как у них меньшее сопротивление сток-исток, что предполагает меньшее падение напряжения и меньший нагрев и потери мощности.

По этой же причине желательно и в качестве VT1-VT5, так же использовать полевики с N-каналом. В этом случае сопротивление резисторов в цепи базы можно уменьшить, это не приведёт к перегрузке логических элементов. В исходной схеме не указан тип применённого стабилизатора, но я думаю, что 12вольт будет как раз. Следует учитывать, что мощные полевики, как правило, начинают интенсивно открываться при напряжении на затворе около 4 вольт и насыщаются при напряжении около 10 вольт. Вот вроде и всё. Изменённая схема и изменённая печатка прилагаются.