32 бита для 3D принтера

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Выложил на гитхаб схему и плату для панели версии 3 - с поддержкой резистивного тачскрина. Прошивка также обновлена. Тачскрин уже работает корректно, можно пользоваться. Интерфейс остался классический текстовый, а для редактирования параметров появились "кнопки". Пока для нормальной работы тачскрина нужно собирать прошивку с параметром TEST_TOUCH и при подаче питания на панель нажать на экран - запустится процесс калибровки по вертикали. Полученные значения констант нужно прописать в прошивку и пересобрать, можно уже без TEST_TOUCH. Это временное решение, так как пока не сделал чтение/сохранение коррекции во флеш. Так же пока не сделал для тачскрина учёт ориентации экрана, подразумевается левосторонний шлейф. Плата в проекте разработана под корпус и экран от китайского мини Айфона.
Реклама
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Сделал для тачскрина учёт ориентации экрана и сохранение калибровки. Можно пользоваться.
Реклама
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Добрый день! Покупал экран на ILI9325, а мне подсунули на R61509V на нем еще пины тачскрина и экрана совмещены.
Изображение
Есть возможность добавить такой экран в прошивку? Сам пытался добавить ничего не получилось.
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Я из какого-то китайского телефона вытащил экран на типа таком же чипе (ID вычитал), но тоже так и не завёл его. Максимум, что могу сделать - выложить инициализацию, которую пробовал, а дальше по мануалу на чип смотрите.
Реклама
Эиком - электронные компоненты и радиодетали
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

[uquote="Serj_K",url="/forum/viewtopic.php?p=3956006#p3956006"]Максимум, что могу сделать - выложить инициализацию, которую пробовал, а дальше по мануалу на чип смотрите.[/uquote]
Выложите пожалуйста.

Ещё такой вопрос: подключил другой экран от телефона с тачскрином, запускают калибровку тачскрина сначала крестик вверху и внизу нажимаю, а потом прямоугольник белый по углам перескакивает от нажатия и все. Как должно быть?

После калибровки экран на нажатия не реагирует или в прошивке что-то нужно включить?
Подключил по i2c к Marlin 2.0.
Реклама
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Так и должно быть в режиме калибровки - после калибровки просто проходит проверка как по строкам и сторонам реагирует. Режим калибровки включается только до запуска основной прошивки. При обычном использовании просто до загрузки Марлина не нужно давить на экран.
Какая основная плата используется?
Реклама
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Mega2560. Я имею ввиду, что в режиме калибровки реагирует на тачскрин, а после загрузки Марлина не реагирует на касания. Может в прошивке что-то надо включить?
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

У меня сейчас нет платы на Меге для проверки, когда-то на I2C всё работало нормально, правда на тот момент с энкодером. Но тачскрин эмулирует энкодер и для Марлина разницы нет. Вопрос - после загрузки Марлина панель инициализируется нормально и отображает основное окно? Я посмотрю исходники панели в части I2C. Также будет маленькое изменение в части UBL в самом Марлине и в панели - небольшое упрощение в выводе.
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Изображение Изображение
При нажатии на В1 базер пикает и ничего не происходит.
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Раз есть вывод на экран значит сам I2C работает. Кстати, если есть подтягивающие резисторы на стороне Меги, то их нужно убрать на всякий случай, так как они подтягивают к +5В. Резисторы должны быть только на стороне панели.
Кнопка В1 - это кнопка "назад", в основном окне она ничего не делает. В основном окне нажатие на тачскрин обрабатывается только как нажатие на энкодер для входа в меню. Если после калибровки тачскрина в тесте всё поле экрана обрабатывалось нормально, то и в основном режиме всё должно работать, так как для работы тачскрина используются одни и те же процедуры. Почему не работает - пока не знаю, нужно в отладке посмотреть. Если есть возможность, то проверить работу с подключением по SPI. Честно говоря, я не проверял работу панели V3 с подключением по I2C. Но проблем быть не должно, так как обработка тача никак не связана с используемым интерфейсом.
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Если выбираю #define TFTGLCD_PANEL_SPI, компиляция останавливается на ошибке:
СпойлерCompiling .pio\build\mega2560\src\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp.o
In file included from c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\hal.h:22:0,
from Marlin\src\lcd\TFTGLCD\../../inc/../HAL/HAL.h:30,
from Marlin\src\lcd\TFTGLCD\../../inc/MarlinConfig.h:31,
from Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.h:28,
from Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:45:
Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp: In static member function 'static void MarlinUI::init_lcd()':
c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\fastio.h:87:35: error: 'DIOTFTGLCD_CS_DDR' was not declared in this scope
#define _SET_OUTPUT(IO) SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)
^
c:\1\marlin-bugfix-2.0.x\marlin\src\hal\shared\marduino.h:48:21: note: in definition of macro 'SBI'
#define SBI(A,B) (A |= (1 << (B)))
^
Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:316:5: note: in expansion of macro '_SET_OUTPUT'
_SET_OUTPUT(TFTGLCD_CS);
^
c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\fastio.h:87:54: error: 'DIOTFTGLCD_CS_PIN' was not declared in this scope
#define _SET_OUTPUT(IO) SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN)
^
c:\1\marlin-bugfix-2.0.x\marlin\src\hal\shared\marduino.h:48:33: note: in definition of macro 'SBI'
#define SBI(A,B) (A |= (1 << (B)))
^
Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:316:5: note: in expansion of macro '_SET_OUTPUT'
_SET_OUTPUT(TFTGLCD_CS);
^
At global scope:
cc1plus.exe: warning: unrecognized command line option '-Wno-register'
*** [.pio\build\mega2560\src\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp.o] Error 1
А вот этот тест в калибровке как работает? Прямоугольник следует за нажатием или на него надо нажимать?
У меня он перемещается по углам когда на него нажимаешь, может проблема в моем тачскрине.
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

В тесте тача прямоугольник засвечивается там, куда ткнуть. При удержании нажатия следует за точкой нажатия. Даже если тач подключен не правильно, то на нажатие вроде должен реагировать. Я неправильное подключение не проверял и в прошивке такая ситуация не обрабатывается. Для проверки правильности подключения можно раскомментировать строчку с #define CALIBR_DEBUG_INFO. При этом при нажатии на крестики будут отображаться значения АЦП. АЦП 12-разрядный -> максимум = 4095. Подразумевается, что меньшее значение АЦП сверху. Поэтому значение для верхней точки калибровки должно быть расчётно примерно 400, а для нижней - примерно 3600, плюс-минус несколько сотен в зависимости от качества тача на краях и точности тыкания в крест. Я тыкал карандашом - типа "стилусом". Если значения наоборот, то нужно переставить местами пины для TS_YU и TS_YD. Если и Х наоборот, то и для неё пины переставить.

По ошибке - явно используется НЕ плата с RAMPS, та как я добавил поддержку панели для Меги только для RAMPS. По добавлению панели в другие платы написано на Гитхабе. В принципе за образец можно взять тот же RAMPS - смотреть окрестности строки с TFTGLCD_CS в pins_RAMPS.h.
Если плата таки другая, то я попрошу в любом случае проверить панель с ней и по SPI, тогда я добавлю в Марлин и её поддержку.

Приложил видео с калибровкой тача для демонстрации.
Вложения
Touchscreen-test.part2.rar
Видео калибровки тачскрина часть 2
(812.4 КБ) 200 скачиваний
Touchscreen-test.part1.rar
Видео калибровки тачскрина
(878.91 КБ) 182 скачивания
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

[uquote="Serj_K",url="/forum/viewtopic.php?p=3956373#p3956373"]Приложил видео с калибровкой тача для демонстрации.[/uquote]
Теперь понятно. У меня прямоугольник только по углам перемещается. В центр не смещается совсем.

Калибровку победил, теперь как на вашем видео. Подобрал методом тыка пины. Получилось PA0-YU, PA1-XL, PA2-YD, PA3-XR.
Но в меню так и не заходит и не реагирует на касания совсем.

[uquote="Serj_K",url="/forum/viewtopic.php?p=3956373#p3956373"]По ошибке - явно используется НЕ плата с RAMPS[/uquote]

Обычная Arduino mega и ramps v1.4.

Спасибо за видео.
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

Попробовал собрать Марлин под АВР - тоже получил эту ошибку. Решение проблемы - в marlinui_TFTGLCD.срр изменить _SET_OUTPUT(TFTGLCD_CS); на SET_OUTPUT(TFTGLCD_CS); - то есть убрать передний символ подчёркивания.
Почему не работает тач в обычном режиме не понимаю. Что, даже не пикает при нажатии?
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Попробую позже сделать и проверить по spi.
Не пикает, совсем реакции нет никакой. Может я в прошивке экрана или Марлин что-то не включил?
Подключал к компу через repetier host иконки на экране становятся цветными при включении в пороге.

Что делают 4 кнопки, у меня только при нажатии на одну пикает базер, но ничего не происходит. На остальные реакции - нет.
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

По кнопкам - в тачскриновом варианте реально может использоваться только одна - "назад" и, как я уже сказал, в основном окне она не работает, так как некуда возвращаться. Поэтому остальные кнопки для этого варианта я даже не обрабатываю. В принципе все кнопки кроме "назад" дублируются энкодером при его использовании и тоже фактически не нужны. Теоретически на них можно зацепить какой-нибудь свой функционал, но и в Марлин его тоже нужно будет добавлять, причём как-то глобально, ибо панель возвращает только состояние кнопок. Либо привязать в перспективе некий функционал исключительно для панели, например вызов какого-нибудь перспективного конфигуратора. Но это кому надо будет, мне пока такой функционал даже не видится.

Закинул пуллреквест с правками на Марлин - фикс ошибки сборки с АВР и правка для вывода строки редактирования в окне UBL. Также закинул изменения и для панели, но тут в основном оптимизация для UBL, по тачу ничего критичного.
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Почему-то по SPI не хочет подключаться. Мне нужно подключить SCK, MISO, MOSI на AUX-3 LSD-CS не пойму куда?
LSD-CS на какой пин Ramps 31 или 33?
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

LSD-CS на 33
Serj_K
Опытный кот
Сообщения: 718
Зарегистрирован: Сб апр 14, 2012 16:11:35

Re: 32 бита для 3D принтера

Сообщение Serj_K »

g1obus, как обещал выкладываю старый файл, в которм была попытка завести экран на чипе RV. Из него брать только нужные фрагменты, вместо родного НЕ ИСПОЛЬЗОВАТЬ!!!! Если вдруг удастся завести экран - мне в ответку правленный файл для добавления поддержки такого чипа.
Вложения
LCD.rar
(5.38 КБ) 167 скачиваний
g1obus
Открыл глаза
Сообщения: 46
Зарегистрирован: Вс авг 18, 2019 16:23:53

Re: 32 бита для 3D принтера

Сообщение g1obus »

Изображение
Картина появилась. Чуток смещена и перепутаны низ с верхом.
Файлик завтра постараюсь добавить.

Ещё вопрос такой: на этом экране пины тачскрина совмещены с шиной данных, будет такой вариант работать?

Спасибо за файлик.
Ответить

Вернуться в «Статьи»