====== Шаговый мотор 17HS4401 ======
===== Описание =====

Мощный шаговый мотор 17HS4401 предназначен для использования в координатных станках с ЧПУ, 3D принтерах, а также в других устройствах, где необходимо точное позиционирование и высокий крутящий момент. С помощью данного мотора можно осуществлять позиционирование с точностью шага 1,8°. 

Мотор выполнен в стандартном типоразмере Nema 17 с размером 42 мм, что является наиболее популярным типоразмером в промышленных и любительских устройствах. Для установки и крепления мотора к поверхности используйте специально предназначенное для этих целей крепление.

Мотор относится к типу биполярных и имеет 4 провода для подключения. Каждая пара проводов подключена к краям своей обмотки ротора. Последовательная активация обмоток с помощью тока приводит дискретным угловым перемещениям (шагам) ротора.

==== Технические характеристики ====
  * Номинальное напряжение (постоянный ток): 3,6 В
  * Максимальный потребляемый ток: 1,7 А
  * Тип: биполярный
  * Количество фаз: 2
  * Угловой шаг: 1,8°
  * Точность шага: 0,09°
  * Количество шагов на полный оборот: 200
  * Крутящий момент: 5,5 кг·см
  * Момент удержания: 2,8 кг·см
  * Максимальная скорость вращения: 1900 шагов в секунду
  * Сопротивление фазы: 1,5 Ом
  * Индуктивность фазы: 2,8 мГн
  * Диаметр вала: 4 мм
  * Длина вала: 21 мм
  * Вес: 280 г

==== Физические размеры ====
  * Габаритные размеры Д х Ш х В: 42 х 42 х 40 мм

==== Подключение ====
Для управления шаговым мотором с помощью контроллера потребуется специальный драйвер. В качестве драйвера можно использовать драйвер TB6612 или Motor Shield. Также для работы мотора потребуется внешнее питание.

Шаговый мотор имеет 17HS4401 4 вывода по два на каждую обмотку: черный и зеленый / синий и красный.

<WRAP center round info 60%>
Специальная библиотека для работы с мотором не требуется. Достаточно библиотеки **Stepper**, которая автоматически устанавливается с Arduino IDE.
</WRAP>

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

^ Что нужно                                                                                                             ^ Количество  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart Uno]]  | 1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]  | 1           |
| [[https://smartelements.ru/collection/motory-dravery-shassi/product/shagovyy-motor-17hs4401|Шаговый мотор 17HS4401]]  | 1           |
| [[https://smartelements.ru/collection/motory-dravery-shassi/product/drayver-motorov-tb6612|Драйвер моторов TB6612]]  | 1           |

**Схема подключения:**
{{ :main:motors:motor_17hs4401_lesson.png?nolink&800 |}}

**Скетч для загрузки:**
<file Arduino>
#include <Stepper.h>

const int stepsPerRevolution = 200;  // количество шагов, за которые вал выполняет полный оборот

Stepper myStepper(stepsPerRevolution, 4, 6, 5, 7); // создание объекта мотора для управления им

void setup() {
  myStepper.setSpeed(100); // установка скорости вращения мотора (оборотов в минуту)
}

void loop() {
  myStepper.step(1); // сделать один шаг по часовой стрелке
  delay(100); // задержка 100 мс
}
</file>

==== Пример 2. Движение на различные углы ====
**Задача:** Пример, иллюстрирующий выполнение мотором несколько шагов, поворачиваясь на заданный в скетче угол.

^ Что нужно                                                                                                             ^ Количество  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart Uno]]  | 1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor Shield]]  | 1           |
| [[https://smartelements.ru/collection/motory-dravery-shassi/product/shagovyy-motor-17hs4401|Шаговый мотор 17HS4401]]  | 1           |
| [[https://smartelements.ru/collection/motory-dravery-shassi/product/drayver-motorov-tb6612|Драйвер моторов TB6612]]  | 1           |

**Схема подключения:**
{{ :main:motors:motor_17hs4401_lesson.png?nolink&800 |}}

**Скетч для загрузки:**
<file Arduino>
#include <Stepper.h>

const int stepsPerRevolution = 200;  // количество шагов, за которые вал выполняет полный оборот

Stepper myStepper(stepsPerRevolution, 4, 6, 5, 7); // создание объекта мотора для управления им

void setup() {
  myStepper.setSpeed(20); // установка скорости вращения мотора (оборотов в минуту)
}

void loop() {
  myStepper.step(25); // сделать поворот на 45 градусов (25 шагов по 1,8 градуса)
  delay(1000); // задержка  1с
  myStepper.step(50); // поворот на 90 градусов
  delay(1000); // задержка 1с
  myStepper.step(100); // поворот на 180 градусов
  delay(1000); // задержка 1с
  myStepper.step(-200); // выполнить разворот на 360 градусов против часовой стрелки
  delay(1000); // задержка 1с
}
</file>