Фильтр по тематике

Управление моторизованными позиционерами Standa c помощью контроллеров шаговых двигателей «Онитекс»

В статье представлены аппаратные решения по управлению моторизованными позиционерами (линейными трансляторами, приводами) компании Standa посредством контроллеров шаговых двигателей «Онитекс». Приведена схема пульта для управления контроллерами серии OSM в режиме драйвера.

25.12.2020 1103 0
Управление моторизованными позиционерами Standa c помощью контроллеров шаговых двигателей «Онитекс»

Литовская компания Standa представляет на российском рынке оптические столы и монтажные опоры, оптомеханику, держатели, оптику, лазеры, аксессуары, а также поворотные, линейные и моторизованные позиционеры, в том числе линейные трансляторы, моторизованные держатели зеркал, приводы и прочее [1]. Все перечисленные элементы позволяют построить оптический тракт сложной оптической или лазерной системы. В линейных трансляторах, моторизованных держателях зеркал и приводах присутствуют управляемые шаговые двигатели. В общем случае задача по управлению шаговым электродвигателем сводится к задаче коммутации обмоток для вращения вала в нужном направлении и с нужной частотой (скоростью). Это невозможно сделать без блока управления или контроллера шагового двигателя (КШД). Производители шаговых двигателей и устройств, в которых такие двигатели присутствуют, как правило, предлагают блоки управления с законченными сетевыми интерфейсами управления: RS­485, CAN, USB, PROFIBUS, Ethernet и другими. Компания Standa предлагает свои контроллеры для управления позиционерами с интерфейсами Ethernet и USB.

Какие же факторы и критерии являются определяющими при выборе контроллера шагового двигателя для аппаратно­программного комплекса оптического тракта сложной оптической системы? Кроме тех, которые определяются работой шагового двигателя в оптическом тракте, можно выделить следующие:

  • удобная конструкция для размещения в шкафу управления;
  • сетевой интерфейс управления, коммуникационный протокол обмена;
  • соотношение цена/качество;
  • наличие ручного режима работы для быстрой проверки привода при проведении пусконаладочных работ. В некоторых КШД этот режим называется автоматическим, суть в следующем: после подачи питания сразу начинает вращаться вал шагового двигателя, частота вращения вала двигателя изменяется вращением движка переменного резистора в КШД.

Одним из возможных решений является применение КШД серии OSM компании «Онитекс» (Санкт­Петербург) с управлением через интерфейсы RS­485 или RS­232 [2]. Для управления шаговыми двигателями в моторизованных позиционерах Standa можно задействовать КШД OSM­17RA/OSM­42RA.

OSM является современным, многофункциональным и надёжным устройством, предназначенным для управления шаговыми двигателями небольшой и средней мощности. Он работает с 4­, 6­, 8­выводными шаговыми двигателями с током обмоток до 1,7 А для версии 17RA и 4,2 А – для версии 42RA. Контроллер реализует несколько режимов работы. Это позволяет использовать его для различных целей, начиная от применения в координатных станках с ЧПУ и заканчивая автономной работой в составе технологических линий или исполнительных устройств оптических трактов. Контроллер может управляться стандартными логическими сигналами «Шаг», «Направление» и «Разрешение», работать в автоматическом режиме, вращая двигатель со скоростью, заданной потенциометром, а также управляться в реальном времени по последовательному порту. В режиме контроллера возможно управление по одному из двух типов интерфейса: RS­485 или RS­232. Устройства «Онитекс» поддерживают протокол Modbus RTU. На рисунке 1 показан внешний вид контроллера шагового двигателя OSM­17RA.

На рисунке 2 приведена принципиальная схема и внешний вид моторизованного линейного транслятора типа 8МТ175­ХХ (далее – транслятор) Standa. Транслятор работает следующим образом: концевые переключатели SW1, SW2 (типа «сухой контакт») определяют положение платформы транслятора в крайних состояниях. Перемещаемая платформа находится в среднем положении. Концевые выключатели SW1 и SW2 разомкнуты. Меняя направление вращения вала шагового электродвигателя М1, можно перемещать платформу в крайние левое или правое положения. При этом, соответственно, замыкаются выключатели SW1 или SW2.

На рисунке 3 приведена принципиальная схема КШД OSM­17RA (далее – контроллер) для управления транслятором типа 8МТ175­ХХ. Контроллер А1 подключается к транслятору через соединитель Х1. Контроллер А1 может находиться либо в режиме контроллера, либо в программном режиме. Концевые переключатели SW1, SW2 транслятора подключаются ко входам D. in1 и D. in2. В режиме контроллера OSM­17RA можно управлять через интерфейс RS­485 по протоколу Modbus RTU. В листинге приведён программный блок инициализации КШД для транслятора типа 8МТ175­ХХ.

На рисунке 4 приведены принципиальная схема и внешний вид моторизованного привода типа 8CMA28­10,
а на рисунке 5 – принципиальная схема контроллера шагового двигателя OSM­17RA для управления моторизованным приводом типа 8CMA28­10.

В блоке инициализации КШД для привода 8CMA28­10 изменяется только задание тока для шагового двигателя:

dat.pQuery[15] = GET_HIGH_BYTE(500)

dat.pQuery[16] = GET_LOW_BYTE(500).

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

В сложных изделиях приводы шаговых двигателей, как правило, применяются в составе законченных функциональных узлов, которые управляются распределённой системой сбора данных и управления всего изделия по сетевым интерфейсам или автоматизированной системой управления. Зачастую бывает так, что составная часть изделия изготовлена раньше, чем АСУ. И на этапе предварительных испытаний при проверке и настройке функционального узла, содержащего шаговые двигатели, целесообразно применить местный пульт управления, который позволяет задавать направление и скорость вращения вала ШД. Представленный пульт будет полезен на этапе макетирования изделия. Принципиальная схема пульта приведена на рисунке 6.

К соединителям Х1, Х2 и Х3 пульта через ответные части подключаются соответствующие сигналы КШД OSM­17RA: № 1, № 2 и № 3 соответственно. К каждому соединителю подключён шаговый двигатель типа 28S Standa. Функциональный узел КШД с двигателем далее будет назван «приводом».

В устройстве, где был применён данный пульт управления, минимальная частота вращения ротора шаговых двигателей 28S составляет 35 об/мин, максимальная – 375 об/мин. Можно задавать следующие значения частот вращения ротора шаговых двигателей: 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 53, 55, 57, 60, 62, 65, 68, 71, 75, 78, 83, 88, 93, 100, 107, 115, 125, 136, 150, 166, 187, 214, 250, 300, 375 об/мин. В контроллере установлен режим дробления шага 1/16.

В интерфейс пульта входит клавиатура (кнопки S1…S8), индикаторы HL1…HL6 и блок индикации (дисплей) из четырёх цифровых семисегментных индикаторов HG1…HG4. Кнопки клавиатуры имеют следующее назначение:

S1 (D) – увеличение частоты вращения ротора выбранного шагового двигателя и удержание кнопки в нажатом состоянии более 3 с приводят к непрерывному увеличению значения выбранного привода через каждые 0,5 с;

S2 (Ñ) – уменьшение частоты вращения ротора выбранного шагового двигателя и удержание кнопки в нажатом состоянии более 3 с приводят к непрерывному уменьшению значения выбранного привода через каждые 0,5 с;

S3 (Н) – направление вращения вала выбранного шагового двигателя: вперёд (по часовой стрелке), назад (против часовой стрелки); при выбранном направлении вращения двигателей включаются индикаторы HL1, HL2, HL3 (вперёд для приводов № 1–3) или HL4, HL5, HL6 (назад для приводов № 1–3);

S4 (В) – выбор привода в цикле «привод 1», «привод 2», «привод 3», «привод 1» и т.д.;

S5 (С1) – кнопка «старт/стоп» для привода № 1;

S6 (С2) – кнопка «старт/стоп» для привода № 2;

S7 (С3) – кнопка «старт/стоп» для привода № 3;

S8 (С) – общий «стоп» для всех приводов независимо от того, какой привод был выбран (или функционировал) в текущий момент.

Разряды индикации интерфейса имеют следующее назначение (слева направо):

1­й разряд (индикатор НG1 отображает «1» в режиме «привод 1», «2» – в режиме «привод 2», «3» – в режиме «привод 3»;

2­й разряд (индикатор НG2) отображает разряд «сотни» значения частоты вращения ротора двигателя в об/мин;

3­й разряд (индикатор НG3) отображает разряд «десятки» значения частоты вращения ротора двигателя в об/мин;

4­й разряд (индикатор НG4) отображает разряд «единицы» значения частоты вращения ротора двигателя в об/мин.

Сразу после подачи питания устройство переходит в режим работы «привод 1». На дисплее индицируется значение 35 об/мин (минимальное значение), ротор шагового двигателя не вращается. Для запуска двигателя необходимо нажать на кнопку S5. Кнопками S1 (D), S2 (Ñ) устанавливается необходимое значение частоты вращения ротора шагового двигателя, кнопкой S3 – направление его вращения, при этом включаются, соответственно, индикаторы HL1 (вперёд) или HL4 (назад). Все заданные параметры для этого привода сохраняются при переходе на другой режим работы блока («привод 2» или «привод 3»).

Рассмотрим основные функциональные узлы принципиальной схемы пульта. Основой устройства служит микроконтроллер DD4, его рабочая частота задаётся резонатором ZQ1 на 10 МГц. Клавиатура собрана на кнопках S1…S8. Для функционирования клавиатуры задействован вывод 7 микроконтроллера DD4. Резисторы R1…R3, R5, R9, R13 токоограничительные, для индикаторов HL1…HL3, HL4, HL5, HL6. Динамическая индикация собрана на регистре DD5, транзисторах VT1…VT4, цифровых семисегментных индикаторах HG1…HG4.

КР580ВИ53 – трёхканальный программируемый таймер, предназначенный для организации работы микропроцессорных систем в режиме реального времени. Подробная информация о работе данного таймера приведена в [3]. В алгоритме работы пульта задействованы все три канала данного таймера. Канал 0 таймера формирует последовательность тактовых импульсов для привода № 1, канал 1 – для привода № 2 и канал 2 – для привода № 3. Все три канала таймера работают в режиме 3 (режиме генератора меандра). Коэффициент деления задаётся однобайтовым числом. Тактовая частота на входы каналов таймера (выводы 9, 15, 18 DD3) поступает от генератора, собранного на микросхеме DD6. Задаваемая генератором частота – 6,25 кГц. Резистором R29 осуществляется регулировка частоты.

В режиме 3 каждый канал таймера работает как делитель входных сигналов на N (N – коэффициент деления, который может принимать значения от 0 до 255). Длительность положительного и отрицательного полупериодов выходного сигнала для чётных N равна ТСN/2, где ТС период сигнала тактовой частоты. Для нечётных N положительный полупериод равен ТС(N+1)/2, а отрицательный – ТС(N–1)/2. В режиме 3 каналы не выполняют своих функций при записи в счётчики числа N=3. Поэтому программно реализовано условие N≥4. Перезагрузка счётчика во время счёта не влияет на текущий период, однако последующий будет соответствовать уже новому значению счёта. Минимальная частота каждого канала определяется минимальной частотой вращения ротора шагового двигателя и для нашего случая равна (для 35 об/мин) примерно 595 Гц, максимальная (для 375 об/мин) – 6,25кГц. Чтобы получить частоты вращения ротора шагового двигателя в оборотах в минуту, в программе используется формула F=1500/N, где N – ранее указанный коэффициент деления в канале таймера DD3 (4≤N≤42). Исходными данными для получения формулы являются частота генератора 6,25 кГц и количество шагов на один оборот шагового двигателя – 1000. Десятые доли, полученные при делении двухбайтого двоичного числа 1500 на однобайтовое двоичное N, в программе отбрасываются.

Сигналы управления на приводы через соединители Х1…Х3 поступают с регистра DD2 и инверторов DD1.1…DD1.3. На входы данных инверторов поступает тактовая частота с программируемого таймера DD3.

Работа обратной связи привода с пультом будет рассмотрена на примере привода № 1. Когда тумблер SA1 находится в положении «1», устанавливается запрет работы пульта по каналу 1. Тумблер SA1 в положении «2» разрешает работы пульта по каналу 1. С контакта 7 соединителя Х1 сигнал READY1 поступает на вход 8 микроконтроллера DD4. Микроконтроллер DD4 анализирует уровень сигнала, поступающего на вход 8. При уровне лог. 0 на входе 11 таймера DD3 (вход разрешения счёта канала 0) присутствует лог. 1. При этом счёт канала 0 разрешён. Аналогично работают приводы № 2 и № 3.

Пульт выполнен в виде функционально законченного модуля. Программное обеспечение микроконтроллера осуществляет реализацию алгоритма работы динамической индикации блока и функционирование трёх контроллеров OSM. Функционально законченный модуль состоит из трёх основных частей: процедуры инициализации, основной программы, работающей в замкнутом цикле, и подпрограммы обработки прерывания от таймера TF0. В основной программе происходит вычисление частоты вращения роторов шаговых двигателей по формуле F=1500/N, преобразование получившегося двухбайтового двоичного числа в десятичное двоично­кодированное (BCD) число для отображения информации на индикаторе устройства. В подпрограмме обработки прерывания от таймера TF0 в каждом цикле происходит опрос клавиатуры, перекодировка двоично­десятичного числа в код для семисегметного индикатора и запись информации из порта P1 микроконтроллера DD4 в регистры DD2, DD5. Запись в регистры происходит по фронту импульсов, подаваемых, соответственно, с выводов 3 и 6 микроконтроллера DD4.

Таймер TF0 микроконтроллера DD4 формирует запрос на прерывание через каждые 3400 мкс. Данный таймер играет роль счётчика времени, который формирует временные интервалы, необходимые для отображения разрядов в динамической индикации блока.

Питающее напряжение поступает на плату с соединителя Х4. Конденсатор С4 фильтрует пульсации в цепи питания +5 В. Сразу после подачи питания на выводе 1 микроконтроллера DD4 через RC­цепь R16С1 формируется сигнал системного аппаратного сброса микроконтроллера DD4.

Затем происходит инициализация программы, в которой задаются параметры работы динамической индикации, приводов, а также программируемого таймера DD3. Далее запускается таймер TF0 и разрешается работа устройства по приведённому ранее алгоритму. В ОЗУ микроконтроллера DD4 организован буфер отображения.

Каждый байт из функциональной группы буфера отображения в подпрограмме обработки прерывания таймера TF0 выводится в порт P1 микроконтроллера DD4. Номер группы или режим работы записан в регистре R2. В регистре R1 записан текущий номер отображаемого разряда динамической индикации. Адрес ячейки памяти, где хранится значение самого разряда, записан в регистре R0. В процессе работы подпрограммы обработки прерывания происходит опрос клавиатуры.

Байт, выводимый при этом в порт Р1 микроконтроллера, представляет собой код «бегущий ноль». После записи данного байта в порт Р1 микроконтроллер DD4 анализирует сигнал на входе 7 (Р3.3). В рамках указанной подпрограммы при любой нажатой кнопке на входе 7 микроконтроллера присутствует лог. 0. Таким образом, каждая кнопка клавиатуры привязана к своему разряду байта. Нажатием кнопки S4 инкрементируется регистр R2, и тем самым задаётся один из трёх режимов работы блока управления.

В памяти данных микроконтроллера в адресах с 30Н по 3BН организован буфер отображения для динамической индикации. По своему функциональному назначению адресное пространство данного буфера можно условно разбить на три функциональных группы. Каждая группа занимает четыре ячейки памяти (так как у нас имеется четыре разряда или знакоместа):

30Н…33H – адреса, где хранится текущее значение (об/мин) для привода № 1. Эти адреса выводятся на индикацию в режиме «привод 1». По адресу 30Н хранится число 1.

34Н…37Н – адреса, где хранится текущее значение (об/мин) для привода № 2. Эти адреса выводятся на индикацию в режиме «привод 2». По адресу 34Н хранится число 2.

38Н…3ВН – адреса, где хранится текущее значение (об/мин) для привода № 3. Эти адреса выводятся на индикацию в режиме «привод 3». По адресу 38Н хранится число 3.

Данные адреса загружаются в регистр R0 микроконтроллера. Каждый байт из функциональной группы в цикле в подпрограмме обработки прерывания таймера TF0 (метка OT) после перекодировки выводится в порт Р1 микроконтроллера. Для включения индикаторов HG1…HG4 необходимо установить лог. 0 на выводах 2, 5, 6, 9 регистра DD5 соответственно. Так, например, для того чтобы в режиме «привод 1» на индикаторе HG1 индицировалась единица, необходимо двоично­десятичное число, расположенное по адресу 30H, перекодировать, вывести в порт Р1 микроконтроллера и записать лог. 0 в первый разряд регистра DD5 (вывод 2). Путём записи поочерёдно после перекодировки в цикле в порт Р1 микроконтроллера байты из функциональной группы буфера отображения и лог. 0 на соответствующий вывод регистра DD5 будет реализован режим динамической индикации. Понятно, что каждый разряд индикатора устройства привязан к своему определённому адресу в функциональной группе. На регистре R1 реализован счётчик разрядов.

В регистр R0 записываются адреса функциональных групп (метки TEMО0, TEMО1, TEMО2). При каждом обращении к подпрограмме обработки прерывания регистры R0 и R1 инкрементируются. При инициализации в R0 загружается адрес 30H (режим «привод 1»), а в R1 – число 1. В памяти данных в ячейке с адресом 20Н находится байт, который управляет разрядами динамической индикации и входами разрешения счёта каналов 0, 1, 2 таймера DD3. Данный байт записывается в регистр DD5 сразу после опроса клавиатуры. Младшая тетрада в данном байте представляет собой код «бегущий ноль» для включения знакомест (разрядов) динамической индикации. Длительность цикла динамической индикации, как уже отмечалось ранее, составляет 3,4 мс.

По адресу 21Н в памяти данных находится байт, который управляет сигналами импульсных интерфейсов приводов (сигналы DIR и EN) и задаёт адреса каналов в таймере DD3. Данный байт выводится в цикле подпрограммы обработки прерывания в регистр DD2.

Разработанная программа на ассемблере занимает порядка 1 Кбайт в памяти программ и доступна в дополнительных материалах к статье. Фотография макета пульта представлена на рисунке 7.

В пульте использованы резисторы С2­33Н­0.125 c погрешностью 5%: резистор R29 типа СП5­16ВВ и конденсаторы С1, С4 – К50…35, С2, С3 – К10…17а. У всех микросхем между цепью +5 В и общим проводником полезно установить блокировочные конденсаторы К10­17­Н90­0,1 мкФ. Микроконтроллер DD4 – типа АТ89С4051­24PI.

В дисплее пульта выделен разряд, индицирующий текущий режим работы устройства (индикатор HG1) на фоне остальных разрядов интерфейса. Поэтому для данного разряда выбран семисегментный индикатор красного цвета HDSP­F001 (подойдёт и HDSP­F151), индикаторы HG2…HG4 – HDSP­F501 зелёного цвета. Индикаторы HL1…HL6 можно подобрать абсолютно любые с Iпр = 10 мА.

Потребление тока по каналу напряжения +5 В не более 100 мА. В устройстве нет никаких настроек и регулировок (кроме регулировки частоты генератора в микросхеме DD6). Если монтаж выполнен правильно, то микросхема начинает работать сразу после подачи напряжения питания. Сначала целесообразно проверить работоспособность пульта, не подключая к нему приводы. Затем, подключив приводы, проверить работоспособность, начиная с первого. Подключать приводы к пульту и шаговые двигатели к приводу можно только при выключенном питании.

Литература

  1. URL: www.standa.lt.
  2. URL: www.onitex.ru.
  3. Микропроцессоры и микропроцессорные комплекты интегральных схем. Под. ред. В. А. Шахнова. Радио и связь. М. 1988.

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

25.12.2020 1103 0
Комментарии
Рекомендуем
Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

В статье анализируются способы повышения качества результатов измерений сигналов в присутствии аддитивного шума различной природы. В работе выделены типовые источники шума, а также выполнен обобщающий анализ способов, реализация которых позволяет тем или иным образом снизить уровень шума либо повысить уровень полезного сигнала. Для одного из таких способов, основанного на построении автокорреляционных функций, оценена эффективность в части измерения амплитуды и частоты синусоидального сигнала на фоне гауссовского шума. Приведены примеры измерений зашумлённых сигналов, выполненных с использованием осциллографа VESNA OVS3, позволяющие наглядно судить о потенциальных возможностях снижения уровня гауссовского шума при усреднении осциллограмм, ограничении полосы пропускания и при использовании внешнего фильтра.
18.02.2026 СЭ №2/2026 664 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjdWbKyt
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnje2F5cn
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться