Реферат Разработка программно аппаратного устройства с числовым программным управлением
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Введение. 4
Глава I. Сущность построения программно аппаратных комплексов с числовым программным управлением. 7
§1.1. Оборудование с числовым программным управлением. Назначения, функции, существующие решения и модели. 7
§1.2. Шаговый двигатель. Устройство, принцип работы, управление. 8
§1.3. Архитектура микроконтроллеров. Необходимые параметры.. 12
§1.4. Программная среда для микроконтроллера. 15
§1.5. Программная среда для модуля управления станком ЧПУ на ПК.. 16
Глава II. Реализация необходимых модулей управления станком ЧПУ. 22
§2.1. Постановка задачи. 22
§2.2. Анализ данных и структура файла сверления с расширением *.drl. 24
§2.3. Алгоритм чтения данных в микроконтроллере поступающих с ПК.. 28
§2.4. Формирование файла сверления для отправки на микроконтроллер. 30
§2.5. Операция сверления. 31
§2.6. Ручной режим. 34
§2.7. Выжигание. 35
§2.8. Модернизация комплекса ЧПУ.. 41
Глава III. Анализ и тестирование комплекса. 45
§3.1. Тестирование комплекса ЧПУ в комплексах компьютерного моделирования 45
§3.2. Тестирование модуля сверления. 46
§3.3. Ручное управление. 49
§3.4. Выжигание. 50
Заключение. 55
Используемая литература. 57
Приложение 1. Справочные данные и схемы. 58
Приложение 2. Исходные коды программ.. 61
Введение
В современном мире уже не обойтись без применения новейших технологий практически во всех сферах. В основном, это внедрение в нашу жизнь систем автоматизации, позволяющих облегчить труд человека и увеличить как научный, так и технологический уровень знаний. При появлении ЭВМ, внедрение подобных систем стало наиболее востребованным и актуальным. Это связано с высокой потребностью в системах автоматического управления, как на производстве, так и в повседневной жизни.
И на практике большое применение получило программное управление тем или иным устройством. Шаговые двигатели широко используются в принтерах, автоматических инструментах, приводах дисководов, автомобильных приборных панелях и других приложениях, требующих высокой точности позиционирования и микропроцессорного управления. Как известно, такое управление требует использования специальной логики и высокоточных драйверов, которые могут быть реализованы на дискретной элементной базе, что увеличивает сложность схемы и ее стоимость.
Особого внимания заслуживают станки с числовым программным управлением (ЧПУ). Их роль на сегодняшний день велика, поскольку они могут облегчить труд человека благодаря высокой точности, безотказности и практичности.
Исследователям, разработчикам и специалистам системотехникам нужна большая открытость управляющих систем. Такая открытость значительно облегчит проектирование, создание и быстрое встраивание функциональных возможностей, что позволит удовлетворить постоянно растущие практические потребности применений программируемых контроллеров. Несмотря на то, что некоторые из поставщиков систем управления для роботов снабжают свою продукцию настраиваемыми средствами разработки, более предпочтительными являются недорогие и незапатентованные решения в плане быстрого реагирования на изменения рынка и уменьшения стоимости их жизненного цикла. Наиболее важными факторами успеха являются использование распространенной элементной базы и программного обеспечения с открытым кодом (по возможности, свободно распространяемого). В свою очередь, дизайн программного обеспечения должен быть сфокусирован на максимальной портативности и возможности реконфигурации.
Целью данной дипломной работы является создание программно-аппаратного комплекса с ЧПУ управлением, удовлетворяющего всем вышеприведенным требованиям. Комплекс ЧПУ позволяет выполнять множество задач, которые могут быть поставлены в зависимости от фантазии обладателя. Конечной целью данной работы является создание таких модулей управления и аппаратных частей, которые будут выполнять следующее:
- сверление отверстий для изготовления печатных электронных плат, автоматически управляя ПК;
- ручное управление комплексом с ЧПУ средствами ЭВМ;
- перенос изображений с ПК на обрабатываемый материал путем термической обработки.
Для реализации такого программно-аппаратного комплекса необходимо решить следующие задачи:
а) изучить механические технологии для создания рабочей физической области станка;
б) разобраться с принципом управления шаговых двигателей;
в) изучить архитектуру и работу микроконтроллеров серии Atmel;
г) изучить режим обмена данными через интерфейс RS232;
д) разработать физическую аппаратную часть комплекса с минимальным количеством необходимых материалов и агрегатов;
е) разработать плату управления физической частью комплекса и взаимодействия с ПК, непосредственно через интерфейс RS232, на базе микроконтроллера Atmel;
ж) разработать программу для микроконтроллера, обеспечивающую правильную работу комплекса;
з) создать программную часть комплекса на ПК, обеспечивающую следующие операции:
- сверление;
- выжигание;
- ручное управление;
и) ознакомиться с новейшими компьютерными симуляторами электронных устройств для тестирования аппаратно-программного комплекса.
Глава I. Сущность построения программно аппаратных комплексов с числовым программным управлением
§1.1. Оборудование с числовым программным управлением. Назначения, функции, существующие решения и модели
Для введения в курс дела, определимся с основными терминами и значениями.
Числовое программное управление или ЧПУ — означает компьютеризованную систему управления, считывающую инструкции в G-code (технический формат данных для систем ЧПУ, описан далее) и управляющую станочной оснасткой и приводами металлообрабатывающих станков. ЧПУ производит интерполяцию движения обрабатывающего инструмента в соответствии с управляющей программой.
Это одно из многих определений числового программного управления, взятое из материалов википедии [24], в дальнейшем ЧПУ.
То есть основной отличительной функциональностью ЧПУ является компьютеризированная система управления, которая подразумевает наличие управляемого оборудования и управляющего терминала. В нашем случае, управляемым оборудованием будет многофункциональный станок на основе управления с ЧПУ и управляющим терминалом – ЭВМ со специальным программным комплексом.
Для решения поставленной задачи, необходимы методы с их алгоритмами управления систем с ЧПУ. Для решения конкретной задачи необходимо организовать взаимодействие следующих элементов комплекса:
- шаговый двигатель, далее ШД;
- механическая часть комплекса;
- силовые ключи управления ШД;
- автономный терминал управления силовыми ключами, контроллер с возможностью автономной работы без участия ЭВМ и вмешательства оператора;
- модуль формирования команд, отправляемых на контроллер для управления аппаратным комплексом;
- интерфейс обмена данными между модулем управления и управляемым контроллером;
- линии приема-передачи информации между управляющим модулем и аппаратным комплексом.
Существуют промышленные комплексы, позволяющие выполнять множество задач, требующих большую точность и большое количество операций с соблюдением строгих стандартов. В таких случаях, подобные системы намного упрощают и ускоряют работу в той или иной сфере. Большинство подобных систем ориентированы на обработку всевозможных материалов, начиная от гипса и заканчивая высокопрочными стальными изделиями. Также ЧПУ применяют в астрономической, авиационной, космической индустрии. Это сферы деятельности, в которых точность и оперативность играет главную роль.
§1.2. Шаговый двигатель. Устройство, принцип работы, управление
Шаговые двигатели широко используются в принтерах, автоматических инструментах, приводах дисководов, автомобильных приборных панелях и других приложениях, требующих высокой точности позиционирования и микропроцессорного управления. Как известно, такое управление требует использования специальной логики и высокоточных драйверов, которые могут быть реализованы на дискретной элементной базе, что увеличивает сложность схемы и ее стоимость.
Небольшие шаговые двигатели часто используются, например, в автомобильных приборных панелях (инструментальных кластерах) и выполняют там функции вращения стрелок спидометра, тахометра, указателя температуры охлаждающей жидкости и уровня топлива. При этом по сравнению с традиционно используемыми гальванометрическими системами отсутствует вибрация стрелки, увеличивается точность показаний.
Двигатели постоянного тока (ДПТ) начинают работать сразу, как только к ним будет приложено постоянное напряжение [19], [20]. Переключение направления тока через обмотки ротора осуществляется механическим коммутатором - коллектором. Постоянные магниты при этом расположены на статоре. Шаговый двигатель может быть рассмотрен как ДПТ без коммутатора. Обмотки его являются частью статора. На роторе расположен постоянный магнит или, для случаев с переменным магнитным сопротивлением, зубчатый блок из магнитомягкого материала. Все коммутации производятся внешними схемами. Обычно система мотор - контроллер разрабатывается так, чтобы была возможность вывода ротора в любую, фиксированную позицию, то есть система управляется по положению. Цикличность позиционирования ротора зависит от его геометрии.
Принято различать шаговые двигатели и серводвигатели. Принцип их действия во многом похож, и многие контроллеры могут работать с обоими типами. Основное отличие заключается в количестве шагов на цикл (один оборот ротора). Серводвигатели требуют наличия в системе управления аналоговой обратной связи, в качестве которой обычно используется потенциометр. Ток в этом случае обратно пропорционален разности желаемого и текущего положений. Шаговые двигатели преимущественно используются в системах без обратных связей, требующих небольших ускорений при движении.
Шаговые двигатели (ШД) делятся на две разновидности: двигатели с постоянными магнитами и двигатели с переменным магнитным сопротивлением (гибридные двигатели). С точки зрения контроллера отличие между ними отсутствует. Двигатели с постоянными магнитами обычно имеют две независимые обмотки, у которых может присутствовать или отсутствовать срединный отвод (см. рис.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 - AT Mega 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. Программная среда для микроконтроллера
При написании программы для микроконтроллера использовался компилятор на C CodeVisionAVR.
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. Программная среда для модуля управления станком ЧПУ на уровне ПК
При написании программного модуля управления станком ЧПУ была выбрана за основу программная среда Borland C++Builder 6. Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой разработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании пользовательского интерфейса.
Останавливаться на подробном описании текущей среды разработки управляющего модуля не будем, так как существуют множество учебных пособий и справочников по работе в Borland C++ Builder. При создании комплекса использовались материалы учебников [3],[5] и [6].
Также при разработке, написании и усовершенствовании программного комплекса использовались ранее полученные навыки и статьи из сети Интернета, взятые с источников [18], [17], а также с различных форумов.
При написании программ, как для контроллера, так и для модуля управления, немалое значение имел комплекс тестирования пакета PROTEUS - симулятор электронных устройств, поддерживает микроконтроллеры AVR, 8051, Microchip PIC10, PIC16, PIC18, Philips
ARM7, Motorola MC68HC11 [23], полная система проектирования. Возможность тестирования, начиная от идеи до результатов работы устройства и файлов для платы.
Большую роль в подобных системах играет успешное создание CAM-системы, предназначенной для решения задачи формирования управляющих программ для обработки деталей на станках с ЧПУ. То есть формирование управляющих блоков данных из исходной информации. В текущей работе, исходной информацией является файлы изображений, файлы векторных отверстий, которые необходимо конвертировать в требуемый формат команд.
В настоящее время CAM-система представляет собой сложный программный комплекс. За последнее десятилетие сменилось несколько поколений CAM-систем.
По мнению экспертов, современная отечественная CAM-система, способная противостоять лучшим западным образцам, должна иметь следующие характеристики [25].
1. Развитые средства импорта геометрических моделей.
Если представление геометрической модели в формате STL или VDA имеет определенные недостатки, связанные с точностью представления модели, а формат STFP еще не нашел должного распространения, то применение стандарта IGES вполне способно решить эту проблему. В настоящее время стандарт IGES является общепризнанным и обеспечивает передачу любой геометрической информации. Его поддерживают все современные системы автоматизированного проектирования.
2. Поддержка трехмерных объектов в NURBS-представлении.
Представление кривых и поверхностей в виде рациональных сплайнов, или NURBS обеспечивает высокую точность и компактность хранения данных. Кроме того, новейшие стойки ЧПУ будут иметь встроенные средства интерполяции по NURBS-кривым. По этой причине большинство существующих систем, работающих с аппроксимированными объектами, столкнется с необходимостью существенной доработки.
3. Поддержки трехмерных моделей любой сложности.
Современные CAM-системы позволяют создавать поверхностные и твердотельные модели высокой сложности (например, кузовные детали автомобиля). Обработка таких моделей возможна при отсутствии количественных и качественных ограничений в САМ-системе.
4. Средства доступа к элементарным объектам модели.
Реальная модель состоит из множества поверхностей. Система должна позволять оперировать отдельными поверхностями (или их группами), что необходимо для достижения оптимальных технологических решений.
5. Средства модификации геометрической модели.
Для обработки технологической оснастки используется геометрическая модель изделия. При этом зачастую необходимо модифицировать исходную модель. В оптимальном варианте система должна иметь полноценные средства ЗD-моделирования, однако выполнение этого требования существенно влияет на стоимость системы.
6. Функции построения вспомогательных геометрических объектов.
Оптимальная организация процесса обработки может потребовать выполнения операций над ограниченными зонами модели, или же, напротив, выделить «островки», для которых обработка запрещена. Система должна иметь средства, необходимые для построения контуров границ. Современные системы не имеют ограничений, как на количество таких границ, так и на их вложенность. Кроме того, контуры могут использоваться для управления траекторией движения инструмента.
7. Широкий спектр способов обработки.
Возможность выбора оптимального метода обработки позволяет существенно облегчить работу технолога и сократить время обработки на станке. В недалеком прошлом САМ-системы могли обходиться обработкой поверхности по изопараметрическим линиям. Сегодня модели, для которых этот способ применим, относятся к простейшим. Обработка реальных моделей требует наличия более сложных алгоритмов, обеспечивающих, например, перемещение инструмента вдоль кривых, полученных пересечением плоскостей с квазиэквидистантными поверхностями.
8. Автоматический контроль на подрезание.
Построение квазиэквидистантных поверхностей позволяет исключить зарезания при расчете траектории движения инструмента. Однако с точки зрения математического аппарата – это наиболее сложная часть программы, если не учитывать аппроксимированные модели.
9. Средства автоматической идентификации зон недоработки.
Наличие таких средств позволяет заметно облегчить работу технолога.
10. Развитые средства управления параметрами технологических операций.
Режим выполнения операции может существенно изменяться в зависимости от выбранных параметров. Многообразие средств настройки позволяет даже при небольшом количестве способов обработки получить большое число вариантов обработки. Однако большое количество настраиваемых параметров существенно усложняет освоение и использование системы, поэтому представляется необходимым наличие средств автоматического определения значений параметров технологической операции в зависимости от габаритов модели, метода обработки, инструмента и т.д.
11. Поддержка различных типов режущего инструмента.
Система не должна накладывать ограничений на форму используемого инструмента. Выполнение этого требования существенно усложняет алгоритмы построения траектории перемещения инструмента.
12. Средства моделирования процесса и результата обработки.
Система формирует модель обработанной детали и ее фотореалистичное изображение. Это позволяет технологу оперативно проконтролировать результаты работы и своевременно обнаружить ошибки.
13. Постпроцессор со средствами настройки на произвольный формат управляющей программы.
Задача трансляции данных из промежуточного формата (например, CLDATA) не является особенно сложной. Однако многообразие систем числового программного управления порождает проблему обеспечения совместимости с произвольным оборудованием. Средства настройки должны быть доступны на уровне пользователя.
14. Средства динамической визуализации.
Характерной чертой современных систем является наличие развитых средств визуализации трехмерной модели. Использование таких технологий, как OpenGL или DirectX, позволяет добиться скорости генерации до нескольких кадров в секунду без использования дорогих аппаратных ускорителей, что позволяет динамически управлять ракурсом и масштабом изображения. Для решения этой задачи необходимо выполнить триангуляцию исходной модели, что не всегда просто при условии поддержки широкого набора форм представления трехмерных объектов.
15. Современный пользовательский интерфейс.
Уровень современной системы во многом определяется организацией пользовательского интерфейса. При этом обширный функциональный состав входит в противоречие с организацией удобного доступа к средствам управления и превращает проектирование интерфейса в настоящее искусство. Серьезной проблемой старых систем становится поддержка многочисленных атавизмов пользовательского интерфейса.
Перечисленный набор требований не претендует на полноту, однако позволяет сформировать наиболее общее представление о современной системе.
Наиболее известными отечественными CAM-модулями являются системы SprutCAM, Компас-ЧПУ, Гемма-3D и др.
Использование подобных систем не рассматривается, так как за приобретение подобных систем следует внести немалые финансовые вклады, а также приобрести и технику, которая рассчитана именно под определенную CAM-систему, что тоже очень дорого. Поэтому было решено разработать собственную CAM – систему, которая будет удовлетворять требованиям для решения поставленной задачи.