Контроллер биполярного шагового двигателя

Теория.

Схема ШД

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


Полношаговый режим обеспечивает номинальное кол-во шагов ШД на оборот и 90% момента двигателя. Полушаговый - двойное кол-во шагов от номинального и меньший момент, нежели чем в полношаговом режиме. Wave drive обеспечивает 50% момента и полное кол-во шагов; не реализован из-за ненадобности, но возможен на железе контроллера. Микрошаговый в данном контроллере не применяется, так что предлагаем читателям ознакомиться с документацией самостоятельно.

Описание.

Контроллер предназначен для управления одним биполярным шаговым двигателем. Основа схемы — микроконтроллер ATMega8 (или Mega48/88/168, главное чтобы был корпус TQFP32 и достаточно памяти для прошивки), обеспечивающий логику работы и двойной H-мост L293B(КР1128КТ3А), который обеспечивает коммутацию обмоток двигателя. Согласно документации L293B в схему включены 8 диодов 1N4001, чтобы защитить микросхему от выбросов обратного напряжения.
Цель создания контроллера - управление ШД для разных радаров или других устройств, не требующих большого момента. Если нужен большой момент (и ток), следует прикрепить к H-мосту радиатор, а лучше вообще переразвести плату и использовать L298. В качестве радиатора в штатном режиме выступают две области меди слева сверху и справа снизу.
Для напряжения питания 5В впаивается диод Шоттки (1N5820, можно заменить практически на любой), для других напряжений - регулятор напряжения 78L05. Напряжение электролитического конденсатора на входе (C8) должно быть больше напряжения питания! Иначе он быстро скончается.
В качестве сенсора нуля может применять оптопары с floppy-дисководов (с 3,5" опробованы), оптопары с мышей или просто оптопары а также любые другие сенсоры, дающие логическую 1 на отметке о нулевом положении.
Подтягивающие резисторы (R7, R8, R10) припаиваются только если очень нужно. По умолчанию, их роль выполняют встроенные в МК.

Электрические характеристики.

Uп (напряжение питания) = 5В(6.7В-35В).

Iмакс. (максимальный потребляемый ток) = 1А.

Принципиальная схема.

Описание разъемов.

Примечание №1: везде, где у разъемов важен порядок пинов, первый пин отмечен круглой контактной площадкой.
Примечание №2: Для защиты от кривых рук неправильного включения рекомендуются разъемы с ключом (WF, например).

CONTROL Разъем управления.

  1. DIR - направление вращения двигателя. 0 - CW, 1 - CCW.
  2. ZERO - перевести двигатель в нулевое положение. До остановки двигатель движется в направлении DIR.
  3. ZERO_POS - выдаёт 1, когда двигатель находится в нулевом положении.
  4. STEP - по восходящему фронту сигнала происходит шаг двигателя.

PROGRAM SPI Интерфейс для программирования.

  1. GND.
  2. RESET.
  3. SCK.
  4. MISO.
  5. MOSI.

SENSOR Разъем сенсора нулевого положения.

  1. SENSOR - линия сенсора, 1 - соотв. нулевому положению.
  2. Vсс.
  3. GND.

POWER Питание. Плюс предусмотрительно помечен плюсом.

J1 Джампер полношагового/полушагового режима. Когда джампер установлен - полношаговый режим.

MOTOR 1 Разъем мотора. Относительно линий мотора замечены следующие виды подключений (относительно контактов двигателя): 1234 (шаговики с принтеров Epson) 1324 (c CDROMов). В зависимости от того, как воткнуть (1234 или 4321) меняется направления вращения. Если ШД дергается туда-сюда, не двигаясь, или дергается туда-сюда при движении, значит, мотор включен неправильно.

UART и PWM Пока не используются => распаивать их не надо. Вообще, через PWM и ближний пин разъема программатора можно вывести ШИМ или какой-то сигнал с waveform генератора МК (36КГц например), что полезно для создания радара на базе железа контроллера. UART тоже можно использовать. Но в прошивке этого нету, поэтому придется докодить самостоятельно.

Список деталей.

Вместо 0805 подойдут и 0603, но надо уметь их паять. Вместо 1к и 330ом резисторов, по идее, подойдут любые токограничительные для логического сигнала, но не тестировалось.
ЭлементКорпусКол-во
ATmega8(88/48/168/328)TQFP321
L293B(КР1128КТ3А)DIP161
Кварцевый резонатор 8МгцЖелательно усеченный1
1N4001DO418
1N5820 (78L05)DO41 (SOT89)1
Конденсатор электролит. 47мкФ/16ВРадиальный2
Резистор 1кОм08051
Резистор 10кОм08051
Резистор 330Ом08054
Конденсатор 0,1 мкФ08053
Конденсатор 15пФ08052
WF-5WF-51
WF-4WF-42
WF-3WF-31
WF-2WF-21
PLS-2PLS-21

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

Все "красные" соединения - воздушки.

Файлы


Автор: Ромм Аркадий. Использованы изображения с http://stepmotor.ru/articles/vidy_sd.php и http://stepmotor.ru/articles/stat2.php