Смекни!
smekni.com

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

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

Под методом «рисование» понимается выполнение операции выжигания путем перемещения термического инструмента на поверхности материала по заданной траектории кривыми линиями, прямыми и т.д.

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

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

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

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

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

В программном продукте управления станком ЧПУ необходимо реализовать модуль конвертирования векторных файлов (например *.dxf – стандартный формат данных, используемый во многих программных продуктах для создания векторных изображений в формате Gerber) в блок данных для отправки на микроконтроллер. Второй вариант – создание модуля непосредственного рисования кривых линий, прямых, окружностей и т.д. и подготовка блока данных для отправки на микроконтроллер.

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

Для реализации точечного метода имеется почти готовый модуль сверления, который был немного изменен для выполнения операции выжигания по точкам. Будем полагать, что координаты отверстий – это координаты точек, только вместо сверла, необходимо установить инструмент «выжигатель», и сверло включать нет необходимости, а питание на «выжигатель» подается постоянно от отдельного источника питания. Опишем алгоритм выжигания по точкам.

I – На микроконтроллере:

1. Ожидание команды на выжигание;

2. Получение необходимых параметров для выполнения операции;

3. Ожидание команды на начало получения блока данных о точках;

4. Получение данных о координатах точки для выжигания;

5. Перемещение «выжигателя» в указанную точку;

6. Опускание выжигателя на указанную высоту для выжигания;

7. Временная задержка на поверхности материала на выжигание;

8. Поднимание выжигателя на начальную (указанную) высоту;

9. Если не пришла команда конца блока данных, выполнение с 4 шага;

10. Конец операции, инициализация станка.

II – В программном комплексе на ПК.

1. Загрузка изображения в поле обработки по нажатию кнопки;

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

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

4. Отмена выжигания по нажатию кнопки, а также возможность продолжения выжигания с указанной точки.

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

- в качестве параметров на микроконтроллер передаются данные о начальной позиции «выжигателя», о высоте перемещения «выжигателя», о времени задержки «выжигателя» на поверхности материала.

- сверло в текущей операции не задействовано, следственно и двигатель сверла включать/выключать нет необходимости.

- для выжигания одной точки необходимо выполнить три команды в отличие двух при сверлении:

а) перемещение шпинделя станка в указанную точку координат;

б) опускание выжигателя на поверхность материала для выжигания;

в) поднимание выжигателя в начальную точку и ожидание данных о следующей точке.

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

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

После загрузки изображения, оно появится в поле приложения для визуального наблюдения. Далее необходимо анализировать информацию на изображении для формирования блока данных на отправку на МК. Для этого было решено программно исследовать каждый пиксель изображения на цветовую информацию. Практически это было реализовано при помощи функции ImageV->Canvas->Pixels[x][y], которая возвращает число и трех составляющих цветовой палитры. Чем меньше это число, тем темнее пиксель на изображении. Используя эту функцию, было решено отбирать только те точки, интенсивность которых можно задавать непосредственно на форме приложения управления станком ЧПУ. Для этой цели был использован ползунок с ограничивающими параметрами в виде числовых констант под названием Интенсивность. Можно указать выбор пикселей, начиная от черных и заканчивая всеми пикселями, отличными от белых.

Сканируя изображение попиксельно, отбираются только точки, удовлетворяющие всем выбранным параметрам, записываем в блок данных координаты соответствующих пикселей для последующей отправки, одновременно отмечая на изображении зеленым цветом выбранные точки. Данная функциональность позволяет визуально анализировать полученные данные для выжигания. В случае неудовлетворения или других причин, можно изменить параметры и вновь произвести сканирование изображение с новыми параметрами отбора. Также есть возможность указать масштаб переносимого изображения, визуально это не отражается, но можно увидеть разницу в данных для отправки на МК. Для задания масштаба использован ползунок «Масштаб» с возможностью выбора от 10% до 400%. Внешний вид модуля показан на рис. 2.7.1.

После формирования блока данных, в отведенное поле выводятся данные, которые практически готовы для отправки на МК. Далее по нажатию кнопки отправляется блок данных с командой на выжигание и с параметрами, необходимыми для выполнения операции. Командой на выжигание является текстовая строка "G22\n", за ней отправляются данные о начальной точке, точки достижения поверхности обрабатывания, временной задержки и отправка строки "DRL1\n", указывающая, что сейчас будет передача данных о координатах точек. И затем включается таймер ведения диалога между МП и ПК, каждая последующая строка будет отправляться лишь после получения подтверждения о выполнении предыдущей команды в виде строки координат о положении шпинделя в координатной плоскости.

Рис. 2.7.1. – внешний вид модуля выжигания.

Остановка выполнения текущей операции может быть осуществлена при отправке строки "DRL0\n", пауза может быть осуществлена путем приостановления таймера ведения диалога. Для выполнения этих операций использована панель управления мультимедиа. Также добавлена опция продолжения с указанной точки. Предполагается ведение журнала для возможности автоматического продолжения выполнения операции при различных сбоях в работе, как станка, так и компьютера.

На первом этапе тестирования модуля выжигания, были обнаружены те же недостатки что и при сверлении. Речь идет о точности позиционирования станка, вернее о разрешающей способности. Как говорилось ранее – минимальное расстояние, на которое можно переместить шпиндель станка, равно 0.8 мм. То есть расстояние между пикселями на переносимом материале составляет около 0.8 мм в зависимости от диаметра выжигающего инструмента. Вопрос о совершенствовании станка и программных модулей для увеличения точности стал еще более актуальным.

§2.8. Модернизация комплекса ЧПУ

Ранее описывалась модернизация станка, заключающаяся в увеличении передаточного числа от ШД к лентам перемещения кареток в координатах X и Y. Теперь, проанализировав еще раз модуль управления ШД на микроконтроллере, было решено увеличить точность программно. В первую очередь был проанализирован предполагаемый результат данного мероприятия. Теоретически, была поставлена задача: сократить минимальное расстояние перемещения каретки станка с 0.8 мм до 0.2 мм, что удовлетворило бы большинство потребностей при выполнении различных операций. То есть точность станка предполагается увеличить в 4 раза.