Смекни!
smekni.com

Разработка программно аппаратного устройства с числовым программным управлением (стр. 2 из 9)

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

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


Рис.1.2.1 Униполярный ШД с постоянными магнитами.

Биполярные шаговые двигатели с постоянными магнитами и гибридные двигатели сконструированы более просто, чем униполярные двигатели, обмотки в них не имеют центрального отвода (см рис.2.2.2).


Рис.2.2.2 Биполярный и гибридный ШД.

За это упрощение приходится платить более сложным реверсированием полярности каждой пары полюсов мотора.

Шаговые двигатели имеют широкий диапазон угловых разрешений. Более грубые моторы обычно вращаются на 90° за шаг, в то время как прецизионные двигатели могут иметь разрешение 1,8° или 0,72° на шаг. Если контроллер позволяет, то возможно использование полушагового режима или режима с более мелким дроблением шага (микрошаговый режим), при этом на обмотки подаются дробные значения напряжений, зачастую формируемые при помощи ШИМ - модуляции.

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

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

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

Схема управления для биполярного шагового двигателя требует наличия мостовой схемы для каждой обмотки. Эта схема позволит независимо менять полярность напряжения на каждой обмотке. На рис.3.2.3 показана последовательность управления для режима с единичным шагом.


Рис.3.2.3 Управляющая последовательность для режима с единичным шагом.

На рис.4.2.3 показана последовательность для полушагового управления.


Рис.4.2.3 Управляющая последовательность для режима с половинным шагом.

§1.3. Архитектура микроконтроллеров. Необходимые параметры

МК это микросхема (чип, камень, IC) - которая в ответ на внешние электрические сигналы действует в соответствии:

- с возможностями, заложенными производителем

- с электроникой подключенной к МК

- с программой, которую в него мы загрузили.

Возможность МК действовать по нашей программе - вот суть-соль МК.
Это главное отличие МК от "обычных" НЕ программируемых микросхем. AVR – это семейство МК от компании ATMEL, разработанных с учетом особенностей и удобства написания программ на языке Си. Почему AVR?
Это не дорогие, широко доступные, надежные, простые, довольно быстро считающие большинство инструкций выполняется за 1 такт - т.е. при кварце 10 МГц выполняется до 10 млн. инструкций в секунду.

AVR имеют развитую периферию, т.е. набор аппаратуры окружающей процессор-вычислитель в одном корпусе МК или набор встроенных в МК электронных устройств, блоков, модулей [18].

Для управления ШД необходим промежуточный силовой ключ для усиления импульсов по току и контролер, обеспечивающий, как управление ШД, так и взаимодействие с ПК. Наиболее понятным и подходящим по требуемым параметрам можно считать 8-разрядный микроконтроллер фирмы AVR - ATMega 8 с с 8 Кбайтами внутрисистемно программируемой Flash памяти, имеющего следующие отличительные способности:

8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением; прогрессивная RISC архитектура; 130 высокопроизводительных команд; большинство команд выполняется за один тактовый цикл; 32 8-разрядных рабочих регистра общего назначения; полностью статическая работа; встроенный 2-цикловый перемножитель; энергонезависимая память программ и данных; 8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-programmable Flash); обеспечивает 1000 циклов стирания/записи; дополнительный сектор загрузочных кодов с независимыми битами блокировки; обеспечен режим одновременного чтения/записи (Read-While-Write); 512 байт EEPROM; обеспечивает 100000 циклов стирания/записи; 1 Кбайт встроенной SRAM, программируемая блокировка; обеспечивающая защиту программных средств пользователя; встроенная периферия; два 8-разрядных таймера/счетчика с отдельным предварительным делителем; один с режимом сравнения, один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения; счетчик реального времени с отдельным генератором; три канала PWM, 8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF), 6 каналов с 10-разрядной точностью; 2 канала с 8-разрядной точностью; 6-канальный аналого-цифровой преобразователь (в корпусе PDIP); 4 канала с 10-разрядной точностью; 2 канала с 8-разрядной точностью; байт-ориентированный 2-проводный последовательный интерфейс; программируемый последовательный USART; последовательный интерфейс SPI (ведущий/ведомый); программируемый сторожевой таймер с отдельным встроенным генератором; встроенный аналоговый компаратор; специальные микроконтроллерные функции; сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания; встроенный калиброванный RC-генератор; внутренние и внешние источники прерываний; пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC; выводы I/O и корпуса; 23 программируемые линии ввода/вывода; 28-выводной корпус PDIP; 32-выводной корпус; TQFP и 32-выводной корпус MLF; рабочие напряжения: 2,7 - 5,5 В (ATmega8L), 4,5 - 5,5 В (ATmega8); рабочая частота: 0 - 8 МГц (ATmega8L), 0 - 16 МГц (ATmega8).

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

§1.4. Программная среда для микроконтроллера

При написании программы для микроконтроллера использовался компилятор на CCodeVisionAVR.

CodeVisionAVR - интегрированная среда разработки программного обеспечения для микроконтроллеров семейства Atmel AVR [17].

CodeVisionAVR включает в себя следующие компоненты:

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

Выходными файлами CodeVisionAVR являются:

HEX, BIN или ROM-файл для загрузки в микроконтроллер посредством программатора; COFF - файл, содержащий информацию для отладчика; OBJ – файл.

CodeVisionAVR является коммерческим программным обеспечением. Существует бесплатная ознакомительная версия с ограничением ряда возможностей.

По состоянию на апрель 2008 года последней является версия 1.25.9.

Данные взяты с википедии [24].

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

Си (англ. C) — стандартизованный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе (ОС) UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков. Данные взяты с википедии [24].

§1.5. Программная среда для модуля управления станком ЧПУ на уровне ПК

При написании программного модуля управления станком ЧПУ была выбрана за основу программная среда BorlandC++Builder 6. Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой разработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании пользовательского интерфейса.