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

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

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

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

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

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

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

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

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

В нашем проекте мы будем использовать биполярный шаговый двигатель 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 не будет опубликован. Обязательные поля помечены *