Сервопривод: как использовать серводвигатель с Arduino

сервопривод, серводвигатель

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

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

Что такое сервопривод?

сервопривод

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

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

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

Разница между шаговым двигателем и серводвигателем

Нема 17

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

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

технические характеристики

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

Например, если вы посмотрите на один из самых популярных, Micro Servo 9G SG90 от известная фирма Tower Pro, то у вас будут очень своеобразные характеристики, хотя программирование и подключение моделей более или менее одинаковы, и все сказанное здесь полезно для всех.

В случае этой модели это высококачественный мотор с углом поворота, который позволяет развертка от -90 до 90º, то есть полный поворот на 180 °. Разрешение, которого вы можете достичь, очень высокое, так что вы сможете продвигаться очень мало-помалу. Например, с ограничениями сигнала ШИМ Arduino UNO, вы даже можете продвигаться из класса в класс.

Точно так же сигнал PWM также накладывает другой предел, и это количество раз, которое каждая позиция может измениться за единицу времени. Например, поскольку импульсы работают с интервалом от 1 до 2 мс и с Периоды 20 мс (50 Гц), то сервопривод может перемещаться каждые 20 мс.

Кроме того, он будет весить 9 грамм и, несмотря на такой вес и компактные размеры, сможет развить крутящий момент или крутящий момент 1.8 кг / cм с 4.8в. Это благодаря шестеренке из ПОМ.

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

Где купить сервопривод

серводвигатель

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

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

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

сервопривод arduino

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

  • Красный с 5В
  • Черный с GND
  • Желтый с выводом ШИМ Arduino, в данном случае с -9.

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

  1. Откройте Arduino IDE.
  2. Перейти в программу.
  3. Затем включите библиотеку.
  4. Сервопривод

Относительно код эскизаЭто может быть так просто, когда сервопривод будет проходить свои позиции, останавливаясь на 0º, 90º и 180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

Теперь, если хочешь перемещать его от степени к степени, то это будет так:

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


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

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

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

*

*

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