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

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


Ответить

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

Чт сен 23, 2021 22:42:18

Заниматься буду. Не для того я добавлял официальную поддержку в Марлин. Только это не очень быстро может быть, Марлин отлаживается не удобно.

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

Сб сен 25, 2021 12:11:28

Проверил работу панели с SPI. Это у меня какой-то аппаратный глюк - при питании панели от 5В панель работает корявенько, как я описывал ранее, а при питании от 3,3В от стабилизатора основной платы работает нормально. Так что пробуйте по SPI, в самом Марлине вроде нет проблем - прошёлся по инициализации в отладке. Теперь займусь проблемой I2C.

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

Сб сен 25, 2021 12:28:48

а в моих файлах, как с проблемами?

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

Сб сен 25, 2021 15:48:38

У меня отладочная плата без всей периферии, голый BlackPill с пинами. Я проверил только работоспособность панели по SPI.

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

Сб сен 25, 2021 19:19:43

а мой залить можете, убедится, что экран работает
Вложения
firmware.zip
(88.11 KiB) Скачиваний: 131

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

Вс сен 26, 2021 07:58:32

Прошивку проверил - работает. Только нужно DISPLAY_CHARSET_HD44780 поставить CYRILLIC, а то вместо кирилицы вопросы выводятся. На всякий случай - на BlackPill сигналы SPI это PA5 - SCK, PA6 - MOSI, PA7 - MISO. И в Вашем варианте TFTGLCD_CS - РС15. По умолчанию для I2C будут РВ6 и РВ7.

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

Вс сен 26, 2021 10:00:08

Спасибо. В чём же тогда дело. Осликом ни одного сигнала не вижу. раз прошивка работает, надо драйвер с мультиплексором очевидно проверять.

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

Вс сен 26, 2021 15:56:12

Драйвер нужен только для согласования уровней при подключении к 5В матплатам на Мегах, а мультиплексор - при использовании карточки. При инициализации панели по SPI как минимум SCK на выходе матплаты увидеть можно - минимум 3 байта должны выйти - команда инициализации, тип прошивки и байт на приём. Выложите свои схемы панели и матплаты в виде jpg или pdf. Может ошибка где-то есть.

Проверил в отладке работу по I2C. Оказалось, что в прошивке всё правильно, а у меня на панели были попутаны местами надписи SDA и SCL и я подключал провода не правильно. Переставил провода и в принципе панель заработала, но как-то не стабильно. Потом взял другую панель с тачем и она работала стабильно. То есть с работой I2C в Марлине всё нормально.

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

Вс сен 26, 2021 17:15:30

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

Добавлено after 11 minutes 53 seconds:
схема панели и разводка ваша. Я только перенёс разводку из Альтиума в диптрейс, а он проверяет ошибки разводки. Если у вас их нет, то и у меня не должно быть.
Вложения
3D-GLCD.zip
(13.66 KiB) Скачиваний: 142

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

Вс сен 26, 2021 18:25:41

Моя панель по SPI с этой прошивкой работает. Насчёт I2C - изначально у меня были преобразователи уровней на транзисторах, которые я потом убрал и оставил только подтягивающие резисторы на +3,3В. Должно быть так и на фотке платы вижу, что так. Почему не работает - ХЗ.

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

Вс сен 26, 2021 18:29:44

вот разводка в Диптрейсе
Вложения
дисплей автор5 cSD.zip
(189.67 KiB) Скачиваний: 147

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

Вс сен 26, 2021 21:21:14

кт315b писал(а):Если у вас их нет, то и у меня не должно быть.
Не должно, но я вон в 2 проводах ошибся. Сейчас посмотрел на отличие между моими двумя панелями в резисторах подтяжки по I2C - на плате с энкодером стоят по 20к и она работает плохо, а на плате с тачем по 5к и она работает нормально. Заодно проверил панели на синей таблетке - ведут себя аналогично. Завтра перепаяю резисторы с 20к вообще на 1к и посмотрю разницу.
Я диптрейсом не пользуюсь и если он делает контроль платы по схеме, как альтиум, то мне лучше схему смотреть, но в pdf/gif/jpg.

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

Пн сен 27, 2021 17:09:46

схема ваша, Альтиум не позволяет её конвертировать диптрейс, а с платой проблем нет, конвертирует.

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

Пн сен 27, 2021 21:19:19

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

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

Пн сен 27, 2021 23:53:48

скомпилировал и залил всё назад. Олед по i2c работает, энкодер работает, карту по SPI читает. Где-то косяк в панели, вычислить не могу, вроде всё проверил. Может какой тест есть, почему CTM32 не видит внешние сигналы?

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

Сб окт 02, 2021 23:11:08

а нельзя ли вашу плату к ардуино подцепить, тестом каким нибудь проверить?

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

Вс окт 03, 2021 07:58:27

Можно. Марлин на Ардуине ведь тоже работает и с Ардуины начинался. Только для этого нужно соответствующую Ардуину. Или самому тест написать, используя как основу код из Марлина из marlinui_TFTGLCD.cpp. Но можно попробовать через отладку Марлина в пошаговом режиме посмотреть. Для этого нужно в Марлине отключить watchdog - в Configuration_adv.h закомментировать #define USE_WATCHDOG. Поставить стопы в MarlinUI::init_lcd() в marlinui_TFTGLCD.cpp и смотреть, что происходит при обмене. С SPI у меня проблем вообще нет. Причём если планируется использовать СД карту, то SPI будет предпочтительнее, так как для работы панели будет использоваться всего 1 дополнительный провод, а не 2 как для I2C. Для отладки SPI тоже проще.

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

Вт окт 05, 2021 23:30:58

Опять всё править! У вас есть бинарник под синюю таблетку на ili9325 8бит, чтоб я своими кривыми в кокос не лез, соберу для пробы на ней.

Добавлено after 9 hours 59 minutes 3 seconds:
таблетку запустил в 8-битном режиме. Осталось к материнке прицепить

Добавлено after 41 minute 46 seconds:
прицепил, результат тот же, не видит принтер. Значит что-то в марлине не то делаю

Добавлено after 57 minutes 31 second:
я вот это не делал, может в этом дело
Общие для Марлина-1 и Марлина-2:

Если вы планируете подключить панель TFTGLCD по шине SPI, вам нужно добавить несколько новых строк в файл pins_YOURS_BOARD_NAME.h.
Самый простой способ сделать это - поменять раздел на «#if HAS_SPI_LCD».

Например, старый раздел:

#if HAS_SPI_LCD
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS P1_22
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#define BTN_ENC P0_28 // (58) open-drain
#define BTN_EN1 P1_18
#define BTN_EN2 P1_20
.......
.......
#endif // HAS_SPI_LCD

new section:

#if HAS_SPI_LCD
#if ENABLED(TFTGLCD_ADAPTER)
#define BEEPER_PIN -1 //disable board beeper
#define BTN_ENC -1 //disable board encoder
#define BTN_EN1 -1
#define BTN_EN2 -1
#define DOGLCD_CS P3_26 //on EXPn connector with SPI bus
#elif ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS P1_22
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#define BTN_ENC P0_28 // (58) open-drain
#define BTN_EN1 P1_18
#define BTN_EN2 P1_20
.......
.......
#endif // HAS_SPI_LCD

Для Marlin-2 текст «TFTGLCD_ADAPTER» выше должен быть заменен на «IS_TFTGLCD_PANEL», а текст «DOGLCD_CS» на «TFTGLCD_CS».
Кроме того, исходный код Marlin уже имеет поддержку TFTGLCD PANEL для некоторых плат.
В новом разделе основное описание - "DOGLCD_CS" ("TFTGLCD_CS") для подключения по SPI.
просто не пойму, где это надо делать

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

Ср окт 06, 2021 07:38:53

Ваш файл pins_RUMBA32_common.h уже содержит TFTGLCD_CS и Марлин с ним у меня работал.
кт315b писал(а):прицепил, результат тот же, не видит принтер. Значит что-то в марлине не то делаю
Я решал проблемы при помощи пошаговой отладки. Прикладываю свою прошивку под SPI и файл моего варианта распиновки для проверки только панели так как отличаются почти все сигналы. В моём варианте TFTGLCD_CS = PA4.
Вложения
PILL_F401XX.rar
(70.3 KiB) Скачиваний: 134

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

Чт окт 07, 2021 02:23:34

залил Вашу прошивку. 8-битный пробный отозвался, хоть и мусором. А панель от телефона молчит. сигналы там не напрямую заходят, наверное там косяк.
Добавлено after 8 minutes 31 second:
[url=https://img.radiokot.ru/files/15969/medium/2n1e4kkzmz.jpg]Изображение


Добавлено after 3 hours 58 minutes 8 seconds:
Завёл! Miso на земле сидело, под маской даже в микроскоп не увидел.
Изображение
осталось на своей прошивке запустить. Спасибо!!!
Ответить