Статья опубликована в рамках: XXIX Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 25 декабря 2013 г.)
Наука: Технические науки
Секция: Информатика, вычислительная техника и управление
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
ПОВЫШЕНИЕ БЫСТРОДЕЙСТВИЯ ПОЗИЦИОНИРОВАНИЯ ЭКСТРУДЕРА 3D-ПРИНТЕРА С ИСПОЛЬЗОВАНИЕМ MCU/FPGA
Мусиенко Максим Павлович
д-р техн. наук, заведующий кафедрой информационных технологий и программных систем, профессор Черноморского государственного университета имени Петра Могилы (ЧГУ), Украина г. Николаев
E-mail: musienko2001@ukr.net
Бугаев Виктор Иванович
бизнес-консультант, Московский физико-технический институт (государственный университет), РФ, г. Москва
E-mail: vik362@list.ru
Крайнык Ярослав Михайлович
аспирант, ЧГУ, Украина, г. Николаев
E-mail: codebreaker7@mail.ru
Денисов Алексей
соискатель, ЧГУ, Украина, г. Николаев
E-mail: maildenisov@gmail.com
RISING PERFORMANCE OF EXTRUDER’S POSITIONING IN 3D‑PRINTER WITH USE MCU/FPGA
Musiyenko Maksim
doctor of Science, Head of Information Technologies and Software Systems Department, professor of Petro Mohyla Black Sea State University, Ukraine Nikolaev
Bugaev Viktor
business‑Consultant, Moscow Institute of Physics and Technology State University, Russia Moscow
Krainyk Yaroslav
post-graduate, Petro Mohyla Black Sea State University, Nikolaev
Denisov Alexei
candidate, Petro Mohyla Black Sea State University, Ukraine Nikolaev
АННОТАЦИЯ
Целью статьи является исследование метода повышения быстродействия позиционирования экструдера 3D-принтера в системе управления с использованием модулей MCU/FPGA. Рассматривается позиционирование для случая построения линии и окружности. В качестве метода расчета траектории движения используется алгоритм Брезенхема. Предложенная модификация этого алгоритма привела к уменьшению количества выполнения операций за счет замены сложных операций более простыми. Выполнено сравнение производительности модулей MCU и FPGA для случаев построения линии и окружностей, показано преимущество FPGA.
ABSTRACT
The target of the article is research improvement of extruder’s positioning in 3D-printer in asymmetrical system based on MCU/FPGA. Problem of positioning for linear and circle interpolation is considering. Bresenham algorithm is used for movement calculation. Proposed modification of the algorithm allows getting decreased number of operations. The modification bases on replacing complex operations with simple one. The comparison of performance between FPGA and MCU in line and circle construction is provided. The advantage of FPGA is shown.
Ключевые слова: позиционирование экструдера; MCU/FPGA; алгоритм Брезенхема.
Keywords: extruder’s positioning; MCU/FPGA; Bresenham Algorithm
Вопросы позиционирования экструдера включают в себя множество проблемных аспектов, среди которых можно выделить низкое быстродействие самой системы управления позиционированием, что приводит к низкой скорости печати в целом. Поэтому обеспечение максимального быстродействия при проведении вычислительных операций является важным вопросом разработки систем управления.
В 3D-принтере траекторию движения экструдера необходимо указывать относительно трех координатных осей. При этом следует учитывать, что точность перемещения можно обеспечить за счет увеличения количества дискретных шагов (положений) управляемого устройства на всей траектории. Таким образом, расчет траектории движения для 3 координатных осей с учетом требования высокой точности позиционирования является задачей, требующей значительных вычислительных ресурсов от управляющего устройства.
Чаще всего управляющим устройством в системах позиционирования экструдера является микроконтроллер (MCU) [4], на который возложено выполнение всех функций работы принтера, что приводит к низкой скорости выполнения вычислительных операций. В других случаях в системах позиционирования используется пропорционально-интегрально-дифференциальный регулятор [2], однако процесс расчета для такого регулятора является ресурсоемким и требует выполнения большого числа вычислительных операций, что негативно сказывается на быстродействии системы.
Одним из способов увеличения скорости вычислений является использование в качестве дополнительного вычислительного ресурса модуля вентильных матриц (FPGA), на который возлагают часть расчетных функций.
Целью работы является повышение быстродействия позиционирования систем со связкой MCU/FPGA за счет исследования и модификации алгоритмов, способных обеспечить выполнение операции позиционирования за меньшее количество вычислительных операций, а также возможность замены сложных операций деления и умножения на более простые, например, выполнение арифметического сдвига в целом числе и др.
В работе проведены исследования производительности управляющих модулей системы в ходе выполнения расчетов по алгоритму Брезенхема [3, 1], который дает возможность получить целочисленное решение. Для получения численных данных работы микроконтроллера использовалась максимальная оптимизация кода по производительности. Полученные результаты представлены в таблицах 1 и 2.
Таблица 1.
Количество тактов, затрачиваемых на расчеты для линии
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2.
Количество тактов, затрачиваемых на расчеты для окружности
|
|
|
|
|
|
|
|
|
При расчете для построения линии на первую итерацию уходит одинаковое количество тактов — 13, в то время как при расчете для окружности длительность первой итерации изменяется в зависимости от начальных координат и радиуса. Количество тактов, затрачиваемых на весь цикл расчета, для случая построения линии постепенно увеличивается в зависимости от ее длины, а также в зависимости от ее наклона: чем меньше наклон линии, тем меньше операций присваивания необходимо выполнить.
Кроме того, из таблиц видно, что выполнение одной итерации для вычисления следующей точки для окружности требует намного больше времени, чем для расчетов для линии.
Для получения результатов расчетов FPGA для построения линии использован стандартный алгоритм, а для окружности — модифицированный в работе алгоритм Брезенхема. В основу модификации положено использование операции отображения точек с разделением плоскости построения на 8 октантов, что позволяет избежать выполнения большого количества расчетных операций [1].
Алгоритмическая реализация используемого метода для построения окружности может быть представлена автоматом, граф состояний которого показан на рис. 1.
Состояния, представленные на рисунке 1, имеют следующие функциональные назначения: — состояние инициализации; — получение первого значения для отображения; — коррекция параметров с учетом значений первого расчета; — выполнение отражения и получение значений координат для всех точек окружности; — вывод полученных значений на выходы устройства; — отправка сигнала о завершении расчета.
Рисунок 1. Граф состояний для реализации модифицированного алгоритма Брезенхема
Программная реализация алгоритма Брезенхема для FPGA выполнена с помощью языка описания схемотехники VHDL. Для проверки результатов работы модифицированного алгоритма для окружности использованы среда разработки ISE 14.2 и программный симулятор ISim. Результаты симуляции представлены на рисунке 2.
Рисунок 2. Результат симуляции реализованного алгоритма
На рисунке хорошо видно, что на вычисление следующей точки затрачивается всего 4 тактовых импульса после подачи сигнала о начале вычислений (сигнал на линии clk). Также указаны изменения состояний в процессе вычислений в соответствии с рассмотренным выше графом.
Таким образом, в работе показано, что использование связки FPGA с MCU позволяет получить существенный выигрыш в быстродействии системы позиционирования экструдера 3D-принтера. Величина выигрыша зависит от количества точек, которые используются в ходе описания траектории движения экструдера. Выполнение замены операций деления и умножения на операции целочисленного сдвига в модифицированном алгоритме Брезенхема для окружности позволило добиться увеличения скорости позиционирования.
Список литературы
1.Денисов А. Применение FPGA и алгоритмов Брезенхема для повышения быстродействия в системах позиционирования // Компоненты и технологии. — № 10. — 2013. — с. 97—100.
2.Pirated CupCake [Электронный ресурс] — Режим доступа. — URL: http://reprap.org/wiki/Pirated_CupCake (дата обращения 25.11.2013).
3.Reprap host software [Электронный ресурс] — Режим доступа. — URL: http://reprap.org/wiki/Reprap_host_software (дата обращения 25.11.2013).
4.RepRap Options [Электронный ресурс] — Режим доступа. — URL: http://reprap.org/wiki/RepRap_Options#The_controller (дата обращения 25.11.2013).
дипломов
Оставить комментарий