Шаговый двигатель: интеграция с Arduino

Шаговый двигатель

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

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

Типы электродвигателей

в электродвигатели можно выделить следующие типы:

  • Двигатель постоянного или постоянного тока: Двигатели постоянного тока работают с этим типом тока, как следует из названия. Они могут иметь мощность от нескольких мВт до нескольких мВт в самых мощных и крупных, которые используются в промышленных приложениях, транспортных средствах, лифтах, конвейерах, вентиляторах и т. Д. Его скорость вращения (об / мин) и крутящий момент можно регулировать в соответствии с подачей.
  • Двигатель переменного или переменного тока (асинхронный и с фазным ротором): они работают с переменным током, с очень специфическим ротором, который работает благодаря фазам, которые этот тип тока вносит, чтобы генерировать вращение посредством магнитного отталкивания электромагнита аналогично тому, как это делают роторы постоянного тока. Они очень дешевые и доходят до нескольких кВт. У них можно регулировать скорость вращения, но элементы регулирования дороже, чем у постоянного тока. Их часто используют для бытовой техники.
  • Шаговый двигатель- Также известные как степперы, они во многом похожи на DC, но с низкими скоростями вращения и мощностью. Здесь выделяется позиционирование осей, то есть точность их установки в определенное положение. Их угол поворота и скорость можно сильно контролировать, поэтому раньше они использовались в дисководах для гибких дисков, жестких дисках (HDD), роботах, в системах автоматизации процессов и т. Д.
  • Серводвигатель: можно сказать, что это эволюция шагового двигателя, работающего с малой мощностью и скоростью, в некоторых случаях доходящей до 7000 об / мин. Этот двигатель включает в себя редукторную коробку и цепь управления. Они обладают той же точностью позиционирования, что и шаговые, и очень стабильны с точки зрения приложенного крутящего момента, что делает их идеальными для некоторых роботов и промышленных приложений.

Шаговые двигатели и серводвигатели

ротор и статор

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

drv8825
Теме статьи:
DRV8825: драйвер для шаговых двигателей

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

Эти шаги угловые стандартизированы, хотя встречаются и моторы с нестандартным шагом. Углы обычно составляют: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º и 90º. Чтобы вычислить, сколько шагов нужно шагому двигателю, чтобы совершить полный оборот (360º), вам просто нужно разделить. Например, если у вас шаговый двигатель 45º, у вас будет 8 шагов (360/45 = 8).

отжим с уклоном (фаза)

Среди этих двигателей у вас есть однополярный (самый популярный) с 5 или 6 кабелями или биполярный с 4 кабелями. В соответствии с этим будет осуществляться то или иное поляризационные последовательности пропускающий ток через его катушки:

  • Поляризация для биполярный:
Шаг Терминал A Терминал Б Терминал С Терминал D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
  • Для униполярный:
Шаг Катушка А Катушка B Катушка C Катушка D
1 +V +V 0 0
2 0 +V +V 0
3 0 0 +V +V
4 +V 0 0 +V

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

Если вы используете серводвигатель, вы уже знаете, что это в основном шаговый двигатель, поэтому все сказанное работает и для них. Единственное, что включает в себя эти редукторы, чтобы получить намного больше шагов за оборот и, следовательно, иметь гораздо более высокую точность. Например, вы можете найти двигатель с 8 ступенями на оборот, если бы у него была коробка передач 1:64, поскольку это означает, что каждая ступень из этих восьми подразделяется на 64 меньших шага, что дает максимум 512 шагов на оборот. То есть каждый шаг будет около 0.7º.

l298n
Теме статьи:
L298N: модуль управления двигателями для Arduino

Также добавьте, что вам следует использовать контроллер с помощью которого можно управлять поляризацией, скоростью и т. д., например, с помощью H-моста. Некоторые модели - L293, ULN2003, ULQ2003 и т. Д.

Dónde Comprar

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

Пример шагового двигателя с Arduino

Arduino с шаговым двигателем и контроллером

Наконец, покажите практический пример с Arduino, с использованием контроллера ULN2003 и шагового двигателя 28BYJ-48. Это очень просто, но вам будет достаточно, чтобы вы начали знакомиться с тем, как это работает, чтобы вы могли начать проводить некоторые тесты и посмотреть, как он себя ведет ...

Как видно в схема подключениякатушки двигателя A (IN1), B (IN2), C (IN3) и D (IN4) были назначены на соединения 8, 9, 10 и 11 соответственно на плате Arduino. С другой стороны, плата драйвера или контроллера должна быть запитана на ее выводах 5-12 В (на GND и 5 В Arduino) с соответствующим напряжением, чтобы он, в свою очередь, питал двигатель, подключенный к белому пластиковому разъему, который имеет этот драйвер или контроллер.

Este Двигатель 28BYJ-48 Это шаговый двигатель униполярного типа с четырьмя катушками. Поэтому, чтобы дать вам представление о том, как это работает, вы можете отправлять значения HIGH (1) или LOW (0) с платы Arduino на катушки, как показано ниже для шагов:

Шаг Катушка А Катушка B Катушка C Катушка D
1 ВЫСОКАЯ ВЫСОКАЯ LOW LOW
2 LOW ВЫСОКАЯ ВЫСОКАЯ LOW
3 LOW LOW ВЫСОКАЯ ВЫСОКАЯ
4 ВЫСОКАЯ LOW LOW ВЫСОКАЯ

Относительно эскиз или код, необходимый для программирования вашего движения, так как это было бы следующим использованием Arduino IDE (измените его и поэкспериментируйте, чтобы проверить, как изменяется движение):

// Definir pines conectados a las bobinas del driver
#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11

// Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes
int paso [4][4] =
{
  {1, 1, 0, 0},
  {0, 1, 1, 0},
  {0, 0, 1, 1},
  {1, 0, 0, 1}
};

void setup()
{
  // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

// Bucle para hacerlo girar
void loop()
{ 
    for (int i = 0; i < 4; i++)
    {
      digitalWrite(IN1, paso[i][0]);
      digitalWrite(IN2, paso[i][1]);
      digitalWrite(IN3, paso[i][2]);
      digitalWrite(IN4, paso[i][3]);
      delay(10);
    }
}


Будьте первым, чтобы комментировать

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

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.