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

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


Ответить

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

Вт май 19, 2020 10:03:45

Для выше выложенной платы я использовал не проверенный библиотечный элемент крана и в нём были не правильные размеры и ошибка в назначении одного пина. Сделал его когда-то но не использовал и не проверял. Теперь перепроверил и увидел проблему. После исправления плата стала немного короче и разводка стала даже более красивая. Так же изменил пин определения ориентации крана.
Приехали энкодеры из Китая. Заказал немного другие. Они хоть и дороже, но их легко можно ставить с обратной стороны платы, так как выводы расположены выше и они длиннее и при выгибании вверх они легко впаиваются в плату. На фотке сравнение со старыми и вид с выгибом вверх для наглядности.
Изображение

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

Пт июн 12, 2020 19:02:06

Для затравки - сегодня нанёс маску на плату.
Изображение
На следующей неделе планирую нанести ещё шелкографию и спаять. Так же будет изменение алгоритма вывода, что позволит упростить вывод для Марлина. Сам Марлин тоже нужно будет доработать.

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

Пт июн 19, 2020 22:45:36

Запустил панель с полноценным 16-битным интерфейсом экрана и новым алгоритмом вывода на экран. По ходу пофиксил пару мелких багов. Вроде работает нормально. Пытался проверить кое-какие изменения на старой панели - она упала и надорвался шлейф экрана. Возможно исправлю, но сейчас пока не работает и не могу проверить всё. Выкладываю бинарник под ИЛИ9325 - проверьте работу энкодера не глядя на правильность направления. Я пока Марлин пересоберу с изменениями под новый алгоритм вывода на экран.
Проверял под Смузи работу кнопок, обнаружил, что 2 штуки не работают - пауза и вправо. Посмотрел исходники - вроде эти кнопки вообще не обрабатываются, пауза вообще как устаревшая фигурирует.
Вложения
3D-GLCD.rar
(13.35 KiB) Скачиваний: 240

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

Сб июн 20, 2020 18:05:16

Вроде косяки в прошивке все убрал. С Смузи никаких изменений в работе с новым алгоритмом вывода заметно не будет. С Марлином станет лучше самому Марлину - удалил ранее нужные задержки в выводе на экран. Так же в Марлине-2 поправил окно редактирования сетки UBL - стало как раньше планировал, но не реализовал. Марлин-1 проверить уже нет возможности, так как уже нет подходящей платы, но изменения внесу как для второго. Марлины выложу позже, так как проверял на старых исходниках, а хочу новые доработать. На Гитхабе прошивку и железо обновил.

Платка в собранном виде выглядит так: https://github.com/Serhiy-K/TFTGLCDAdap ... LCD-V2.JPG
Здесь так же видно, как установлен картоприёмник и новый энкодер. Кнопки непосредственно не подключены, но имеют штырьки для соединения с разъёмами кнопок для нужных целей. Ориентация вывода на экран может быть выбрана джампером или жёстко прописана в прошивке. Поддержка 16-битной шины экрана с 8-битной шиной контроллера для старой версии железа убрана, как не имеющая смысла. Для 16-битной шины используйте железо версии 2.

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

Вс июн 28, 2020 20:57:03

Завёл я себе на гитхабе форк Марлина. Закинул в официальную bugfix-2.0.x ветку 100% переводы на русский и украинский языки с бОльшей оптимизацией вывода под разные ширины экранов (в принципе для 20 символов в строке или больше), которые уже приняты и добавлены. Хотя модератор внёс некоторые свои правки, которые мне лично не нравятся. Также на базе этой ветки сделал форк для добавления панели. Поверил сборку на плате с LPC1768, для остальных ранее проверявшихся архитектур проверил пока только успешность сборки. С STM32F103 могут быть проблемы из за конфликтов HAL, хотя сборка завершилась успешно. Позже проверю в железе. Качать отсюда https://github.com/Serhiy-K/Marlin/tree ... CD-adapter. В проекте панели Марлин -2 уже не актуален. Позже удалю его и поправлю описание. Также у меня уже есть платка BlackPill на STM32F411. На ней тоже смогу в железе проверить таботу.

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

Пн июн 29, 2020 17:48:12

Добавил в панель поддержку экранов на ST7789. Ещё добавил точки сетки в рамку редактирования UBL для Марлина.

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

Пт июл 10, 2020 18:30:54

Итак, теперь Марлин-2 для панели можно брать здесь https://github.com/Serhiy-K/Marlin/tree ... CD-adapter.

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

STM32F103 поломали - где-то зависает внутри, не доходя до инициализации панели. При подключении по USB СОМ порт появляется, но связаться с платой не получается. В общем будем ждать глобального фикса maple - проблема явно в нём. Причём для STM32F103 можно собрать только без поддержки SD карточки. С поддержкой код растёт примерно на 60кБ!!!

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

Пт июл 10, 2020 19:30:48

Serj_K писал(а):есть проблема с SD картой - когда вставляется, информация на панель перестаёт выводиться. После изъятия карточки панель запускается.
Запускаете под отладчиком и смотрите где ошибка.

Serj_K писал(а):STM32F103 поломали - где-то зависает внутри, не доходя до инициализации панели.
Аналогично. Подключаете отладчик и смотрите.

Serj_K писал(а):Причём для STM32F103 можно собрать только без поддержки SD карточки. С поддержкой код растёт примерно на 60кБ!!!
Собирайте с -Os и -flto? Указали размещать функции и данные в разных секциях и исключать из прошивки неиспользуемые секции?

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

Пт июл 10, 2020 22:56:49

Я ж написал, что отладчиком не получилось. То есть я пытался. Там всякие вочдоги срабатывают и сбрасывают контроллер, а искать их по всему коду и отключать их все - ну нах.
С 103 оптимизации не помагают, там код в мапле сильно кривой. С ним и раньше проблемы были. Для 401 даже с поддержкой карточки вроде в 128к влазило, а тут такая охрененная разница. Но вроде на гитхабе Марлина один чел готовит вариант отхода от мапл. Подождём.

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

Сб июл 11, 2020 11:39:06

Serj_K писал(а):Там всякие вочдоги срабатывают и сбрасывают контроллер
Нет текстового редактора с поиском в файлах?
Если IDE не может скачайте Notepad++. Нужно временно закомментировать настройку собаки.

Serj_K писал(а):С 103 оптимизации не помагают, там код в мапле сильно кривой.
Библиотеки ардуины? Тогда понятно... Лучше переписать с нуля по всем правилам и без ардуины, если устройство действительно нужно иначе нормальной работы не будет. Кому нужно устройство где ошибка на ошибке и ошибкой погоняет?

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

Вс авг 09, 2020 20:43:21

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

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

Вт авг 11, 2020 17:08:25

1) Вроде сделал в Smoothieware правильную реализацию получения процента кулера. Исходники на гитхабе обновил, но на всякий случай даю бинарник для проверки. Сам пока проверить в работе не могу.

2) На схеме панели второй версии скорее всего пропадут преобразователи уровней для I2C шины - начал её проверять и увидел проблемы в работе с 3В тестовой платой. Без преобразователей сигналы нормальные. Пока пытаюсь на LPC запустить, но там таки остались проблемы в самом I2C драйвере. Так как прошивка записывается через загрузчик с карточки, то с отладкой в пошаговом режиме проблема.
Вложения
firmware.rar
прошивка Smoothieware для проверки
(200.74 KiB) Скачиваний: 194

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

Пн авг 17, 2020 20:58:20

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

В Марлине появилась официальная поддержка платок Blackpill на STM32F4x1Cx. Но на ней у меня не работает SD карточка - не проходит её инициализация. Причину пока не обнаружил, так как и частота шины SPI и полярности сигналов как у LPC1768, но не работает. Так же пока на ней не запустил I2C - сама шина не запускается. Буду разбираться.

STM32F103 в Марлине до сих пор поломано - конфликты между HAL в Марлине и ардуиновскими Maple, поэтому сборка не проходит и проверить работу панели на этой платформе не не могу.

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

Чт авг 20, 2020 16:29:47

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

Вчера нашёл причину неработоспособности SD карточки на STM32F4x1Cx. Оказался сильнейший косяк в HAL Марлина для SPI, причём для многих архитектур. Явно копи-пастом пользовались. Выражается он в том, что при работе с карточкой используется функция, в которй производится ПОЛНАЯ инициализация SPI шины для КАЖДОГО передаваемого байта. Это приводит к появлению паразитного импульса на линии CLK, а соответственно к неправильно переданным данным. Также такая переинициализация приводит к снижению скорости передачи, если допустить, что паразитный импульс не возникает и передача проходит нормально. На выходных проверю детальнее для других архитектур и закину им пул реквест. Пока попробую с I2C разобраться.

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

Вс авг 23, 2020 19:55:34

Закинул пулл реквест по HAL_SPI на Марлин. I2C на STM32F411 запустил. Также удалось опять запустить STM32F103. Проблема оказалась в большом количестве лишних библиотек, а прописывание их в lib_deps в platformio.ini их не отключало и лезли всякие непрописанные зависимости. Поудалял ненужное и всё. То есть сейчас проверена работа на AVR mega2560, LPC1768, STM32F103 и STM32F411 по обоим интерфейсам - SPI и I2C. AVR проверял давно, когда плата была, но не думаю, что там поломали что-то, STM32F407 скорее всего тоже будет работать нормально. Проверил возможность сборки для остальных архитектур для обмена по SPI.
Так же поправил, возможно не окончательно, lcdprint_TFTGLCD.cpp - начал выводится символ степени. Для его правильного вида внёс изменение в шрифт панели. На гитхабе всё обновил.
Начинаю готовиться к пул реквесту для добавления панели в Марлин, может примут. Тут вроде люди новый функционал боле менее нормально принимают.

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

Пн авг 24, 2020 21:34:25

Пришлось заменить ветку на гитхабе для Марлина, слишком много накладок появилось. Теперь будет здесь https://github.com/Serhiy-K/Marlin/tree/TFTGLCD-Panel. Старую удалил.

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

Пн сен 28, 2020 20:24:14

Хорошая новость - с сегодняшнего дня добавлена поддержка моей панели в bugfix ветку Марлина-2. То есть моя отдельная ветка уже не нужна. Я пока только бегло посмотрел на принятые и поправленные изменения, но в железе пока не проверял - есть срочные дела. Но для включения в Марлин пришлось немного поменять алгоритм вывода на менее удобный - строка редактирования параметра меню теперь отображается на пустом экране, а не на фоне того же меню из которого вызывается. В дальнейшем попробую найти решение и сделать как было, если получиться. Немного позже внесу изменения в описания на Гитхабе.

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

Ср сен 30, 2020 09:53:24

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

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

Сб окт 10, 2020 13:50:46

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

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

Вс ноя 08, 2020 13:04:29

Добавил в прошивку начальную поддержку тачскрина на новой версии железа. Само железо пока не изготовил. Также поменял алгоритм вывода на экран - убрал постоянное автообновление экрана, так как иногда возникали проблемы с выводом. Так что прошивку панели рекомендую обновить. В Марлине тоже будут пара мелких не существенные правок - добавление поддержки архитектуры STM32F1xx и правка мелкого некрасивого "бага" при редактировании первой точки в UBL.
Ответить