Управление угловым перемещением камеры

Постановка задачи:

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

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

Цена поворотной видеокамеры значительно выше статической. Наша задача сделать собственную поворотную камеру с доступной ценой.
Результат

Цель работы:

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

Поставленная цель достигается при решении следующих основных задач:
1. Анализ существующих конструктивных особенностей шаговых двигателей и способов их управления.
2. Разработка алгоритмов и программно-аппаратных средств управления процессом углового перемещения (вращения) видеокамеры с применением шаговых двигателей.
3. Техническая реализация системы управления шаговым двигателем на основе персонального компьютера (ПК).

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

Конструктивные особенности шаговых двигателей:

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

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

Униполярный двигатель также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера, который должен иметь только 4 простых ключа. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов. Иногда униполярные двигатели имеют раздельные 4 обмотки, поэтому всего выводов будет 8. При соответствующем соединении обмоток такой двигатель можно использовать как униполярный или как биполярный.

Наиболее эффективным способом управления шаговым двигателем является полушаговый режим, т.е. half step mode, когда двигатель делает шаг в половину основного. Для каждого второго шага запитана лишь одна фаза, а в остальных случаях запитаны две. В результате угловое перемещение ротора составляет половину угла основного шага, однако полушаговый режим обычно не позволяет получить полный момент.
Полушаговый режим (half step mode)

Аппаратная реализация управления шаговым двигателем с помощью ПК:

На основе анализа был выбран шаговый двигатель ШД-1ЕМ, обладающий следующими особенностями: число шагов на 1 оборот — 200, максимальный ток обмотки 500 мА, номинальная мощность — 12 Вт.
В качестве драйвера двигателя целесообразно использовать микросхему ULN2003A. Это набор транзисторов, собранных по схеме Дарлингтона с открытым коллектором и защитным диодом в цепи нагрузки. Микросхема содержит 7 каналов коммутации с током нагрузки до 500мА.
Схема драйвера ULN2003A (а) и одного из его каналов (б)

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

Сигнал COM (вывод 9) подключен к источнику питания не напрямую, а через стабилитрон. Это сделано с целью защиты схемы от напряжения ЭДС самоиндукции, возникающего в катушках при выключении напряжения питания схемы. Управление микросхемой драйвера осуществляется с помощью параллельного LPT-порта персонального компьютера в режиме ECP/EPP младшими четырьмя выводами линий данных (D0-D3).

Особенности алгоритмов управления шаговым двигателем:

Для полушагового управления двигателем необходимо в соответствии со схемой устанавливать на выводах D0, D1, D2, D3 LPT порта ПК напряжение +5В, что соответствует подачи на них логических единиц в определенной последовательности, определяющей направление вращения двигателя.
Последовательность подачи импульсов в LPT-порт

Сигналы подаются через определённые интервалы времени, которые задаются программно с помощью функции остановки потока программы (SLEEP) и зависят от времени, за которое должна произойти отработка команды вращения.

Программная реализация:

В качестве языка программирования используется среда Delphi, поскольку она обладает простым синтаксисом, удачно демонстрирует парадигмы процедурного программирования и ООП, а также обладает простой и понятной архитектурой стандартных библиотек.
Для работы с коммуникационным портом LPT под управлением операционной системы Microsoft Windows используются две функции WinAPI — Inp32 и Out32, входящие в состав стандартной библиотеки inpout32.dll.
Листинг подпрограммы, обеспечивающей прямое угловое перемещение Alpha двигателя за время T начиная с начальной позиции вала St, приведен ниже.
procedure Forward(Alpha:Real, T:Real, K:Real, var St:Integer);
const PORT=888;
const Steps:array[1..8] of Byte = (1, 3, 2, 6, 4, 12, 8, 9);
var I, DT:Integer;
begin
DT:=Round(T/(Alpha*K));
I:=0;
while (I<Trunc(Alpha*K)) do begin
Out32(PORT, Steps[St]); sleep(DT);
St:=St+1;
If (St>8) then St:=8;
I:=I+1;
end;
end;


Заключение:

На базе выполненных разработок осуществлена техническая реализация системы управления шаговым двигателем ШД-1ЕМ на основе персонального компьютера для управления угловым перемещением web-камерой Logitech QuickCam имеющей следующие характеристики: видеозахват в режиме реального времени со скоростью до 30 кадров в секунду с разрешением 640х480 пикс.

Список литературы:

1. Дамьяновски В. CCTV библия охранного телевидения. Цифровые и сетевые технологии". Ай-Эс-Эс-Пресс, 2006. — 480с.
2. Дубровский И.Л., Дамбраускас А.П., Рыбин А.А. Микропроцессорное управление электроприводами промышленных роботов: учебное пособие/; — Красноярск, КГТУ, 1993 — 88с.
3. Кенио Такаши. Шаговые двигатели и их микропроцессорные системы управления: Пер. с англ., М.: Энергоатомиздат, 1987 — 199с.
4. Лебедев Н.И., Гандшу В.М., Явдошак Я.И. Вентильные электрические машины. Спб.: Наука, 1996. — 352с.
5. Шаговые двигатели. Мотор-редукторы: портал [Электронный ресурс]. — Режим доступа: stepmotor.ru

P. S. Проект был реализован и описан в декабре 2008 года в рамках конкурсов школьных работ. Первый раз статья была опубликована в песочнице. После чего копии стали появляться в сети. Со второго раза её опубликовали.
Реклама
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

Комментарии 33

  • НЛО прилетело и опубликовало эту надпись здесь
      +1
      В прок ноутбукам!
      +1
      Я не понимаю причем тут камера? Судя по тексту статьи вы просто управляется шаговым двигателем.
        –1
        Я управляю двигателем который вращает камеру.
          +1
          с таким же успехом туда и утюг поставить можно.
            +4
            поворотный утюг!
          +2
          Вот если бы вы еще решили проблему с долгим вращением в одну сторону и закручиванием провода идущего от сенсора, слипрингом например, то можно было бы говорить что и камера тут участвует.
            0
            «Наша задача сделать собственную поворотную камеру с доступной ценой.» и я считаю она выполнена.
          –1
          Достойная работа проделана. Только как устройство узнает, на какой угол повернут привод, при включении? Нужен хотя бы один датчик крайнего положения, чтобы была точка отсчета.
            +3
            А еще проще и лучше — серво-мотор. Правда тогда не обойтись без МК и ШИМ, но зато гибче и проблем меньше — есть конечные точки вращения, можно определить и/или задать точный угол поворота (в зависимости от используемой сервы).
            При наличии двух серв — можно организовать полноценное PTZ-видеонаблюдение. :)
              0
              И при наличии управляемого объектива, софтварный зум это не дело.
            +1
            Уберите этот бессовестный copy-paste, возможно нарушающий авторские права. Большая часть, включая два рисунка, от сюда: http://www.digit-el.com/files/articles/step/step.html
            Камера, как заметили выше, сбоку-припеку.
              –4
              «Большая часть, включая два рисунка» что ещё бессовестно было «copy-paste» кроме этих двух рисунков которые гуляют по всему интернету и которые если не ошибаюсь брал из дополнительной литературы.(Техническая записка к этому проекту делалась более года назад)
                0
                Вот ещё могу ссылку показать. Там статья точный клон, но с текстом которым я писал в прошлый раз эту статью в песочницу.
                  +1
                  Два первых правила Хабра гласят:
                  1. Хабр — не место для копипастеров.
                  2. Хабр — не ЖЖ и не центр мирового кросспостинга.
                    –4
                    А я публиковал исключительно на хабре.
                  0
                  Оригинал:
                  В отличие от коллекторных двигателей, у котрых момент растет с увеличением скорости, шаговый двигатель имеет больший момент на низких скоростях.

                  Вы:
                  В отличие от коллекторных двигателей, у которых электромеханический момент растет с увеличением скорости, шаговый двигатель имеет больший момент на низких скоростях [...]


                  Оригинал:
                  Двигатели с постоянными магнитами состоят из статора, который имеет обмотки, и ротора, содержащего постоянные магниты (рис. 3). Чередующиеся полюса ротора имеют прямолинейную форму и расположены параллельно оси двигателя.

                  Вы:
                  Наиболее распространенными являются двигатели с постоянными магнитами, которые состоят из статора, имеющего обмотки, и ротора, содержащего постоянные магниты. Чередующиеся полюса ротора имеют прямолинейную форму и расположены параллельно оси двигателя.


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

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


                  Большинство «гуляющих по интернету» копий статьи указывают имя её настоящего автора. То, что кое-кто кое-где присваивает авторство себе, — не даёт такого права Вам.
                    0
                    Я не пойму, необходимо предоставить оригиналы пояснительной записки и исходный код работающей программы?
                      0
                      Вы спрашивали: «Что ещё бессовестно было «copy-paste» кроме этих двух рисунков,» — и я привёл Вам доказательства того, что часть Ваших текстов — плагиат. Чужой текст нужно или убрать, или оформить как цитату, с указанием источника.
                        0
                        Хорошо, а можно ссылку данного источника? Посмотреть таки на имя «настоящего автора»
                          0
                          Вам выше её приводили. В интернете много копий, но в ЖЖ автора приведена именно та ссылка.
                +1
                Люди давно уже изобрели серво-машинка, при использовании которых задача упрощается до неприличия.
                  0
                  Люди уже давно много чего придумали и это не значит что они должны сидеть и ничего не делать.
                • НЛО прилетело и опубликовало эту надпись здесь
                    +1
                    Зато например «Яндекс не может найти песню про Путина» — крутая статья.
                    • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        Даже мысли не было такой
                    0
                    Так во сколько рублей все-таки это обошлось? В тексте не увидел.
                    Буквально на днях пришла камера с дилэксрима ценой в 80 вечнозеленых, умеет поворачиваться влево-вправо на 180 градусов, вверх-вниз на 120, снимает ночью, работает без компутера, умеет слать скриншоты по FTP, почте и т.д.
                    Так что есть ли смысл заморачиваться с вашей «доступной ценой»?
                      0
                      А можно ссылку на девайс?
                    0
                    Привет из прошлого века.
                      0
                      А почему не использовали сервомашинки?
                        0
                        Вы начали с экономической выгоды, но обоснования никакого нет. Как понять, что это выгоднее, чем использовать готовые сервоприводы?

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое