24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
MKS TFT35 V1.0 на RaspberryPi
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
Есть у меня 3D принтер (Two Trees Sapphire Plus v 1.1), и при переезде на klipper возникло неудобство, которое пришлось преодолевать дополнительными вложениями - родной экран принтера не может быть использован для отображения информации о печати и управления принтером. Klipper просто не умеет выводить информацию на SPI экраны. У меня всё решилось приобретением 5-ти дюймового экрана (BIGTREETECH BTT PI TFT50V2.0), но это дополнительно $50 USD. И всё это время, меня, как и других пользователей принтеров Two Trees Sapphire (в Flying bear ghost такие же экранчики)), мучает вопрос: "как же заставить родной экран отображать информацию, хоть и не очень удобно, т.к. мелкий".
Тут была найдена информация по подключению похожего экрана. Но в TS35 используется ЖКИ с драйвером ILI9486, а в TFT35 v1.0 применён ЖКИ с драйвером ILI9488. Хоть они и очень близки, но есть одно существенное отличие, которое не позволяет использовать TFT35 в режиме SPI - стандартная библиотека не умеет передавать информацию в формате RGB666 (18 bit), только RGB565 (16 bit), в ili9488 не умеет принимать RGB565 (16 bit) в SPI режиме... Надеюсь не запутались?
Поэтому месяц поисков решений, аппаратная доработка экрана MKS TFT35 v1.0 для работы в режиме SPI, попытки компиляции своей библиотеки для работы в формате RGB666 (18 bit), осознание, что рядовой пользователь это не осилит (как впрочем и я не до конца смог)... В итоге пришёл к решению, что проще собрать переходник-конвертер SPI-parallel, как это делают на многих дешевых экранчиках типа Waveshare MPI3501 и многих других. Зато это позволит использовать только стандартные библиотеки.
Ну а раз будет какая-то плата-переходник, то почему бы на ней не разместить удобные разъёмы, которые часто применяются для подключений в 3D принтере UARTa, управление питанием принтера, акселерометра, вентилятора обдува малинки и т.д.
В итоге родилась вот такая Схема. 04.07.2022 г. Выглядит страшно, но как её нарисовать более компактно и красиво - я не знаю. Есть отличие от "стандартных" конвертеров - использование инверторов U4.3-U4.6 для задержки сигнала, что позволило "разогнать" экран до 30Мгц. Теперь 20 кадров в секунду - легко.
Разъёмы:
1) 32pin FFC/FPC с шагом 1мм, нижние контакты. для подключения шлейфа экрана. Aliexpress.
2) FAN (2pin XH2.54) - подключение 5В вентилятора обдува малины.
3) PRINTER (4pin XH2.54) - подключение платы принтера по UART (Rx/Tx) и питание 5В.
4) POWER (5pin XH2.54) - подключение питания малины через GPIO (ВНИМАНИЕ, опасно!!! защиты малины не работают)
5) SPI_0 (6pin XH2.54) - SPI0 с питанием 5В.
6) AUX (6pin XH2.54) - оставшиеся gpio и 5В на всякий случай.
7) SPI_1 (6pin XH2.54) - SPI1 с питанием 5В.
8) GPIO 40pin (2*20) PBD-40 - подключение к gpio малины.
BOM in Excel sheet. link. Зато печатная плата получилась довольно компактной (H 52 * W 51 мм). В ревизии 0.4 (на фото ниже) я решил оставить кучку перемычек вокруг U4 для экспериментов, чтобы не резать дорожки, а на скринах версия платы v0.6 - уже без этих перемычек, зато с кучкой других, позволяет подключать экран к SPI_0 или SPI_1. Соответственно для подключения к SPI_0 запаиваем 5 перемычек 0603 в места маркированные "0", а для SPI_1 - "1". Все конденсаторы "С" - 0603 0,1mkF. UPD 11.07.2022
По просьбе добавил на плату микросхему RTC (Real Time Clock) - DS3231 c обвязкой и резервной батарейкой CR2032. Теперь малина может быть дату и время не из интернета, при автономной работе. Других отличий на плате нет. RTC можно не распаивать - на остальной функционал не влияет. Скачать плату в формате Gerber, пригодную для заказа, можно во вложениях converter_tft35_v0.6.rar, или новая версия - converter_tft35_v0.7.rar пароль на архивы: Платы версии 0.6 и 0.7 не изготавливались (не проверялись). Если найдёте ошибки визуально - пишите, исправлю.
Платы v0.4 собраны, протестированы и выявлено следующее:
При подключении экрана к SPI0 частота обновлений экрана почти совпадает с задаваемой в параметрах оверлея (20 FPS), но тогда некуда подключать акселерометр ADXL345 - на SPI1 он работать отказался (на 4й малине можно победить).
При подключении экрана к SPI1 частота обновлений экрана падает в 2 раза и становится не совсем комфортно работать, хотя экран обновляется по ощущениям, как на Marlin FW.
В причинах такого поведения я не совсем разобрался, знаю только что SPI1 в 3B и 3B+ какой-то немного урезанный, не работает в режимах 0 и 3 (из-за чего и не работает акселерометр на клиппере на SPI1). Поэтому делал возможность выбора при сборке платы.
Пока пара фото собранной платы (старая ревизия - 0.4) и работающего экрана (тач тоже работает - пока поверьте, видео будет позже). За качество пайки прошу не пинать - собирал в промежутках между работой, поэтому спаяно не очень аккуратно - "для проверки макета - пойдёт".
Доработка на плате экрана.
Не знаю почему, но в экранчике MKS TFT35 V1.0 не распаян выход прерывания от тачскрина. Это легко исправить всего одной перемычкой. Справится даже ребёнок. Без этой доработки опроса сенсора не будет, соответственно тач не работает в системе. На плате перемычка выглядит вот так: Удалось проверить экран FlyingBear Reborn-TS V3.0 от Flyingbear Ghost 5.
Отлично работает, доработка такая же, за исключением того, что разъём FFC перевёрнут... Сути это не меняет, подключается своим родным шлейфом без проблем. Видео для оценки скорости работы интерфейса. Тач не тормозит - просто дисплейный модуль фактически ни на что не опирается - не удобно тыкать в него одной рукой, а второй снимать...
Ещё одно видео снял, установив экран на место. Для оценки удобства использования. И таки я хочу вам сказать - вполне можно пользоваться. Конечно, на 5 дюймовом можно обойтись без стилуса, но зато тут сохранён внешний вид принтера и затрачено минимум средств на такую модернизацию.
В подвале принтера это может выглядеть вот так: Экран на родном месте, для подключения используется родной шлейф.
А в моём случае экран стоит другой - 5 дюймов. При этом плата используется как плата коммутации, в том числе для удобного подключения акселерометра ADXL345, питания вентилятора и другой периферии. Как реализовано питание, лучше посмотреть в отдельной теме.
Тут была найдена информация по подключению похожего экрана. Но в TS35 используется ЖКИ с драйвером ILI9486, а в TFT35 v1.0 применён ЖКИ с драйвером ILI9488. Хоть они и очень близки, но есть одно существенное отличие, которое не позволяет использовать TFT35 в режиме SPI - стандартная библиотека не умеет передавать информацию в формате RGB666 (18 bit), только RGB565 (16 bit), в ili9488 не умеет принимать RGB565 (16 bit) в SPI режиме... Надеюсь не запутались?
Поэтому месяц поисков решений, аппаратная доработка экрана MKS TFT35 v1.0 для работы в режиме SPI, попытки компиляции своей библиотеки для работы в формате RGB666 (18 bit), осознание, что рядовой пользователь это не осилит (как впрочем и я не до конца смог)... В итоге пришёл к решению, что проще собрать переходник-конвертер SPI-parallel, как это делают на многих дешевых экранчиках типа Waveshare MPI3501 и многих других. Зато это позволит использовать только стандартные библиотеки.
Ну а раз будет какая-то плата-переходник, то почему бы на ней не разместить удобные разъёмы, которые часто применяются для подключений в 3D принтере UARTa, управление питанием принтера, акселерометра, вентилятора обдува малинки и т.д.
В итоге родилась вот такая Схема. 04.07.2022 г. Выглядит страшно, но как её нарисовать более компактно и красиво - я не знаю. Есть отличие от "стандартных" конвертеров - использование инверторов U4.3-U4.6 для задержки сигнала, что позволило "разогнать" экран до 30Мгц. Теперь 20 кадров в секунду - легко.
Разъёмы:
1) 32pin FFC/FPC с шагом 1мм, нижние контакты. для подключения шлейфа экрана. Aliexpress.
2) FAN (2pin XH2.54) - подключение 5В вентилятора обдува малины.
3) PRINTER (4pin XH2.54) - подключение платы принтера по UART (Rx/Tx) и питание 5В.
4) POWER (5pin XH2.54) - подключение питания малины через GPIO (ВНИМАНИЕ, опасно!!! защиты малины не работают)
5) SPI_0 (6pin XH2.54) - SPI0 с питанием 5В.
6) AUX (6pin XH2.54) - оставшиеся gpio и 5В на всякий случай.
7) SPI_1 (6pin XH2.54) - SPI1 с питанием 5В.
8) GPIO 40pin (2*20) PBD-40 - подключение к gpio малины.
BOM in Excel sheet. link. Зато печатная плата получилась довольно компактной (H 52 * W 51 мм). В ревизии 0.4 (на фото ниже) я решил оставить кучку перемычек вокруг U4 для экспериментов, чтобы не резать дорожки, а на скринах версия платы v0.6 - уже без этих перемычек, зато с кучкой других, позволяет подключать экран к SPI_0 или SPI_1. Соответственно для подключения к SPI_0 запаиваем 5 перемычек 0603 в места маркированные "0", а для SPI_1 - "1". Все конденсаторы "С" - 0603 0,1mkF. UPD 11.07.2022
По просьбе добавил на плату микросхему RTC (Real Time Clock) - DS3231 c обвязкой и резервной батарейкой CR2032. Теперь малина может быть дату и время не из интернета, при автономной работе. Других отличий на плате нет. RTC можно не распаивать - на остальной функционал не влияет. Скачать плату в формате Gerber, пригодную для заказа, можно во вложениях converter_tft35_v0.6.rar, или новая версия - converter_tft35_v0.7.rar пароль на архивы: Платы версии 0.6 и 0.7 не изготавливались (не проверялись). Если найдёте ошибки визуально - пишите, исправлю.
Платы v0.4 собраны, протестированы и выявлено следующее:
При подключении экрана к SPI0 частота обновлений экрана почти совпадает с задаваемой в параметрах оверлея (20 FPS), но тогда некуда подключать акселерометр ADXL345 - на SPI1 он работать отказался (на 4й малине можно победить).
При подключении экрана к SPI1 частота обновлений экрана падает в 2 раза и становится не совсем комфортно работать, хотя экран обновляется по ощущениям, как на Marlin FW.
В причинах такого поведения я не совсем разобрался, знаю только что SPI1 в 3B и 3B+ какой-то немного урезанный, не работает в режимах 0 и 3 (из-за чего и не работает акселерометр на клиппере на SPI1). Поэтому делал возможность выбора при сборке платы.
Пока пара фото собранной платы (старая ревизия - 0.4) и работающего экрана (тач тоже работает - пока поверьте, видео будет позже). За качество пайки прошу не пинать - собирал в промежутках между работой, поэтому спаяно не очень аккуратно - "для проверки макета - пойдёт".
Доработка на плате экрана.
Не знаю почему, но в экранчике MKS TFT35 V1.0 не распаян выход прерывания от тачскрина. Это легко исправить всего одной перемычкой. Справится даже ребёнок. Без этой доработки опроса сенсора не будет, соответственно тач не работает в системе. На плате перемычка выглядит вот так: Удалось проверить экран FlyingBear Reborn-TS V3.0 от Flyingbear Ghost 5.
Отлично работает, доработка такая же, за исключением того, что разъём FFC перевёрнут... Сути это не меняет, подключается своим родным шлейфом без проблем. Видео для оценки скорости работы интерфейса. Тач не тормозит - просто дисплейный модуль фактически ни на что не опирается - не удобно тыкать в него одной рукой, а второй снимать...
Ещё одно видео снял, установив экран на место. Для оценки удобства использования. И таки я хочу вам сказать - вполне можно пользоваться. Конечно, на 5 дюймовом можно обойтись без стилуса, но зато тут сохранён внешний вид принтера и затрачено минимум средств на такую модернизацию.
В подвале принтера это может выглядеть вот так: Экран на родном месте, для подключения используется родной шлейф.
А в моём случае экран стоит другой - 5 дюймов. При этом плата используется как плата коммутации, в том числе для удобного подключения акселерометра ADXL345, питания вентилятора и другой периферии. Как реализовано питание, лучше посмотреть в отдельной теме.
- Attachments
-
- converter_tft35_v0.6.rar
- (31.27 KiB) Downloaded 284 times
-
- converter_tft35_v0.7.rar
- (34.01 KiB) Downloaded 385 times
-
- BOM.zip
- (10.14 KiB) Downloaded 302 times
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi (установка на Raspbian)
Ниже будет инструкция по установке на Raspberry 3B, Raspbian Bullseye Legacy Lite 32bit
На момент установки и написания инструкции, версия: Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 GNU/Linux
UPD 30.10.2023: Проверено, всё отлично работает.
- Raspberry Pi imager v1.8.3
- Raspberri Pi OS (Legacy) Lite (2023-05-03) - Raspbian GNU/Linux 11 (bullseye)
- Linux raspberry3b 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l
На данном этапе возможно 3 варианта:
1) У Вас ничего не установлено, тогда переходим к пункту "Установка с нуля".
2) У Вас уже работает klipper, без экрана (без Klipperscreen). Тогда следуем по инструкции, только доустанавливаем Klipperscreen.
3) У Вас уже есть Klipperscreen (например HDMI), а вы хотите подключить родной 3,5 дюймовый экранчик. - Переходим к настройке TFT35.
Установка с "нуля"
Итак, с помощью Raspberry Pi Imager заливаем указанный выше образ на microSD карточку. Можно выбрать 32бита - разницы я не заметил, ставил на оба варианта.
после запуска системы и подключения по SSH через PUTTY (надеюсь это не нужно расписывать) устанавливаем GIT (в Lite версии ос он не установлен в дистрибутиве:
Далее устанавливаем KIAUH, через который будем устанавливать klipper и все его составляющие. Последовательно вводим команды:
Если всё пошло по плану, после третьей команды мы увидим "окно" установки.
Устанавливаем последовательно следующие части. Если получаете ошибку на каком-то этапе - продолжать не нужно, т.к. надо вначале разобраться в причине возникновения ошибке, устранить её, и заново поставить пакет который недоустановился.
Klipper (1 шт) - обязательно. Если у Вас будет два и более принтера работать от одной малины, то я вобще не понимаю, что вы делаете в столь нубской инструкции - листайте дальше!
Moonraker (1 шт) - обязательно.
Fluidd или Mansail на выбор. Мой выбор Fluidd.
Klipperscreen (а иначе на кой чёрт мы подключали экран?)
Иногда в процессе установки Klipperscreen выскакивает сообщение о необходимости обновить PIP, на всякий случай приведу команду тут (путь нужно скорректировать, если у Вас имя пользователя не "pi"):
Если Все предыдущие шаги по установке выполнены успешно и в браузере вы видите рабочий Fluidd, то поздравляю - дистрибутив нам подошёл на 100% ))).
Если у Вас уже установлен и работает Klipper, но без Klipperscreen, то достаточно доустановить только последний.
Если у Вас уже работает всё, в том числе Klipperscreen на HDMI то можно продолжать установку.
Настройка TFT35
1) создаём Overlay
копируем в домашний каталог (/home/pi/) файлы оверлеев mkstft35_rpi.dts и mkstft35_rpi_spi1.dts из архива.
в консоли вводим следующие команды (компилируем оверлеи):
в консоли должны увидеть что-то похожее:
2) Активируем SPI0 и SPI1 на RaspberryPi.
Для этого необходимо отредактировать файл /boot/config.txt
ищем строку "#dtparam=spi=on" и раскоментируем её - убираем "#" вначале строки,
ниже добавляем (для активации SPI1):
3) подключаем оверлей экрана
Если экран у нас подключен к SPI0, то в конец файла /boot/config.txt добавляем следующие строки:
если экран у нас подключен к SPI1, то в предпоследней строке нужно указать другой оверлей:
Сохраняем (Ctrl+S)и выходим из редактора nano (Ctrl+X).
Важное замечание!
На момент экспериментов, при работе через SPI0 частота обновления на глаз соответсвует установленной (около 20 кадров в секунду). А при работе через SPI1частота обновления почти в 2 раза ниже. Не то чтобы совсем нельзя было пользоваться, но комфорт теряется. Экран работает как на марлине.
Почему вообще заморочился подключением экрана на SPI1? Потому что на SPI1 (на Raspberry 3B и 3B+) нельзя подключить акселерометр ADXL345 для использовании в клиппере. Поэтому, когда экранчик подключен на SPI0, для теста резонансов нужно будет выключать (закомментировать) оверлей дисплея, либо использовать другой MCU для подключения акселерометра. А это не всегда удобно... Но я сделал возможность выбора при сборке платы.
4) установка FBCP
необходимо для копирования вывода первичного framebuffer во вторичный (например как у нас - FBTFT).
выполняем команды последовательно:
Создаём файл сервиса:
Добавляем в него следующие строки:
Сохраняем (Ctrl+S)и выходим из редактора nano (Ctrl+X).
Разрешаем работу сервиса:
Перезагружаемся
После загрузки вы должны увидеть вначале строки консоли, после чего запустится Klipperscreen. Если он не запустился, то необходимо пробежаться по его траблшуту.
Из опыта - наиболее частая ошибка: "xf86OpenConsole: Cannot open virtual console 2 (Permission denied)"
Необходимо всего лишь добавить в файл "/etc/X11/Xwrapper.config" одну строку "needs_root_rights=yes".
для этого в консоли вводим:
добавляем строку "needs_root_rights=yes", если она отсутсвует, сохраняем (Ctrl+S)и выходим из редактора nano (Ctrl+X).
Перезапускаем KlipperScreen:
Ещё одна проблема может крыться в драйвере экрана, при этом после строк консоли, на экране остаётся только курсор, и в журнале получаем ошибку. Вводим команду:
и видим среди прочего ошибку:
Редактируем файл /boot/config.txt
проверяем, что эта стройка закомментирована ("#" вначале строки):
это означает, что будет использоваться "Legacy non-gl driver" и решает проблему отсутствия графического интерфейса, при этом консоль может выводиться на экранчик. Если после перезагрузки, либо перезапуска сервиса появился KlipperScreen. то можно переходить к следующему пункту.
5) установка xinput-calibrator
Для калибровки сенсора необходимо установить калибратор. Вначале ставим необходимые библиотеки:
затем устанавливаем и компилируем сам калибратор:
Далее, находясь в папке "~/xlibinput_calibrator/src/", запускаем калибратор:
В это время на экране появится предложение потыкать в крестики - исполняем. Результатом работы будут несколько строк в консоли, типа такого:
Добавляем этот результат в файл:
Оставлю тут свои параметры для примера:
Перезагружаемся
Должен корректно заработать тачскрин.
На момент установки и написания инструкции, версия: Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 GNU/Linux
UPD 30.10.2023: Проверено, всё отлично работает.
- Raspberry Pi imager v1.8.3
- Raspberri Pi OS (Legacy) Lite (2023-05-03) - Raspbian GNU/Linux 11 (bullseye)
- Linux raspberry3b 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l
На данном этапе возможно 3 варианта:
1) У Вас ничего не установлено, тогда переходим к пункту "Установка с нуля".
2) У Вас уже работает klipper, без экрана (без Klipperscreen). Тогда следуем по инструкции, только доустанавливаем Klipperscreen.
3) У Вас уже есть Klipperscreen (например HDMI), а вы хотите подключить родной 3,5 дюймовый экранчик. - Переходим к настройке TFT35.
Установка с "нуля"
Итак, с помощью Raspberry Pi Imager заливаем указанный выше образ на microSD карточку. Можно выбрать 32бита - разницы я не заметил, ставил на оба варианта.
после запуска системы и подключения по SSH через PUTTY (надеюсь это не нужно расписывать) устанавливаем GIT (в Lite версии ос он не установлен в дистрибутиве:
Code: Select all
sudo apt install git
Code: Select all
cd ~
git clone https://github.com/th33xitus/kiauh.git
./kiauh/kiauh.sh
Klipper (1 шт) - обязательно. Если у Вас будет два и более принтера работать от одной малины, то я вобще не понимаю, что вы делаете в столь нубской инструкции - листайте дальше!
Moonraker (1 шт) - обязательно.
Fluidd или Mansail на выбор. Мой выбор Fluidd.
Klipperscreen (а иначе на кой чёрт мы подключали экран?)
Иногда в процессе установки Klipperscreen выскакивает сообщение о необходимости обновить PIP, на всякий случай приведу команду тут (путь нужно скорректировать, если у Вас имя пользователя не "pi"):
Code: Select all
/home/pi/.KlipperScreen-env/bin/python -m pip install --upgrade pip
Если у Вас уже установлен и работает Klipper, но без Klipperscreen, то достаточно доустановить только последний.
Если у Вас уже работает всё, в том числе Klipperscreen на HDMI то можно продолжать установку.
Настройка TFT35
1) создаём Overlay
копируем в домашний каталог (/home/pi/) файлы оверлеев mkstft35_rpi.dts и mkstft35_rpi_spi1.dts из архива.
в консоли вводим следующие команды (компилируем оверлеи):
Code: Select all
sudo dtc -@ -I dts -O dtb -o /boot/overlays/mkstft35_rpi.dtbo ~/mkstft35_rpi.dts
sudo dtc -@ -I dts -O dtb -o /boot/overlays/mkstft35_rpi_spi1.dtbo ~/mkstft35_rpi_spi1.dts
Для этого необходимо отредактировать файл /boot/config.txt
Code: Select all
sudo nano /boot/config.txt
ниже добавляем (для активации SPI1):
Code: Select all
dtoverlay=spi1-2cs,cs0_pin=16,cs1_pin=06
Если экран у нас подключен к SPI0, то в конец файла /boot/config.txt добавляем следующие строки:
Code: Select all
###### MKS TFT35
hdmi_force_hotplug=1
hdmi_cvt=hdmi_cvt=480 320 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
display_rotate=0
dtoverlay=mkstft35_rpi,rotate=270,speed=24000000,touch,touchgpio=17,fps=20
###### MKS TFT35
Code: Select all
dtoverlay=mkstft35_rpi_spi1,rotate=270,speed=24000000,touch,touchgpio=17,fps=20
Важное замечание!
На момент экспериментов, при работе через SPI0 частота обновления на глаз соответсвует установленной (около 20 кадров в секунду). А при работе через SPI1частота обновления почти в 2 раза ниже. Не то чтобы совсем нельзя было пользоваться, но комфорт теряется. Экран работает как на марлине.
Почему вообще заморочился подключением экрана на SPI1? Потому что на SPI1 (на Raspberry 3B и 3B+) нельзя подключить акселерометр ADXL345 для использовании в клиппере. Поэтому, когда экранчик подключен на SPI0, для теста резонансов нужно будет выключать (закомментировать) оверлей дисплея, либо использовать другой MCU для подключения акселерометра. А это не всегда удобно... Но я сделал возможность выбора при сборке платы.
4) установка FBCP
необходимо для копирования вывода первичного framebuffer во вторичный (например как у нас - FBTFT).
выполняем команды последовательно:
Code: Select all
sudo apt-get install cmake
cd ~
sudo git clone https://github.com/tasanakorn/rpi-fbcp
cd rpi-fbcp/
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo install fbcp /usr/local/bin/fbcp
Code: Select all
sudo nano /etc/systemd/system/fbcp.service
Code: Select all
[Unit]
Description=fbcp
After=KlipperScreen.service
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/usr/local/bin/fbcp
[Install]
WantedBy=multi-user.target
Разрешаем работу сервиса:
Code: Select all
sudo systemctl enable fbcp.service
Code: Select all
sudo reboot
Из опыта - наиболее частая ошибка: "xf86OpenConsole: Cannot open virtual console 2 (Permission denied)"
Необходимо всего лишь добавить в файл "/etc/X11/Xwrapper.config" одну строку "needs_root_rights=yes".
для этого в консоли вводим:
Code: Select all
sudo nano /etc/X11/Xwrapper.config
Перезапускаем KlipperScreen:
Code: Select all
sudo service KlipperScreen restart
Code: Select all
sudo systemctl status fbcp.service
Пробуем решение их этого форума:fbcp[1016]: Unable to open primary display
Редактируем файл /boot/config.txt
Code: Select all
sudo nano /boot/config.txt
Code: Select all
#dtoverlay=vc4-kms-v3d
5) установка xinput-calibrator
Для калибровки сенсора необходимо установить калибратор. Вначале ставим необходимые библиотеки:
Code: Select all
sudo apt install libxi-dev libx11-dev libxrandr-dev
Code: Select all
git clone https://github.com/kreijack/xlibinput_calibrator.git
cd xlibinput_calibrator/src/
make
ls -l xlibinput_calibrator
Code: Select all
DISPLAY=:0 ./xlibinput_calibrator --output-file-x11-config=x11_config.txt
Code: Select all
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
Code: Select all
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "CalibrationMatrix" "0.003395 -1.121566 1.056742 1.102245 -0.008974 -0.048807 0.000000 0.000000 1.000000 "
EndSection
Code: Select all
sudo reboot
- Attachments
-
- DTS.rar
- (2.94 KiB) Downloaded 247 times
-
- Пробегал мимо
- Posts: 3
- Joined: 06 Jul 2022 18:18
- Location: Ukraine
Re: MKS TFT35 V1.0 на RaspberryPi
Красиво всё сделано и грамотно !!!
Хотелось бы тоже попробовать !
Только у меня сейчас работает Orange Pi PC Plus, Focal, Mainsail ...
Недели две как на клиппер сел. Пока осваиваю.
Не знаю или точно 1 к 1 совместимы 40 pin Orange Pi и Raspberry Pi.
Буду проверять.
Если есть лишняя плата "голая" или готовая, спаянная, то взял бы ! Купил.
Заказать платы на jlcpcb.com сейчас не отправляют в Украину.
Позавчера ответ получил, чтобы искал на другой адрес, на другую страну.
Слава Україні ! Героям Слава !
Хотелось бы тоже попробовать !
Только у меня сейчас работает Orange Pi PC Plus, Focal, Mainsail ...
Недели две как на клиппер сел. Пока осваиваю.
Не знаю или точно 1 к 1 совместимы 40 pin Orange Pi и Raspberry Pi.
Буду проверять.
Если есть лишняя плата "голая" или готовая, спаянная, то взял бы ! Купил.
Заказать платы на jlcpcb.com сейчас не отправляют в Украину.
Позавчера ответ получил, чтобы искал на другой адрес, на другую страну.
Слава Україні ! Героям Слава !
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: MKS TFT35 V1.0 на RaspberryPi
совместимы (SPI0, питальники и земли на тех же местах), но проблема в другом - на Armbian не работает ili9488. Сейчас пытаюсь это решить.vasylll wrote:Не знаю или точно 1 к 1 совместимы 40 pin Orange Pi и Raspberry Pi.
К сожалению я не отправлю из локации, где сейчас нахожусь...vasylll wrote:Если есть лишняя плата "голая" или готовая, спаянная, то взял бы ! Купил.
-
- Пробегал мимо
- Posts: 3
- Joined: 06 Jul 2022 18:18
- Location: Ukraine
Re: MKS TFT35 V1.0 на RaspberryPi
ох, если бы решилось, то было бы очень хорошо !hardl0ck wrote:совместимы, но проблема в другом - на Armbian не работает ili9488. Сейчас пытаюсь это решить.
А там уже как то плату где то заказал.
Пробовал три старых Андройда-мобильника-планшета применить в качестве KlipperScreen-а - не получилось ничего
И вроде по инструкции все делал - так и ничего не вышло.
Пока забросил, вернусь позже к этому.
Не хватает опыта.
Слава Україні ! Героям Слава !
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: MKS TFT35 V1.0 на RaspberryPi
Добавил на схему и плату RTC DS3231. Всё добавил в первый пост. Версия 0.7 от 11.07.2022
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
Извините за перевод, я использую переводчик. У меня есть несколько вопросов, которые меня интересуют.
1. Какой порт SPI следует использовать для наиболее эффективного использования экрана?
2. Можно ли использовать дисплей и акселерометр в одном spi порте? это пробовали
3. Я не смогу сделать плату. Я сделаю это с помощью перфокарты. Верна ли приведенная выше диаграмма на 100%?
4. Могу ли я перетащить 40-контактный экран в spi-режим с помощью некоторых прыжков.
1. Какой порт SPI следует использовать для наиболее эффективного использования экрана?
2. Можно ли использовать дисплей и акселерометр в одном spi порте? это пробовали
3. Я не смогу сделать плату. Я сделаю это с помощью перфокарты. Верна ли приведенная выше диаграмма на 100%?
4. Могу ли я перетащить 40-контактный экран в spi-режим с помощью некоторых прыжков.
Peace at home Peace in the world M.Kemal ATATÜRK
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
zzavarci, write in english, please. It will be more convenient for all users of the forum.
1. SPI0 more preferred.
2. You cannot use the display and the accelerometer on the same port at the same time. But you can temporarily turn off the display to use the accelerometer. It's not every day that you tune in resonances. Another option is to connect the accelerometer to another MCU, such as an Arduino nano.
3. The diagram is 100% accurate. The boards have already been made by several people - without errors.
4. It is not clear what you wanted to say, apparently due to translation difficulties.
1. SPI0 more preferred.
2. You cannot use the display and the accelerometer on the same port at the same time. But you can temporarily turn off the display to use the accelerometer. It's not every day that you tune in resonances. Another option is to connect the accelerometer to another MCU, such as an Arduino nano.
3. The diagram is 100% accurate. The boards have already been made by several people - without errors.
4. It is not clear what you wanted to say, apparently due to translation difficulties.
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
I mean can we get the 40 pin screen to spi mode with some jumpers. Because I saw a source that says the 8080 processor of the screen has a mode option, but I don't fully understand.
Peace at home Peace in the world M.Kemal ATATÜRK
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
yes, you can put the ILI9488 screen driver into SPI mode, I did it. but, unfortunately, in Linux there are no libraries for working with ILI9488 in SPI mode. This is detailed in the text of the first post. I think the translator will help you.
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
Dont work I use this circuit for spi0. Idont know hardware or software problem
https://www.hizliresim.com/lye47ao circuit https://www.hizliresim.com/eg57s5b problem
https://www.hizliresim.com/lye47ao circuit https://www.hizliresim.com/eg57s5b problem
Last edited by hardlock on 22 Dec 2022 09:20, edited 1 time in total.
Reason: add inline images
Reason: add inline images
Peace at home Peace in the world M.Kemal ATATÜRK
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
I checked your diagram. Didn't find any errors.
Could it be a board error?
In the photo - the backlight turned on, but the controller was not initialized. When initializing the screen driver, it turns black.
I would start by checking for pulses on the SPI0 bus.
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
İf my diagram is correct my board dont have any error I got Professional help in card design and assembly. Only the hc04 package is different and i use cd4040. I think i have software problem
Peace at home Peace in the world M.Kemal ATATÜRK
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
zzavarci, the circuit is very critical to the applied components. CD4040 is significantly slower than 74HC4040 (check datasheet). Perhaps the problem in this. The exception is 74HC04. You can try to install this chip with another one, for example, a CD74HC04
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
The chip is really important. Its work. But the touch screen works backwards, the screen is normal. The last question is are capacitors really necessary?
Peace at home Peace in the world M.Kemal ATATÜRK
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
Just calibrate touchscreen.
Yes. In digital circuits, power supply capacitors are very important. They ensure the purity of the power supply and the stability of the circuit.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
zzavarci, May I ask you to upload your PCB version? Maybe someone will come in handy.
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
The card looks very unprofessional to me. maybe i will upload the new version when i draw it. I am encountering a new problem. Raspberrypi sometimes chooses power supply and gives voltage error. As a result of this error, the console opens on the screen. I see the error in the console, but the klipperscreen does not start. Is there any way to resolve this error.
Peace at home Peace in the world M.Kemal ATATÜRK
-
- Пробегал мимо
- Posts: 6
- Joined: 04 Jan 2023 04:04
MKS TFT35 V1.0 на RaspberryPi
Hi there! I just made the board and connected everything, but the screen is just white. I have tried reinstalling the software and changing the jumpers, and nothing... Can you help me, I really want this to work...
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
Matic_LMS,
1) what chips did you use?
2) send a photo of the assembled board.
1) what chips did you use?
2) send a photo of the assembled board.
-
- Пробегал мимо
- Posts: 6
- Joined: 04 Jan 2023 04:04
MKS TFT35 V1.0 на RaspberryPi
This is my board and the chips I bought... https://files.fm/u/bpfjdzj6g
Sory, my bad...I have added those 3 pins now, for the 40 pin PI GPIO, because I didnt have any anymore...
Now the screen works bot only shows the terminal at boot, and then only the "_" like it is waiting for input...
How do I get it to display klipper screen?
Sory, my bad...I have added those 3 pins now, for the 40 pin PI GPIO, because I didnt have any anymore...
Now the screen works bot only shows the terminal at boot, and then only the "_" like it is waiting for input...
How do I get it to display klipper screen?
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
setup firmware again. and dont use some error code
Peace at home Peace in the world M.Kemal ATATÜRK
-
- Пробегал мимо
- Posts: 6
- Joined: 04 Jan 2023 04:04
MKS TFT35 V1.0 на RaspberryPi
Here are the photos of how my screen looks... And the KlipperScreen log file is attached... Do you have any Idea what is wrong, I have tried your suggested fixes and the ones on the Klipper screen website but nothing works...
https://mega.nz/folder/Q6oxkTKL#Sp9A3sKRHkWwXBe44wOLoA
https://mega.nz/folder/Q6oxkTKL#Sp9A3sKRHkWwXBe44wOLoA
- Attachments
-
- KlipperScreen.txt.log
- (128.69 KiB) Downloaded 49 times
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
MKS TFT35 V1.0 на RaspberryPi
Please use klipperscreen troubleshooting for solve you trouble.
-
- Пробегал мимо
- Posts: 8
- Joined: 18 Nov 2022 03:01
- Location: TURKEY
MKS TFT35 V1.0 на RaspberryPi
Circuit and software work perfectly. Just like mkspi. I want to rotate the screen 180 degrees. Have ease of assembly. Also thank you very much @hardlock
Peace at home Peace in the world M.Kemal ATATÜRK