Оглавление:

Управление шаговым двигателем без микроконтроллера: 7 шагов
Управление шаговым двигателем без микроконтроллера: 7 шагов

Видео: Управление шаговым двигателем без микроконтроллера: 7 шагов

Видео: Управление шаговым двигателем без микроконтроллера: 7 шагов
Видео: Управление шаговым двигателем без микроконтроллера 2024, Декабрь
Anonim
Image
Image

В этом руководстве я буду управлять шаговым двигателем 28-BYJ-48 с платой массива Дарлингтона UNL2003, иногда называемой x113647, без микроконтроллера.

Он будет иметь старт / стоп, вперед / назад и контроль скорости.

Двигатель представляет собой однополярный шаговый двигатель с 2048 шагами на оборот в полношаговом режиме. Паспорт двигателя находится на

Эти два устройства можно купить вместе у нескольких поставщиков. Я получил свой от kjell.com

Используйте Bing или Google, чтобы найти ближайшего к вам продавца.

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

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

Кроме того, вы должны быть предупреждены, что это мой первый учебник, и что я новичок в электронике.

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

Шаг 1: Список деталей

Основные части
Основные части

Детали, используемые в этом проекте:

  • Макетная плата
  • Шаговый двигатель 28byj-48
  • Плата транзисторной матрицы Дарлингтона ULN2003 (x113647)
  • 74HC595 регистр сдвига
  • 74HC393 двоичный счетчик пульсаций
  • Цифровой потенциометр DS1809-100 Dallastat
  • Восьмеричный буфер 74HC241
  • 3 × тактильные кнопки
  • Резисторы 3 × 10 кОм
  • 2 керамических конденсатора по 0,1 мкФ
  • Керамический конденсатор 1 × 0,01 мкФ
  • Соединительные провода
  • Источник питания 5В

Шаг 2: основные части

Основные части
Основные части

Регистр сдвига 74HC595

Двигатель приводится в движение, многократно задавая четырем входным контактам платы UNL2003 следующую последовательность:

1100-0110-0011-1001

Это приведет в движение двигатель в так называемом полношаговом режиме. Шаблон 1100 многократно сдвигается вправо. Это говорит о сдвиговом регистре. Сдвиговый регистр работает в каждом тактовом цикле, биты в регистре сдвигаются на одну позицию вправо, заменяя крайний левый бит значением входного вывода в данный момент. Следовательно, на него следует подавать два тактовых цикла 1, а затем два тактовых цикла 0, чтобы сгенерировать шаблон для отключения двигателя.

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

Для генерации «двух циклов по одному, а затем двух циклов по 0» используются триггеры.

У меня сдвиговый регистр 74HC595. Это очень популярный чип, который описан в многочисленных инструкциях и видеороликах на Youtube.

Технический паспорт можно найти по адресу

Хорошая инструкция - 74HC595-Shift-Register-Demistified by bweaver6, Регистр сдвига 74HC595 работает так, что в каждом тактовом цикле данные в его 8-битном регистре сдвигаются вправо, а значение входного контакта сдвигается в крайнее левое положение. Следовательно, на него следует подавать два тактовых цикла по 1, а затем два тактовых цикла по 0.

Данные сдвигаются по нарастающему фронту тактового импульса. При этом триггер должен переключаться на заднем фронте тактовой частоты, поэтому 74HC595 будет иметь стабильный ввод данных при нарастающей частоте тактовой частоты.

Вход 74HC595 может быть подключен следующим образом:

Контакт 8 (GND) -> GND

Контакт 16 (VCC) -> 5V Контакт 14 (SER) -> Данные на контакте 12 (RCLK) -> Вход синхронизации, контакт 11 (SRCLK) -> Вход синхронизации, контакт 13 (OE) -> GND Контакт 10 (SRCRL) -> 5V Контакты 15 и 1-3 будут выводить шаблон для привода двигателя.

Соединение RCLK и SRCLK гарантирует, что регистр данных микросхемы всегда синхронизируется с регистром вывода. Если контакт 13 заземлен, содержимое выходного регистра сразу становится видимым для выходных контактов (Q0 - Q7).

Таймер 555

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

Лист данных находится здесь:

Этот чип, помимо прочего, может генерировать тактовый импульс прямоугольной формы. Внешние резисторы и конденсаторы используются для управления частотой и скважностью (включенной долей).

Когда микросхема 555 настроена на многократную генерацию импульсов, считается, что она находится в нестабильном режиме. Это делается путем подключения, как на картинке выше. (изображение jjbeard [Public domain], через Wikimedia Commons):

Контакт 1 -> GND

Контакт 2 -> R1 (10 кОм) -> Контакт 7 Контакт 2 -> Контакт 6 Контакт 3 является выходом Контакт 4 (сброс) -> 5 В Контакт 5 -> 0,01 мкФ -> GND Контакт 6 -> 0,1 мкФ -> Контакт GND 7 -> R2 (10 кОм) -> 5 В Контакт 8 -> 5 В

Выход контакта 3 будет подключен к входным контактам синхронизации (контакт 11 и контакт 12) регистра сдвига 74HC595.

Частота выходного сигнала (и, следовательно, скорость шагового двигателя) определяется номиналами резисторов R1 и R2, а также номиналом конденсатора C.

Время цикла T будет ln (2) C (R1 + 2 R2) или приблизительно 0,7 C (R1 + 2 R2). Частота 1 / T.

Рабочий цикл, доля времени цикла, в течение которого сигнал является высоким, составляет (R1 + R2) / (R1 + 2R2). Рабочий цикл не очень важен для этого проекта.

Я использую 10 кОм как для R1, так и для R2, и C = 0,1 мкФ.

Это дает частоту около 480 Гц, и это близко к максимальной частоте, с которой, как я обнаружил, шаговый двигатель может работать без остановки.

Чтобы сгенерировать смещенный повторяющийся шаблон на 1100 из 74HC595, на выводе 14 (SER) должен оставаться высокий уровень в течение двух тактовых циклов, а затем низкий уровень в течение двух тактовых циклов. То есть вывод должен колебаться с половиной частоты тактовых импульсов.

Двойной двоичный счетчик пульсаций 74HC393

Счетчик 74HC393 в двоичном формате, а это также означает, что его можно использовать для деления частоты импульсов на степени двойки, Его технический паспорт находится здесь:

74HC393 сдвоенный, у него с каждой стороны по одному 4-битному счетчику.

На заднем фронте тактового импульса первый выходной вывод включается и выключается. Следовательно, выходной контакт 1 будет колебаться с половиной частоты входных тактовых импульсов. На заднем фронте выходного контакта один выходной контакт два включается и выключается. И так далее для всех четырех выходных контактов. Каждый раз, когда вывод n выключается, переключается вывод n + 1.

Вывод n + 1 меняется вдвое реже, чем вывод n. Это двоичный счет. Счетчик может досчитать до 15 (все четыре бита 1), прежде чем снова начнется с нуля. Если последний выходной вывод счетчика 1 подключен как часы к счетчику 2, он может вести счет до 255 (8 бит).

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

Таким образом, если счет выполняется тактовым импульсом от 555, вывод счетчика 74HC393, представляющий бит 2, будет колебаться с половинной частотой тактовой частоты. Следовательно, он может быть подключен к выводу SER сдвигового регистра 74HC595, чтобы он генерировал желаемый шаблон.

Схема подключения двоичного счетчика 74HC393 должна быть:

Контакт 1 (1CLK) -> 74HC595 Контакт 11, 12 и 555 Контакт 3

Контакт 2 (1CLR) -> GND Контакт 4 (1QB) -> 74HC595 Контакт 14 Контакт 7 (GND) -> GND Контакт 14 (VCC) -> 5V Контакт 13 (2CLK) -> GND (не используется) Контакт 12 (2CLR) -> 5 В (не используется)

Шаг 3: заставьте его работать

Заставить его работать
Заставить его работать
Заставить его работать
Заставить его работать

Теперь мы можем запустить двигатель, если контакты 0-3 74HC595 подключены к контактам 1-4 платы ULN2003 соответственно.

А пока замените конденсатор 0,1 мкФ на выводе 6 таймера 555 на 10 мкФ. Это увеличит цикл часов в сотни раз, и вы сможете увидеть, что происходит.

Для этого можно использовать светодиоды на платах ULN2003. Отключите двигатель от платы ULN2003. Подключите контакты 1–4 платы к выходу QA-QD (контакты 7, 9, 10 и 11) 74HC595. Подключите - и + платы ULN2003 к земле и 5V. Если питание включено, вы должны увидеть желаемый узор на светодиодах.

Если вы хотите увидеть, что происходит в двоичном счетчике 74HC393, подключите его к контактам 3-6 вместо этого.

Если схема кажется правильной, выключите питание, снова замените конденсатор на 0,1 мкФ, подключите входные контакты 1–4 платы ULN2003 к выходным контактам QA - QD 74HC595 и снова подключите двигатель.

Теперь, когда питание включено, двигатель должен работать.

Шаг 4: Контроль скорости

Контроль скорости
Контроль скорости

Скорость шагового двигателя регулируется частотой на выходе таймера 555. Это опять же определяется номиналами резисторов R1 и R2 и подключенного к нему конденсатора C1. При последовательном подключении потенциометра 100 кОм к R2 частота может находиться в диапазоне от 480 Гц до 63 Гц. Ступени пр. секунды двигателя, будет половина частоты таймера 555.

Я использовал цифровой потенциометр DS1809-100, который предназначен для использования с кнопками. Нажатие кнопок, соединяющих контакт 2 (UC) и контакт 7 (DC) на 5 В, вызывает увеличение / уменьшение сопротивления между клеммами RH (контакт 1) или RL (контакт 4) и контактом 6 стеклоочистителя (RW). Удерживая кнопку более секунды, она автоматически повторяется.

Техническое описание можно найти здесь:

Разводка такая:

Контакт 1 (правый) не используется

Контакт 2 (UC) -> тактильная кнопка 1 Контакт 3 (STR) -> GND Контакт 4 (RL) -> 555 Контакт 2 Контакт 5 -> GND Контакт 6 (RW) -> 10 кОм -> 555 контакт 7 Контакт 7 (DC) -> тактильная кнопка 2 Pin 8 -> 5V

Схема подключения тактильной кнопки 1:

Контакт 1/2 -> DS1809 Контакт 2

Контакт 3/4 -> 5 В

Схема подключения тактильной кнопки 2:

Контакт 1/2 -> DS1809 Контакт 7

Контакт 3/4 -> 5 В

Теперь скорость можно регулировать.

Шаг 5: Старт / Стоп

Старт / Стоп
Старт / Стоп

Для запуска и остановки шагового двигателя можно использовать вывод 4 (вывод сброса) таймера 555. Если он установлен на низкий уровень, выходных импульсов с контакта 3 не будет.

Тактильная кнопка будет использоваться для переключения запуска и остановки. Однократное нажатие кнопки должно запустить двигатель, повторное нажатие должно остановить его. Чтобы добиться такого поведения, необходим триггер. Но 74HC393, который уже есть, тоже может быть использован. 74HC393 состоит из двух частей, и только одна половина используется в качестве делителя частоты для тактового импульса.

Поскольку двоичный счетчик на самом деле представляет собой просто набор последовательно переключаемых триггеров, можно использовать первый триггер другой части. При подключении тактильной кнопки, при которой на контакте 13 (2CLK) низкий уровень при нажатии кнопки и высокий уровень, если нет, контакт 12 будет переключаться на каждый низкий уровень. Подключение контакта 12 к контакту 4 усилителя 555 запустит и остановит его выход, а следовательно, и двигатель.

Тактильные кнопки немного сложны, потому что они механические. Они могут «подпрыгивать», то есть посылать несколько сигналов при каждом нажатии. Этого можно избежать, подключив к кнопке конденсатор емкостью 0,1 мкФ.

Итак, тактильная кнопка (кнопка 3 добавлена, а подключение к контакту 4 555 изменено.

Разводка кнопки:

Контакт 1/2 -> 10 кОм -> 5 В

Контакт 1/2 -> 0,1 мкФ -> Контакт Контакт 3/4 -> 74HC393 Контакт 13 (2CLK)

В 555 внесены следующие изменения:

Контакт 4 (сброс) -> 74HC393 Контакт 11 (2QA)

Кнопка 3 теперь должна работать как переключатель старт / стоп.

Обратите внимание, что двигатель остановлен таким образом, но по-прежнему будет потреблять энергию.

Шаг 6: Контроль направления

Управление направлением
Управление направлением

Чтобы управлять направлением двигателя, нужна еще одна кнопка, а затем еще один триггер. Однако я буду хитрить, используя следующий триггер 74HC393 после триггера включения / выключения и кнопки включения / выключения.

Когда вывод направления (вывод 2QA) становится низким, переключается следующий вывод (вывод 2QB). Следовательно, повторное нажатие кнопки приведет к ВЫКЛЮЧЕНИЮ - ВКЛЮЧЕНИЮ ВПЕРЕД - ВЫКЛЮЧЕНИЮ - НАЗАД - ВЫКЛЮЧЕНИЮ - ВКЛЮЧЕНИЮ ВПЕРЕД и т. Д.

Чтобы двигатель вращался в обратном направлении, рисунок, подаваемый на ULN2003, должен быть обратным. Это можно сделать с помощью двунаправленного регистра сдвига, но у меня его нет. 74HC595 не двунаправлен.

Однако я обнаружил, что могу использовать восьмеричный буфер 74HC241. Этот буфер состоит из двух 4-битных частей с отдельными выводами OE (разрешения вывода). Первый контакт OE управляет четырьмя первыми выходными контактами, а второй - последними четырьмя выходными контактами. Когда OE включен, выходные контакты имеют то же значение, что и соответствующие входные контакты, а когда он выключен, выходные контакты будут в состоянии высокого импеданса, как если бы они не были подключены. Кроме того, один из выводов OE имеет активный низкий уровень, а другой активный высокий уровень, поэтому при их соединении только половина буфера будет активна в данный момент.

Таким образом, для одного и того же входа одна половина буфера может двигать двигатель вперед, а другая половина - назад. Какая половина активна, зависит от номинала выводов оригинального оборудования.

Технический паспорт 74HC241 находится по адресу

Разводка может быть такой:

Контакт 1 (1OE) -> 74HC293 Контакт 10 (2QB)

Контакт 2 (1A1) -> 74HC595 Контакт 15 Контакт 3 (1Y4) -> ULN2003 Контакт 1 Контакт 4 (1A2) -> 74HC595 Контакт 1 Контакт 5 (1Y3) -> ULN2003 Контакт 2 Контакт 6 (1A3) -> 74HC595 Контакт 2 Контакт 7 (1Y2) -> Контакт 3 ULN2003 Контакт 8 (1A4) -> 74HC595 Контакт 3 Контакт 9 (1Y1) -> Контакт 4 ULN2003 Контакт 10 (GND) -> Контакт заземления 11 (2A1) -> Контакт 2 (1A1) Контакт 12 (1Y4) -> Контакт 9 (2Y1) Контакт 13 (2A2) -> Контакт 4 (1A2) Контакт 14 (1Y3) -> Контакт 7 (2Y2) Контакт 15 (2A3) -> Контакт 6 (1A3) Контакт 16 (1Y2) -> Контакт 5 (2Y3) Контакт 17 (2A3) -> Контакт 8 (1A4) Контакт 18 (1Y2) -> Контакт 3 (2Y4) Контакт 19 (2OE) -> Контакт 1 (1OE) Контакт 20 (VCC) -> 5 В

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

Шаг 7: выводы

Выводы
Выводы

Шаговым двигателем можно управлять без микроконтроллера.

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

  • Для генерации импульсов подойдет микросхема таймера 555, но существует несколько альтернатив, например, описанная в этой инструкции.
  • Для управления скоростью можно использовать любой потенциометр, а не только цифровой. Если у вас есть потенциометр 10 кОм, а не 100 кОм, резисторы 10 кОм можно заменить на 1 кОм, а конденсатор 0,1 мкФ - на конденсатор 1 мкФ (разделите все резисторы и умножьте конденсатор на то же число, чтобы сохранить синхронизацию).
  • Использование двунаправленного регистра сдвига, например 74HC194 упростит управление направлением движения.
  • Для кнопочного управления 74HC393 можно заменить триггером, например. 74HC73. К 555 также можно подключить тумблер.

Рекомендуемые: