Разработка системы управления угловым перемещением web-камеры с помощью шагового двигателя
Немного предыстории:
Системы охранного телевидения предоставляют оператору уникальную возможность – наблюдать и записывать изображения различных областей охраняемого пространства. В общем случае сканирование этого пространства может осуществляться путем коммутации статически установленных видеокамер, либо с помощью поворотных видеокамер.Достоинство статической видеокамеры заключается в том, что она позволяет непрерывно контролировать один и тот же, определенный телесный угол охраняемого пространства. Недостаток такой видеокамеры в том, что ее параметры нельзя адаптировать к реальной ситуации на охраняемом объекте. Другими словами, информативность такой видеокамеры будет во многом определяться тем, насколько удачно выбрано ее положение, насколько точно подобран для нее объектив [1].
Достоинство поворотной видеокамеры в том, что она позволяет контролировать телесный угол пространства, который может дистанционно изменяться оператором, как по значению, так и по направлению, поочередно охватывая наблюдением различные части сканируемого охраняемого пространства.
Исходя из стоимости, предполагается, что по своей информативности одна поворотная видеокамера превосходит несколько расположенных на территории статических видеокамер. Однако, это справедливо лишь в случае ее установки в середине свободного пространства, при отсутствии в ее поле зрения конструкций, образующих мертвые зоны: только в этом случае возможный сектор просмотра контролируемой территории составляет в горизонтальной плоскости 360º; при размещении такой видеокамеры на углу здания этот сектор уменьшается до 270º, а при установке на стене не превышает 180º.
В связи с этим возникла идея разработать для себя поворотную камеру которая будет достаточно недорога, но в тоже время сможет покрывать большой угол.
Поставим цель: Разработать алгоритм и программно-аппаратные средства для управления процессом углового перемещения видеокамеры на базе шагового двигателя.
Выбор двигателя:
В нашем случае требуется прецизионное позиционирование и точное управление скоростью а следует шаговый двигатель является наиболее экономичным решением. В отличие от коллекторных двигателей, у которых электромеханический момент растет с увеличением скорости, шаговый двигатель имеет больший момент на низких скоростях и гораздо меньшую максимальную скорость [2].Наиболее распространенными являются двигатели с постоянными магнитами, которые состоят из статора, имеющего обмотки, и ротора, содержащего постоянные магниты. Чередующиеся полюса ротора имеют прямолинейную форму и расположены параллельно оси двигателя [3].
Схема расположения обмоток шагового двигателя с постоянными магнитами (а) и общий вид этого двигателя (б)
Шаговые двигатели делятся на: биполярные, униполярные и четырехобмоточные. Мной был выбран четырехобмоточный шаговый двигатель так как он дает наибольшую точность управления.
Наиболее эффективным способом управления шаговым двигателем является полушаговый режим, т.е. half step mode,
когда двигатель делает шаг в половину основного. Для каждого второго шага запитана лишь одна фаза, а в остальных случаях запитаны две. В результате угловое перемещение ротора составляет половину угла основного шага, однако полушаговый режим обычно не позволяет получить полный момент.
Аппаратная реализация управления шаговым двигателем с помощью ПК:
На основе анализа был выбран шаговый двигатель ШД-1ЕМ, обладающий следующими особенностями: число шагов на 1 оборот — 200, максимальный ток обмотки 500 мА, номинальная мощность — 12 Вт.В качестве драйвера двигателя целесообразно использовать микросхему ULN2003A. Это набор транзисторов, собранных по схеме Дарлингтона с открытым коллектором и защитным диодом в цепи нагрузки. Микросхема содержит 7 каналов коммутации с током нагрузки до 500мА.
Схема драйвера ULN2003A (а) и одного из его каналов (б)
Микросхема имеет резисторы в цепи базы, что позволяет напрямую подключать ее входы к обычным цифровым микросхемам. Все эмиттеры соединены вместе и выведены на отдельный вывод. На выходах транзисторных ключей имеются защитные диоды, что позволяет управлять с помощью этой микросхемы индуктивными нагрузками при минимуме внешних компонентов.
Электрическая схема подключения шагового двигателя.
Сигнал COM (вывод 9) подключен к источнику питания не напрямую, а через стабилитрон. Это сделано с целью защиты схемы от напряжения ЭДС самоиндукции, возникающего в катушках при выключении напряжения питания схемы. Управление микросхемой драйвера осуществляется с помощью параллельного LPT-порта персонального компьютера в режиме ECP/EPP младшими четырьмя выводами линий данных (D0-D3).
Сигналы подаются через определённые интервалы времени, которые задаются программно с помощью функции остановки потока программы (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
D:=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/
0 комментариев