Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 00:32, дипломная работа
Целью данной дипломной работы является создание программно-аппаратного комплекса с ЧПУ управлением, удовлетворяющего всем вышеприведенным требованиям. Комплекс ЧПУ позволяет выполнять множество задач, которые могут быть поставлены в зависимости от фантазии обладателя.
После
нескольких тестирований, проанализировав
ситуацию, было обнаружено, что причина
в неправильном управлении ШД. Это
обусловлено несоответствием
for(i=1;i<=ar;i++)
{ //импульсы шаг Ось X switch (bx) { case 0 : PORTD.7 = 0; delay_ms(sleep); PORTD.7 = 1; bx=3; break; // 1000 case 1 : PORTD.4 = 0; delay_ms(sleep); PORTD.4 = 1; bx--; break; // 0001 case 2 : PORTD.5 = 0; delay_ms(sleep); PORTD.5 = 1; bx--; break; // 0010 case 3 : PORTD.6 = 0; delay_ms(sleep); PORTD.6 = 1; bx--; break; // 0100 default : ; } } |
Сравнив с предыдущим фрагментов, видно, что переменная bx не увеличивается, а уменьшается, и порядок фаз подобран в соответствии с теоретическими расчетами.
Вновь был «прошит» микроконтроллер, инициализация, тестирование, и успешный результат. Цель была достигнута, теперь точность позиционирования в 4 раза выше, а от первоначального результата в 8 раз, и за один шаг, шпиндель проходит расстояние 0.2 мм.
После еще нескольких тестирований станка, было вновь доказано что для некоторых операции, необходимо управление в режиме половинного шага, так как нужна большая мощность перемещения станка, в основном в оси Х, так как это наиболее нагруженная часть станка.
Теоретически, используя управление в режиме половинного шага, таким же путем можно увеличить точность еще в 2 раза, но тогда появляется необходимость постоянного удержания импульса на определенных фазах как указано в таблице управления ШД в режиме половинного шага, что приводит к перегреву, как обмоток двигателя, так и силовых драйверов управления им. Поэтому было решено управлять ШД в режиме половинного шага двойными импульсами, тем самым, освобождая фазы от нагрузок. При этом точность позиционирования сохраняется.
for(i=1;i<=ar;i++)
{ //импульсы полушаг Ось X Вперед switch (bx) { case 0 : PORTD.7 = 0; PORTD.4 = 0; delay_ms(sleep); //1001 PORTD.7 = 1; delay_ms(sleep); case 1 : PORTD.4 = 0; PORTD.5 = 0; delay_ms(sleep); //0011 PORTD.4 = 1; delay_ms(sleep); case 2 : PORTD.5 = 0; PORTD.6 = 0; delay_ms(sleep); //0110 PORTD.5 = 1; delay_ms(sleep); case 3 : PORTD.6 = 0; PORTD.7 = 0; delay_ms(sleep); //1100 PORTD.6 = 1; delay_ms(sleep); default : ; } } |
Таким
образом, была достигнута достаточная
точность, которая также очень
расширит возможность модуля сверления
отверстий в отношении
При
конструировании программно-
Одним минусом данного пакета тестирования, который был наиболее неблагоприятен при работе – незначительное несоответствие функционирования комплекса. Это связано с несоответствием тех или иных промежуточных команд взаимодействия, например, некоторые неучтенные разработчиками пакета заводские особенности микроконтроллеров, а также немного различный интерфейс обмена между терминалом UART в «протеусе» и на ЭВМ.
В PROTEUS была смоделирована модель взаимодействия между узлами и устройствами комплекса ЧПУ, которая включала в себя:
- микроконтроллер;
- терминал UART;
- необходимые «кнопки», переключатели и т.д.;
- светодиоды для индикации фаз ШД.
Светодиоды
было решено использовать вместо существующих
моделей ШД для того чтобы можно
было проконтролировать каждый импульс
для правильной работы ШД. Комплекс
эмулирования показан на рисунке 3.1.1.
Рис. 3.1.1. – внешний вид комплекса в ПРОТЕУСЕ.
Для
возможности визуализации правильной
работы в протеусе, предварительно
в коде программы для
Первым был разработан модуль сверления отверстий, используя формат данных EXCELLON, описанный ранее. При запуске программы, реализующей управление комплексом ЧПУ, данный модуль является активным по умолчанию, ну или в случае его не активности, можно выбрать его, используя страничный выбор модулей (Page Control). В первую очередь необходимо подключить все соединительные провода аппаратной части с ПК и подать питание на станок ЧПУ. Далее открыть коммутируемый порт интерфейса RS-232. По нажатию копки загрузить, диалог загрузки предлагает выбрать файл формата *.drl. Выбираем ранее созданный файл сверления в программе рисования плат, и открываем его. Ниже кнопки появилась информация об имени текущего файла. Теперь необходимо проанализировать открытый файл, для этого нажимаем на, логически понятную кнопку, в виде стрелочек вправо. По нажатию кнопки происходит обработка файла, которая естественно займет тот или иной временной интервал. При небольшом количестве отверстий этот интервал незначителен. При создании той или иной несложной схемы, количество отверстий не превысит 200-400 отверстий. Ведь даже схемы, на которой около двухсот отверстий, подразумевают размещение, примерно 10 микроконтроллеров AT Mega 8 и необходимых элементов, или около 15 микросхем серии К155.
Но для тестирования была нарисована схема, на которой, как потом стало известно, 1243 отверстий, что очень подходит для тестирования комплекса. Анализ такого файла был осуществлен менее чем за секунду. Этот временной интервал также зависит и от производительности компьютера. Но при работе на разных ЭВМ, это не сильно различимо. После анализа файла, в поле Memo помещается блок данных для отправки на аппаратную часть комплекса, а на изображении в виде плоскости координат отмечаются зеленые точки, означающие отверстия для сверления – рис. 3.2.1.
Также
необходимо указать параметры для
правильной работы устройства. Это
такие как начальная позиция
сверла, рабочая глубина сверла, начальная
точка платы и размер платы. Эти данные
будут влиять на вид работы станка. Основными
параметрами являются начальная позиция
сверла и рабочая глубина сверла. Начальная
позиция определяет положение сверла
в плоскости OZ над обрабатываемой поверхностью.
А рабочая глубина – расстояние, на которое
опустится или поднимется сверло. При
сверлении необходимо экспериментально
добиться оптимальных параметров.
Ведь чем меньше величина опускания сверла,
тем быстрее оно будет просверлено, то
есть нужно установить начальную позицию
как можно ближе к обрабатываемой поверхности.
Рис. 3.2.1. – модуль сверления отверстий.
Итак, нажата кнопка «Сверлить», характерный шум станка, как при перемещении, так и при сверлении. Это означат, что комплекс работает. Сверление происходит довольно быстро, в отличие от представляемого режима скорости при сверлении отверстий. Это грозит или поломкой сверла, или поломкой опускающего механизма. Поэтому возник вопрос установления различных скоростей опускания сверла, а еще лучше – сверление отверстия за несколько опусканий. Пока это не разрешено в связи с временными причинами. Но было решено, при сверлении глубоких отверстий, произвести операцию за два или более заходов, с каждым разом увеличивая высоту опускания сверла.
Слева от модуля сверления, на панели информации отображается время начала операции, прошедшее время от начала операции и дополнительные данные о текущей операции.
При сверлении отверстий, отмечаются красным точки, которые уже просверлены. Строка отправляется, ожидается ответ о выполнении, затем отправляется следующая. В поле ошибок, будут помещены строки, которые не выполнены в связи с ошибками при передаче данных. Однако, интерфейс обмена организован так, что ошибки практически неуместны. Но могут быть ошибки при обработке принимающих данных, замечены ошибки при ожидании ответа от аппаратной части. Должна придти строка с данными о выполненных координатах, а приходит пустая строка, пока этот недостаток не решен в связи с не выявлением причины. Но это компенсируется контролем ошибок, который в случае несоответствия команд, выдаст соответствующую информацию.
На сверление около 100 отверстий ушло около 2 минут и ни одной ошибки.
Модуль ручного управления разработан для тестирования максимально возможных функций в ручном режиме, управляя отдельно каждой частью станка. При разработке остальных модулей, модуль ручного управления помог тестировать те или иные функции станка, для их применения в других модулях. Например, изменение временных задержек помогло установить оптимальное значение параметров, обеспечивающее быстрое и бесшумное перемещение частей аппаратного комплекса с минимальными вибрациями.
Передача
управляющих команд активируется при
нажатии кнопки «Старт». При управлении
станком в модуле ручного управления выявлены
некоторые недостатки. Это многократная
отправка команд при медленном передвижении
ползунков. Подобные недостатки решаемы
программно. Благодаря данному модулю,
были рассчитаны коэффициенты для остальных
модулей управления, так как управление
выполняется пошагово. Также рассчитано
использование модуля ручного управления
для установки начальных параметров при
выполнении других операций – рис. 3.3.1.
Рис. 3.3.1. – Внешний вид модуля ручного управления
Модуль выжигания выполнен на базе модуля сверления, то есть алгоритм управления схож. Отличием является функциональность операции и исходные данные. В отличие от сверления, для выжигания необходимо выполнить намного больше операций, чем при сверлении.
Как известно, модуль сканирует изображение попиксельно. Например, для сканирования изображения разрешением 300*300 пикселей необходимо проанализировать 90 000 пикселей. Это занимает намного больше времени, чем при сверлении. И неудобство доставляет процесс сканирования большого изображения, когда возникает ощущение зависания приложения.
Загружаем
изображение по нажатию кнопки, выпираем,
открываем, оно появляется в соответствующем
окне модуля. Сразу отображается размер
в соответствующих полях, в нашем
случае 87*202, и подсчитывается автоматически
общее количество точек – 17574. Кнопка «Анализ»
становится активной. Нажимаем, примерно
7 секунд, в соответствии с параметрами,
отобранные пиксели закрашиваются
синим цветом – рис. 3.4.1.
Рис. 3.4.1 – анализ изображения в модуле выжигания