• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Помогите с LIGHT_SLEEP и пробуждением по таймеру

Bobrius

New member
RTC у ESP8266 ходят так-же от встроенного RC. Т.е. точность у них никакая.
Спасибо, придется реализовывать синхронизацию через инернет. В принципе потаскал 3 дня устройство с собой и расхождение во времени за 3 дня составило менее 0.25 секунд (то есть глазом не заметно, точнее сказать не могу).
 

nikolz

Well-known member
Спасибо, посмотрел, но в документах явно указано что пробуждению происходит только по пину. По таймеру только для MODEN_SLEEP_T или DEEP_SLEEP. Хотя время и передается. Обидно, что SDK не допилили до идеала. Попробовал подключить керамический конденсатор + подобрать сопротивление, чтобы вышло 0.1-0.2. Пока это лучший вариант, не надо никаких внешних микроконтроллеров. Но время сна надо будет получать из RTC, ведь время сна зависит от слишком большого количества случайных велечин
1) есть два режима
-по пину и таймеру(см п 3.7.5) По таймеру от 10 мс.
примеры
п 3.7.9
первый пример - по таймеру
второй пример - по пину
--------------------
в режиме по пину никакие внутренние таймеры не работают
поэтому задержку определить внешними приборами.
2) резистор не надо. Достаточно кондера.
 

nikolz

Well-known member
И точное потребление выяснить не получилось, все мои амперметры показывают около максимальную силу тока. Видимо слишком часто происходит смена сна и работы для измерения. Тут буду считать за сколько часов сядет аккумулятор
существенно режимом Sleep при малой задержке не сэкономите
при входе и ток снижается постепенно.
 

Bobrius

New member
существенно режимом Sleep при малой задержке не сэкономите
при входе и ток снижается постепенно.
Да к сожалению результаты тетсирования не очень. Ток оказался около 30мА в среднем за день. Сон происходил каждые 172 мс.Видимо слишком умный чип и в бэкграунде хорошо кушает при входе и выходе из сна.
 

nikolz

Well-known member
Да к сожалению результаты тетсирования не очень. Ток оказался около 30мА в среднем за день. Сон происходил каждые 172 мс.Видимо слишком умный чип и в бэкграунде хорошо кушает при входе и выходе из сна.
можно уменьшить ток если будете работать в boot т е до старта Wifi
или используете SDK от pvvx без wifi
тогда ток при активном CPU будет 15 ма а в режиме Sleep 3...7 ма
т е в среднем уменьшите раза в три относительно достигнутого
 

Bobrius

New member
Bobrius,
тут на форуме есть топик
https://esp8266.ru/forum/threads/pr...rede-arduino-ide-1-8-2.4366/page-4#post-65396
может вам на attiny сделать и добавить модуль для передачи данных можно и ESP или jdy.
---------------
вопрос
какую информацию вы обрабатываете каждые 172 мс?
Спасибо за ссылку.

На счет 172мс - пока никакую не обрабатывал, только просыпался и засыпал, но поскольку я хотел делать часы, то должен был, по идее, обрабатывать акселерометр. То есть с учетом времени обработки акселерометра, долюно получаться около 3-х раз в секунду. То что надо, чтоб засечь шаг.
 

Bobrius

New member
Bobrius,
может вам на attiny сделать и добавить модуль для передачи данных можно и ESP или jdy.
Да, скорее всего так и будет. Но у меня прошивка достаточно универсальная для разных устройств с разными подключаемыми модулями и в atmega328 уже с трудом влезает с половиной функций. Поэтому жду посылки с Atmega128 и все заново.
 

nikolz

Well-known member
Спасибо за ссылку.

На счет 172мс - пока никакую не обрабатывал, только просыпался и засыпал, но поскольку я хотел делать часы, то должен был, по идее, обрабатывать акселерометр. То есть с учетом времени обработки акселерометра, долюно получаться около 3-х раз в секунду. То что надо, чтоб засечь шаг.
что-то я не догоняю.
зачем в часах акселерометр?
почему надо знать значения акселерометра через 172 mc а не через 172 мкс или 172 секунды?
что вы будете делать с показаниями акселерометра? Он у Вас 3D?
 

pvvx

Активный участник сообщества
В принципе потаскал 3 дня устройство с собой и расхождение во времени за 3 дня составило менее 0.25 секунд (то есть глазом не заметно, точнее сказать не могу).
Вы смотрели время RTC или счетчик от кварца? При засыпании, глубоком, типа deep-sleep можно оставлять включенным только RTC (в них и задается временной промежуток до просыпания). Но ход RTC зависит от температуры и при новом старте всегда переизмеряется и корректируется программно относительно кварца... Так-же тик RTC разный у каждого экземпляра.
 

Bobrius

New member
что-то я не догоняю.
зачем в часах акселерометр?
почему надо знать значения акселерометра через 172 mc а не через 172 мкс или 172 секунды?
что вы будете делать с показаниями акселерометра? Он у Вас 3D?
Такое хобби, я делаю "умные часы". 0.172 секунды - столько выдал случайный smd конденсатор и первый попавшийся резистор.
Если вас интересует порядок значения времени, то по моим прикидкам примерно 5 раз в секунду надо получать данные с акселерометра чтобы понять что человек идет и посчитать количество шагов, и для бега вполне достатоно (хотя лучше чаще), но счетчик шагов еще не сделал и сказать точно хватит ли этого не могу.
 

Bobrius

New member
Вы смотрели время RTC или счетчик от кварца? При засыпании, глубоком, типа deep-sleep можно оставлять включенным только RTC (в них и задается временной промежуток до просыпания). Но ход RTC зависит от температуры и при новом старте всегда переизмеряется и корректируется программно относительно кварца... Так-же тик RTC разный у каждого экземпляра.
По кварцу, я так понимаю RTC совсем не точные.

В любом случае я думаю отказываться от esp8266 в наручных часах, еще один экземляр отправиться на полку неудачных изобретений. Иметь wifi в часах конечно круто, но 70-150mA слишком расточительно по моему мнению. Даже если впадать в параною и тормозить все что только можно, батарейка будет уходить достаточно быстро.

Пока думаю ставить atmega128 для управлением экраном и хранение приложений и обработки сигналов с датчиков + attiny85 (или attiny24 в зависимости от объема программы) для акселерометра и пробуждения основного микроконтроллера. Но это уже в другой форум. :)

В любом случае опыт работы c esp получен и попробую что-то еще от него получить пока будут готовиться платы, пока будут идти все элементы из Китая и прочее.
 

nikolz

Well-known member
Bobrius,
это изобретаете:
название бренда: NEOON
тип дисплея: TFT
разрешение экрана: 128x128
Функция: 24-часовая инструкция, будильник, календарь, обратный отсчет, напоминание о вызове, фитнес-трекер, Трекер сердечного ритма, месяц, сообщение Push, трекер сна, неделя, монитор сна, монитор сердечного ритма, проверка артериального давления,шагомер,ble
чип: TLSR 8266
цена: 7$
 

Bobrius

New member
Bobrius,
это изобретаете:
название бренда: NEOON
тип дисплея: TFT
разрешение экрана: 128x128
Функция: 24-часовая инструкция, будильник, календарь, обратный отсчет, напоминание о вызове, фитнес-трекер, Трекер сердечного ритма, месяц, сообщение Push, трекер сна, неделя, монитор сна, монитор сердечного ритма, проверка артериального давления,шагомер,ble
чип: TLSR 8266
цена: 7$
Да я и не спорю что я изобретаю то что уже. Это же хобби :)

P.S. Компаса там нет, но я уверен, что за приемлемые деньги можно найти и с компасом, но не суть
 

Bobrius

New member
RTC у ESP8266 ходят так-же от встроенного RC. Т.е. точность у них никакая.
Провел замеры RTC при нагреве феном от паяльной станции примерно до 100 градусов и потом засунув в морозилку. Различия показаний RTC были в 20%. Что прямо беда.

Между комнатной температурой и морозилкой (что актуально будет зимой) разница при этом в 4%. Что лучше, но не фантан.

Как вариант будить чип каждые N секунд и калибровать разность кварца и RTC.
Но у меня отдельная проблема - с подключенной attiny в цепь питания, esp отказывается выходить из режима прошивки. Видимо зря я пренебрег фильтрами-кондесаторами или где-то нехватает стягивающего резистора.
Поэтому если будить такое устройство через час на улице в холод, когда оно засыпало дома, то получу совсем неправильные цифры.
 

pvvx

Активный участник сообщества
это изобретаете:
название бренда: NEOON
тип дисплея: TFT
разрешение экрана: 128x128
Функция: 24-часовая инструкция, будильник, календарь, обратный отсчет, напоминание о вызове, фитнес-трекер, Трекер сердечного ритма, месяц, сообщение Push, трекер сна, неделя, монитор сна, монитор сердечного ритма, проверка артериального давления,шагомер,ble
чип: TLSR 8266
цена: 7$
Для простого народа и в качестве хобби - для TLSR чипов пока нет и не будет программатора. А цена EVK платы с дурным закрытым вариантом программатора = много тысяч руб и он не рассчитан на все варианты: не восстанавливает чипы с неверно зашитым кодом (с ошибками пользователя его SDK).
Альтернативного народного программатора на них пока не ожидается в открытом доступе, хотя проблем с таковым нет (кроме написания пользовательского интерфейса и коду к какому STM32F103 в виде клона STLink V2 за ~90 руб на али)...
 
Сверху Снизу