вторник, 12 февраля 2013 г.

контролер шагового двигателя на атмеге16

On Int0 Knopka1                       'даем имена обработчикам внешних прерываний

Dim S As Byte                         'эта переменная следит за номером шага двигателя

 Существует несколько алгоритмов управления питанием обмоток двигателя. Самым простым является полношаговое управление, когда в любой момент времени запитана только одна из половинок обмоток. Для наглядности накидал табличку показывающую последовательность включения обмоток:  Ротор при таком управлении принимает естественное положение относительно статора. Есть еще способ управления шаговиком в полношаговом режиме, когда одновременно запитываются две фазы, таким образом удается увеличить момент на валу на 40%.  Главным недостатком полношагового управления являются аццкие вибрации двигателя и малая дискретность шага, равная паспортному значению. Для того чтобы уменьшить вибрации и добится более плавного и точного вращения вала существует более продвинутый способ - управление в полушаговом режиме, алгоритм включения половинок обмоток приведен ниже:  При такой работе вал двигателя за один цикл совершает половину шага и фиксируется между двумя естественными состояниями равновесия. Таким образом дискретность поворота вала увеличивается в 2 раза.  Есть еще способ увеличить дробленеи шага ротора двигателя - микрошаговое управление - когда обмотка не просто запитывается, а запитывается определенным током. И от отношения тока в соседних обмотках зависит положение ротора - чем больший ток течет в обмотке по отношению к соседней, тем ближе к ней смещается ротор и наоборот. Это позволяет увеличить дробление шага в десятки и сотни (!)  раз.  С теорией немного разобрались, теперь нужно выбрать в каком режиме будет управляться двигатель. Полный шаг слишком убог и не эффективен, микрошаг сложен, да и нужен он в основном в управлении приводом высокоточного ЧПУ станка. Поэтому крутить будем в полушаге :) Схема базируется на микроконтроллере attiny2313 и имеет две кнопки. При нажатии на одну вал двигателя будет крутиться в одну сторону, при нажатии другой - в другую. В качестве ключевых транзисторов выбраны КТ829, способные протащить через себя до 8 Ампер.     К клемме Udvig подключаются выводы от середин обмоток и туда же подводится напряжение для питания обмоток. Величина напряжения зависит от самого двигателя, для моего например по документации максимальный ток в обмотках 1,5 Ампера, измерив сопротивление обмоток получил 2 Ома, отсюда вывод что напряжение питания не должно превышать 3 В ну или немного больше, учитывая что запитываться будет индуктивная нагрузка. Кстати диоды D2-D5 стоят для того, чтобы гасить скачки обратного напряжения после закрытия транзистора. Иначе есть вероятность что ЭДС самоиндукции возникающая во время выключения питания обмотки пробъет транзистор. Плата управления в сборе:  Красный светодиод загорается при нажатии одной из кнопок. Разъем подключения контроллера по UART сделал опционально, на случай если нужно будет приделать управление шаговиком с компа.Код в Bascom-AVR:

Их можно встретить преимущественно в старой технике: принтерах, копирах, дисководах (5-и дюймовых) и еще много где.  В зависимости от от того как соединены средние обмотки внутри, из двигателя могут выходить 5 или 6 проводов. Разницы никакой нет, все равно средние выводы обмоток соединяются вместе. Характерной особенностью шаговых двигателей является дискретность поворота ротора, тоесть если взять и покрутить вал двигателя можно ощутить как он фиксируется в определенных моментах. Это и есть шаги двигателя. При запитывании одной из половины обмоток происходит фиксирование вала двигателя в определенном положении. Если снять напряжение с этой обмотки и запитать другую, ротор повернется и зафиксируется в другом положении. Таким образом, если запитывать обмотки в определенной последовательности можно добиться вращения вала двигателя. 

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

Крутим шаговый двигатель

Вторник, 05.02.2013, 23:34

Крутим шаговый двигатель - Как подключить - AVR project.ru - Проекты на микроконтроллерах AVR

Комментариев нет:

Отправить комментарий