Создание инфракрасного трекера с помощью PICAXE 14M2 и шагового двигателя
В этой статье показано, как построить инфракрасный датчик, который использует шаговый двигатель для отслеживания источника света.
Простая концепция
Предположим, вы хотели следить за объектом в одной плоскости с указателем или другим устройством … и делать это автоматически. Мало того, что это возможно, довольно легко, если вы разделите его на отдельные задачи:
- Прикрепите инфракрасный источник света к объекту, который нужно отслеживать.
- Подключите шаговый двигатель к выходу на микроконтроллере PICAXE.
- Подключите три фототранзистора к входам на микроконтроллере PICAXE.
- Прикрепите массив фототранзисторов и указатель на вал шагового двигателя.
- Напишите код для PICAXE μC, чтобы заставить шаговый двигатель вращаться по указанию фототранзисторов.
Хорошо, может быть, это требует немного больше, например, электронного дизайна, механического дизайна, выбора компонентов и навыков программирования, но эта статья предоставит вам эту работу, которая уже завершена. Читай дальше!
PICAXE Newbie "// www.allaboutcircuits.com/technical-articles/intro-to-picaxe/" target = "_ blank"> прямо здесь
Инфракрасный источник света
Создание инфракрасного источника света очень просто; вам нужен инфракрасный светодиод (например, LTE-5228A), источник питания постоянного тока низкого напряжения (подумайте о батареях), резистор ограничения тока, чтобы избежать выгорания светодиода и проводов, чтобы соединить все вместе. Пример показан на фотографии ниже.

Обратите внимание, что положительное напряжение (красный провод) подключается через резистор к аноду светодиода, а отрицательный провод подключается к катоду. Резистор может находиться в положительном направлении, как показано, или в отрицательном проводе; в любом случае работает так же хорошо.
Вы можете проектировать свой инфракрасный источник света с использованием разных компонентов и значений. Одно критическое значение - длина волны света; он должен быть очень близок к 935 нм, потому что это длина волны, на которой наблюдается чувствительность фототранзистора OP505A.
Шаговый двигатель
Быстрый поиск в Интернете позволит получить массу информации о шаговых двигателях - больше, чем вы хотите или должны знать. Фактически, в главе 13 электронного учебника ААК есть страница, посвященная этой теме.
Здесь нет необходимости повторять много этой информации. Достаточно сказать, что шаговый двигатель обычно представляет собой низковольтный двигатель постоянного тока, который содержит магниты и катушки, расположенные так, что приведение тока возбуждения в обмотки в надлежащем порядке приведет к тому, что выходной вал будет вращаться ступенчато. В зависимости от конструкции шагового двигателя, этапы могут быть большими или малыми; большие шаги приводят к более «отрывистому» движению, в то время как более мелкие шаги приводят к более плавному движению. Скорость вращения может контролироваться скоростью, с которой приводной ток перемещается от обмотки к обмотке.
Шаговые двигатели доступны с двумя или более фазами; двухфазные степперы могут управляться либо в униполярной конфигурации, либо в биполярной конфигурации. Выбранный здесь двигатель является униполярным двигателем. Этот проект использует однополюсную схему привода, но только для записи, двигатель, который позволяет однополярный привод, также может управляться с помощью схемы биполярного привода.
Некоторые шаговые двигатели имеют внутреннюю передачу. Обычно эти механизмы предназначены для замедления вращения и увеличения крутящего момента. Двигатель, используемый в этом проекте, представляет собой небольшой редукторный шаговый двигатель и показан на фотографии ниже.

Как вы видите, в шаговый двигатель входит PCB. Схема на печатной плате включает интегральную схему ULN2003A, которая содержит семь пар транзисторов Дарлингтона, четыре из которых используются. Каждая пара состоит из двух транзисторов с двумя биполярными переходами NPN, которые служат в качестве интерфейса между низковольтным сигналом, таким как выход микроконтроллера и более высокая токовая нагрузка, например, обмотка в шаговом двигателе. Существует обсуждение пар Дарлингтона в главе 4 учебника по электронике AAC.
Двигатель 28BYJ-48, как и многие шаговые двигатели, имеет четыре обмотки, каждый из которых может быть включен отдельно. Таким образом, имеет смысл, что контрольная печатная плата использует четыре входа (In1, In2, In3 и In4) для ULN2003a, каждый из которых подключен через драйвер Darlington к одной из четырех обмоток шагового двигателя. Обратите внимание, что из контрольной печатной платы имеется пять проводов к шаговому двигателю, один для питания и четыре для сигналов, ведущих к четырем виткам. Один светодиод и его токоограничивающий резистор предусмотрены для указания, когда питание подается на каждую обмотку.
Принципиальная схема платы управления показана ниже, а примечания содержат дополнительную информацию о работе схемы.

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

нажмите, чтобы увеличить
Вот схема выводов для PICAXE 14M2. Обратите внимание, что только два из контактов порта C имеют возможности АЦП (аналого-цифровое преобразование): C.0 и C.4. Но каждый из трех фототранзисторов должен быть подключен к контакту АЦП; к счастью, в порту B имеется доступный контакт ADC: B.5.

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

нажмите, чтобы увеличить
Обратите внимание, что фототранзисторная матрица из трех ИК-датчиков (Q1, Q2 и Q3) показана на схематическом чертеже внутри красного прямоугольника. На фото полной сборки выше три фототранзистора показаны прикрепленными к небольшому кусочку перфорированной поверхности, которая приклеена к выходному валу шагового двигателя.
Дополнительная деталь этой сборки показана на следующей фотографии. Макет фототранзистора должен быть установлен на уровне и параллелен плоской вершине шагового двигателя. Однако три фототранзистора должны быть расположены в несколько разных направлениях; 25-градусные углы между фототранзисторами должны быть идеальными.

Список деталей
Вам понадобятся детали в следующем списке. Кроме того, требуются различные провода, припой, перфорирование, хорошо отрегулированный источник питания 5 В постоянного тока, 500 мА и кабель программирования PICAXE.
Часть Ref. | Описание | Источник | Предмет номер. |
---|---|---|---|
N / A | Диод, светоизлучение, 940 нм, T1¾ (кол-во 1) | Digi-Key | 160-1062-ND |
N / A | Батарея, щелочь, AAA (Кол-во 3) | N / A | N / A |
N / A | Держатель, аккумулятор, 3x AAA | N / A | N / A |
R1 | Резистор, ¼ Вт, 22 кОм | Digi-Key | 22KQBK-ND |
R2-R5, | Резистор, ¼ Вт, 10 кОм | Digi-Key | 10KQBK-ND |
R6-R8, | Резистор, ¼ Вт, 1 кОм | Digi-Key | 1.0KQBK-ND |
Q1-Q3 | Фототранзистор, ИК, NPN, 935 нм, T1 | Digi-Key | 365-1066-ND |
С1 | Конденсатор, керамика,.1 мкФ, 50 В | Digi-Key | 399-9797-ND |
J1 | Джек, 3, 5 мм, 3-проводник | Digi-Key | CP1-3533-ND |
U1 | Микроконтроллер, PICAXE 14M2 + | PHAnderson.com | PICAXE 14M2 + |
N / A | Макет, Паяльник, 400 Контакты | Digi-Key | 377-2094-ND |
N / A | Двигатель, шаговый двигатель, 5 В постоянного тока, редуктор, с управляющей печатной платой | В сети | 28BYJ-48 |
Код
Код для этого проекта воспроизводится ниже и хорошо прокомментирован. Кроме того, используемые BASIC-команды должны быть знакомы большинству пользователей, у которых есть некоторый опыт работы с микроконтроллерами PICAXE. Если у вас есть вопросы, обратитесь к руководству 2, в котором содержатся объяснения всех команд PICAXE BASIC.

В общем, вот поток кода:
В строках с 24 по 29 считывается напряжение каждого из трех фототранзисторов в массиве для определения количества ИК-света, поражающего их. Аналоговые значения преобразуются в цифровые значения и сохраняются в соответствующих регистрах.
В строках с 30 по 37 значения сравниваются, и если центр фототранзистора получает наибольший инфракрасный свет, больше ничего не происходит. Однако, если либо правый, либо левый фототранзистор становится больше света, чем центр, поток программы отправляется на соответствующую линию, чтобы включить шаговый двигатель слева направо (строка 38) или справа налево (строка 49). Процесс непрерывно повторяется, что приводит к тому, что центр фототранзистора всегда позиционируется так, чтобы указывать на источник ИК-излучения.
Используемый шаблон шага называется «Полный шаг», который одновременно активирует две обмотки, тем самым обеспечивая максимальный крутящий момент от шагового двигателя. Другие варианты включают «Wave Stepping» и «Half Stepping».
Скорость шага можно контролировать, изменяя значение задержки шага в строке 11. Увеличение значения замедляет скорость шага; значение 1000 замедляет процесс, достаточный, чтобы движение двигателя едва ощутимо. Минимальное значение задержки на шаг, которое можно использовать, равно 1, что обеспечивает максимальную скорость вращения; значение 0 остановит двигатель от поворота и не будет использоваться.
Загрузите код, используя кнопку ниже.
Код контроллера слежения PICAXE 14M2
Демонстрационное видео
Видео ниже показывает завершенный проект в действии, хотя и с ИК-светодиодом, близким к фототранзисторам. Рабочий диапазон действительно лучше, чем он выглядит здесь; освещение освещения мешало операции.
Обратите внимание, что четыре светодиода на печатной плате шагового управления правильно подсвечиваются, чтобы указать, какие обмотки находятся под напряжением, но вам придется значительно замедлить работу, чтобы увидеть шаблон.
Что дальше?
Эксперимент покажет полезный диапазон для отслеживания. В помещении вы должны получить около десяти футов, используя только один светодиод, как показано на видео. Для большего диапазона и / или использования на открытом воздухе вы можете добавить больше светодиодов (и токоограничивающих резисторов) в качестве источника инфракрасного излучения. Просто помните, что больше светодиодов быстрее разряжает ваши батареи.
Для этой схемы есть очевидное практическое применение, но пока вам придется подумать об этом для себя. В то же время изучите команды dirsB и pinsB в коде, чтобы убедиться, что вы точно понимаете, что они делают. После того, как вы освоите, изучите «половину шага» двигателя, чтобы уменьшить размер каждого шага и обеспечить увеличенное позиционное разрешение (за счет снижения крутящего момента).
Поделитесь своими результатами и идеями в комментариях.
Повеселись!
Попробуйте этот проект сами! Получить спецификацию.