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

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

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

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

Файлы: 1 файл

MyDip.doc

— 321.50 Кб (Скачать файл)
  1. Современный пользовательский интерфейс.

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

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

            Наиболее известными отечественными CAM-модулями являются системы SprutCAM, Компас-ЧПУ, Гемма-3D и др.

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

 

      

   Глава II. Реализация необходимых модулей управления станком ЧПУ

   §2.1. Физическая модель аппаратной части

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

    - направляющие с каретками;

    - шаговые двигатели;

    - силовые микросхемы управления  ШД;

    - соединительные  разъемы и шлейфы.

    Направляющие  с каретками были переоборудованы  вместо бронзовых втулок на маятниковые подшипники, так как перемещение на бронзовых втулках с необходимыми нагрузками не представляется возможным из-за силы трения и малой мощности ШД. Подшипники обеспечивают свободное перемещение по координатам Х и У даже при значительных нагрузках (см. Рис.2.1.1).  

Рис. 2.1.1. – применение маятниковых подшипников  для кареток перемещения.

    Все детали были надежно закреплены на листе ДСП. Для обеспечения перемещения шпинделя станка по оси Z были использованы детали из обыкновенного CD привода, в котором применена червячная передача для перемещения лазера над диском (см. Рис.2.1.2.).  

    Рис.2.1.2. – применение деталей от CD привода для оси Z.

    Все шлейфы ШД и двигателя шпинделя были проведены к соединительному  разъему, который будет подключен  к управляющей плате управления станком. Плата управления была собрана на базе микроконтроллера AT Mega 8 на монтажной плате с разъемом для программирования и необходимыми электронными элементами и микросхемами (см. Рис 2.1.3.).

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

    Рис 2.1.3. – общий вид аппаратного  комплекса с монтажной платой.

    Теперь  есть аппаратно-программная часть, которая  управляет станком ЧПУ по трем координатам без использования ПК по предварительно «прошитым» в него алгоритмам и координатам.

    §2.2. Анализ данных и структура файла сверления с расширением *.drl.

    На  первом шаге была разработана аппаратно-программная часть для сверления отверстий на плате для монтажа микросхем. Для этого был разработан алгоритм, который понимает определенный технический формат данных для сверления отверстий. Для осуществления поставленной задачи, был определен формат данных, с которым будет работать программный комплекс. Проанализировав информацию в Интернете о станках с ЧПУ, были сделаны следующие выводы: в основном все станки работают при помощи купленных драйверов управления ЧПУ и приложенных к ним программ “VriCNC”, которые разработаны за границей и стоят немалых денег. Но также из полученных демо-версий программ и “семплов” для ЧПУ было установлено, что в большинстве случаев для управления станками используется общепринятый формат “Gerber” работающий при помощи G- кодов.  Используя ресурсы [24] было получено:

    G-code – это имя языка программирования для контроля над NC и CNC машинами. Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. В ходе разработки из-за огромной нехватки контроля над всеми многочисленными функциями и инструментами станков, несколько производителей CNC машин взяли G-code как стандарт. Дополнения и нововведения в G-code делалось самими фирмами производителями, поэтому каждый оператор обязан быть осведомлен в различиях между машинами разных производителей.

    Содержание  файла Gerber

    Ниже  приведен простой файл Gerber, иллюстрирующий структуру и содержание формата:

    
    G90

    G70

    G54D10

    G01X0Y0D02

    X450Y330D01

    X455Y300D03

    G54D11

    Y250D03

    Y200D03

    Y150D03

    X0Y0D02

    M02

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    Номера  строк справа не являются частью файла, они были необходимы для изучения формата Gerber. Каждая строка представляет собой конкретную машинную команду, звездочка (*) – символ конца команды. Существуют разные типы команд и инструкций, начинаемые с G, D, M и данные координат X, Y. 
Затем был осуществлен поиск приложений, работающий с подобным форматом. Внимание было остановлено на распространенной программе Sprint-Layout, предназначенной для разработчиков печатных плат. Данная программа имеет возможность экспортировать результаты в необходимом нам формате Gerber. Теперь мы можем рисовать необходимые платы экспортировать результат для сверления отверстий в формате *.drl с G-кодами.

    Далее был разработан метод анализа  структуры данных в полученном файле и выбраны из него необходимые данные для сверления отверстий станком с ЧПУ. Первоначально было решено использовать для работы со станком несколько команд, которые будут указывать необходимые параметры, например, это могут быть однобайтовые команды, которые будут указывать, что:

    - будет операция сверления;

    - будут поступать данные о рабочих переменных;

    - будет поступать блок координат;

    - конец операции.

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

    Позиционирование  станком осуществляться исходя из получаемых координат в формате “X123456Y123456Z123…”. То есть, первые три числа составляют целую часть числа, вторые три числа – дробную часть числа, а у координаты Z - только целую часть. Но в будущем, учитывая коэффициент расстояния на один шаг шагового двигателя на плоскости, будет отправляться только количество шагов для каждой координаты и необходимые команды.

    Итак, о структуре данных в файле  *.drl.

    В программе Sprint-Layout был создан проект платы с тремя отверстиями. Внутренний диаметр отверстий установлен  1 мм. Размер платы не принципиален. Затем из меню Файл->Экспорт файла->"Формат Excellon" вызван мастер экспорта сверловки. Установлено Значение «сверлить со стороны печати» или со стороны монтажа (инвертируется горизонтально). Выбрана метрическая система измерения. В поле «Число после запятой» выбрано значение 3.3 и убрана галочка с удаления нулей, как показано на рис. 2.2.1.

    

    Рис. 2.2.1. – Экспорт файлов на сверление. 

    Это  для того чтобы заранее подготовить  файл для более удобного конвертирования  в приложении для отправки на ЧПУ. Нажали ОК, указано имя файла и сохранено. Например, 123.drl. Затем, открывая полученный файл любым текстовым редактором имеем следующее: 

    
M48

T1C001000

%

G05

M71

T1

X008000Y009000

X019000Y008000

X030000Y004000

M30

    В заголовке файла информация о  версии языка, далее информация о том, что работаем с метрической системой и диаметр отверстия, в нашем случае это 001000 что означает диаметр сверла 1 мм. Затем команда G05 говорит о том, что будет осуществляться операция сверления. Затем начинается блок координат от команды T1, которая указывает на то, что сверлим с отверстия с диаметром 1 мм. И далее три строки данных с информацией о координатах. M30 означает конец программы. Из файла *.drl необходима только информация о координатах, а остальные параметры указываются непосредственно в приложении.

    Для реализации данной задачи необходимо следующее:

    • Чтение данных из файла в массив построчно;
    • Анализ каждой считываемой строчки на содержание текста;
    • Если встречается код G05 (команда на сверление), то продолжаем анализ и считываем данные координат в формате 3.3 и заносим их в массив чисел для последующего формирования рисунка просмотра сверления.
    • Если встречается код M30 (конец программы), то завершаем анализ файла.

Вот пример реализации данной задачи на языке  C++ в среде C++ Builder:

if (OpenDialog1->Execute())

  {slist->LoadFromFile(OpenDialog1->FileName);   //загружает строки из файла (разделение по CR LF)

    filedrl->Text=slist->Text;   // открываем файл для просмотра

  } //это по нажатию кнопки «Загрузить»

    //Затем анализ файла

for(int i=0; i < s; i++ ) // s – количество строк

    { str = slist->Strings[i]; // считываем из массива строку

      if (str == "G05")       // и проверяем на наличие кода G05

        { for (i=i+3;i<s-1; i++) // есть код, читаем координаты

          { str=slist->Strings[i];

//… и  далее код программы

    §2.3. Алгоритм чтения данных в микроконтроллере поступающих с ПК через UART

    Для управления станком с ЧПУ, используя  микроконтроллер, была сформирована  совокупность команд и данных, которые будут «пониматься» контроллером, обеспечен диалог ПКßàМК. Это необходимо для того, чтобы обойти причину нехватки памяти на МК. Ведь передаваемый объем может быть намного больше объема ОЗУ на МК. Для этого было решено формировать буфер приема на МК в 255 байт (255 символов – это с запасом в 2 – 3 раза) и после передачи строки данных дожидаться подтверждения выполнения предыдущей команды и сигнал на разрешение передачи следующей строки. Проанализировав все необходимые условия, было решено разработать алгоритм приема данных на контроллере, так как на нем более ограничены возможности реализации различных методов.

    Программирование  контроллера изначально выполнялось  в среде Code Visio AVR на языке C. Во избежание частого перепрограммирования МК, работа программы тестировалась в комплексе Proteus. Однако во время работы часто наблюдались различия выходных результатов в протеусе и на самом деле, на «железе».

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