ПОЛЕЗНО GRBL Commander - автономный контроллер на ESP32

    Рекомендованный
  • #481
Да вот пытаюсь его прикрутить.
Что то как то криво видео выложилось
Код:
https://www.youtube.com/watch?v=mP3u3TmCtBg&list=LL&index=33
попробуем так.
 
Ня... :)

Ща дядя Олег нам даст, развели ему тут, понимаешь... :cautious:

оффтоп
 
Всех приветствую! Заливал новые прошивки _1_1_b, _1_2_b все проверки проходят (память, сд карта), а подключиться к контроллеру у пульта не получается, просит нажать shift, нажимаю shift пульт перезагружается появляются квадратики (как будто включение произошло с нажатой кнопкой boot на esp), откатился на старую _1_1_b всë работает, на ней и останусь. Тест провëл!
Разобрался модуль esp32 у меня с 8мБ флеш памяти, а в среде ардуино, в настройках было 4мБ, поменял на 8мБ и всё пульт запустился.
 
Немного офф топа :)
Доделал "ученичку" ту плату что выкладывал скриншоты ранее. Сама плата делалась полностью с помощью контроллера. Сверловка, вырез пазов для переключателя, обрезка. Ну и немного шаманства с проектированием и 3D печатью.
Вот что в итоге вышло.
IMG_20230316_122924.jpg
 
Олег!!!
Как то отстал от ваших дебатов.
Тут Скачал из шапки все 3 версии.
При проверке по Галочке в ИДЕ все 3 версии, как понял, говорят одно:
Оно ИДЕ читает библиотеки с C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h
А в вашей библиотеке есть разница.

Вопрос в том как заставить ИДЕ опираться на Ваши библиотеки, а не то, что ему захочелось.
Могу, конечно, поменять, но тога предыдущие версии пошлют туда же.
Это же вопрос.

Arduino: 1.8.15 (Windows 7), Плата:"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, None"


Несколько библиотек найдено для "SD.h"

GRBL_commander:1397:53: error: no matching function for call to 'LCDMenu2::LCDMenu2(Menu&, LiquidCrystal&, const uint8_t&, const uint8_t&, int, int, int)'


LCDMenu2 Root(top, lcd , LCD_ROWS, LCD_COLS, 0, 1, 2);

^

In file included from C:\Users\Victor\Downloads\GRBL_commander_1_2_b\GRBL_commander_1_2_b\GRBL_commander\GRBL_commander.ino:1:0:

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:46:9: note: candidate: LCDMenu2::LCDMenu2(Menu&, LiquidCrystal&, int, int, int, int)

LCDMenu2(Menu &r,LiquidCrystal &d, int row, int cols, int a_up, int a_down);

^

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:46:9: note: candidate expects 6 arguments, 7 provided

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:21:7: note: candidate: constexpr LCDMenu2::LCDMenu2(const LCDMenu2&)


class LCDMenu2

^

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:21:7: note: candidate expects 1 argument, 7 provided

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:21:7: note: candidate: constexpr LCDMenu2::LCDMenu2(LCDMenu2&&)

C:\Program Files\Arduino\libraries\LCDMenu2/LCDMenu2.h:21:7: note: candidate expects 1 argument, 7 provided

exit status 1


Используется: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SD

Не используется: C:\Program Files\Arduino\libraries\SD

Используем библиотеку LCDMenu2 в папке: C:\Program Files\Arduino\libraries\LCDMenu2 (legacy)

Используем библиотеку LiquidCrystal версии 1.0.7 из папки: C:\Program Files\Arduino\libraries\LiquidCrystal

Используем библиотеку Regexp в папке: C:\Program Files\Arduino\libraries\Regexp (legacy)

Используем библиотеку FS версии 1.0 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS

Используем библиотеку SD версии 1.0.5 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SD

Используем библиотеку SPI версии 1.0 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\SPI

Используем библиотеку Preferences версии 1.0 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\Preferences

Используем библиотеку Update версии 1.0 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\Update

Используем библиотеку Wire версии 1.0.1 из папки: C:\Users\Victor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\Wire

no matching function for call to 'LCDMenu2::LCDMenu2(Menu&, LiquidCrystal&, const uint8_t&, const uint8_t&, int, int, int)'
 
  • Последнее редактирование:
Последнее редактирование:
А в вашей библиотеке есть разница.
Это сторонняя библиотека, там были недоработки, я их исправлял.
Вопрос в том как заставить ИДЕ опираться на Ваши
Ну так заменить на исправленную и всё.
Требуемые файлы есть в папке Libs проекта.
Ещё можно иметь несколько разных версий (или одинаковых) IDE без инсталлятора и в каждой сделать свой набор Библ в папке Libraries.
 
Олег!!!
Ну, всё срослось, подменив библиотеки.
Единственное- это Keyboard пришлось вернуть из старой версии. Разбираться не стал.
Естественно, кодировку клавиш сохранил.
Что касается датчиков наезда на лимит или на Датчики Хоум (ну, всякое бывает). Хотя это для Грбл -одно и тоже.
При прохождений всей инициализации -если сидим на конечнике- "Сообщение - типа "сидим на лимите по Х или У или Z.""
С кнопкой HIFT спокойненько съезжаем с конечников. ( В каюю сторону?- это на совести пользователя)
При этом знак "Хом" опускается в нуль".
В независимости от текущего Статуса работы.
"Сообщение - типа "сидим на лимите по Х или У или Z."" и всё тут. Для выхода " нажмите HIFT.*
И выходите из лимита.
 
Олег!!!
Относительно Макрос-это вы здорово впендюрили.
Вот, нам нужно отфрезеровать/выровнять поверхность, допустим для места под печатную плату. Это один из примеров. ( фрезерование отверстиё и пр.)
Создаётся макрос с заданием габаритов и прочих нюансов, тобиш и скорость подачи и направление и смещение строки и т.д.
Без всяких КАМов прямо с пульта генерируется простенькая задача. Ни тебе компьютер, ни всякие карты. всё с пульта.
 
ОлегК!!!
Вскочила проблема.
Версия 1_3_b.
1. Вафля не хочет подключаться. Попробовал из интернета всякие скетчи по инициализации вафли. Не подключается и всё тут. Думаю проблема в моем ЕСП32.
2.Попробовал загрузить с карты. Всё прошло как по маслу. На сл. день решил ещё раз поискать всякие скетчи по вафле. Загрузил через ардуино с ПС.
и вот что получилось:
1я картинка -всё загружается как всегда, но поле загрузки ЕСПшка не запускается в независимости от скетча.
2я картинка -то что пишет монитор бесконечно.
Теперь не могу ничего загрузить.
Ваше мнение по этому поводу.
 

Вложения

  • 2023-07-20_18-00-25.png
    2023-07-20_18-00-25.png
    26.7 KB · Просмотры: 29
  • 2023-07-20_18-02-50.png
    2023-07-20_18-02-50.png
    28.2 KB · Просмотры: 32
ОлегК!!!
На мой взгляд при прошивке с карты угробили bootloader с 0го адреса.
В bootloader пишется адрес/вектор начала пользовательской программы если в нём не нуждаются.
Вопрос? как восстановить bootloader?
 
  • Последнее редактирование:
Последнее редактирование:
Не подключается и всё тут. Думаю проблема в моем ЕСП32.
Возможно. Я брал пару плат, в отзывах попалось такое
Screenshot.png
Вероятно, кому-то попадаются бракованные платы. Мои, как приехали, я сразу проверил на тестовом скетче на работоспособность WiFi.

Загрузил через ардуино с ПС.
Тут не понял. ПС - это что?

2я картинка -то что пишет монитор бесконечно.
Циклическая перезагрузка, походу...
Тут могут быть разные причины - [1], [2], [3], [4]

Одна из плат, что ко мне приехала грузилась только в режиме FlashMode:"DIO", остальные в FlashMode:"QIO"
Думаю, для начала нужно уточнить:
0. Версию платы (если можно - фото платы и чипа)
1. Версию Ардуино IDE
2. Версию ESP32 SDK (можно посмотреть в менеджере плат)
3. Настройки платы для прошивки (скриншот)

Потом попробовать следующее:
1. Вытащить, если возможно, ESP32 из устройства и прошить голую плату без обвеса каким-нибудь тестовым скетчем из примеров, например WiFi Scan. Попробовать режимы "DIO" и "QIO"
2. При неудаче, проделать вот это.

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

Вопрос? как восстановить bootloader?
Я не пробовал, может это поможет?

или [1] с [2]
 
ОлегК!!!
Не буду рассказывать как вчера целый день про .........(ну вы поняли)
Ларчик просто открывался.
В инструментах, с какого то хрена поменял Flash Size на "8MB(64Mb)"
Восстановил "4MB(32Mb)" и всё поехало.
Огромное спасибо за помощь.
Без Ваших ссылок не догадался бы вернуть всё на круги своя.
 
ОлегК!!! и все участники форума!!!
Плата ГРБЛ Контроллера(аля ОлегК) у меня была сделана как пилотный вариант на монтажной плате под ДИР(много, много дырочек, через 0.1 дюйма) . Клавиатура с дисплеем - как положено на печатке.
Это всё предисловие.
Помните, как то говорил, что у меня ГРБЛ Контроллер не запускается если уже включён ГРБЛ, или их вместе включать. Кстати, при включённом ГРБЛ и Ардуино ругался.
Работал так- сначала включаю контроллер (были раздельные источники питания) , потом включаю ГРБЛ.
Из последних сообщения ОлегК, о том, что он был вынужден поставить реле для коммутации с RX TX .
Навела на мысль,
Тут включил паяльник.
и начал по одному ( при помощи паяльника отключать Всякие связи с RX TX и даже Reset. )
Не помогло.
Обратился для сравнения к предыдущим версиям схем ОлегК .
Как оказалось, по старым версиям ОлегК в эл.схеме, Ресет шло на 12 или 14 ногу. По старым версиям. В скетче они определялись.

В последней версии-заметил их отсутствие, как такового.
Просто, Отпаял проводочек от 12 или 14 ноги. (как было)
ВСЁ.
Загружается без проблем. При питании от ГРБЛ.
Кстати, проверил ток потребления ГРБЛ Контроллера - 0.7 А по 5 вольтам. напряжение опустилось с 5в до 4.95.

Это *много*. Ну Китайский мультиметр, конечно врёт, но не на порядок же.
Поставил работать на прогон на сутки .
 
  • Последнее редактирование:
Последнее редактирование:
Как оказалось, по старым версиям ОлегК в эл.схеме, Ресет шло на 12 или 14 ногу. По старым версиям. В скетче они определялись.
Можно глянуть, в какой схеме использовались 12 и 14 ноги?
Глянул самую "пилотную" схему - как была подключена база транзистора управления резетом к пину 4, так оно и осталось до сих пор. Пины 12 и 14 я не мог использовать, т.к. есть некоторые пины у ESP32, которые или нельзя использовать или можно использовать с "оглядкой". 12 и 14 - это из группы "критичных" пинов.
Или я не так что-то понял?
Кстати, проверил ток потребления ГРБЛ Контроллера - 0.7 А по 5 вольтам
ВайФай, однако, штука прожорливая...
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать