РадиоЛоцман - Все об электронике

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Мастер Кит MC7

Мы продолжаем серию статей (1, 2, 3) о доработках 3D-принтера MC7, разработанного и изготавливаемого компанией Мастер Кит.

Принтер имеет быстросборную модульную конструкцию, состоящую из 5 модулей. Как показывает практика, собрать принтер можно буквально за 15-20 минут! Некоторое время займут также подключение электроники и настройка, но мы практически уверены, что не более чем через час после распаковки принтер будет печатать.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Хорошим дополнением к принтеру MC7 послужит модуль, позволяющий печатать автономно, без подключения к компьютеру. Наиболее широко для этого применяется модуль RepRapDiscount Smart Controller (или его клоны), содержащий 4-строчный LCD-дисплей с двадцатью символами в строке, считыватель SD-карт и энкодер для управления принтером.

Гораздо более широкими графическими возможностями обладает RepRapDiscount Full Graphic Smart Controller. Устройство также оснащено считывателем SD-карт и энкодером, но в отличие от предыдущего модуля имеет графический LCD-дисплей размером 128×64 точки. Контроллер имеет интуитивно понятное меню и позволяет управлять всеми режимами принтера, а также печатать модели из файла, содержащего G-код, который можно формировать любым подходящим слайсером – Cura, Slic3r и т.п.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Контроллер очень просто подключается к блоку электроники на основе плат Arduino Mega 2560 и RAMPS 1.4, которые используются в принтере MC7. Для подключения используются два шлейфа и плата-адаптер.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Теоретически, прошивка 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.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Логотип в левой части размером 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. После загрузки файла и конвертации остается только скопировать полученный массив данных в прошивку и загрузить ее в плату управления.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа
 
Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Мы копировали массив в десятичном представлении, как видите, это отлично работает.

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Устанавливается контроллер в верхней части рамы принтера на две одинаковые детали, напечатанные на этом же принтере (вот она, философия REPRAP в действии).

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

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

Оснащение 3D-принтера MC7 дисплеем RepRapDiscount Full Graphic Smart Controller и создание своего логотипа

Следует отметить, что по результатам интенсивной эксплуатации 3D-принтера MC7 в нашей лаборатории, на выставках, а также по отзывам пользователей, принтер имеет стабильные хорошие характеристики. Вполне оправдано применение хорошо зарекомендовавшего себя экструдера E3D V6 и связки плат Arduino Mega 2560 и RAMPS, позволяющей использовать открытое программное обеспечение и легко модифицировать и расширять функциональные возможности принтера.

Мастер Кит

Изготовление плат и монтаж компонентов для вашего проекта от $2. Получи купон на скидку: JLCNY

ADMV8420 - настраиваемый полосовой СВЧ фильтр от Analog Devices
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя