Телефон: +7 (383)-202-16-86

Статья опубликована в рамках: XXIX Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 25 декабря 2013 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Мусиенко М.П., Бугаев В.И., Крайнык Я.М. [и др.] ПОВЫШЕНИЕ БЫСТРОДЕЙСТВИЯ ПОЗИЦИОНИРОВАНИЯ ЭКСТРУДЕРА 3D-ПРИНТЕРА С ИСПОЛЬЗОВАНИЕМ MCU/FPGA // Технические науки - от теории к практике: сб. ст. по матер. XXIX междунар. науч.-практ. конф. № 12(25). – Новосибирск: СибАК, 2013.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов
Статья опубликована в рамках:

 

Выходные данные сборника:


 


ПОВЫШЕНИЕ  БЫСТРОДЕЙСТВИЯ  ПОЗИЦИОНИРОВАНИЯ  ЭКСТРУДЕРА  3D-ПРИНТЕРА  С  ИСПОЛЬЗОВАНИЕМ  MCU/FPGA


Мусиенко  Максим  Павлович


д-р  техн.  наук,  заведующий  кафедрой  информационных  технологий  и  программных  систем,  профессор  Черноморского  государственного  университета  имени  Петра  Могилы  (ЧГУ),  Украина  г.  Николаев


E-mailmusienko2001@ukr.net


Бугаев  Виктор  Иванович


бизнес-консультант,  Московский  физико-технический  институт  (государственный  университет),  РФ,  г.  Москва


E-mailvik362@list.ru


Крайнык  Ярослав  Михайлович


аспирант,  ЧГУ,  Украина,  г.  Николаев


E-mailcodebreaker7@mail.ru


Денисов  Алексей


соискатель,  ЧГУ,  Украина,  г.  Николаев


E-mailmaildenisov@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.


Количество  тактов,  затрачиваемых  на  расчеты  для  линии


Исходные  данные











1-я  итерация



13



13



13



13



Полный  расчет



66



77



88



99

 

Таблица  2.


Количество  тактов,  затрачиваемых  на  расчеты  для  окружности



Начальные  данные







Первая  итерация



46



67



Полный  расчет



132



191

 

При  расчете  для  построения  линии  на  первую  итерацию  уходит  одинаковое  количество  тактов  —  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).

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий