Для выше выложенной платы я использовал не проверенный библиотечный элемент крана и в нём были не правильные размеры и ошибка в назначении одного пина. Сделал его когда-то но не использовал и не проверял. Теперь перепроверил и увидел проблему. После исправления плата стала немного короче и разводка стала даже более красивая. Так же изменил пин определения ориентации крана. Приехали энкодеры из Китая. Заказал немного другие. Они хоть и дороже, но их легко можно ставить с обратной стороны платы, так как выводы расположены выше и они длиннее и при выгибании вверх они легко впаиваются в плату. На фотке сравнение со старыми и вид с выгибом вверх для наглядности.
Для затравки - сегодня нанёс маску на плату. На следующей неделе планирую нанести ещё шелкографию и спаять. Так же будет изменение алгоритма вывода, что позволит упростить вывод для Марлина. Сам Марлин тоже нужно будет доработать.
Запустил панель с полноценным 16-битным интерфейсом экрана и новым алгоритмом вывода на экран. По ходу пофиксил пару мелких багов. Вроде работает нормально. Пытался проверить кое-какие изменения на старой панели - она упала и надорвался шлейф экрана. Возможно исправлю, но сейчас пока не работает и не могу проверить всё. Выкладываю бинарник под ИЛИ9325 - проверьте работу энкодера не глядя на правильность направления. Я пока Марлин пересоберу с изменениями под новый алгоритм вывода на экран. Проверял под Смузи работу кнопок, обнаружил, что 2 штуки не работают - пауза и вправо. Посмотрел исходники - вроде эти кнопки вообще не обрабатываются, пауза вообще как устаревшая фигурирует.
Вроде косяки в прошивке все убрал. С Смузи никаких изменений в работе с новым алгоритмом вывода заметно не будет. С Марлином станет лучше самому Марлину - удалил ранее нужные задержки в выводе на экран. Так же в Марлине-2 поправил окно редактирования сетки UBL - стало как раньше планировал, но не реализовал. Марлин-1 проверить уже нет возможности, так как уже нет подходящей платы, но изменения внесу как для второго. Марлины выложу позже, так как проверял на старых исходниках, а хочу новые доработать. На Гитхабе прошивку и железо обновил.
Платка в собранном виде выглядит так: https://github.com/Serhiy-K/TFTGLCDAdap ... LCD-V2.JPG Здесь так же видно, как установлен картоприёмник и новый энкодер. Кнопки непосредственно не подключены, но имеют штырьки для соединения с разъёмами кнопок для нужных целей. Ориентация вывода на экран может быть выбрана джампером или жёстко прописана в прошивке. Поддержка 16-битной шины экрана с 8-битной шиной контроллера для старой версии железа убрана, как не имеющая смысла. Для 16-битной шины используйте железо версии 2.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Завёл я себе на гитхабе форк Марлина. Закинул в официальную bugfix-2.0.x ветку 100% переводы на русский и украинский языки с бОльшей оптимизацией вывода под разные ширины экранов (в принципе для 20 символов в строке или больше), которые уже приняты и добавлены. Хотя модератор внёс некоторые свои правки, которые мне лично не нравятся. Также на базе этой ветки сделал форк для добавления панели. Поверил сборку на плате с LPC1768, для остальных ранее проверявшихся архитектур проверил пока только успешность сборки. С STM32F103 могут быть проблемы из за конфликтов HAL, хотя сборка завершилась успешно. Позже проверю в железе. Качать отсюда https://github.com/Serhiy-K/Marlin/tree ... CD-adapter. В проекте панели Марлин -2 уже не актуален. Позже удалю его и поправлю описание. Также у меня уже есть платка BlackPill на STM32F411. На ней тоже смогу в железе проверить таботу.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Проверил работу с STM32F411 пока только по SPI интерфейсу - работает, но есть проблема с SD картой - когда вставляется, информация на панель перестаёт выводиться. После изъятия карточки панель запусается. Передачу данных пока смотрел осциллографом, в отладочном режиме Марлин проверить по этой части не смог. Попробую зайти со стороны панели, понять, что там такое сильно короткое передаётся. На PLC1768 такой проблемы нет.
STM32F103 поломали - где-то зависает внутри, не доходя до инициализации панели. При подключении по USB СОМ порт появляется, но связаться с платой не получается. В общем будем ждать глобального фикса maple - проблема явно в нём. Причём для STM32F103 можно собрать только без поддержки SD карточки. С поддержкой код растёт примерно на 60кБ!!!
Я ж написал, что отладчиком не получилось. То есть я пытался. Там всякие вочдоги срабатывают и сбрасывают контроллер, а искать их по всему коду и отключать их все - ну нах. С 103 оптимизации не помагают, там код в мапле сильно кривой. С ним и раньше проблемы были. Для 401 даже с поддержкой карточки вроде в 128к влазило, а тут такая охрененная разница. Но вроде на гитхабе Марлина один чел готовит вариант отхода от мапл. Подождём.
Там всякие вочдоги срабатывают и сбрасывают контроллер
Нет текстового редактора с поиском в файлах? Если IDE не может скачайте Notepad++. Нужно временно закомментировать настройку собаки.
Serj_K писал(а):
С 103 оптимизации не помагают, там код в мапле сильно кривой.
Библиотеки ардуины? Тогда понятно... Лучше переписать с нуля по всем правилам и без ардуины, если устройство действительно нужно иначе нормальной работы не будет. Кому нужно устройство где ошибка на ошибке и ошибкой погоняет?
Поправил в панели вывод окна калибровки UBL для Марлина - теперь не мерцает. Так же добавил отображение правильной версии железа в стартовом логотипе. Сам Марлин пилю ещё. Там слишком много подобавляли и поменяли в последнее время, у меня какие-то накладки уже начались.
1) Вроде сделал в Smoothieware правильную реализацию получения процента кулера. Исходники на гитхабе обновил, но на всякий случай даю бинарник для проверки. Сам пока проверить в работе не могу.
2) На схеме панели второй версии скорее всего пропадут преобразователи уровней для I2C шины - начал её проверять и увидел проблемы в работе с 3В тестовой платой. Без преобразователей сигналы нормальные. Пока пытаюсь на LPC запустить, но там таки остались проблемы в самом I2C драйвере. Так как прошивка записывается через загрузчик с карточки, то с отладкой в пошаговом режиме проблема.
Вложения:
Комментарий к файлу: прошивка Smoothieware для проверки firmware.rar [200.74 KiB]
Скачиваний: 194
Завёл наконец-то I2C на LPC1768 - поправил 3 строчки в 2 файлах в ардуиновских либах, пул реквест им закинул. Но там редко что меняют. Если кому-то это надо, то пока у меня на гитхабе есть репозиторий с этими правками, можно 2 файла скачать для обновления. После запуска I2C проверил протокол обмена, отловил баги и поправил и внёс ещё разные изменения. Так же внёс соответствующие изменения и в Марлин. Кто пользуется Марлином - обязательно обновлять и его.
В Марлине появилась официальная поддержка платок Blackpill на STM32F4x1Cx. Но на ней у меня не работает SD карточка - не проходит её инициализация. Причину пока не обнаружил, так как и частота шины SPI и полярности сигналов как у LPC1768, но не работает. Так же пока на ней не запустил I2C - сама шина не запускается. Буду разбираться.
STM32F103 в Марлине до сих пор поломано - конфликты между HAL в Марлине и ардуиновскими Maple, поэтому сборка не проходит и проверить работу панели на этой платформе не не могу.
Внёс изменене в схему и плату версии 2 в части входных преобразователей уровней для I2C шины - убрал их, так как с 3В логикой работали плохо. Подтягивающие резисторы для SPI шины подцепил на +3,3В вместо 5.
Вчера нашёл причину неработоспособности SD карточки на STM32F4x1Cx. Оказался сильнейший косяк в HAL Марлина для SPI, причём для многих архитектур. Явно копи-пастом пользовались. Выражается он в том, что при работе с карточкой используется функция, в которй производится ПОЛНАЯ инициализация SPI шины для КАЖДОГО передаваемого байта. Это приводит к появлению паразитного импульса на линии CLK, а соответственно к неправильно переданным данным. Также такая переинициализация приводит к снижению скорости передачи, если допустить, что паразитный импульс не возникает и передача проходит нормально. На выходных проверю детальнее для других архитектур и закину им пул реквест. Пока попробую с I2C разобраться.
Закинул пулл реквест по HAL_SPI на Марлин. I2C на STM32F411 запустил. Также удалось опять запустить STM32F103. Проблема оказалась в большом количестве лишних библиотек, а прописывание их в lib_deps в platformio.ini их не отключало и лезли всякие непрописанные зависимости. Поудалял ненужное и всё. То есть сейчас проверена работа на AVR mega2560, LPC1768, STM32F103 и STM32F411 по обоим интерфейсам - SPI и I2C. AVR проверял давно, когда плата была, но не думаю, что там поломали что-то, STM32F407 скорее всего тоже будет работать нормально. Проверил возможность сборки для остальных архитектур для обмена по SPI. Так же поправил, возможно не окончательно, lcdprint_TFTGLCD.cpp - начал выводится символ степени. Для его правильного вида внёс изменение в шрифт панели. На гитхабе всё обновил. Начинаю готовиться к пул реквесту для добавления панели в Марлин, может примут. Тут вроде люди новый функционал боле менее нормально принимают.
Хорошая новость - с сегодняшнего дня добавлена поддержка моей панели в bugfix ветку Марлина-2. То есть моя отдельная ветка уже не нужна. Я пока только бегло посмотрел на принятые и поправленные изменения, но в железе пока не проверял - есть срочные дела. Но для включения в Марлин пришлось немного поменять алгоритм вывода на менее удобный - строка редактирования параметра меню теперь отображается на пустом экране, а не на фоне того же меню из которого вызывается. В дальнейшем попробую найти решение и сделать как было, если получиться. Немного позже внесу изменения в описания на Гитхабе.
В общем попробовая я последние изменения. Косяки от внесённых не мной макросов Марлина таки проявились - панель перестала работать. Нашёл где и поправил, пока у себя. Так же сейчас пытаюсь немного оптимизировать вывод меню - кое что улучшилось, кое что поламалось. Но идеи по решению проблемы есть.
Сегодня в Марлин внесены более-менее окончательные изменения для моей панели. По крайней мере каких-либо проблем в работе я не вижу, а улучшать можно до бесконечности. Так же по ходу немного поправил и прошивку панели под эти изменения Марлина. В планах исключительно для интереса сделать панель с тачскрином без энкодера, китайский донор для этого имеется, плату уже развёл.
Добавил в прошивку начальную поддержку тачскрина на новой версии железа. Само железо пока не изготовил. Также поменял алгоритм вывода на экран - убрал постоянное автообновление экрана, так как иногда возникали проблемы с выводом. Так что прошивку панели рекомендую обновить. В Марлине тоже будут пара мелких не существенные правок - добавление поддержки архитектуры STM32F1xx и правка мелкого некрасивого "бага" при редактировании первой точки в UBL.
Сейчас этот форум просматривают: bigudaff и гости: 58
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения