0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаговый двигатель управления подачей воздуха обороты холостого хода

Шаговый двигатель управления подачей воздуха обороты холостого хода

  • ШДК
  • Статьи
    • Схемы
      • Arduino
      • Управление шаговыми двигателями
      • Металлоискатели
      • разное
      • для Авто
      • разное на микроконтроллерах
      • всё на таймере NE555
      • Конструктор схем
      • Осциллографы
      • Измерительная аппаратура
      • Роботы
      • Световые эффекты,управление светом
      • Термостат
      • Инверторы и преобразователи
      • Защиты от перепадов напряжения
      • Паяльные станции
      • Аудио
      • Дозиметры
      • Часы
      • Выключатели, переключатели,ИК,РФ
      • Таймеры
      • КУБ светодиодный
    • Программаторы
      • PIC microchip
      • AVR ATmega и ATtiny
      • Общее
    • Электрические двигатели
      • машины постоянного тока
      • машины переменного тока
    • Генераторы
      • генератора независимого возбуждения
      • синхронный генератор
    • Авто-инжектор
      • Элементы ЭСУД, описание
    • Законы электротехники
      • Основные законы из ТОЭ и др.
    • Конкурсные работы 2015
    • Конкурсные работы 2014
    • Конкурсный работы 2013
    • Конкурсные работы 2012
  • Скачать
    • Программирование
    • Электрические расчеты
    • Электрические программы
    • Справочник
    • Книги по релейной защите
    • Авто
    • Библиотека электромонтера
    • Журналы
      • Everyday Practical Electronics
      • Радио
      • Радиоаматор
      • Радиолюбитель
      • Радиоконструктор
      • Схемотехника
      • Радио Хобби
      • Радиомир
      • Ремонт и сервис
      • Электрик
      • Elektor Electronics
    • Разное
      • Книги, разные
      • Программы,разные
  • Ссылки
    • Сайты связанные с электричеством
    • Авто сайты
  • Видео
    • Самоделки
    • Обучение Arduino
    • дуга,разряд,пожар.
    • Обучающие видео ролики
    • P-CAD Schematic
    • РОБОТЫ
    • Техническое обслуживание компьютера
    • Изготовление печатных плат
  • Проекты
    • Заказать прошивку
    • Регистрация программистов
    • С миру по байту
  • Информация
    • О сайте
    • Реклама
    • Добавить статью
    • Обратная связь
    • Обмен банерами
  • Электроника из Китая
  • В помощь студенту
    • Электрические машины
    • Эксплуатация релейной защиты

-увеличивающихся по мере прогрева двигателя .

Эти неисправности возникают и при неполадках в цепях управления шаговым мотором и могут быть определены при помощи тестера ДСТ -2 М , который позволяет задавать положение шагового мотора как параметр блока управления .
Выбрав режим управления исполнительными механизмами в тестере , нужно
подвигать шаговый мотор с помощью блока управления в ту или иную сторону . Если при
этом обороты двигателя не изменяются , расход воздуха оста ется постоянным , а система
определяет постоянное положение шагового мотора , неисправность шагового мотора или
цепей ег о управления очевидна .
Проверка шагового мотора с помощью тестера может и не дать результата .
Система будет правильно отрабатывать ваши попытки закрыть или открыть байпасный
канал . Но при этом при эксплуатации автомобиля останутся зависания оборотов при
отключении КПП и заглохания двигателя при движении накатом и невозможность
запуска двигателя без помощи дроссельной заслонки . Появление в комплексе этих
неисправностей говорит о неисправности шагового двигателя или его цепей управления .
И даже при исправных цепях шаговый мотор может просто неправильно выполнять
команды системы управления . Вместо движения вперед отрабатывает движение назад
или наоборот . Это можно наблюдать , если снять шаговый мотор и специальным тестером
задавать ему движения в разные стороны . Алгоритм управления шагового мотора
достаточно сложен , и сбои в его работе могут быть выявлены только специальным
тестером , например , ДСТ -6 Т .
Блок управления может выдавать код неисправности шагового мотора , но не
всегда это означает , что шаговый мотор или цепи его управления действительно вышли
из строя . К сожалению , этот код может появиться и при исправном шаговом моторе .Прежде чем разбираться с шаговым мотором , убедитесь , что заданные обороты
холостого хода в системе выставляются правильно по температуре двига?еля и режим
холостого хода определен в системе (положение дроссельной заслонки 0%).
Совет : Если смазывать механическую часть шагового мотора литолом , то он
работает значительно лучше и дольше . После смазки плохой шаговый мотор часто
восстанавливает свою работоспособность . Непонятно , почему этот вопрос не
продуман на заводе -изготовителе

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

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

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

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

Общие принципы работы шаговых двигателей

Внешний вид шагового двигателя 28-BYJ48 (купить на AliExpress) представлен на следующем рисунке:

Первый вопрос, который напрашивается при взгляде на этот рисунок – почему в отличие от обычного двигателя из этого шагового двигателя выходят 5 проводов различных цветов? Чтобы понять это давайте сначала разберемся с принципами работы шагового двигателя.

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

Как можно видеть из рисунка, двигатель имеет однополярную катушку с 5 выводами. Но фактически это 4 катушки, на которые нужно подавать питание в определенной последовательности. На красные провода необходимо подать +5V, на остальные 4 провода необходимо подать землю чтобы запустить в работу соответствующую катушку. Мы будем использовать плату Arduino чтобы подавать питание на эти катушки в определенной последовательности и тем самым заставлять двигатель вращаться. Более подробно ознакомиться с принципами работы шаговых двигателей можно в статье про подключение шагового двигателя к микроконтроллеру AVR.

Читать еще:  Что такое атмосферный двигатель для опель мокка

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

На первый взгляд от такого количества характеристик может закружиться голова, но давайте попробуем выделить из них самые важные, те, которые нам понадобятся для дальнейшей работы. Во-первых, мы знаем, что это шаговый двигатель 5V, поэтому необходимо подавать на красный провод 5V. Также мы знаем что это четырехфазный шаговый двигатель поскольку в нем четыре катушки. Передаточное число этого двигателя — 1: 64. Это означает, что вал, который вы видите снаружи, сделает одно полное вращение в том случае, когда двигатель внутри сделает 64 оборота. Это происходит благодаря шестерням, которые включены между двигателем и выходным валом. Эти шестерни помогают в увеличении крутящего момента.

Еще одним важным показателем, который нам следует знать, является угол шага: 5.625°/64. Это значит что когда двигатель сделает последовательность в 8 шагов он будет поворачиваться на 5.625° при каждом шаге и за один полный оборот он сделает 64 шага (5.625*64=360).

Расчет шагов на оборот для шагового двигателя

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

В Arduino для управления двигателем мы будем использовать 4-шаговую последовательность, поэтому угол шага будет составлять 11.25°. Поскольку изначально он равен 5.625°(приведен в даташите), то для 8 шаговой последовательности получим 11.25° (5.625*2=11.25).

Справедлива следующая формула:

Количество шагов за оборот = 360 / угол шага.

В нашем случае 360/11.25 = 32 шага за оборот.

Зачем нужен драйвер мотора для управления шаговым двигателем

Большинство шаговых двигателей будут работать только с помощью модуля драйвера мотора. Это связано с тем, что микроконтроллер (в нашем случае плата Arduino) не может обеспечить достаточный ток на своих контактах ввода/вывода для работы двигателя. Поэтому мы будем использовать внешний драйвер мотора для управления нашим шаговым двигателем — модуль ULN2003 (купить на AliExpress). В сети интернет можно найти рейтинги эффективности различных драйверов мотора, но эти рейтинги будут меняться в зависимости от типа используемого шагового двигателя. Основной принцип, которого следует придерживаться при выборе драйвера мотора – он должен обеспечивать достаточный ток для управления шаговым двигателем.

Работа схемы

Схема устройства представлена на следующем рисунке.

Чтобы подавать питание на соответствующие катушки шагового двигателя мы будем использовать цифровые контакты 8, 9, 10 и 11 платы Arduino, к которым подключены соответствующие контакты драйвера двигателей ULN2003. Потенциометр, с помощью которого мы будем управлять вращением шагового двигателя, подключен к аналоговому контакту A0 платы Arduino.

Драйвер мотора запитывается от контакта 5V платы Arduino. Но если вы будете подсоединять какую-нибудь нагрузку к шаговому двигателю, то вам потребуется внешний источник питания для драйвера мотора. Мы в нашем примере эксплуатируем шаговый двигатель без нагрузки, поэтому нам хватило питания от платы Arduino. И не забудьте соединить землю платы Arduino с землей драйвера мотора.

Объяснение программы для платы Arduino

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

Номер шагаКонтакты, на которое подается питаниеКатушки, на которое подается питание
Шаг 18 и 9A и B
Шаг 29 и 10B и C
Шаг 310 и 11C и D
Шаг 411 и 8D и A

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

Мы напишем программу, в которой необходимое количество шагов для двигателя мы будем вводить в мониторе последовательного порта (serial monitor) платы Arduino. Полный текст программы приведен в конце статьи, здесь же мы рассмотрим наиболее важные его фрагменты.

Как мы рассчитали ранее, полное число шагов для полного оборота нашего шагового двигателя, равно 32, пропишем это в следующей строчке кода:

#define STEPS 32

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

Stepper stepper (STEPS, 8, 10, 9, 11);

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

Мы будем использовать специальную библиотеку для работы с шаговыми двигателями, поэтому для задания скорости вращения шагового двигателя мы можем использовать команду вида:

Для двигателя 28-BYJ48 скорость вращения можно установить в диапазоне от 0 до 200.

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

Количество шагов, которое должен сделать двигатель, определяется переменной “val”. Поскольку мы имеем 32 шага (для оборота) и передаточное число 64 мы должны сделать 2048 (32*64=2048) “шагов” в этой команде для совершения одного полного оборота двигателя.

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

А один шаг против часовой стрелки:

В нашей программе мы будем считывать значение на аналоговом контакте A0 платы Arduino и сравнивать его с предыдущим значением (Pval). Если оно увеличилось, то мы будем делать 5 шагов двигателем по часовой стрелке, а если уменьшилось – то 5 шагов двигателем против часовой стрелки.

potVal = map(analogRead(A0),0,1024,0,500);
if (potVal>Pval)
stepper.step(5);
if (potVal

stepper.step(-5);
Pval = potVal;

Работа проекта

Когда вы сделаете все необходимые соединения в схеме данного проекта у вас должна получиться примерно следующая конструкция:

После этого загрузите программу в плату Arduino и откройте окно монитора последовательной связи (serial monitor). После этого вы можете вращать ручку потенциометра и наблюдать как в соответствии с ее поворотами шаговый двигатель будет вращаться по часовой и против часовой стрелки.

Исходный код программы

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

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 32. Следящий электропривод с шаговым двигателем.

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

В уроке я разработал две следящие системы с шаговым двигателем в качестве электропривода.

  • Одна использует драйвер на базе платы Ардуино из предыдущего урока и управляется от компьютера.
  • Второй следящий электропривод представляет собой автономное устройство, в котором положение вала двигателя задается переменным резистором.
Читать еще:  Двигатель ep6dt какое масло лить

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

Следящий электропривод.

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

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

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

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

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

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

Принцип реализации следящего электропривода на шаговом двигателе.

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

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

К достоинствам следящего привода на базе шагового двигателя следует отнести:

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

Следящий электропривод с управлением от компьютера.

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

Весь алгоритм управления реализован в программе верхнего уровня на компьютере.

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

Программу я назвал Tracker. Загрузить ее можно по этой ссылке:

Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!

Варианты подключения, первый запуск, установка номера порта абсолютно такие же, как в программе Thermometer (Урок 24). Для проверки удобнее использовать виртуальный порт, который создает драйвер Ардуино при подключении платы к компьютеру. Запускать программу Arduino IDE для этого не надо.

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

У меня собранное устройство выглядит так.

Прищепка выполняет роль стрелки положения вала двигателя.

Окно программы Tracker выглядит так.

Часть графических элементов управления аналогичны компонентам программы StepMotor из предыдущего урока.

  • Панель ”Скорость” позволяет задать скорость вращения.
  • С помощью панели “Режим” можно задать режим коммутации фаз и остановки двигателя.
  • Панель “Шаги” позволяет сделать произвольное количество шагов.

Надо только помнить, что данные с этих трех панелей передается в драйвер нажатием кнопок ”—>” рядом с соответствующими панелями.

  • Через панель “Параметры двигателя” можно задать число шагов двигателя на полный оборот и период коммутации фаз в программе драйвера (в моей программе 250 мкс).
  • Светодиод ”Обмен” сигнализирует о состоянии связи компьютера с драйвером. В нормальном режиме должен светиться зеленым.
  • Кнопки “– 1 шаг” и “+ 1 шаг” позволяют сделать по одному шагу по часовой и против часовой стрелки.

В программе появились новые элементы для управления следящим приводом.

Прежде всего, это шкала угла положения вала двигателя. На ней два указателя:

  • Заданного угла – треугольник зеленого цвета;
  • Реального угла – треугольник красного цвета.

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

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

Активная птичка ”Слежение” означает, что при перемещении указателя заданного угла двигатель оперативно (в реальном времени) отрабатывает положение. Т.е. вал реального двигателя следует за зеленым указателем.

Если птички ”Слежение” нет, то заданное значение отслеживается только по нажатию кнопки ”Пуск”.

Кнопка “Синхронизация” устанавливает оба указателя в нулевое положение. Используется для задания начального положения двигателя.

Я снял короткий фильм о работе следящего привода.

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

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

Ардуино проект следящего электропривода с управлением от переменного резистора.

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

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

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

К аналоговому входу A0 платы подключен переменный резистор по этой схеме.

У меня собранное устройство выглядит так.

Следящий привод должен поворачивать вал двигателя вслед за перемещением вала резистора. Управляет следящей системой программа платы Ардуино.

Резидентная программа следящего электропривода на Ардуино.

Скетч программы можно загрузить по этой ссылке:

Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!

Надеюсь, у Вас уже установлены библиотеки TimerOne.h и StepMotor.h.

Скетч программы небольшой.

// программа следящего электропривода без обратной связи

#include
#include

#define MEASURE_PERIOD 80 // время периода измерения (* 250 мкс)
#define numStepsMotor 400 // число шагов двигателя на оборот

int timeCount; // счетчик времени
long sumU; // переменные для суммирования кодов АЦП
long averageU; // сумма кодов АЦП (среднее значение * 80)
int currentStep; // текущее положение двигателя
int setStep; // заданное положение двигателя

StepMotor myMotor(10, 11, 12, 13); // создаем объект типа StepMotor, задаем выводы для фаз

void setup() <
Timer1.initialize(250); // инициализация таймера 1, период 250 мкс
Timer1.attachInterrupt(timerInterrupt, 250); // обработчик прерываний
myMotor.setMode(0, false); // шаговый режим, без фиксации при остановке
myMotor.setDivider(15); // делитель частоты 15
>

void loop() <
// проверка остановки двигателя
if( myMotor.readSteps() == 0) <
// двигатель остановился

// вычисление заданного положения
setStep = averageU * (numStepsMotor — 1) / 1023 / MEASURE_PERIOD;

// определение сколько шагов надо сделать
int stepsToDo; // сколько шагов надо сделать

stepsToDo = currentStep — setStep; // ошибка рассогласования

if( abs(stepsToDo) >= (numStepsMotor / 2) ) <

if((stepsToDo) > 0) stepsToDo -= numStepsMotor;
else stepsToDo += numStepsMotor;
>

myMotor.step(stepsToDo); // запуск двигателя
currentStep = setStep; // перегрузка текущего положения
>
>

// ————————————— обработчик прерывания 250 мкс
void timerInterrupt() <
myMotor.control(); // управвление двигателем

sumU += analogRead(A0); // суммирование кодов АЦП
timeCount++; // +1 счетчик выборок усреднения

// проверка числа выборок усреднения
if ( timeCount >= MEASURE_PERIOD ) <
timeCount= 0;
averageU= sumU; // перегрузка среднего значения
sumU= 0;
>
>

В программе измеряется и усредняется значение напряжения на аналоговом входе A0. Этот блок описан в уроке 13.

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

Вот короткий фильм о работе устройства.

У моего двигателя 400 шагов на оборот. Если Вы используете другой привод, то надо изменить строку

#define numStepsMotor 400 // число шагов двигателя на оборот

Двигатель работает в шаговом режиме без фиксации ротора при остановке. Режим задан в блоке setup, его легко можно изменить. В полу шаговом режиме число шагов двигателя надо задать в два раза большим. В моем случае:

#define numStepsMotor 800 // число шагов двигателя на оборот

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

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

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

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

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

К плате Arduino Nano подключены два двигателя, которые отслеживают положение по данным, заданным с интерфейса DMX.

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

Шаговый двигатель управления подачей воздуха на оборотах холостого хода — Opel Vectra A

7.33. Шаговый двигатель управления подачей воздуха на оборотах холостого хода

Отсоединение электрического разъема от шагового двигателя управления подачей воздуха на оборотах холостого хода

Отвинчивание винтов крепления шагового двигателя

Снятие шагового двигателя

1. Снимите блок обогревателя.

2. Снимите провод массы с аккумулятора.

3. Отсоедините электрический разъем от шагового двигателя (см. рис. Отсоединение электричес кого разъема от шагового двигателя управления подачей воздуха на оборотах холостого хода).

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

1. Установка производится в последовательности, обратной снятию с учетом следующих моментов:

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

Видео к материалу

повышенный холостой,как определить подсос воздуха опель вектра
ПРОБЛЕМА холостого хода Опель Вектра А 1.8i
Двигатель C18NZ Проблема плавающих оборотов на горячую. Опель Вектра А.
Настройка ДМРВ (Волюметра) на Пальцах с Нуля. Как правильно настроить расходомер?
Перебераем РХХ от Опель Омега 2.0I

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Вам могут быть полезны и другие материалы:

  • Проверка и регулировка топливной смеси на оборотах холостого хода — Opel Vectra A
  • Проверка клапана увеличения оборотов холостого хода — Opel Vectra A
  • Регулировка оборотов холостого хода и качества смеси. Каждые 15 000 км или 12 месяцев Opel Vectra A
  • Регулировка оборотов холостого хода и содержания СО — Opel Vectra A
  • Проверка и регулировка оборотов холостого хода — Opel Vectra A
  • Электромагнитный клапан холостого хода на моделях 1,8 л — Opel Vectra A
  • Регулятор оборотов холостого хода — Opel Vectra A
  • Проверка и регулировка оборотов холостого хода (дизельные двигатели). Каждые 15 000 км или 12 месяцев Opel Vectra A
  • Блок управления температурой поступающего в двигатель воздуха — Opel Vectra A

Как пользоваться нашей базой?

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты