Smoothieware и LCD2004: и все-таки он существует!

Подписаться на 3Dtoday
Ghozt
Идет загрузка
Загрузка
05.05.18
1803
20
печатает на RepRap
Техничка
21
Статья относится к принтерам:
3D DLP v2.0
eta4ever в своем цикле статей о 32битных платах не раз упоминал, что завести 2004 дисплей на смузи - дело непростое. А тут так получилось, что я теперь тоже 32битник. И поскольку у меня в в принтере уже стоял 2004, а отказываться от него ну никак не хотелось - городить всякие коробочки, фальшпанельки и прочее, было решено его оставить, благо способ подружить смузи и 2004 имеется, причем относительно простой.

Итак, топаем на сайт смузи, раздел panel. Видим 4 пункта:

  • ReprapDiscount GLCD
  • Universal Panel Adapter
  • Viki2 and Miniviki2, from panucatt
  • SSD1306 based OLED displays
Интересующий нас вариант - Universal Panel Adapter, позволяющий подключить к смузи параллельный (коим и является 2004), либо же i2c дисплей в связке с энкодером. Судя по возрасту исходников способу уже 4 года. Для того, чтобы подружить SPI-интерфейс смузи и параллельный интерфейс дисплея, необходимо связующее звено в виде платки Arduino Nano (у меня была такая) с соответствующей прошивкой. Хватаем скомпилированный parallel_panel_adapter.hex из репозитория, заливаем в дуню с помощью GC-Uploader этот hex, а после приступаем к соединению тучи проводов от дисплея к дуне и от дуни к плате управления. Для подсоединения удобны провода мама-мама для макетной платы.

Сначала подцепим ардуину к плате управления. Распиновка следующая:

D11 : 0.18
D12 : 0.17
D13 : 0.15
D10 : 0.16
D4 : 2.11

Также нам понадобится питание для дуни, 5в и GND.

Поскольку все платы Smoothie сделаны на одном и том же чипе, номера ног для подсоединения совпадают между ними, но вот расположение ног разнится от платы к плате. Приведу варианты для двух более-менее народных плат под смузи : MKS SBase, Re-ARM. На обеих платах была протестирована возможность работы.

Поехали. Для начала вариант для Re-ARM, как первый испытанный. Нас интересует следующий разъем:
da80d3a8410a93a16f2f3b1829a740a0.jpg
И схема подключения к нему. Где взять 5в и GND для питания дуни легко понять из картинки
de6a47ee9046931156612260af5d456a.png

Теперь подобная схема для SBase. Ноги для подключения раскиданы куда менее удобно, где взять питание для arduino тоже указано. А еще попутно нашел ошибку в спецификации на SBase: два пина 0.14 (один в J7, другой в EXP1). На самом деле в EXP1 0.15 (на картинке исправлен):
b201f31eddefdf0b9b440589b8f150af.jpg
Займемся дисплеем. Для начала небольшое лирическое отступление. Есть несколько способов управления символьными дисплеями, каждая из конфигураций задается своим подключением пинов. Так сложилось, что автор исходников для этого адаптера использовал другой способ управления дисплеем, в отличие от того, который используется на 8-битной электронике. Но ближе к делу. В заглавной фотке можно заметить проводок от 5 пина, продублирую:
PREVIEW
Это пин RW. В варианте работы с 8-битными прошивками он посажен на землю. В нашем же адаптере он тоже должен быть подключен к arduino. А потому надо провести одну хардварную переделку самого дисплея - отключить 5 пин от земли и припаять к нему провод, который пойдет в дуню. Способов это сделать много, начиная от выпайки всего дисплея (геморройно), заканчивая варварским высверливанием несчастного. Я выбрал нечто среднее: вырезал пин дремелем с торца платы. :
8861f24d07b2289cbde589d50601f1de.jpg

Выведенный проводок подключается к пину А0 дуньки.

Далее питание: дисплею тоже надо 5в для прокорма, и можно его питать либо прямо с управляющей платы, либо прямо с ардуины. Сответственно либо ищем дополнительные точки 5в и GND на плате управления, либо поступаем проще: заводим питание на ардуину через нижнюю гребенку, а с ICS-разъема добываем еще один источник питания 5в:
3c133924450d6360e10c1c061d1846d2.jpg
Теперь можно все подключать уже к дисплею. Распиновка следующая:
e65f8a45995298de47466c1579b86664.jpg
Пару слов о контакте А3, который не был еще упомянут. На него заводится пищалка, но она не будет работать - надо править исходники. Это если кто-то захочет себе наладить, а так его можно не подключать. Также контакты D2 и D3 - это подключение энкодера. Если он листает меню не в ту сторону - просто поменяйте местами провода, подходящие к этим контактам.
Напоминаю: выведенный с 5 пина дисплея проводок подключается к контакту А0 ардуины.

Теперь обратимся к настройке прошивки для работы с этим дисплеем. Тут все просто, добавляем следующие строчки в config.txt:

panel.enable true # enable panel
panel.lcd universal_adapter #
panel.spi_channel 0 # spi channel to use (0- MISO 0.17, MOSI 0.18, SCK 0.15, SS 0.16)
panel.spi_cs_pin 0.16 # spi chip select
panel.busy_pin 2.11 # busy pin NOTE 1.30 on Azteeg X5

Еще пару раз убеждаемся в правильности подключений и включаем. На заглавной фотке изображена работоспособность на Re-ARM. А вот так это работает на SBase:
370f477d706ea4f5bff138b8c574346e.jpg
По функционалу дисплей полностью повторяет 12864, разве что вмещает меньше элементов (4 строки), но это некритично. Подключение SD-карты не стал рассматривать, не нужна она, когда в управляющей плате есть своя. В общем-то на этом все, adios.
Подписаться на 3Dtoday
21
Комментарии к статье

Комментарии

05.05.18 в 11:37
0
Благодарю,очень полезный для меня пост по частичному реверсу LCD2004.

С Уважением,
Ski.
05.05.18 в 12:42
2
реверсу LCD2004
где?
05.05.18 в 12:58
1
Также контакты D2 и D3 - это подключение энкодера. Если он листает меню не в ту сторону - просто поменяйте местами провода, подходящие к этим контактам.
Думаю по это.
Я долго в прошивке искал, как поменять направление.
05.05.18 в 13:01
2
Так распиновка экранов известна давно. а уж поменять пины местами...
05.05.18 в 13:06
1
Так распиновка экранов известна давно
Я не знал.
После этой статьи буду в курсе :)
05.05.18 в 14:20
0
где?
Для себя,
в дополнение к имеющейся нечитаемой схеме с общеизвестного ресурса,
собственными навыками неразрушающей "прозвонки",
я добавил - фото ТС с распиновкой разъёмов + фото R/W, про который он привёл отдельный пассаж.

Это я и назвал "частичный реверс".

Я просто не люблю fullgrafick-display, познакомившись с функционалом MKS-TFT28 моего Hercules New.
Дело в том, что мне сразу надо два фуллграфика, а так пока никто ещё не делал...

Сочетание же MKS-TFT28 и LCD2004 - жизнеспособно, нересурсоёмко от слова вообще, и портабельно на любой RAMPS.
Как выясняется с помощью ТС - не только на 8-битки.

Мне будет очень интересно узнать про одновременное сосуществование указанных мной двух дисплейных модулей на Smoothieware и ей подобных.

Дело в том, что это сочетание - мало кого интересует, все утыкаются в свои Смарты...
Вот - полюбуйтесь - как раз стали появлятся - сходные по теме посты:
http://3dtoday.ru/blogs/arseniy899/delaem-octoprint-bolee-khardvarnym-ili-upravlyaem-knopkami/?commentId=384007#384007
05.05.18 в 14:38
1
Реверс - это разбор не извеснтного. Распиновка экрана - именно дисплейного мрдуля ихвестно еще... Со времен его изобретения.
По поводу rw - это уже как и чем захочет рулить программер. Смысл в том что rw дает разрешение на за пись. Если его нет и слать в интерфейс данные, то будет к ашица на экране. Если мне не изменяет память, то можно еще разрядность общения (скорее всего не верно с лексической точки зрения) увеличить.
05.05.18 в 15:07
0
разрядность
Разумеется, только это скорее важно для fullgraphic, который на "Русской Дельте" - подтормаживает своим u8lib-ом.
05.05.18 в 15:28
1
Ну... дело в том что если еще пытаться писать в буфер по доступности RW и при этом еще и дельтой рулить... да еще и u8lib... да еще и ардуина... то там вообще можно забить на экран.
на армах уже конечно производительность позволяет забить буфер в доль и поперек.
05.05.18 в 16:00
1
Возможно ли к smoothiboard подключить клавиши управления вместо неудобного рычажка?
05.05.18 в 16:06
2
Можно. Настройки config.txt:

panel.click_button_pin 1.30!^ Pin for the click ( “enter” ) button - кнопка вперед/enter
panel.back_button_pin 2.11!^ Pin for the back button - кнопка "назад"
panel.up_button_pin 0.1! Pin for the up button - кнопка "вверх"
panel.down_button_pin 0.0! Pin for the down button - "вниз"

^ - подтягивающий резистор, ! - инверсия логики. Вешаете кнопки на любые свободные пины, вторым концом на землю и в общем-то все. Но я считаю, что энкодером куда удобнее задавать ту же температуру, кнопками нажимать дольше
05.05.18 в 18:30
0
Энкодер - может быть посередине четырёх кнопок ?

Что-то типа вот - такого, только кнопки - по "углам" ;-)

5902d0b42d563323a99747ccbf35743b.jpg
05.05.18 в 18:32
1
В теории - да, пины для энкодера и кнопок конфигурируются отдельно. На практике не знаю, как себя поведет совместное управление, не будет ли конфликтов
05.05.18 в 20:33
1
У меня на ней ЧПУ станок работает, там стол 2.5 на 1.2м, и рычажком перемещать шпиндель в нужную позицию честно говоря напрягает, вот и думаю крестовинку прикрутить )
05.05.18 в 22:23
1
Как по мне - то ставить на 32-битную плату Ардуину и текстовый экран - это изврат извратный. Я себе 32-битный контроллер сделал для графического ТФТ экранчика 320х240. В работе выглядит так
de5b509c30223cd216488bde74625585.jpg

Влазит 10 текстовых строк, то есть самое большое меню влазит без прокрутки.
e42f6f484f0b5475eb34746907be9dea.jpg
05.05.18 в 22:30
0
для графического ТФТ экранчика 320х240
А какая диагональ?
Четыре дюйма?

И я так понял, что Вы u8lib (или его подобием, для кириллицы) - не пользуетесь?

А он сильно отличается (сигналами) от вот такого (кроме цвета, разумеется):

fc66f2a9613aa26374d543801f9ede92.jpg
06.05.18 в 08:21
1
Ski, экран от очень китайского "Айфона" на чипе ILI9325, диагональ 3", соответственно с экранами типа 12864 он не имеет ничего общего. u8lib не пользуюсь. Так ведь в прошивке Smoothie нет кирилических текстов в выводе на экран и здесь это вообще не актуально, хотя шрифты я использовал с кирилицей.
06.05.18 в 11:30
0
Благодарю!

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Тест на излом прутка PLA, ABS, SBS, HIPS и PET-G

Самодельный 3D принтер из CD/DVD приводов

Калибровка Anycubic Photon не по феншую

3D Print Expo. Впечатления новичка.

Форк Fribot Helix: H-Bot или CоreXY, все оси на MGN12, область печати 300х200х300

Дальневосточная русалка запустит аддитивное производство тренажеров для ягодиц