32 бита для 3D принтера
Re: 32 бита для 3D принтера
Заниматься буду. Не для того я добавлял официальную поддержку в Марлин. Только это не очень быстро может быть, Марлин отлаживается не удобно.
Re: 32 бита для 3D принтера
Проверил работу панели с SPI. Это у меня какой-то аппаратный глюк - при питании панели от 5В панель работает корявенько, как я описывал ранее, а при питании от 3,3В от стабилизатора основной платы работает нормально. Так что пробуйте по SPI, в самом Марлине вроде нет проблем - прошёлся по инициализации в отладке. Теперь займусь проблемой I2C.
Re: 32 бита для 3D принтера
а в моих файлах, как с проблемами?
Re: 32 бита для 3D принтера
У меня отладочная плата без всей периферии, голый BlackPill с пинами. Я проверил только работоспособность панели по SPI.
Re: 32 бита для 3D принтера
а мой залить можете, убедится, что экран работает
- Вложения
-
- firmware.zip
- (88.11 КБ) 152 скачивания
Re: 32 бита для 3D принтера
Прошивку проверил - работает. Только нужно DISPLAY_CHARSET_HD44780 поставить CYRILLIC, а то вместо кирилицы вопросы выводятся. На всякий случай - на BlackPill сигналы SPI это PA5 - SCK, PA6 - MOSI, PA7 - MISO. И в Вашем варианте TFTGLCD_CS - РС15. По умолчанию для I2C будут РВ6 и РВ7.
Re: 32 бита для 3D принтера
Спасибо. В чём же тогда дело. Осликом ни одного сигнала не вижу. раз прошивка работает, надо драйвер с мультиплексором очевидно проверять.
Re: 32 бита для 3D принтера
Драйвер нужен только для согласования уровней при подключении к 5В матплатам на Мегах, а мультиплексор - при использовании карточки. При инициализации панели по SPI как минимум SCK на выходе матплаты увидеть можно - минимум 3 байта должны выйти - команда инициализации, тип прошивки и байт на приём. Выложите свои схемы панели и матплаты в виде jpg или pdf. Может ошибка где-то есть.
Проверил в отладке работу по I2C. Оказалось, что в прошивке всё правильно, а у меня на панели были попутаны местами надписи SDA и SCL и я подключал провода не правильно. Переставил провода и в принципе панель заработала, но как-то не стабильно. Потом взял другую панель с тачем и она работала стабильно. То есть с работой I2C в Марлине всё нормально.
Проверил в отладке работу по I2C. Оказалось, что в прошивке всё правильно, а у меня на панели были попутаны местами надписи SDA и SCL и я подключал провода не правильно. Переставил провода и в принципе панель заработала, но как-то не стабильно. Потом взял другую панель с тачем и она работала стабильно. То есть с работой I2C в Марлине всё нормально.
Re: 32 бита для 3D принтера
вот ребус. Проверил всё в статике-сигналы проходят. Моя матплата по i2c работает с маленким олед дисплеем, а с вашей панелью никак. Может я в кокосе чего накосячил. Но я там только лазер закоментировал, чтоб прошивку уменьшить. Не проверите?
Добавлено after 11 minutes 53 seconds:
схема панели и разводка ваша. Я только перенёс разводку из Альтиума в диптрейс, а он проверяет ошибки разводки. Если у вас их нет, то и у меня не должно быть.
Добавлено after 11 minutes 53 seconds:
схема панели и разводка ваша. Я только перенёс разводку из Альтиума в диптрейс, а он проверяет ошибки разводки. Если у вас их нет, то и у меня не должно быть.
- Вложения
-
- 3D-GLCD.zip
- (13.66 КБ) 164 скачивания
Re: 32 бита для 3D принтера
Моя панель по SPI с этой прошивкой работает. Насчёт I2C - изначально у меня были преобразователи уровней на транзисторах, которые я потом убрал и оставил только подтягивающие резисторы на +3,3В. Должно быть так и на фотке платы вижу, что так. Почему не работает - ХЗ.
Re: 32 бита для 3D принтера
вот разводка в Диптрейсе
- Вложения
-
- дисплей автор5 cSD.zip
- (189.67 КБ) 166 скачиваний
Re: 32 бита для 3D принтера
Не должно, но я вон в 2 проводах ошибся. Сейчас посмотрел на отличие между моими двумя панелями в резисторах подтяжки по I2C - на плате с энкодером стоят по 20к и она работает плохо, а на плате с тачем по 5к и она работает нормально. Заодно проверил панели на синей таблетке - ведут себя аналогично. Завтра перепаяю резисторы с 20к вообще на 1к и посмотрю разницу.кт315b писал(а):Если у вас их нет, то и у меня не должно быть.
Я диптрейсом не пользуюсь и если он делает контроль платы по схеме, как альтиум, то мне лучше схему смотреть, но в pdf/gif/jpg.
Re: 32 бита для 3D принтера
схема ваша, Альтиум не позволяет её конвертировать диптрейс, а с платой проблем нет, конвертирует.
Re: 32 бита для 3D принтера
Повозился немного с I2C, слегка поправил код панели. На панели с энкодером поставил подтягивающие резисторы по 2к. При подаче питания на основную плату панель не запускается - идёт сбой по шине, смотрел осциллографом. После нажатия сброса на плате с Марлином панель запускается, но после логотипа сразу попадает в меню, как будто уже была нажата кнопка энкодера. При этом кнопка энкодера работает нормально, а ручка практически нет. Подключил панель с тачем - после старта тоже стала попадать сразу в меню, раньше такого не было, видно что-то в Марлине зацепил, в остальном работает нормально. На SPI всё работает отлично. Пробовал в Марлине задержки ставить - не помогло. Пока не понимаю, куда копать.
Re: 32 бита для 3D принтера
скомпилировал и залил всё назад. Олед по i2c работает, энкодер работает, карту по SPI читает. Где-то косяк в панели, вычислить не могу, вроде всё проверил. Может какой тест есть, почему CTM32 не видит внешние сигналы?
Re: 32 бита для 3D принтера
а нельзя ли вашу плату к ардуино подцепить, тестом каким нибудь проверить?
Re: 32 бита для 3D принтера
Можно. Марлин на Ардуине ведь тоже работает и с Ардуины начинался. Только для этого нужно соответствующую Ардуину. Или самому тест написать, используя как основу код из Марлина из 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 принтера
Опять всё править! У вас есть бинарник под синюю таблетку на 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.
просто не пойму, где это надо делать
Добавлено 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 принтера
Ваш файл pins_RUMBA32_common.h уже содержит TFTGLCD_CS и Марлин с ним у меня работал.
Я решал проблемы при помощи пошаговой отладки. Прикладываю свою прошивку под SPI и файл моего варианта распиновки для проверки только панели так как отличаются почти все сигналы. В моём варианте TFTGLCD_CS = PA4.кт315b писал(а):прицепил, результат тот же, не видит принтер. Значит что-то в марлине не то делаю
- Вложения
-
- PILL_F401XX.rar
- (70.3 КБ) 157 скачиваний
Re: 32 бита для 3D принтера
залил Вашу прошивку. 8-битный пробный отозвался, хоть и мусором. А панель от телефона молчит. сигналы там не напрямую заходят, наверное там косяк.
Добавлено after 8 minutes 31 second:
[url=https://img.radiokot.ru/files/15969/medium/2n1e4kkzmz.jpg]
Добавлено after 3 hours 58 minutes 8 seconds:
Завёл! Miso на земле сидело, под маской даже в микроскоп не увидел.

осталось на своей прошивке запустить. Спасибо!!!
Добавлено after 8 minutes 31 second:
[url=https://img.radiokot.ru/files/15969/medium/2n1e4kkzmz.jpg]
Добавлено after 3 hours 58 minutes 8 seconds:
Завёл! Miso на земле сидело, под маской даже в микроскоп не увидел.
осталось на своей прошивке запустить. Спасибо!!!