Разработка контроллера шагового двигателя

Тип работы:
Дипломная
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

РЕФЕРАТ

Пояснительная записка к дипломному проекту: 85 страниц, 15 рисунков, 29 таблиц, 24 источника, 5 приложений, 3 листа чертежей формата А1.

Объект исследований: разработка контролера шагового двигателя робота.

Предмет исследования: контроллер шагового двигателя.

В первом разделе рассмотрены общие принципы разработки устройств на микроконтроллерах и внедрения их в производство, принцип действия шаговых двигателей.

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

В третьем разделе выполнено технико-экономическое обоснование объекта разработки, сделан вывод о целесообразности производства данного устройства.

В четвертом разделе проведены расчеты вентиляции, природного и искусственного освещения, уровня шума, полученные значения сопоставлены с нормативными.

АЛГОРИТМ, КВАРЦЕВЫЙ РЕЗОНАТОР, МИКРОКОНТРОЛЛЕР, МИКРОПРОЦЕССОРНАЯ СИСТЕМА, ШАГОВЫЙ ДВИГАТЕЛЬ

Введение

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

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

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

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

Предмет исследования — разработка контроллера шагового двигателя робота.

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

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

Проект основывается на микроконтроллере типа AT90S2313 фирмы Atmel.

1. Теоретические основы разработки

1.1 Разработка микропроцессорной системы на основе микроконтроллера

1.1.1 Основные этапы разработки

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

Перед разработчиком МПС стоит задача реализации полного цикла проектирования, начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия. Методология проектирования контроллеров может быть представлена так, как показано на рис. 1.1.

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

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

Рисунок 1.1 — Основные этапы разработки контроллера

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

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

— разрядность;

— быстродействие;

— набор команд и способов адресации;

— требования к источнику питания и потребляемая мощность в различных режимах;

— объем ПЗУ программ и ОЗУ данных;

— возможности расширения памяти программ и данных;

— наличие и возможности периферийных устройств, включая средства поддержки работы в реальном времени (таймеры, процессоры событий и т. п.);

— возможность перепрограммирования в составе устройства;

— наличие и надежность средств защиты внутренней информации;

— возможность поставки в различных вариантах конструктивного исполнения;

— стоимость в различных вариантах исполнения;

— наличие полной документации;

— наличие и доступность эффективных средств программирования и отладки МК;

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

Список этот не является исчерпывающим.

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

1.1.2 Разработка и отладка аппаратных средств

После разработки структуры аппаратных и программных средств дальнейшая работа над контроллером может быть распараллелена. Разработка аппаратных средств включает в себя разработку общей принципиальной схемы, разводку топологии плат, монтаж макета и его автономную отладку. На этапе ввода принципиальной схемы и разработки топологии используются, как правило, распространенные системы проектирования типа «ACCEL EDA» или «OrCad».

1.1.3 Разработка и отладка программного обеспечения

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

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

1. 2 Принципы работы шагового двигателя

Существуют два основных типа шаговых двигателей, применяемых в практике:

* с постоянным магнитом;

* с переменным магнитным полем.

Конструкция типичного биполярного шагового двигателя показана на рис. 1.2.

Двигатели с постоянным магнитом бывают биполярными (рис. 1. 3) и униполярными (рис. 1. 4).

Биполярные двигатели — наиболее простые для решения несложных задач. Они состоят из постоянного магнита вращающегося ротора и окруженного полюсами статора, состоящего из четырех обмоток. Протекание тока в обмотках статора возбуждает ротор, и при последовательной коммутации обмоток происходит ступенчатое вращение.

Рисунок 1.2 — Конструкция биполярного шагового двигателя

Рисунок 1.3 — Схема биполярного двигателя

Рисунок 1.4 — Схема униполярного двигателя

Для двигателя этого типа существует три метода возбуждения обмоток.

* Возбуждение обмоток происходит в последовательности AB/CD/ BA/DC (ВА указывает на то, что обмотка АВ возбуждается в противоположном направлении). Эта последовательность известна под названием «одна фаза активна», «полный шаг» или «привод волны». В каждый момент возбуждается только одна из фаз (рис. 1. 5).

Рисунок 1.5 — Последовательность возбуждения обмоток «одна фаза активна»

* Возбуждение одновременно обеих фаз, чтобы ротор выровнялся между двумя положениями полюса. Такой метод называется «две фазы активны», «полный шаг». Это состояние является следующей последовательностью привода биполярного двигателя и дает самый высокий вращающий момент (рис. 1. 6).

* Возбуждение одной фазы, потом — двух, потом — одной и т. д., чтобы ротор двигался поэтапно, вращаясь в квадранте. Эта последовательность известна как «ступенчатый метод половины». Полуволна имеет большой угол вращения за шаг двигателя, но слабый вращающий момент (рис. 1. 7).

Рисунок 1.6 — Последовательность возбуждения обмоток «две фазы активны»

Для вращения в противоположном направлении (синхронизация прежняя) изменяется порядок возбуждения обмоток, на противоположный. Как показано на диаграммах, угол поворота ротора составляет 90°. Промышленные двигатели имеют больше полюсов и достигают угла поворота в несколько градусов, но число обмоток и последовательность привода остаются неизменными.

Рисунок 1.7 — Последовательность возбуждения обмоток «ступенчатый метод половины»

Униполярный двигатель с постоянным магнитом идентичен биполярному за тем исключением, что у него в каждой фазе используются две обмотки. Это необходимо для того, чтобы полностью изменить поток статора быстрее, чем в двунаправленном приводе (рис. 1. 8).

Рисунок 1.8 — Схема униполярного двигателя с постоянным магнитом

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

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

Двигатель переменного магнитного поля оснащен ротором из нена-магниченного мягкого железа с меньшим количеством полюсов, чем статор (рис. 1. 8). При этом используется униполярный метод возбуждения пары полюсов статора, чтобы повернуть ротор к полюсам возбуждаемой обмотки ступенчато. Здесь также используют три различных последовательности возбуждения фаз:

* «одна фаза активна» — A/C/B/D;

* «две фазы активны» — AC/CB/BD/DA;

* «шаг-половина» — A/AC/C/BC/B/BD/D/DA.

Заметим, что угол поворота ротора составляет 15°, а не 45°. В прошлом униполярные двигатели были более интересны для проектировщиков, поскольку имеют простой выходной каскад. Теперь, когда выпускаются монолитные драйверы напряжения, биполярные двигатели становятся более популярным.

Для правильного генерирования импульса обмотки ШД необходим мостовой коммутатор тока обмотки. Такой коммутатор можно собрать на дискретных элементах.

2. Разработка контроллера шагового двигателя робота

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

Требуется разработать схему контролера шагового двигателя робота.

Разработка устройства велась с учётом следующих требований:

— простота схемы (минимальное количество компонентов);

— функциональная насыщенность, многообразие регулируемых параметров;

— устойчивость к изменениям напряжения, долговечность;

— отсутствие либо минимальный нагрев компонентов;

— низкое энергопотребление.

2. 2 Разработка структурной схемы устройства и функциональной спецификации

Рассмотрим структуру разрабатываемого устройства (Рис. 2. 1). АЦП, который тактируется от задающего генератора, снимает напряжение с регулятора R. Это напряжение преобразуется в шестнадцатиричный код. Полученные данные преобразуются для достижения целей поставленной задачи. Далее программа задает код работы порта, А в зависимости от внешних управляющих сигналов. Этот код отрабатывает драйвер, который возбуждает обмотки ШД.

Uпит

UАЦП Шаговый двигатель

Контроль по току

Рисунок 2.1 — Структурная схема разрабатываемого устройства

ГТС — генератор тактового сигнала;

ВУУ — внешнее управление устройством;

ДР — драйвер;

КР — кварцевый резонатор;

СН — стабилизатор напряжения.

Функциональная спецификация контролера шагового двигателя робота: 1. Входы:

а. Передача сигналов управления из внешнего управления устройством;

b. Электропитание М К и драйверов стабилизированным напряжением;

с. Регулировка скорости вращения шаговым двигателем на вход АЦП;

d. Стабилизация частоты генератора кварцевым резонатором (КР).

2. Выходы:

а. Сигнал управления от МК драйвера;

b. Сигналы на устройство индикации работы ШД.

3. Функции:

а. Управление шаговым двигателем (функцией движения «Вперед-назад»);

b. МК управляет работой драйверов, которые управляют движением ШД;

с. При подаче определенного сигнала на вход МК изменение хода движения двигателя и его скорости;

d. Электропитание М К и драйверов;

е. Кварцевый резонатор осуществляет стабилизацию частоты генератора.

2. 3 Аппаратные средства микроконтроллеров серии AT90S2313

В ТЗ на проектирование задан микроконтроллер типа AT90S2313 фирмы Atmel.

AT90S2313 — 8 — ми разрядный AVR® микроконтроллер с 2 Кбайт Flash памятью с поддержкой внутрисистемного программирования

Отличительные особенности:

AVR® — высокая производительность и RISC архитектура с низким энергопотреблением

118 мощных инструкций — большинство из них выполняются за один такт

2 Кбайт Flash — памяти с поддержкой внутрисистемного программирования

SPI — последовательный интерфейс для загрузки программного кода

Ресурс: 1000 циклов записи/ стирания

128 байта EEPROM:

Ресурс: 100 000 циклов запись/ стирание

Рабочие регистры общего назначения 32 х 8

15 программируемых линий I/O

Питание VCC: от 2.7 В до 6.0 В

Полностью статический режим работы:

От 0 до 10 МГц, при питании от 4.0 В до 6.0 В

От 0 до 4 МГц, при питании от 2.7 В до 6.0 В

Производительность, вплоть до 10 MIPS при 10 МГц

Один 8-ми разрядный таймер/ счетчик с отдельным предварительным делителем частоты

Один 16-ти разрядный таймер/ счетчик с отдельным предварительным делителем частоты с режимами сравнения и захвата

Полнодуплексный UART

Выбираемые 8, 9, или 10-ти разрядные режимы широтно-импульсной модуляции (ШИМ)

Внешние и внутренние источники прерывания

Программируемый следящий таймер с встроенным тактовым генератором

Встроенный аналоговый компаратор

Экономичные режимы ожидания и пониженного энергопотребления

Программируемая блокировка для безопасности программного обеспечения

Расположение выводов AT90S2313 (Рисунок 2. 2).

Рисунок 2.2 — Расположение выводов микроконтроллера AT90S2313

Блок — схема AT90S2313 представлена на рисунке 2.3.

AT90S2313 является 8-ми разрядным CMOS микроконтроллером с низким энергопотреблением, основанным на усовершенствованной AVR RISC архитектуре.

Рисунок 2.3 — Структурная схема микроконтроллера AT90S2313

Благодаря выполнению высокопроизводительных инструкций за один период тактового сигнала, AT90S2313 достигает производительности, приближающейся к уровню 1 MIPS на МГц, обеспечивая разработчику возможность оптимизировать уровень энергопотребления в соответствии с необходимой вычислительной производительностью.

Ядро AVR содержит мощный набор инструкций и 32 рабочих регистра общего назначения. Все 32 регистра напрямую подключены к арифметико — логическому устройству (АЛУ), что обеспечивает доступ к двум независимым регистрам при выполнении одной инструкции за один такт. В результате, данная архитектура имеет более высокую эффективность кода, при повышении пропускной способности, вплоть до 10 раз, по сравнению со стандартными микроконтроллерами CISC.

AT90S2313 имеет: 2 Кбайт Flash — памяти с поддержкой внутрисистемного программирования, 128 байт EEPROM, 15 линий I/O общего назначения, 32 рабочих регистра общего назначения, универсальные таймеры/ счетчики с режимами сравнения, внутренние и внешние прерывания, программируемый UART последовательного типа, программируемый следящий таймер с встроенным тактовым генератором и программируемый последовательный порт SPI для загрузки программ в Flash память, а также, два программно выбираемых режима экономии энергопотребления. Режим ожидания «Idle Mode» останавливает CPU, но позволяет функционировать SRAM, таймеру/ счетчикам, SPI порту и системе прерываний. Режим экономии энергопотребления «Power Down» сохраняет значения регистров, но останавливает тактовый генератор, отключая все остальные функции микроконтроллера, вплоть до следующего внешнего прерывания, или до аппаратной инициализации.

Устройство производится с применением технологи энергонезависимой памяти с высокой плотностью размещения, разработанной в корпорации Atmel. Встроенная Flash — память с поддержкой внутрисистемного программирования обеспечивает возможность перепрограммирования программного кода в составе системы, посредством SPI последовательного интерфейса, или с помощью стандартного программатора энергонезависимой памяти. Благодаря совмещению усовершенствованного 8-ми разрядного RISC CPU с Flash — памятью с поддержкой внутрисистемного программирования на одном кристалле получился высокопроизводительный микроконтроллер AT90S2313, обеспечивающий гибкое и экономически — высокоэффективное решение для многих приложений встраиваемых систем управления.

AVR AT90S2313 поддерживается полным набором программ и пакетов для разработки, включая: компиляторы С, макроассемблеры, отладчики/ симуляторы программ, внутрисхемные эмуляторы и наборы для макетирования.

2.4 Разработка функциональной схемы устройства

Функциональная схема контролера шагового двигателя робота изображена на рисунке 2.4.

+U

Рисунок 2.4 — Функциональная схема контролера шагового двигателя робота

2. 5 Разработка алгоритма управления

Рисунок 2.5 — Основной алгоритм контролера шагового двигателя робота

2. 6 Разработка программного обеспечения микроконтроллера

Главной задачей программы является формирование импульсных последовательностей для 4-х обмоток двигателя. Поскольку для этих последовательностей временные соотношения являются критичными, формирование выполняется в обработчике прерывания таймера 0. Можно сказать, основную работу программа делает именно в этом обработчике. Алгоритм работы обработчика приведен на рисунке 2.5.

Несомненно, было бы удобнее использовать таймер 1, так как он 16-разрядный и способен вызывать периодические прерывания по совпадению с автоматическим обнулением. Однако он занят формированием с помощью ШИМ опорного напряжения для компараторов. Поэтому приходится перезагружать таймер 0 в прерывании, что требует некоторой корректировки загружаемой величины и вызывает некоторый джиттер, который, однако, на практике не мешает. В качестве основной временной базы выбран интервал 25 мкс, который и формируется таймером. С такой дискретностью могут формироваться временные последовательности фаз, такой же период имеет и ШИМ стабилизации тока в фазах двигателя.

Для формирования периода повторения шагов используется программный 16-разрядный таймер STCNT. В отличие от таймера 0, его загрузочная величина не является константой, так как именно она определяет скорость вращения двигателя. Таким образом, переключение фаз происходит только при переполнении программного таймера.

Последовательность чередования фаз задана таблично. В памяти программ микроконтроллера имеются три разных таблицы: для полношагового режима без перекрытия фаз, полношагового с перекрытием и для полушагового режима. Все таблицы имеют одинаковую длину 8 байт. Нужная таблица в начале работы загружается в ОЗУ, что позволяет наиболее просто переходить между разными режимами работы двигателя. Выборка значений из таблицы происходит с помощью указателя PHASE, поэтому переключение направления вращения двигателя тоже осуществляется очень просто: для вращения вперед требуется инкрементировать указатель, а для вращения назад — декрементировать.

Самая «главная» переменная в программе — это 24-битная знаковая переменная VC, которая содержит значение текущей скорости. Знак этой переменной определяет направление вращения, а значение — частоту следования шагов. Нулевое значение этой переменной говорит о том, что двигатель остановлен. Программа в этом случае выключает ток всех фаз, хотя во многих приложениях в этой ситуации требуется оставить включенными текущие фазы и лишь несколько уменьшить их ток, обеспечив этим удержание положения двигателя. При необходимости такое изменение логики работы программы сделать очень просто.

Таким образом, в случае переполнения программного таймера STCNT происходит анализ значения переменной VC, в случае положительного значения указатель PHASE инкрементируется, а в случае отрицательного — декрементируется. Затем из таблицы выбирается очередная комбинация фаз, которая выводится в порт. В случае нулевого значения VC указатель PHASE не изменяется, и в порт выводятся все нулевые значения.

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

Для осуществления ШИМ-стабилизации тока фазы должны периодически включаться, а затем, при достижении током заданного уровня, выключаться. Периодическое включение производится в прерывании таймера 0, для чего даже в случае отсутствия переполнения программного таймера STCNT в порт выводится текущая комбинация фаз. Происходит это с периодом 25 мкс (что соответствует частоте ШИМ 40кГц). Выключением фаз управляют компараторы, выходы которых подключены к входам прерывания INT0 и INT1. Прерывания разрешаются после того, как ток фаз включается, и запрещаются сразу после переключения компараторов. Это исключает их повторную обработку. В обработчиках прерываний происходит только отключение соответствующих фаз (рисунок 2. 6).

Рисунок 2.6 — Блок-схема обработчика прерываний INT0 и INT1

Процессы, происходящие при ШИМ-стабилизации тока, показаны на рисунке 2.7. Особо следует отметить, что ток в датчике тока имеет прерывистый характер даже в том случае, если ток обмотки не прерывается. Это связано тем, что во время спада тока его путь не проходит через датчик тока (а проходит через диод).

Рисунок 2.7 — Процесс ШИМ-стабилизации тока

Аналоговая часть системы ШИМ-стабилизации тока фаз двигателя является довольно «капризной». Дело в том, что сигнал, снимаемый с датчика тока, содержит большое количество помех. Помехи возникают в основном в моменты коммутации обмоток двигателя, причем как «своей», так и «чужой» фазы.

В данной программе периодичность вычисления новых значений скорости и периода выбрана равной 15. 625 мс. Такое значение выбрано не случайно. Этот интервал составляет 1/64с, а главное, он содержит целое число периодов переполнения таймера 0 (25 мкс). Удобно, если значения скорости и ускорения задаются в естественных единицах, т. е. в шагах в секунду и в шагах, деленных на секунду в квадрате. Для того чтобы иметь возможность в целочисленной арифметике вычислять мгновенную скорость 64 раза в секунду, нужно перейти к внутреннему представлению скорости, увеличенному в 64 раза. Умножение и деление на 64 сводится к обычным сдвигам и поэтому требует очень мало времени. Заданную периодичность вычислений обеспечивает еще один программный таймер URCNT, который декрементируется в прерывании таймера 0 (раз в 25 мкс). Этот таймер всегда загружается постоянной величиной, что обеспечивает неизменный период его переполнений, равный 15. 625 мс. При переполнении этого таймера устанавливается битовый флаг UPD, который сигнализирует основной программе, что «пора бы обновить значения скорости и периода».

Основная программа (рисунок 2. 8) выполняет вычисление мгновенных значений скорости и периода следования шагов, обеспечивая необходимую кривую разгона. В данном случае разгон и торможение осуществляются с постоянным ускорением, поэтому скорость меняется линейно. Период при этом меняется по гиперболическому закону, и его вычисление — основная работа программы.

Рисунок 2.8 — Блок-схема основного цикла программы

Обновление значений скорости и периода следования шагов основная программа делает периодически, периодичность задается флагом UPD. Обновление программа делает на основе сравнения значений двух переменных: мгновенной скорости VC и требуемой скорости VR.

Значение требуемой скорости также определяется в основной программе. Это делается на основе анализа управляющих сигналов и сигналов с концевых выключателей. В зависимости от этих сигналов, основная программа загружает переменную VR значением требуемой скорости. В данной программе это V для движения вперед, — V для движения назад и 0 для остановки. В общем случае, набор скоростей (а также ускорений и токов фаз) может быть сколь угодно большим, в зависимости от требований.

Если скорости VC и VR равны, значит, шаговый двигатель работает в стационарном режиме и обновления не требуется. Если же скорости не равны, то значение VC с заданным ускорением приближается к VR, т. е. двигатель ускоряется (или замедляется) до достижения номинальной скорости. В случае, когда даже знаки VR и VC отличаются, двигатель замедляется, реверсируется и потом достигает требуемой скорости. Происходит это как бы само собой, благодаря структуре программы.

Если при очередной проверке обнаруживается, что скорости VR и VC не равны, то к значению VC прибавляется (или вычитается) значение ускорения A. Если в результате этой операции происходит превышение требуемой скорости, то полученное значение корректируется путем замены на точное значение требуемой скорости.

Затем происходит вычисление периода T (рисунок 2. 9).

Рисунок 2.9 — Блок-схема подпрограммы вычисления периода

Вначале вычисляется модуль текущей скорости. Затем происходит ограничение минимальной скорости. Это ограничение необходимо по двум причинам. Во-первых, бесконечно малой скорости соответствует бесконечно большой период, что вызовет ошибку в вычислениях. Во-вторых, шаговые двигатели имеют довольно протяженную по скорости зону старта, поэтому нет необходимости стартовать на очень маленькой скорости, тем более что вращение на малых скоростях вызывает повышенный шум и вибрацию. Значение минимальной скорости VMIN должно выбираться исходя из конкретной задачи и типа двигателя. После ограничения минимальной скорости производится вычисление периода по формуле T = 2 560 000/|VC|. На первый взгляд формула не очевидна, но если учесть, что период необходимо получить в 25 мкс-интервалах, а внутреннее представление VC — это умноженное на 64 ее истинное значение, то все становится на свои места. При вычислении T требуется операция беззнакового деления формата 24/24, которое AVR на тактовой частоте 10МГц делает примерно за 70 мкс. Учитывая, что вычисления периода происходят не чаще, чем один раз в 15. 625 мс, загрузка процессора получается очень низкой. Основную загрузку производит прерывание таймера 0, да и оно в основном выполняется по короткой ветке (без переполнения STCNT) длительностью примерно 3 мкс, что соответствует 12%-й загрузке процессора. Это означает, что имеются значительные резервы вычислительных ресурсов.

2.7 Выбор элементной базы

Основой устройства является микроконтроллер U1 типа AT90S2313 фирмы Atmel. Сигналы управления обмотками двигателя формируются на портах PB4 — PB7 программно. Для коммутации обмоток используются по два включенных параллельно полевых транзистора типа КП505А, всего 8 транзисторов (VT1 — VT8). Эти транзисторы имеют корпус TO-92 и могут коммутировать ток до 1. 4А, сопротивление канала составляет около 0.3 ома. Для того, чтобы транзисторы оставались закрытыми во время действия сигнала «сброс» микроконтроллера (порты в это время находятся в высокоимпедансном состоянии), между затворами и истоками включены резисторы R11 — R14. Для ограничения тока перезарядки емкости затворов установлены резисторы R6 — R9. Данный контроллер не претендует на высокие скоростные характеристики, поэтому вполне устраивает медленный спад тока фаз, который обеспечивается шунтированием обмоток двигателя диодами VD2 — VD5. Для подключения шагового двигателя имеется 8-контактный разъем XP3, который позволяет подключить двигатель, имеющий два отдельных вывода от каждой обмотки (как, например, ДШИ-200). Для двигателей с внутренним соединением обмоток один или два общих контакта разъема останутся свободными.

Необходимо отметить, что контроллер может быть использован для управления двигателем с большим средним током фаз. Для этого только необходимо заменить транзисторы VT1 — VT8 и диоды VD2 — VD5 более мощными. Причем в этом случае параллельное включение транзисторов можно не использовать. Наиболее подходящими являются МОП-транзисторы, управляемые логическим уровнем. Например, это КП723Г, КП727 В и другие.

Стабилизация тока осуществляется с помощью ШИМ, которая тоже реализована программно. Для этого используются два датчика тока R15 и R16. Сигналы, снятые с датчиков тока, через ФНЧ R17C8 и R18C9 поступают на входы компараторов U3A и U3B. ФНЧ предотвращают ложные срабатывания компараторов вследствие действия помех. На второй вход каждого компаратора должно быть подано опорное напряжение, которое и определяет пиковый ток в обмотках двигателя. Это напряжение формируется микроконтроллером с помощью встроенного таймера, работающего в режиме 8-битной ШИМ. Для фильтрации сигнала ШИМ используется двухзвенный ФНЧ R19C10R22C11. Одновременно резисторы R19, R22 и R23 образуют делитель, который задает масштаб регулировки токов фаз. В данном случае максимальный пиковый ток, соответствующий коду 255, выбран 5. 11А, что соответствует напряжению 0. 511 В на датчиках тока. Учитывая тот факт, что постоянная составляющая на выходе ШИМ меняется от 0 до 5 В, необходимый коэффициент деления равен примерно 9.7. Выходы компараторов подключены к входам прерываний микроконтроллера INT0 и INT1.

Для управления работой двигателя имеются два логических входа: FWD (вперед) и REW (назад), подключенных к разъему XP1. При подаче «низкого» логического уровня на один из этих входов, двигатель начинает вращаться на заданной минимальной скорости, постепенно разгоняется с заданным постоянным ускорением. Разгон завершается, когда двигатель достигает заданной рабочей скорости. Если подается команда изменения направления вращения, двигатель с тем же ускорением тормозится, затем реверсируется и снова разгоняется.

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

Командные входы и входы концевых выключателей защищены от перенапряжений цепочками R1VD6, R2VD7, R3VD8 и R4VD9, состоящими из резистора и стабилитрона.

Питание микроконтроллера формируется с помощью микросхемы стабилизатора 78LR05, которая одновременно выполняет функции монитора питания. При понижении напряжения питания ниже установленного порога эта микросхема формирует для микроконтроллера сигнал «сброс». Питание на стабилизатор подается через диод VD1, который вместе с конденсатором C6 уменьшает пульсации, вызванные коммутациями относительно мощной нагрузки, которой является шаговый двигатель. Питание на плату подается через 4-контактный разъем XP4, контакты которого задублированы.

2.8 Разработка схемы электрической принципиальной

Принципиальная схема контролера шагового двигателя робота выполнена в САПР Accel Eda (Рисунок 2. 10).

Рисунок 2. 10 — Принципиальная схема контролера шагового двигателя робота в Accel EDA

3. Технико-экономическое обоснование объекта разработки

В данном разделе проводится технико-экономический расчет стоимости контроллера шагового двигателя робота.

Стоимость устройства будет состоять из стоимости разработки ПО для микроконтроллера, стоимости разработки конструкторской документации (КД) и стоимости сборки и испытания устройства.

3.1 Расчет расходов на ПО, которое разрабатывается

Исходные данные для расчета стоимости разработки ПО, которое разрабатывается приведены в таблице 3.1.

Таблица 3.1 — Исходные данные по предприятию

№п/п

Статьи затрат

Усл. обоз.

Ед. изм.

Значения

Проектирование и разработка ПО

1

Часовая тарифная ставка программиста

Зпр

грн.

8,00

2

Коэффициент сложности программы

с

коэф.

1,40

3

Коэффициент коррекции программы

Р

коэф.

0,05

4

Коэффициент увеличения расходов труда

Z

коэф.

1,3

5

Коэффициент квалификации программиста

k

коэф.

1,0

6

Амортизационные отчисления

Амт

%

10,0

7

Мощность компьютера, принтера

WМ

Квт/ч

0,40

8

Стоимость ПЕОМ IBM

Sempron LE1150 (AM2)/1GB/TFT

Втз

грн.

3200,00

9

Тариф на электроэнергию

Це/е

грн.

0,56

10

Норма дополнительной зарплаты

Нд

%

10,0

11

Отчисление на социальные расходы

Нсоц

%

37,2

12

Транспортно-заготовительные расходы

Нтр

%

4,0

Эксплуатация П0

13

Численность обслуживающего персонала

Чо

чел

1

14

Часовая тарифная ставка обслуживающего персонала

Зпер

грн.

6,00

15

Время обслуживания систем

То

час/г

150

16

Стоимость ПЕОМ

Втз

грн.

3200,00

17

Норма амортизационных отчислений на ПЕОМ

На

%

10,0

18

Норма амортизационных отчислений на ПЗ

НаПО

%

10,0

19

Накладные расходы

Рнак

%

25,0

20

Отчисление на содержание и ремонт ПЕОМ

Нр

%

10,0

21

Стоимость работы одного часа ПЕОМ

Вг

грн.

6,5

Первичными исходными данными для определения себестоимости ПО является количество исходных команд (операторов) конечного программного продукта. Условное количество операторов Q в программе задания может быть оценено по формуле:

,

(3. 1)

где у — расчетное количество операторов в программе, что разрабатывается (единиц);

с — коэффициент сложности программы;

р — коэффициент коррекции программы в ходе ее разработки.

Рассчитанное количество операторов в разработанной программе — 200.

Коэффициент с — относительная сложность задания относительно отношения к типичной задаче, сложность которой принята более 1, лежит в границах от 1,25 до 2,0 и выбирается равным 1,30.

Коэффициент коррекции программы р — увеличение объема работ за счет внесения изменений в программу лежит в границах от 0,05 до 0,1 и выбирается равным 0,05.

Подставим выбранные значения в формулу (3. 1) и определим величину Q:

Q = 200•1,3 (1 + 0,05) = 273.

3.2 Расчет расходов на создание ПО

Расчет расходов на ПО проводится методом калькуляции расходов, в основу которого положена трудоемкость и заработная плата разработчиков. Трудоемкость разработки ПО рассчитывается по формуле:

(3. 2)

где То — расходы труда на описание задания;

Ти — расходы труда на изучение описания задания;

Та — расходы труда на разработку алгоритма решения задания;

Тп — расходы труда на составление программы по готовой блок-схеме;

Тотл — расходы труда на отладку программы на ЭВМ;

Тд — расходы труда на подготовку документации.

Составные расходы труда, в свою очередь, можно определить по числу операторов Q для ПО, которое разрабатывается. При оценке расходов труда используются:

— коэффициенты квалификации разработчика алгоритмов и программ — k;

— увеличение расходов труда в результате недостаточного описания задания — Z.

Коэффициент квалификации разработчика характеризует меру подготовленности исполнителя к порученной ему работе (он задается в зависимости от стажа работы), k = 1,0.

Коэффициент увеличения расходов труда в результате недостаточного описания задания характеризует качество постановки задания, выданного для разработки программы, в связи с тем, что задание требовало уточнения и некоторой доработки. Этот коэффициент принимается равным 1,3.

Все исходные данные приведенные в таблице 3.1.

а) Трудоемкость разработки П0 составляет:

Расходы труда на подготовку описания задания То принимаются равными 5 чел. /час, исходя из опыта работы.

Расходы труда на изучение описания задания Те с учетом уточнения описания и квалификации программиста могут быть определены по формуле:

;

(3. 3)

Ти = 273•1,3/80•1 = 5 (чел. /час)

Расходы труда на разработку алгоритма решения задачи рассчитываются по формуле:

;

(3. 4)

Та=273/25•1 = 11 (чел. /час)

Расходы труда на составление программы по готовой блок-схеме Тп рассчитываются по формуле:

;

(3. 5)

(чел. /час)

Расходы труда на отладку программы на ПЕОМ Тотл рассчитываются по формуле:

— при автономной отладке одного задания:

;

(3. 6)

(чел. /час)

— при комплексной отладке задания:

;

(3. 7)

(чел. /час)

Расходы труда на подготовку документации по заданию Тд определяются по формуле:

,

(3. 8)

где Тдр — расходы труда на подготовку материалов в рукописи:

;

(3. 9)

(чел. /час)

Тдо — расходы труда на редактирование, печать и оформление документация:

.

(3. 10)

(чел. /час)

Подставляя приобретенных значений в формулу (3. 8), получим:

(чел. /час)

Определим трудоемкость разработки ПО, подставив полученные значения составляющих в формулу (3. 2):

Расчет трудоемкости и зарплаты приведен в таблице 3.2.

Таблица 3.2 — Трудоемкость и зарплата разработчиков ПО

Наименование этапов

разработки

Трудоемкость. чел. /часов

Почасовая тарифная ставка программиста, грн.

Сумма зарплаты, грн.

Описание задания

5

8,00

40,00

Изучение задания

5

8,00

40,00

Составление алгоритма решения задачи

11

8,00

88,00

Программирование

13

8,00

104,00

Отладка программы

55

8,00

440,00

Оформление документации

25

8,00

200,00

ВСЕГО:

114

8,00

912,00

б) Расчет материальных расходов на разработку ПО

Материальные расходы Мз, которые необходимы для создания ПО приведены в таблице 3.3.

Таблица 3.3 — Расчет материальных расходов на разработку ПО

Материал

Фактическое количество

Цена за единицу, грн.

Сумма, грн.

1. DVD

2

3,00

6,00

2. Бумага

500

0,10

50,00

ВСЕГО:

56,00

ТЗР (4%)

2,24

ИТОГО:

57,24

в) Расходы на использование ЭВМ при разработке ПО

Расходы на использование ЭВМ при разработке ПО рассчитываются, исходя расходов одного часа, по формуле:

,

(3. 12)

где Вг — стоимость работы одного часа ЭВМ, грн. ;

Тотл — расходы труда на наладку программы на ЭВМ, чел. /час. ;

Тд — расходы труда на подготовку документации, чел. /час. ;
Тп — расходы труда на составление программы по готовой блок-схеме, чел. /час.

(грн.)

г) Расчет технологической себестоимости создания программы

Расчет технологической себестоимости создания программы проводится методом калькуляции расходов (таблица 3. 4).

Таблица 3.4 — Калькуляция технологических расходов на создание ПО

Наименование

Расходы, грн.

1

Материальные расходы

57,24

2

Основная зарплата

912,00

3

Дополнительная зарплата (15,0%)

136,80

4

Отчисление на социальные мероприятия (37,2%)

390,15

5

Накладные расходы (25,0%)

228,00

6

Расходы на использование ЭВМ

составлении программного обеспечения ПО

604,50

7

Себестоимость ПО микроконтроллера

2328,69

В таблице 3.4 величина материальных расходов Мз рассчитана в таблице 3. 3, основная зарплата Со берется из таблицы 3. 2, дополнительная зарплата составляет 15% от основной зарплаты, отчисление на социальные потребности — 37,2% от основной и дополнительной зарплат (вместе), накладные расходы — 25% от основной зарплаты. Себестоимость разработанной программы СПО рассчитывается как сумма пунктов 1 — 6.

Стоимость ПО для микроконтроллера составляет 2328,69 грн. на единицу продукции.

3.3 Расчет стоимости разработки конструкторской документации и сборки устройства

а) Трудоемкость разработки КД изделия (Т) рассчитывается по формуле:

,

(3. 13)

где Татз — расходы труда на анализ технического задания (ТЗ), чел. /час;

Трес — расходы труда на разработку электрических схем, чел. /час;

Трк — расходы труда на разработку конструкции, чел. /час;

Трт — расходы труда на разработку технологии, чел. /час;

Токд — расходы труда на оформление КД, чел. /час;

Твидз — расходы труда на изготовление и испытание опытного образца, чел. /час.

Данные расчета заносятся в таблицу 3.5.

Заработная плата на разработку КД изделия определяется по формуле:

,

(3. 14)

где — почасовая тарифная ставка разработчика, грн. ;

— трудоемкость разработки КД изделия.

Таблица 3.5 — Расчет заработной платы на разработку КД изделия

Виды работ

Условные обозначения

Почасовая тарифная ставка —
Сст, грн.

Факт.

расходы времени

чел. /час;

Зарплата, грн.

1. Анализ ТЗ

Татз

6,00

2

12,00

2. Разработка электрических схем

Трес

6,00

4

24,00

3. Разработка конструкции

Трк

6,00

4

24,00

4. Разработка технологии

Трт

6,00

2

12,00

5. Оформление КД

Токд

6,00

2

12,00

6. Изготовление и испытание опытного образца

Твидз

6,00

8

48,00

Всего:

6,00

22

132,00

б) Расчет материальных расходов на разработку КД

Материальные расходы Мв, которые необходимы для разработки (создании) КД, приведены в таблице 3.6.

Таблица 3.6 — Расчет материальных расходов на разработку КД

Материал

Обозначение пометь.

Факт. кол.

чество

Цена за ед. грн.

цу, грн.

Сумма,

грн.

1. CD DVD

2

3,00

6,00

2. Бумага

500

0,07

35,00

ВСЕГО:

41,00

ТЗР (4%)

1,64

Итого:

Мв

42,64

в) Расходы на использование ЭВМ при разработке КД

Расходы, на использование ЭВМ при разработке КД, рассчитываются исходя из расходов работы одного часа ЭВМ по формуле, грн. :

,

(3. 15)

где Вг — стоимость работы одного часа ЭВМ, грн.

Трес — расходы труда на разработку электрических схем, чел. /час;

Трк — расходы труда на разработку конструкции, чел. /час;

Трт — расходы труда на разработку технологии, чел. /час;

Токд — расходы труда на оформление КД, чел. /час;

При этом, стоимость работы одного часа ЭВМ (других технических средств — ТС) Вг определяется по формуле, грн. :

,

(3. 16)

где Те/е — расходы на электроэнергию, грн. ;

Ваморт — величина 1-ого часа амортизации ЭВМ (ТС), грн. ;

Зперс — почасовая зарплата обслуживающего персонала, грн. ;

Трем — расходы на ремонт, покупку деталей, грн. ;

Стоимость одного часа амортизации Ваморт определяется по формуле, грн.: (при 40 часовой рабочей неделе)

,

(3. 17)

где Втз — стоимость технических средств, грн.

На — норма годовой амортизации (%).

Кт — количество недель на год (52 недели/год).

Гт — количество рабочих часов в неделю (40 час/неделя)

Почасовая оплата обслуживающего персонала Зперс рассчитывается по формуле, грн. :

,

(3. 18)

где Окл — месячный оклад обслуживающего персонала, грн.

Крг — количество рабочих часов в месяц (160 часов / месяц);

Нрем — расходы на оплату труда ремонта ЭВМ (6% Окл).

Расходы на ремонт, покупку деталей для ЭВМ Трем определяются по формуле, грн. :

,

(3. 19)

где Втз — стоимость технических средств, грн.

Нрем — процент расходов на ремонт, покупку деталей (%);

Кт — количество недель на год (52 недели/год).

Гт — количество рабочих часов в неделю (36 168 час. /неделя)

Расходы на использование электроэнергии ЭВМ и техническими средствами Те/е определяются по формуле, грн. :

,

(3. 20)

где Ве/е — стоимость одного кВт/час электроэнергии, грн. ;

Wпот — мощность компьютера, принтера и сканера (за 1 час), (кВт/час.).

Таким образом, стоимость одного часа работы ЭВМ при разработке КД будет составлять (см. формулу 3. 16), грн. :

.

Расходы на использование ЭВМ при разработке, грн. (см. формулу 3. 15):

г) Расчет технологической себестоимости создания КД

Расчет технологической себестоимости создания КД изделия проводится методом калькуляции расходов (таблица 3. 7).

В таблице 3.7 величина материальных расходов Мв рассчитана в таблице 3. 6, основная зарплата Со берется из таблицы 3. 5, дополнительная зарплата 15% от основной зарплаты, отчисление на социальные мероприятия -37,2% - от основной и дополнительной зарплаты (вместе). Накладные расходы 25% от основной зарплаты. Себестоимость разработанной конструкторской документации Скд рассчитывается как сумма пунктов 1−6.

Таблица 3.7 — Калькуляция технологических расходов на создание КД изделия

п/п

Наименование статей

Условные

обозначения

Расходы (грн.)

1.

Материальные расходы

Мв

42,64

2.

Основная зарплата

Зо

132,00

3.

Дополнительная зарплата

Зд

19,80

4.

Отчисление на социальные мероприятия

37,2%од)

56,47

5.

Общепроизводственные (накладные)

расходы предприятия

Ннакл

33,00

6.

Расходы на использование ЭВМ при составлении программного обеспечения КД

ВЕОМ

26,60

7.

Себестоимость КД изделия

Скд = (16)

310,51

3.4 Расчет расходов на стадии производства изделия

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

Таблица 3.8 — Расчет расходов на сырье и основные материалы на одно изделие

Материалы

Норма расходов

(единиц)

Оптовая цена грн. /ед.

Фактические расходы

(единиц)

Сумма

грн.

Стеклотекстолит СФ-2−35

(лист 1,0 ГОСТ 10 316– — 78), кг

0,5

24,00

0,4

9,60

Припой ПОС — 61 (ГОСТ 21 930 — 76), кг

0,05

18. 00

0,05

0,90

Всего:

10,50

Транспортно-заготовительные расходы (4%)

0,42

Итого:

10,92

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

ПоказатьСвернуть
Заполнить форму текущей работой