Рубрики
Схемы на MSP430

Подключение шагового двигателя к MSP430G2

В данной статье мы рассмотрим подключение шагового двигателя к плате MSP430G2. MSP-EXP430G2 представляет собой плату разработки, также известную как LaunchPad, от компании Texas Instruments. Данная плата позволяет производить программирование всей линейки микроконтроллеров MSP430. Если вы только начали знакомство с данной платой, то рекомендуем прочитать статью про начало работы с ней.

Также на нашем сайте мы рассматривали подключение шагового двигателя к другим микроконтроллерам (платам):

Необходимые компоненты

  1. Плата MSP430G2 LaunchPad (купить на AliExpress).
  2. Шаговый двигатель 35BYJ46 или 28-BYJ48 (купить на AliExpress).
  3. Микросхема ULN2003 (купить на AliExpress).
  4. Соединительные провода.
  5. Макетная плата.

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

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

В нашем проекте мы будем использовать биполярный шаговый двигатель 35BYJ46, который сравнительно дешево стоит и который достаточно просто купить практически в любом соответствующем магазине. Он содержит 6 проводов, но существуют его модификации и с 5 проводами. Он содержит 2 катушки, к каждой из которых подходит по 3 провода – один к центральной части катушки и два другие провода подключаются к концам катушки. Таким образом, у нас есть 4 сигнальных провода и 2 провода, подключенных к центральным частям катушек. Все они подключаются к источнику напряжения 5-12V.

Если проводов не 6, а 5, то для подключения к центральным частям катушек используется один общий провод как показано на следующем рисунке.

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

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

Драйвер шагового двигателя ULN2003

Большинство современных шаговых двигателей управляется с помощью соответствующих модулей драйверов. Их использование обусловлено тем, что контакты современных микроконтроллеров (в том числе и наш MSP430) не могут обеспечить ток, достаточный для управления шаговым двигателем.

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

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

Схема проекта

Схема подключения шагового двигателя к плате MSP430G2 представлена на следующем рисунке.

На представленной схеме провод красного цвета не подключен к контакту PIN5 микросхемы ULN2003. Он должен быть подключен к контакту 5V платы MSP430G2. Цвета проводов вашего шагового двигателя могут отличаться от представленных на схеме, поэтому желательно перед подключением вашего шагового двигателя проверить какие провода в нем являются сигнальными, а какие центральными.

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

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Код программы мы будем писать с помощью среды Energia IDE – она очень похожа на Arduino IDE и проста в использовании. Пример кода программы управления шаговым двигателем можно найти в меню Arduino IDE.

Прежде чем приступать к написанию программы давайте разберемся с тем, что она должна делать. Мы будем использовать 4-х шаговый метод управления шаговым двигателем, то есть будет необходимо 4 шага для того, чтобы ось шагового двигателя совершила один полный оборот. Будем считать что A, B, C и D – это 4 катушки. Тогда схема управления ими в нашем случае будет выглядеть следующим образом:

Шаг Контакты, на которые подается питание Катушки, на которые подается питание
Step 1 6 и 7 A и B
Step 2 7 и 8 B и C
Step 3 8 и 9 C и D
Step 4 9 и 6 D и A

Число шагов для совершения полного оборота шагового двигателя в нашем случае будет равно 32, укажем это в программе:

Затем создадим объект для управления шаговым двигателем. При его создании необходимо указать контакты платы MSP430G2, с которых будет осуществляться управление шаговым двигателем.

Поскольку в нашем проекте мы используем библиотеку Stepper для управления шаговым двигателем, мы можем установить скорость вращения его оси с помощью следующей команды. Для шагового двигателя 35BYJ46 скорость вращения может быть задана в диапазоне от 0 до 200.

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

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

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

Видео, демонстрирующее работу проекта

Добавить комментарий

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