Металл2024 Реклама
Метобр2024 Реклама

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

Ghozt
Идет загрузка
Загрузка
05.05.2018
6379
23
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

25
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, как первый испытанный. Нас интересует следующий разъем:
Smoothieware и LCD2004: и все-таки он существует!
И схема подключения к нему. Где взять 5в и GND для питания дуни легко понять из картинки
Smoothieware и LCD2004: и все-таки он существует!
Теперь подобная схема для SBase. Ноги для подключения раскиданы куда менее удобно, где взять питание для arduino тоже указано. А еще попутно нашел ошибку в спецификации на SBase: два пина 0.14 (один в J7, другой в EXP1). На самом деле в EXP1 0.15 (на картинке исправлен):
Smoothieware и LCD2004: и все-таки он существует!
Займемся дисплеем. Для начала небольшое лирическое отступление. Есть несколько способов управления символьными дисплеями, каждая из конфигураций задается своим подключением пинов. Так сложилось, что автор исходников для этого адаптера использовал другой способ управления дисплеем, в отличие от того, который используется на 8-битной электронике. Но ближе к делу. В заглавной фотке можно заметить проводок от 5 пина, продублирую:

[IMG ID=163305 WIDTH=624 HEIGHT=351]



Это пин RW. В варианте работы с 8-битными прошивками он посажен на землю. В нашем же адаптере он тоже должен быть подключен к arduino. А потому надо провести одну хардварную переделку самого дисплея - отключить 5 пин от земли и припаять к нему провод, который пойдет в дуню. Способов это сделать много, начиная от выпайки всего дисплея (геморройно), заканчивая варварским высверливанием несчастного. Я выбрал нечто среднее: вырезал пин дремелем с торца платы. :
Smoothieware и LCD2004: и все-таки он существует!
Выведенный проводок подключается к пину А0 дуньки.

Далее питание: дисплею тоже надо 5в для прокорма, и можно его питать либо прямо с управляющей платы, либо прямо с ардуины. Сответственно либо ищем дополнительные точки 5в и GND на плате управления, либо поступаем проще: заводим питание на ардуину через нижнюю гребенку, а с ICS-разъема добываем еще один источник питания 5в:

[IMG ID=163308 WIDTH=301 HEIGHT=301]



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

[IMG ID=163319 WIDTH=609 HEIGHT=456]



Пару слов о контакте А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:
Smoothieware и LCD2004: и все-таки он существует!
По функционалу дисплей полностью повторяет 12864, разве что вмещает меньше элементов (4 строки), но это некритично. Подключение SD-карты не стал рассматривать, не нужна она, когда в управляющей плате есть своя. В общем-то на этом все, adios.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

25
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама