Контроллер для кордовых электричек
Ардуинки в основной массе на Atmega328p, есть на Atmega2560,
но там тоже не далеко ушли теже 16МГц и чуть больше (256КБ) Флэш память,
но при этом куча портов выведенных на гребенку
я бы с удовольствием все сделал на STM32, там и среда разработки сильно лояльная
и возможности даже у младших процессоров на порядок выше,
но плат разработки маленького размера типа Про Мини на STM32 нет
а платка ESP32 из поста выше, размерами гораздо меньше, а возможностей в разы больше
дело в том, что портов I/O на таймере много не надо,
- I - кнопка
- I - прерывание от частотомера
- O - порт управления регулятором
- O - светодиод
- i2c - для подключения гироскопа (опционально)
Предложенная плата, это аналог climb and dive таймера.
А вообще, все удачные зарубежные таймеры сделаны на pic-контроллерах, и их ресурсов достаточно и для гувернера и для акселерометра с гироскопом, но надо рисовать и паять плату.
Почему то таймеры на базе макетных плат по типу ардуино,особого распространения не получили. Толи не смогли заставить работать правильно, толи боятся экспериментов)))
Что касается wifi, то многие телефоны хреново работают в режиме точка точка, да и многим пользователям вбить статику на телефоне, целая проблема… Поэтому надо поднимать точку доступа на платке, нагружать dhcp сервер, чтобы телефон подключался к контроллеру, плюс туда загружаем веб интерфейс. Круто, но сколько всего надо запихать в таймер. А еще надо как то телефону объяснить, что если нет интернета на этой точке доступа, то не надо от нее отключаться и переключатся на 4g.
У блютус, надо программку для андройда написать, через готовые терминалы, не совсем удобно настраивать ,надо подсказку с собой таскать, так сделан kordtimer, который продают в фасршопе.
У меня наконец то приехал регулятор, можно приступать к экспериментам на ардуинке. Сейчас на работе разгребу, перепаяю все провода , отрежу лишнее, и можно тестировать.
Поэтому надо поднимать точку доступа на платке, нагружать dhcp сервер, чтобы телефон подключался к контроллеру, плюс туда загружаем веб интерфейс. Круто, но сколько всего надо запихать в таймер. А еще надо как то телефону объяснить, что если нет интернета на этой точке доступа, то не надо от нее отключаться и переключатся на 4g.
все придумано до нас
есть готовый
jeecrypt / JeeUIFramework
Это веб интерфейс, про подключение через вайфай, к модулю как к точке доступа ни слова.
Проблема автоматического переключения между 4г и вайфай, при отсутствии интернета, так же остается.
И это не проблема модуля, так сделаны телефоны.
Я на это напоролся, когда на модуле esp8266, собирал проект для rgb - конвертера. Такая же проблема наблюдается при использовании диагностики автомобиля obd2, через вайфай, мобила отключается от модуля и ломится в инет через 4г.
Единственным выходом было, глушить любой интернет на телефоне, на время настроек, что очень не удобно, ни чего не посмотреть в интернете, пока не закончишь настройки, а потом главное не забыть включить инет обратно))
я с таким до сих пор не сталкивался, спорить не стану.
да и тут толком пока не разбирался, пока не до того.
на днях повешу машину на подъемник, вот тогда успокоюсь.
ЕМНИП в данном случае все работает как в китайских квадрах и вертолетиках с камерой.
смартфон подключается к открытой сети и в окне браузера открывается страничка.
Для внука в свое время делал управление катером через RemoteXY,
судя по всему тут работает примерно так же )
А кстати, использовать RemoteXY (remotexy.com/ru/editor/) тоже как вариант.
Поддержку ESP32 в среду они прикрутили, у меня на ESP8266 катер метров на 20 от берега бегал )
Кста, в RemoteXY добавлен функционал подключения ардуинок к смартфону по USB OTG.
На днях посмотрю, что это такое.
с RemoteXY засада, бесплатно получится только пять элементов на экране,
если нужно больше, тогда Pro версия программы для смартфона и она стоит 1200 рублей.
Ну не настолько это и дорого, если софтина толковая и в ней будет необходимость.
Я думаю, со смартфоном заморачиваться рано, надо хотя бы на ардуино проект довести до конца. Предновогодняя суета, не дает возможности, сесть за паяльник, чтобы собрать таймер и потестить(((
В результате “теоретических” исследований и анализа экспериментов,
поставленных на WeMos ESP8266 Mini …
Короче, применение данного девайса на данный момент не целесообразно.
Суть эксперимента - запустил на девайсе простую программу в цикле,
- изменение уровня сигнала на выходе МК в каждом цикле программы.
А дальше смотрел меандр на выводе МК с помощью осциллографа.
Был сильно удивлен результатами измерения периода меандров.
Nano v3 ATMEGA238P 16МГц - ~2мкс, т.е. один цикл примерно 16 тактов.
WeMos на тактовой частоте 80МГц - ~8мкс - 320 тактов
WeMos 80МГц с поднятым WEB интерфейсом - >30мкс - 2500 тактов
“Георгия Ивановича”, так зовут мою машину, после ДТП на колеса поставили,
дальше буду ждать кузовной ремонт, но можно выдоохнуть.
Так что продолжу кропать программу, осталось вспомнить - на чем остановился
хотя … нашел видео
и все сразу стало не настолько однозначно.
не знаю откуда берется такая задержка в переключении выхода микросхемы 8266,
но “математика” у ESP8266/ESP32 работает значительно быстрее.
В общем, выявлю “отложенный” на месяц баг и попробую запустить таймер на ESP8266.
Я думаю, со смартфоном заморачиваться рано
стоит определится с платформой.
вариантов Pro Mini, как выяснилось, существует как минимум три варианта,
с разным расположением A4/A5.
а это влияет на разведение печатной платы.
Сделать на “все случаи жизни” я попытался,
но в варианте “однослойного монтажа” у меня получилось не очень красиво.
А “двухслойные” платы придется заказывать на стороне, а это лишние деньги.
А маленькая и легкая ESP32C3 существует в одном варианте
и может занимать значительно меньше места на кросс-плате.
Плюс от использования ESP32C3 в качестве вычислительной платформы таймера
- USB разъем для программирования, не нужен USB-UART.
- пока “теоретическая”, возможность программирования параметров через WEB со смартфона,
платформу для реализации уже нашел, JeeUI2 позволяет реализовать точку доступа,
стартовую страницу с сохранением введенных значений.
Этот функционал я уже опробовал на WeMos D1 ESP8266. - отсюда становится не нужен программатор на UNO с LCD KEYPAD
Пока что на мой взгляд сплошные плюсы, осталось понять, хватит ли ресурсов )
Продолжил изыскания в сторону ESP в качестве платформы для проекта
И выяснил, что большая задержка вызывается переходом от завершения основного цикла в его начало.
Сделал маленькую WEB-мордочку
и начал эксперименты
void loop()
{
stateLed = !stateLed;
digitalWrite(2, stateLed); // Turn the LED on (Note that LOW is the voltage level
stateLed = !stateLed;
digitalWrite(2, stateLed); // Turn the LED on (Note that LOW is the voltage level
jee.handle();
restart_handle();
jee.btnCallback("btn1", btnUI);
}
этот код дал вот такую картинку
Промежуток между импульсами, это внутренние “терки процессора”,
связанные с WEB интерфейсом, примерно 35мкс, пауза постоянная, не зависимо от написанного кода до выхода из loop()
На таймер импульсы от формирователя приходят с частотой 20-25КГц/~40мкс,
думаю проблем с совместимостью быть не должно
Вывод, на днях приедет ESP32C3 протестирую ее в качестве “мозга”
разным расположением A4/A5.
На односторонней плате это можно решить с помощью перемычек, куда надо, туда проводочик и кинул. Но я думаю может не кросс плата, а отдельная плата для функции гувернера, на разъем подцепил, и разводи с него как хочешь, на любую ардуину.
Так же и с платой гироскопа/акселерометра, надо, повесил, закрепил в нужной части модели. Не будет привязки к формфактору ардуины.
Я порылся в инете, есть про мини 26*26мм, крос плата уже не подходит, так как там совсем другое расположение контактов.
Надо выбрать один формфактор и под него делать кроссплату, и второй вариант, отдельная плата гувернера и гироскопа, под любой размер про мини.
Вчера получил из Китая модуль ESP32C3 и даже успел его протестировать.
Тестовая WEB морда на него встала и даже не глючила,
правда пришлось освоить MS VS Code )), в Ардуино все собирается криво и с геморроем.
Быстродействие даже на фоне ESP8266 значительно выше, картинки к вечеру постараюсь “нарисовать”.
А пока сделал фотографии с размерами
Сверху MPU6050 и ESP32C3, дальше Arduino Pro Mini, самый нижний первый прототип.
Что то мне подсказывает, что в размерах прототипа вполне реально сделать кросс-плату.
Кроме того, чистая экономия на программаторе и UCB-TTL, для программирования Pro Mini
Вес модуля ESP32C3 на 25 процентов меньше веса ProMini
Ну и для сравнения крайние цены.
я четвертый день болею, мозг не варит, в общем что то сломал в MS VS Code,
подгрузил какую то библиотеку не по делу, теперь проект жалуется …, завтра начну с начала.
что удивительно, тоже самое сделанное для 8266 прекрасно компилируется и запускается ((
Геннадий, поправляйтесь! Запаял я наконец, регулятору дополнительные выводы, и потестировал систему на KR таймере.
Почитал, инструкцию к нему внимательно,и там упоминается о работе гувернера по напряжению на выходах регулятора, а не по частоте, и гувернер, добавляет обороты только вверх, а не в обе стороны. Так же KR таймер имеет семь ступеней усиления оборотов, что и создает имитацию режима 4-2-4.
Может имеет смысл добавить данный функционал в скетч таймера?