ПОЛЕЗНО ESP32: дело было к вечеру, делать было нечего

Ну, по хорошему, тогда управление по двум осям надо.
Это для следующего этапа. Правда, пристроить на микротокарник поперечный ШД технически непросто из-за мелких размеров. Но надеюсь, что удастся.

Из чувства глубокого перфекционизма генерацию управляющих импульсов довел да предела, ~500 кгц. Можно еще увеличить, раза в полтора, написав наносекундные таймеры. Нафиг не нужно, но посмотреть предельные возможности ЕСП интересно.
 
Из чувства глубокого перфекционизма генерацию управляющих импульсов довел да предела, ~500 кгц.
Я, так думаю, и 500кГц за глаза при таком то шаге винта, даже с делителем 1/32.
Поверь, мне тоже интересен этот проект, правда у меня только голая ESPха. Меня задолбала низкой скоростью Мега328, не хватает её, а на низкой скорости шпиндель не вывозит. Что касается поперечки, всунуть её сложно, но возможно. Тоже её бешено не хватает.
 
... Все это делается для управления автоподачей токарника, у которого шаг винта - 1мм, крутить вручную долго и занудно. Работать будет следующим образом.

1. Сделал проход на малой скорости f, вернулся в исходное положение на большой скорости F.
2. Увеличил вручную заглубление резца.
3. Повторил проходы вперед-назад до достижения нужного диаметра заготовки...
А отскок при обратном ходе (возврате в исходное положение) будет? :cautious:
Так будет по науке... :rolleyes:
 
  • Последнее редактирование:
Последнее редактирование:
А отскок при обратном ходе (возврате в исходное положение) будет? :cautious:
Так будет по науке... :rolleyes:
Конечно будет. В функции StepperRun все предусмотрено, для двух проходов вперед/назад зовется 2 раза. Оба вызова будут висеть на кнопке старт. При нажатии на кнопку сначала проход на низкой скорости для съема метериала, потом - возвращение в исходное положение на высокой скорости.

Протестировал последний из имеющихся в наличии дисплеев, 2.0" 240х320, драйвер ST7789. Нормально, все помещается, текст по размеру читаемый.
1702589928720.png
И для подключения нужно на 1 пин меньше, на сэкомомленный пин можно что-то полезное подвесить.

Так выпьем же за то, чтобы число пинов совпадало с числом наших хотелок. :D
Ваши сообщения автоматически объединены:

Я, так думаю, и 500кГц за глаза при таком то шаге винта, даже с делителем 1/32.
Для вящего перфекционизма прикуплю соответствующий драйвер и буду делить на 256 :D .

А ЕСП-шка - штука интересная. Работать с ней в Ардуине можно. Но для достижения максимальной эффективности надо использовать родные функции, а не тормознутые ардуиновские "врапперы". Например, если хочешь оценить преимущества использования родной записи в регистр по сравнению с ардуиновской - в приложении простой проект.

А в программировании в ардуине по сравнению, скажем, с родной ЕСП-ной Espressif-IDE, есть несколько преимуществ.
1. Сама собирает нужные библиотеки в кучку и знает, где их искать и как их автоматом подключить.
2. Проекты по объему маленькие, такими легко делиться.
3. Простая миграция проектов в другую директорию, достаточно переименовать ino-файл.
 

Вложения

  • ESP32_fastWrite.zip
    2.9 KB · Просмотры: 14
Доделал первую версию автоподачи токарника: связь пульта управления с ШД по проводам. Это у меня будет работать на большом токарнике, там места много, провода мешать не будут.

Следующий этап - беспроводное управление для маленького токарника. Интересная работа, надо аккуратно распараллелить задачи управления и дуплексной связи по ядрам двух ЕСП.
 
  • Последнее редактирование:
Последнее редактирование:
Закончил с кодами беспроводного управления токарником. Работает.

Проект editor.ino - редактор и передатчик инструкций для ШД. Проект stepper.ino - приемник, распознаватель кнопок и генератор импульсов управления ЩД. Проект MAC.ino - утилита для определения мак-адреса ESP32. Эти адреса надо вставить в передатчик и приемник (wireless.h -> broadcastAddress[]). Адрес ESP32 приемника - в editor.ino, aдрес ESP32 передатчика - в stepper.ino.

В процессе тестирования проявился глючок: в режиме "нажал - поехало, отпустил - остановилось" (кнопки left/right) иногда (довольно редко) ESP приемника перезагружается. Почему - выяснить не удалось (подозреваю аппаратный сбой). Но коды подкорректировал так, чтобы этот сбой не влиял на реальную работу.

Теперь осталось сделать самое интересное: удобные коробки. И можно будет работать с дистанционным управлением на токарнике.

Проекты в приложении.

P.S. Рекомендуется закомментировать все prn() и pln() в stepper -> stepper1.h. Эти распечатки были сделаны для поиска глюка перезагрузки.
 

Вложения

  • wireless.zip
    487 KB · Просмотры: 12
Определился с аккумулятором для передатчика, плоский Samsung, 3000мАч. Посмотрел потребление передатчика - 180мА, на 10-15 часов хватит, нормально.
1704582199239-png.51179
 
, плоский Samsung, 3000мАч.
С обычными зарядками на 4056, полную емкость не получишь, ну максимум 2600, посмотри напряжение этой химии, у SAMSUNGа и LG это частенько попадается, даже на 18650.
 
С обычными зарядками на 4056, полную емкость не получишь, ну максимум 2600, посмотри напряжение этой химии, у SAMSUNGа и LG это частенько попадается, даже на 18650.
Сейчас с LiPo ничего не поймешь. Заряжаются по разному (даже из одной партии). P.S. У меня зарядка iCharger 308Duo.
 
  • Последнее редактирование:
Последнее редактирование:
Пришло время делать коробки. Передатчик будет выглядеть как-то так. МДФ, ламинированная пластиком 0.5мм, состыковки - 45 град.
1704833247655.png
Ваши сообщения автоматически объединены:

С обычными зарядками на 4056, полную емкость не получишь, ну максимум 2600, посмотри напряжение этой химии, у SAMSUNGа и LG это частенько попадается, даже на 18650.
Если емкость меньше - не страшно, использовать в многочасовых работах не планирую. Но из чувства глубокого перфекционизма предусмотрел возможность подзарядки в процессе работы.
1704836773014.png
 
Не удалось Артему пристроить Пашку в котельную.

Грустный эпиграф отражает суть дела: ожидалось, что с батареей Samsung 3000мАч передатчик будет работать 10-15 часов. А в реалиях оказалось, что не больше 3-х часов. :(
1705082616429.png
Дело в том, что при разрядке батареи до ~3.4в потребление ЕСП32 практически не меняется и напряжение падает линейно. Если бы эта линейное падение напряжения продолжалось и дальше, то батареи хватило бы на расчетные 10-15 часов. Но в реалиях после разрядки до ~3.4в потребление ЕСП32 начинает резко нарастать и батарея разряжается за ~3 часа.

Вообщем, придется ставить две последовательно соединенные батареи и потижайку до 3.4в. В этом случае линейный участок падения напряжения намного удлинится и, надеюсь, что передатчик будет работать часов 20.
 
Но в реалиях после разрядки до ~3.4в потребление ЕСП32 начинает резко нарастать и батарея разряжается за ~3 часа.
Не ток начинает возрастать, а LDO затыкаться, при 3.4В 3117 выключается.
 
Не ток начинает возрастать, а LDO затыкаться, при 3.4В 3117 выключается.
Проблема не в том, что затыкается, а почему так рано затыкается? Переход на нелинейную часть разрядки (другими словами, затык) должен происходить при напряжении меньше 3в. А у моей батареи затык наступает при 3.4в.
1705162636396.png
1705082616429-png.51296
 

Думаю из за потери ёмкости... :rolleyes:

оффтоп
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

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

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

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

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