Двигатель в протеус схема

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

Теория.

Управление биполярным шаговым двигателем (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 тоже можно использовать. Но в прошивке этого нету, поэтому придется докодить самостоятельно.

Читать еще:  Nissan navara характеристики двигателя

AVR Lab устройства на микроконтроллерах AVR

Форум по AVR

  • не работает программа из примера про пролистывания меню
  • sinaprog не работает
  • Пароль к архивам на сайте
  • Пароль
  • HDD и прерывания — доработка программы из статьи /node/220

Управление шаговым двигателем с помощью AVR микроконтроллера ATmega8

  • atmega8
  • avr
  • L293DNE
  • stepper motor
  • шаговый двигатель

Управление шаговым двигателем с помощью AVR микроконтроллера ATmega8

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

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

Рис. 1

У униполярного шагового двигателя есть 4-ре обмотки соединенные по схеме показанной на рис. 1
Принцип работы униполярного шагового двигателя следующий: поочередно на каждую из 4-х обмоток подается напряжение положительной полярности, в это время общий вывод соединен с отрицательным проводом питания. Получается за каждую коммутацию(подачу напряжения на одну из 4-х обмоток) ротор шагового двигателя смещается на один шаг, ширина этого шага зависит от конструкции самого шагового двигателя, для униполярного шагового двигателя показанного на рис. 2 и рис. 3 шаг составляет примерно:
22х8=176(шагов)
365/172=2,104 градуса.


рис. 2


рис. 3

Его я успешно выкурочил из древнего привода магнитных дисков размером 5,25 дюйма, кстати привод известной фирмы TEAC ))) Данный шаговый двигатель выполнял функцию перемещения магнитной головки по пазу в дискете, собственно через который и считывалась вся информация с магнитного диска.
Для управления этим шаговым двигателем при помощи микроконтроллера нам понадобится собрать силовой каскад, сам микроконтроллер просто сгорит, если подключить униполярный шаговый двигатель напрямую к его портам. В качестве силового каскада можно успешно применить 4 пары полевых транзистора из уже известной сборки IRF7105(схема показана на рис. 5),

Рис. 5
или четыре мощных биполярных транзистора или если у вас есть лишние деньги, можно воспользоваться драйвером мощной нагрузки, таким как микросхема L293 или L293DNE что практически одно и то же. Я пользовался именно драйвером L293DNE.

Принципиальная схема включения шагового двигателя через драйвер L293DNE:

Алгоритм управления униполярным шаговым двигателем очень простой, необходимо выполнять поочередную коммутацию четырех обмоток двигателя. То есть выдавать на четыре бита порта микроконтроллера последовательность типа:
1000
0100
0010
0001

Соответственно крутим поочередно обмотки A, B, C, D:
1000 — обмотка A
0100 — обмотка B
0010 — обмотка C
0001 — обмотка D

Данный вид коммутации называется «полношаговым режимом», то есть за каждую коммутацию происходит смещение ротора шагового двигателя на один целый шаг. Так же существует «полушаговый режим», коммутация обмоток при полушаговом режиме следующая:
1000 — 1-е пол шага обмотки А
1100 — 2-е пол шага обмотки А
0100 — 1-е пол шага обмотки B
0110 — 2-е пол шага обмотки B
0010 — .
0011 — .
0001 — .
1001 — 2-е пол шага обмотки D

Читать еще:  Эффективные показатели работы двигателя определение

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

Программа подходит для любого микроконтроллера AVR Attiny2313, Atmega8, Atmega16.
Итак, вот и сама программа (программа для полношагового режима):

Таким образом скорость вращения шагового двигателя будет замедлятся или ускорятся в зависимости от того, будут вы увеличивать (m=m+1;) или уменьшать (m=m-1;) время задержки между командами.

Хочу сказать что униполярные шаговые двигатели не очень мощные, то есть использовать их для перемещения предмета весом больше 40-80 грамм нет смысла, он просто не потянет. Тем более в полушаговом режиме. Для таких целей лучше всего применять шаговые двигатели из принтеров, те которые перемещают каретку с печатной головкой принтера.
Для экономичного управления униполярным шаговым двигателем необходимо отключать напряжение на обмотках во время простоя, то есть не давать обмотке шагового двигателя все время находится под напряжением, так как это приводит к нагреву самого шагового двигателя и соответственно к большой потере энергии (хотя конечно если преследуете цель обогрева помещения при помощи ШД тогда да 🙂 ). Максимальная скорость вращения ротора униполярного шагового двигателя не столь велика, её можно определить при помощи небольшого кусочка, который я разместил в самом низу программы. То есть для устройств требующих больших скоростей вращения униполярные шаговые двигатели не годятся.

Если не ошибаюсь IRF это не

Если не ошибаюсь IRF это не логического уровня, берите IRL и будев вам счастье.

Работа в Proteus. Часть 4

К сожалению, разработчики этой программы не особо тревожились по поводу универсальности моделирования USB интерфейса и предоставили эту функцию в качестве «бонуса». Поэтому смоделировать работу USB получится лишь с теми микроконтроллерами, в которые встроен готовый модуль USB. Но иногда бывает и это полезно.

Сам разъем USB в библиотеке PROTEUS можно найти в разделе «connectors». В настройках модели USB порта в PROTEUS лазить не следует, это обусловлено тем, что их там просто не имеется.

Так как в PROTEUS возможна симуляция работы только микроконтроллеров со встроенным модулем USB, то я остановился на микроконтроллере PIC18F4550. Собственно схема — это USB драйвер шагового двигателя, например двигателя от флоппи дисковода (униполярного). Вот собственно схема:

Кроме микроконтроллера и двигателя есть еще одна микросхема-«драйвер» двигателя (более подробную информацию можно найти на сайте-первоисточнике).Для управлением двигателем потребуется программа usbstep (она находится в архиве).

При первом виртуальном подключении нашего устройства к компьютеру он запросит драйвер как и при реальном соединении. Драйвер лежит в архиве, просто нужно распаковать архив, и указать путь к папке «драйвер». После этого действия компьютер опознает устройство как «USB Stepping Motor Control».Далее запускаем программу usbstep и жмем «connect».Если все пройдет успешно, то в окне программы usbstep начнут подсвечиваться кнопки Turn left и Turn right.Сразу можно испытать конструкцию, так при нажатии кнопки Turn left вал двигателя должен вращаться влево , а при нажатии Turn right, соответственно вправо. Еще раз напоминаю: НЕ ПЫТАЙТЕСЬ СМОДЕЛИРОВАТЬ РАБОТУ USB С МИКРОКОНТРОЛЛЕРАМИ У КОТОРЫХ ЭТА ФУНКЦИЯ НЕ ЯВЛЯЕТСЯ ВСТРОЕННОЙ! Вы лишь потратите свое время!

Читать еще:  Винтовая характеристика авиационного двигателя

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

Для управления используется программка, которая называется RealControl 4.0 (она находится в приложенном к проекту архиве).

Так как это всего лишь COM порт, то специальные драйвера не нужны. Так сказать «запускаем и смотрим». Но все же некоторые нюансы имеются. Так, в этой программе можно настроить таймер включения двигателя и период включения.

Кроме всего хорошего в PROTEUS имеется и один недостаток (по крайней мере в некоторых версиях)-неправильно указаны названия пинов COM порта. Но это так сказать «между прочим». Что касается самой схемы, то здесь можно подключить вход усилителя тока выполненного на транзисторе Q1 как к 8 так и к 1 и 6 выводам COM порта, это обусловлено особенностями программы RC4.

На этом цикл статей о работе в среде PROTEUS завершен. Надеюсь, что смог вам помочь разобраться в основном, удачи!

Драйвер биполярного шагового двигателя на Attiny261

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

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

Драйвер запитан от источника постоянного напряжения 12В. Диод VD1 (1N4007) защищает схему от ошибочного подключения полярности входного напряжения, а конденсаторы С2…С5 выполняют роль фильтра питания.

Входное напряжение подается на стабилизатор напряжения DA1 (78L05), который обеспечивает необходимое напряжение +5 В для работы микроконтроллера.

Работой драйвера шагового двигателя управляет микроконтроллер DD1 (ATtiny261), работающий от внутреннего тактового генератора.

Непосредственное силовое управление шаговым двигателем осуществляется микросхемой DD2 (L293D), представляющая собой сборку из двух H-мостов.

Потенциометр R1 используется для регулировки скорости вращения. Светодиод HL1 показывает состояние работы устройства.

Переключатели Direct и Start/Stop используются для управления выбором направления вращения и торможением двигателя, соответственно.

Перемычки 1/0,5 и ST/DY используются для настройки режима работы драйвера. Перемычка 1/0,5 используется для выбора режима работы двигателя. Если перемычки нет — пошаговая работа, перемычка установлена ​​- полшага.

Пошаговая работа является самым простым способом управления шаговым двигателем, а полушаговая работа заключается в добавлении промежуточных состояний в управлении. На практике это приводит к плавной работе двигателя, но увеличивает потребление тока примерно на 50-60%.

Перемычка ST/DY предназначена для выбора способа торможения двигателя. Нет перемычки — статическое торможение, перемычка установлена – динамическое торможения.

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

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

Все изменения в конфигурации контроллера, сделанные с помощью перемычек 1/0,5 и ST/DY, будут активны только после сброса напряжения питания.

Схема в Proteus:

Скачать прошивку и модель в Proteus (16,3 KiB, скачано: 677)

Ссылка на основную публикацию