Панель управления для Мини Косселя

2015-10-11 20-00-33Недавно один знакомый показал мне свой замечательный OLED экранчик на своем принтере. Габариты такого экрана гораздо меньше обычных вариантов.
Мне он сильно приглянулся и я сразу заказал себе экранчик, энкодер и кардридер.

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


Неспешно, за пару вечеров разработал такой крепеж. Один под SD карту, один под энкодер и общая панель для закрытия всего этого сверху.
2015-10-15 09-32-15 2015-10-15 09-32-02 2015-10-15 09-32-33 2015-10-15 09-33-36


Провода от девайсов решил перепаять, т.к. в наличии не было обычных проводков 1p-1p мама-мама, да и на оледе контакты упирались в профиль.
В принципе надо перепаивать было только на экранчике… Кардридер и энкодер крепятся к холдерам винтиками М2 х 6мм
2015-10-15 23-55-43 2015-10-15 23-56-07


К раме закрепил это все на винты М5 и квадратные гайки оставшиеся после сборки рамы.
2015-10-16 00-24-14


С подключением к рампс в принципе все довольно просто. Экран подключается в I2C порт.
Энкодер подключается на 31-33-35й контакты рампс. Питание на энкодер можно взять на той же колодке (крайние пины), либо с одного из эндстопов.
SD кардридер подключается в разъем AUX3. Одноименные контакты друг с другом. CS подключаем к D53.
ramps-4connectors addon

Далее немного о программной части.
На форуме выложен патч для Марлина(Marlin103-tinyoled.patch). Применить его к последнему марлину стандартным способом не получилось.
Патч довольно мелкий и простой.

В файл Configuration.h добавляем определение нового контроллера
#define SSD1306_OLED_I2C_CONTROLLER

Туда же чуть ниже добавляем:
#if defined (SSD1306_OLED_I2C_CONTROLLER)
#define DOGLCD
#define U8GLIB_SSD1306
#define ULTIPANEL
#define NEWPANEL
#endif

В файл pins.h добавляем такой блок
+ #elif defined(SSD1306_OLED_I2C_CONTROLLER)
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #define BTN_ENC 35
+ #define BEEPER 37
+ #define LCD_SDSS 53
+ #define SDCARDDETECT -1
+ #define KILL_PIN -1

И в dogm_lcd_implementation.h надо добавить одну строку:
+#elif defined(U8GLIB_SSD1306)
+ U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);

В таком варианте марлин не компилился и ругался на u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST). Заменил ее на U8GLIB_SSD1306_128X64 u8g(0); и вроде заработало.
2015-10-11 20-01-49


Марлин под коссель пока еще не затачивал. На эту тему наверно будет потом отдельная запись.
Панель затестил. В общем все нравится пока… Посмотрим как будет в работе себя проявлять…
2015-10-16 00-23-52 2015-10-16 00-23-48

п.с. Пробовал еще взять прошивку Repetier(обсуждение ее на робофоруме), но она у меня сходу тоже не стала компилиться…
На этом опыты пока остановил. Жду рельсы и думаю как разместить электронику покомпактнее…

Панель управления для Мини Косселя: Один комментарий

  1. Симпатичный, но уж очень маленький…
    Кстати, себе для управления принтером подключил raspbery Pi с прошивкой на ней Octoprint. Очень удобно теперь! Всё управление через браузер, файлы заливать можно перетаскиванием, классный g-code анализатор, запись печати на камеру и т.д. Рекомендую. Вот здесь можно почитать: http://octoprint.org/
    Вот видео https://www.youtube.com/watch?v=EHzN_MwunmE

Добавить комментарий для Sibilia Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>