В фасовочном оборудовании ООО ”РОСТ” в качестве электроприводов используются шаговые двигатели. Только благодаря им, удалось достичь таких высоких характеристик и надежности оборудования.
Как известно, главный и практически единственный недостаток шаговых двигателей – сложное управление. В этой статье я расскажу о системе управления шаговыми двигателями для фасовочного оборудования. И система эта совсем не выглядит сложной, по крайней мере, с точки зрения аппаратного обеспечения. А программное обеспечение при серийном производстве – предмет не материальный.
Контроллер для первых станков представлял из себя отдельный модуль, к которому подключались все двигатели, электромагниты, датчики. Длинные провода из разных частей оборудования связывались в толстые жгуты и протягивались в корпус модуля. Намучились мы с ним!
К примеру, в станке розлива и запайки ампул используется 7 шаговых двигателей, а в станке для фасовки в ампулы сыпучих препаратов – 10. У каждого двигателя в униполярном режиме – 5 соединительных проводов. Всего к управляющему контроллеру станка должно быть подключено:
- 10 шаговых двигателей * 5 = 50 проводов
- 5 ключей * 2 = 10 проводов
- 9 датчиков * 2 = 18
- 6 кнопок * 2 = 12.
Итого: 90 связей. Т.е. к контроллеру от датчиков и исполнительных устройств должно подключаться 90 проводов. Для более сложного оборудования, их число может быть значительно больше.
И куда их подключать? Через какие разъемы? К тому же двигатели и датчики физически располагаются в разных частях оборудования, и тянуть провода от них в одно место не очень технологичное решение. Еще, станки разные, с разным числом двигателей, датчиков, электромагнитов. Получается нужны разные контроллеры. При разработке нового оборудования необходимо каждый раз разрабатывать новый контроллер.
Пришли к категоричному выводу, что контроллеру шаговых двигателей в виде единого блока, свойственны убийственные недостатки:
- Большое число подключаемых проводов. Как следствие - проблемы с вводом жгутов в контроллер. А также необходимо большое число разъемов, что требует много места.
- Контроллер содержит громадное число электронных ключей. Одна плата получается огромной. Несколько плат - приводит к лишним связям, разъемам и более сложной конструкции.
- Много ключей на одной плате вызывает большие токи коммутации на отдельных участках платы, требует широких печатных дорожек.
- Длинные связи от двигателей, датчиков к контроллеру.
- Система не расширяется. Сделали контроллер на 10 двигателей – 11 уже не подключить.
Решение выполнить систему в виде локальных контроллеров, настроенных под выполнение отдельных задач, также не выдерживало критики. Например, локальный контроллер, разработанный для узла приема ампул в станке фасовки ампул, не может быть использован в станке для резки стеклянных трубок. Т.е. контроллеры получаются узко специализированными, не взаимозаменяемыми. Да и синхронизация системы на контроллерах под локальные задачи обеспечивается не просто.
Тогда мы создали универсальную систему управления шаговыми двигателями, практически идеальную. Она была разработана в 2008 году. С тех пор не претерпела никаких изменений, только была дополнена новыми типами периферийных контроллеров. Редкая разработка, которую не хочется улучшить!
Система состоит из центрального контроллера (ЦК) и до восьми периферийных контроллеров шаговых двигателей (ПК). Центральный контроллер одновременно является и пультом управления.
К каждому ПК может быть подключено:
- 2 шаговых двигателя;
- 2 ключа (ШИМ ключи для управления электромагнитами, коллекторными двигателями и т.п.);
- 4 датчика ( сухой контакт, контакт на общий провод, оптические датчики…).
Каждый ПК соединен с центральным контроллером 2 проводной витой парой. Т.е. создана маленькая радиальная локальная сеть. Периферийные контроллеры размещаются в непосредственной близости от двигателей, электромагнитов, датчиков. Соединительные провода получаются минимальной длины.
Монтаж системы на нижней части стола станка выглядит так.
Конфигурация системы по такому принципу позволяет:
- Обеспечить минимальную длину соединительных проводов от двигателей и датчиков.
- Выполнить систему управления на одинаковых модулях – периферийных контроллерах. Это позволяет иметь минимальную номенклатуру запасных модулей, быстро заменять их при необходимости. Это справедливо и для разного оборудования фирмы ”РОСТ”. Все оно выполнено на одинаковых модулях.
- Система легко расширяется. Для этого просто добавляются дополнительные периферийные контроллеры. Расширена может быть даже уже смонтированная система. Просто надо найти место для нового контроллера.
- Программное обеспечение ПК совершенно одинаковое. Т.е. модули системы взаимозаменяемы без какого-либо перепрограммирования, установки перемычек, задания адреса.
Периферийные контроллеры выполнены на одной печатной плате небольших размеров. Разъемы запаяны непосредственно в плату. Большая часть электронных компонентов на плате – поверхностного монтажа. Такая конструкция обеспечивает высокую надежность модулей.
Разработаны 2 типа периферийных контроллеров, для управления униполярными и биполярными шаговыми двигателями. С точки зрения программного обеспечения, эти контроллеры равноценны. Т.е. на любом месте может быть установлен как униполярный, так и биполярный двигатель. Необходимо только использовать соответствующий тип ПК. Разъемы и размеры контроллеров для разных видов двигателей одинаковы. Программное обеспечение для обоих типов модуля тоже совершенно одинаковое.
Униполярные контроллеры управляют шаговыми двигателями с максимальным током фазы до 3 А, а биполярными – до 2 А. Этого вполне достаточно для большинства разработок, но при необходимости может быть использована дополнительная плата, увеличивающая максимальный ток двигателя до 10 А.
Особый разговор о программном обеспечении системы. Оно также получилось крайне удачным.
- Физическое подключение к контроллерам удобно производить по локальному принципу, где главный критерий - связи минимальной длины. Так и сделано в системе.
- А управляющей программе желательно иметь равнозначный доступ ко всем ресурсам оборудования: двигателям, ключам, датчикам.
Программное обеспечение центрального контроллера состоит из двух частей - низкого и высокого уровня. Программное обеспечение низкого уровня обеспечивает:
- Передачу данных для каждой фазы двигателя или ключа от центрального контроллера.
- Передачу данных с датчиков на центральный контроллер.
- Цифровую фильтрацию состояния датчиков.
- Контроль целостности данных и диагностику обмена.
- Цифровую фильтрацию сигналов кнопок пульта.
- Управление дисплеем и светодиодами пульта.
Программное обеспечение низкого уровня создает битовые переменные, состояние которых транслируется на ПК, а дальше на двигатели и ключи. И еще, битовые переменные, которые показывают состояние датчиков, подключенных к ПК в реальном времени. Программе верхнего уровня остается только устанавливать и проверять значения этих переменных.
Программное обеспечение нижнего уровня одинаково для всех изделий и является стандартной частью системы. Такое решение позволило:
- Создать периферийные контроллеры с одинаковым программным обеспечением.
- Сконцентрировать интеллектуальное управление системой в одном месте – центральном контроллере. И там же собрать все параметры процесса – технологические установки (ТУ). Представьте себе, что ТУ пришлось бы разносить по ПК.
Полная система на 8 периферийных контроллерах обеспечивает управление:
- 16 шаговыми двигателями;
- 16 ключами с возможностью широтноимульсной модуляции;
- 32 датчиками.
Разработка системы управления шаговыми двигателями конкретного оборудования сводится к:
- физическому размещению стандартных модулей – центрального и периферийных контроллеров;
- соединению их по стандартной схеме;
- разработке программного обеспечения верхнего уровня.
Как видите, разработка аппаратной части может быть сделана за пол дня. Да и программная часть значительно упрощается за счет стандартного программного обеспечения низкого уровня. Программе верхнего уровня приходится работать с переменными, а не с портами процессора, с аппаратными интерфейсами, с протоколами обмена и т.п.
Про центральный и периферийные контроллеры для шаговых двигателей будет отдельная статья.