DRV8825: драйвер для шаговых двигателей

drv8825

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

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

Зачем мне драйвер?

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

Типы драйверов

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

  • Драйвер для униполярного двигателя: ими проще всего управлять, поскольку ток, протекающий через катушки, всегда идет в одном и том же направлении. Работа водителя просто должна знать, какие катушки он должен активировать при каждом импульсе. Примером контроллера этого типа может быть ULN2003A.
  • Драйвер для биполярного двигателя: эти моторы более сложные и их драйверы тоже, как у DRV8825. В этом случае они могут быть активированы током в одном или другом направлении (север-юг и юг-север). Именно драйвер определяет направление изменения полярности магнитного поля, создаваемого внутри двигателя. Самая известная схема для изменения направления называется Punete H, позволяющая двигателю вращаться в обоих направлениях. Этот H-мост состоит из нескольких транзисторов.

Последние стали еще более популярными в последние годы, потому что они также включены в некоторые 3D принтеры управлять печатью с головы. Вполне возможно, что если вы собираетесь установить 3D-принтер или если он у вас уже есть, вам понадобится один из них, чтобы иметь возможность управлять двигателем или заменить эту деталь, если она была повреждена. Они также используются для роботов, плоттеров, обычных принтеров, сканеров, электронных транспортных средств и т. Д.

DRV8825

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

DRV8825 позволяет работать с напряжениями выше, чем у A4988, поскольку он может достигать 45 В вместо 35v A4988. Он также может выдерживать более высокие токи, в частности 2.5 А, что на половину ампер больше, чем у A4988. В дополнение ко всему, этот новый драйвер добавляет новый микрошаговый режим 1/32 (1/16 для A4988), чтобы иметь возможность более точно перемещать вал шагового двигателя.

в противном случае они очень похожи. Например, оба без проблем могут достигать высоких рабочих температур. Поэтому, если вы сопровождаете их небольшим радиатором, намного лучше (многие модели уже включают его), особенно если вы собираетесь использовать его выше 1А.

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

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

Микрошаг

микрошаговый

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

Но, конечно, вы не можете получить этот аналоговый сигнал, потому что мы работаем с цифровыми сигналами. Вот почему их следует лечить, чтобы попытаться имитировать аналоговый сигнал за счет небольших скачков электрического сигнала. От этого будет зависеть разрешающая способность мотора: 1/4, 1/8, 1/16, 1/32, ...

Чтобы выбрать желаемое разрешение, вы должны управлять выводами M0, M1 и M2 модуля. Контакты подключаются к земле или GND через подтягивающие резисторы, поэтому, если ничего не подключено, они всегда будут иметь LOW или 0. Чтобы изменить это значение, вам придется установить значение 1 или HIGH. В значения M0, M1, M2 соответственно, те, которые должны соответствовать разрешению, это:

  • Полный шаг: низкий, низкий, низкий
  • 1/2: высокий, низкий, низкий
  • 1/4: низкий, высокий, низкий
  • 1/8: высокий, высокий, низкий
  • 1/16: низкий, низкий, высокий
  • 1/32: все другие возможные значения

Распиновка

Распиновка DRV8825

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

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

  1. Подключите драйвер к напряжению без подключенного двигателя или микрошага.
  2. Измерьте мультиметром напряженность который существует между GND и потенциометром.
  3. Отрегулируйте потенциометр пока не будет правильного значения.
  4. Теперь вы можете выключить питание.
  5. На данный момент да, ты можешь подключить мотор. И снова подключите питание к водолазу.
  6. С помощью мультиметра интенсивность между водителем и двигателем шаг за шагом, и вы сможете выполнить более точную настройку потенциометра.
  7. Снова выключите питание и теперь вы можете подключить его к Arduino.

Если вы не собираетесь использовать микрошагом можно регулировать интенсивность регулятора до 100% номинального тока двигателя. Но если вы собираетесь его использовать, вы должны уменьшить этот предел, так как значение, которое затем будет циркулировать, будет выше измеренного ...

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

Интеграция с Arduino

Схема ARduino и DRV8825

Чтобы использовать драйвер DRV8825 с Arduino, подключение довольно простое как вы можете видеть вверху на этой электронной схеме от Fritzing:

  • VMOT: подключен к источнику питания до 45 В.
  • GND: земля (двигатель)
  • SLP: при 5 В
  • RST: при 5 В
  • GND: на землю (логика)
  • STP: к контакту 3 Arduino
  • DIR: к контакту 2 Arduino
  • A1, A2, B1, B2: на шаговый двигатель (двигатель)

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

const int dirPin = 2;
const int stepPin = 3;
 
const int steps = 200;
int stepDelay;
 
void setup() {
   // Configura los pines como salida
   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
}
 
void loop() {
   //Se pone una dirección y velocidad
   digitalWrite(dirPin, HIGH);
   stepDelay = 250;
   // Se gira 200 pulsos para hacer vuelta completa del eje
   for (int x = 0; x < 200; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
 
   //Ahora se cambia la dirección de giro y se aumenta la velocidad
   digitalWrite(dirPin, LOW);
   stepDelay = 150;
   //Se hacen dos vueltas completas
   for (int x = 0; x < 400; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

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

к Дополнительную информацию про шаговые двигатели, их управление и программирование Arduino рекомендую скачать наш курс программирования бесплатно.


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

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

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

*

*

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

  1.   Иисус сказал

    Здравствуйте, я собираю самодельный ЧПУ с drv8825, у меня вопрос, могу ли я поставить моторы nema 23 2.8a, так как они несколько дешевле, чем 2.5a, возникнут ли у меня проблемы? Спасибо

    1.    Исаак сказал

      Привет Иисус,
      Спасибо, что прочитали нас. Что касается вашего вопроса, следите за драйвером, который вы собираетесь использовать, чтобы он был совместим с этими двигателями. Корпус DRV8825 рассчитан на максимум 2.5 А. Посмотрите на TB6600, который, если я правильно помню, может подниматься до 3.5 А ...
      Приветик!

  2.   Родольфо сказал

    Салаудос. Какова емкость электролитического конденсатора в блоке питания двигателя. Спасибо.