Разработка программно – аппаратного устройства с числовым программным управлением

Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 00:32, дипломная работа

Описание работы

Целью данной дипломной работы является создание программно-аппаратного комплекса с ЧПУ управлением, удовлетворяющего всем вышеприведенным требованиям. Комплекс ЧПУ позволяет выполнять множество задач, которые могут быть поставлены в зависимости от фантазии обладателя.

Файлы: 1 файл

MyDip.doc

— 321.50 Кб (Скачать файл)

      После нескольких тестирований, проанализировав  ситуацию, было обнаружено, что причина  в неправильном управлении ШД. Это  обусловлено несоответствием подачи «нужных» импульсов при смене  направления с прямого на противоположное. Это обусловлено неправильной организацией цикла управления ШД в обратном направлении. Теоретически был разработан алгоритм управления ШД в обратном направлении с любого момента управления в прямом направлении каретки. Соответственно были изменены необходимые участки подпрограммы. Вот пример перемещения каретки по оси Х в обратном направлении:

      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);                     //0001

                                    PORTD.4 = 1; bx++; break;

      case 1 : PORTD.4 = 0; PORTD.5 = 0; delay_ms(sleep);   //0011

            PORTD.4 = 1; delay_ms(sleep);                     //0010

                                    PORTD.5 = 1; bx++; break;

      case 2 : PORTD.5 = 0; PORTD.6 = 0; delay_ms(sleep);   //0110

            PORTD.5 = 1; delay_ms(sleep);                     //0100

                                    PORTD.6 = 1; bx++; break;

      case 3 : PORTD.6 = 0; PORTD.7 = 0; delay_ms(sleep);   //1100

            PORTD.6 = 1; delay_ms(sleep);                     //1000

                                    PORTD.7 = 1; bx=0; break;

      default : ;

}              

}

 

      Таким образом, была достигнута достаточная  точность, которая также очень  расширит возможность модуля сверления  отверстий в отношении точности. Практически рассчитав новый коэффициент количества «шагов» ШД от пройденного расстояния, были внесены изменения в константы программного продукта управления ШД с ПК.  

 

      

      Глава III. Анализ и тестирование комплекса

      §3.1. Тестирование комплекса ЧПУ в комплексах компьютерного моделирования

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

      Одним минусом данного пакета тестирования, который был наиболее неблагоприятен при работе – незначительное несоответствие функционирования комплекса. Это связано с несоответствием тех или иных промежуточных команд взаимодействия, например, некоторые неучтенные разработчиками пакета заводские  особенности микроконтроллеров, а также немного различный интерфейс обмена между терминалом UART в «протеусе» и на ЭВМ.

      В PROTEUS была смоделирована модель  взаимодействия между узлами и устройствами комплекса ЧПУ, которая включала в себя:

      - микроконтроллер;

      - терминал UART;

      - необходимые «кнопки», переключатели  и т.д.;

      - светодиоды для индикации фаз ШД.

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

      Рис. 3.1.1. – внешний вид комплекса в ПРОТЕУСЕ.

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

      §3.2. Тестирование модуля сверления

      Первым  был разработан модуль сверления  отверстий, используя формат данных 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. Ручное управление

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

      Передача  управляющих команд активируется при  нажатии кнопки «Старт». При управлении станком в модуле ручного управления выявлены некоторые недостатки. Это многократная отправка команд при медленном передвижении ползунков. Подобные недостатки решаемы программно. Благодаря данному модулю, были рассчитаны коэффициенты для остальных модулей управления, так как управление выполняется пошагово. Также рассчитано использование модуля ручного управления для установки начальных параметров при выполнении других операций – рис. 3.3.1. 

      Рис. 3.3.1. – Внешний вид модуля ручного управления

      §3.4. Выжигание

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

      Как известно, модуль сканирует изображение  попиксельно. Например, для сканирования изображения разрешением 300*300 пикселей необходимо проанализировать 90 000 пикселей. Это занимает намного больше времени, чем при сверлении. И неудобство доставляет процесс сканирования большого изображения, когда возникает ощущение зависания приложения.

      Загружаем изображение по нажатию кнопки, выпираем, открываем, оно появляется в соответствующем  окне модуля. Сразу отображается размер в соответствующих полях, в нашем случае 87*202, и подсчитывается автоматически общее количество точек – 17574. Кнопка «Анализ» становится активной. Нажимаем, примерно 7 секунд, в соответствии с параметрами, отобранные пиксели  закрашиваются синим цветом – рис. 3.4.1. 

Рис. 3.4.1 – анализ изображения в модуле выжигания

Информация о работе Разработка программно – аппаратного устройства с числовым программным управлением