Мы продолжаем серию статей о доработках 3D-принтера MC7, разработанного и изготавливаемого компанией Мастер Кит.
Принтер имеет быстросборную модульную конструкцию, состоящую из 5 модулей. Как показывает практика, собрать принтер можно буквально за 15-20 минут! Некоторое время займут также подключение электроники и настройка, но мы практически уверены, что не более чем через час после распаковки принтер будет печатать.
Хорошим дополнением к принтеру MC7 послужит модуль, позволяющий печатать автономно, без подключения к компьютеру. Наиболее широко для этого применяется модуль RepRapDiscount Smart Controller (или его клоны), содержащий 4-х строчный LCD-дисплей с двадцатью символами в строке, считыватель SD-карт и энкодер для управления принтером.
Гораздо более широкими графическими возможностями обладает RepRapDiscount Full Graphic Smart Controller. Устройство также оснащено считывателем SD-карт и энкодером, но в отличие от предыдущего модуля имеет графический LCD-дисплей размером 128x64 точки. Контроллер имеет интуитивно понятное меня и позволяет управлять всеми режимами принтера, а также печатать модели из файла, содержащего G-код, который можно формировать любым подходящим слайсером – Cura, Slic3r и т.п.
Контроллер очень просто подключается к блоку электроники на основе плат Arduino Mega 2560 и RAMPS 1.4, которые используются в принтере MC7. Для подключения используются два шлейфа и плата-адаптер.
Теоретически, прошивка Marlin позволяет включить русский язык при работе с RepRapDiscount Full Graphic Smart Controller. Но практика показала, что лучше этого не делать…Пользователи жалуются на появление нечитаемых символов и корявый перевод.
Для того чтобы модуль заработал, необходимо перепрошить плату Arduino Mega 2560. Прежде всего, следует скачать библиотеку U8glib, необходимую для работы графического дисплея и прошивку с поддержкой контроллера. Библиотеку надо разархивировать в каталог, где находятся остальные библиотеки Ардуино. После этого необходимо запустить оболочку Arduino IDE (проверено с версией 1.6.7), загрузить прошивку и запустить процесс ее компиляции и загрузки.
Прошивка отличается тем, что в закладке Configuration.h перед определением
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER снят двойной слэш, а строка
//#define REPRAP_DISCOUNT_SMART_CONTROLLER, разрешающая работу строчного дисплея, должна его иметь.
То есть, должна быть разрешена работа только одного типа дисплея.
Во время включения питания принтера на графическом экране на пару секунд возникает картинка с логотипом REPRAP.
Логотип в левой части размером 60х64 пикселей можно заменить на свой. Для этого во вкладке DOGMbitmaps.h надо заменить данные внутри конструкции
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
ваши данные
};
Изначально эта конструкция выглядит следующим образом:
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xF0,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xE0,0x7F,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xC0,0x3F,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0x80,0x1F,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0x00,0x0F,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFE,0x00,0x07,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFC,0x00,0x03,0xFF,0xFF,0xF0,
0xFF,0xFF,0xF8,0x00,0x01,0xFF,0xFF,0xF0,
0xFF,0xFF,0xF0,0x00,0x00,0xFF,0xFF,0xF0,
0xFF,0xFF,0xE0,0x00,0x00,0x7F,0xFF,0xF0,
0xFF,0xFF,0xC0,0x00,0x00,0x3F,0xFF,0xF0,
0xFF,0xFF,0x80,0x00,0x00,0x3F,0xFF,0xF0,
0xFF,0xFF,0x00,0x00,0x00,0x1F,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x0F,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x07,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x07,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x01,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x03,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x07,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x07,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x0F,0xFF,0xF0,
0xFF,0xFF,0x00,0x00,0x00,0x1F,0xFF,0xF0,
0xFF,0xFF,0x80,0x00,0x00,0x1F,0xFF,0xF0,
0xFF,0xFF,0xC0,0x00,0x00,0x3F,0xFF,0xF0,
0xFF,0xFF,0xE0,0x00,0x00,0x7F,0xFF,0xF0,
0xFF,0xFF,0xF0,0x00,0x01,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFC,0x00,0x03,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0x00,0x1F,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0x83,0xFF,0xFF,0xFE,0x0F,0xFF,0xFF,0xF0,
0x80,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xF0,
0x88,0x7F,0xFF,0xFE,0x23,0xFF,0xFF,0xF0,
0x8C,0x70,0x38,0x0E,0x71,0x81,0xC0,0x70,
0x8C,0x60,0x38,0x0E,0x63,0x80,0xC0,0x30,
0x80,0xE3,0x19,0xC6,0x07,0xF8,0xC7,0x30,
0x80,0xE0,0x19,0xC6,0x03,0x80,0xC7,0x10,
0x8C,0x62,0x79,0xC6,0x63,0x9C,0xC7,0x30,
0x8C,0x63,0xF8,0xC6,0x71,0x18,0xC6,0x30,
0x8E,0x30,0x18,0x0E,0x71,0x80,0xC0,0x30,
0x9E,0x38,0x39,0x1E,0x79,0xC4,0xC4,0xF0,
0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xC7,0xF0,
0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,0xC7,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0
};
Наш логотип получается так:
const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
0, 0, 0, 0, 216, 13, 0, 0, 0, 0, 0, 1, 2, 32, 64, 0,0, 0, 0, 2, 1, 64, 32, 0, 0,
0, 0, 4, 1, 0, 16, 0,0, 0, 0, 0, 0, 128, 16,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,0, 0, 0, 0, 0, 33, 230,0, 0, 0, 0, 0, 0, 49, 1, 128, 0, 0, 0, 0, 4,
73, 2, 80, 0, 0, 0, 0, 14, 117, 226, 40, 0, 0, 0, 0, 10, 64, 4, 52, 0, 0, 0, 0,
137, 7, 240, 73, 0, 0, 0, 0, 248, 127, 254, 33, 128, 0, 0, 128, 65, 255, 255,
210, 64, 0, 1, 128, 35, 25, 196, 5, 160, 0, 7, 128, 2, 57, 196, 0, 64, 0, 15,
0, 2, 121, 135, 156, 0, 0, 31, 0, 32, 121, 135, 158, 0, 0, 30, 0, 96, 121, 7,
158, 0, 0, 62, 0, 96, 121, 7, 159, 0, 131, 254, 0, 224, 56, 7, 159, 0, 31, 254,
0, 226, 56, 71, 159, 128, 255, 254, 1, 226, 24, 71, 159, 128, 15, 254, 1, 227,
24, 199, 159, 128, 0, 31, 129, 227, 8, 199, 159, 192, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 96, 121, 254, 254, 127, 0, 24, 24, 96, 204, 48,
192, 97, 128, 28, 56, 241, 132, 48, 192, 97, 128, 28, 56, 241, 128, 48, 192, 97,
128, 30, 120, 145, 128, 48, 252, 97, 128, 30, 121, 153, 128, 48, 192, 127, 0,
27, 217, 153, 128, 48, 192, 96, 0, 27, 217, 249, 132, 48, 192, 96, 0, 25, 155,
12, 204, 48, 192, 96, 0, 25, 155, 12, 120, 48, 254, 96, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 48, 223, 224, 0, 0, 0, 0, 102, 48, 195,
0, 0, 0, 0, 0, 108, 49, 195, 0, 0, 0, 0, 0, 120, 51, 195, 0, 0, 0, 0, 0, 112, 55,
195, 0, 0, 0, 0, 0, 120, 62, 195, 0, 0, 0, 0, 0, 108, 60, 195, 0, 0, 0, 0, 0,
102, 56, 195, 0, 0, 0, 0, 0, 99, 48, 195, 0, 0, 0, 0, 0, 97, 176, 195, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 227, 240, 0, 0, 0,
0, 0, 3, 51, 24, 0, 0, 0, 0, 0, 0, 51, 12, 0, 0, 0, 0, 3, 128, 51, 12, 28, 0,
0, 0, 15, 224, 227, 12, 127, 0, 0, 0, 3, 128, 51, 12, 28, 0, 0, 0, 0, 0, 51,
12, 0, 0, 0, 0, 0, 0, 51, 12, 0, 0, 0, 0, 0, 3, 51, 24, 0, 0, 0, 0, 0, 1, 227,
240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
Данные могут быть представлены как в шестнадцатеричном, так и в десятичном представлениях. Эти данные являются битовым массивом, представляющим растровое изображение. Изображение в таком представлении можно нарисовать в каком-либо графическом редакторе, например в обычном Paint, или преобразовать из картинки в формате JPEG в более продвинутом редакторе.
Для рисования и преобразования файлов форматов BMP и JPG в битовый массив bitmap можно использовать бесплатную программу LCD_Bitmap_Converter. После загрузки файла и конвертации остается только скопировать полученный массив данных в прошивку и загрузить ее в плату управления.
Мы копировали массив в десятичном представлении, как видите, это отлично работает.
Устанавливается контроллер в верхней части рамы принтера на две одинаковые детали, напечатанные на этом же принтере (вот она, философия REPRAP в действии).
Смонтированный дисплей не мешает переносить принтер, и вполне органично вписывается в общий дизайн устройства, добавляя принтеру полезный функционал.
Следует отметить, что по результатам интенсивной эксплуатации 3D-принтера MC7 в нашей лаборатории, на выставках, а также по отзывам пользователей, принтер имеет стабильные хорошие характеристики. Вполне оправдано применение хорошо зарекомендовавшего себя экструдера E3D V6 и связки плат Arduino Mega 2560 и RAMPS, позволяющей использовать открытое программное обеспечение и легко модифицировать и расширять функциональные возможности принтера.