dontsov 0 22 марта, 2018 Опубликовано 22 марта, 2018 (изменено) · Жалоба Добрый день! Есть связка: Attiny85 (slave), ESP8266 (master). Кусок посылки иногда в виде FF. Не всегда. Может ли это быть из-за того, что внутренний генератор Attiny85 не откалиброван? Я ставлю сон 60 мин, просыпается через 62 мин. Частота: 100кГц В attiny85 библиотека: https://github.com/puuu/USIWire у ESP стандартная "Wire" Делаю wi-fi счетчик воды. Автономный. https://github.com/dontsovcmc/ImpCounter p.s. Хочется услышать конструктивную критику в целом по проекту. Спасибо! Изменено 22 марта, 2018 пользователем dontsov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба I2C на времянки никак не завязана. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 64 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба Частота: 100кГц 100кГц - это максимальная частота, возможно вы её превышаете и кто-то не успевает отрабатывать. Попробуйте поставить 75кГц например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба 100кГц - это максимальная частота, возможно вы её превышаете и кто-то не успевает отрабатывать. Попробуйте поставить 75кГц например. В I2C, насколько помню, обычно есть требования не по частоте клока, а по длительностям положительной и отрицательной частей периода SCL. Частота может быть в норме, а вот какая-то длительность зарезана. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 64 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба Частота может быть в норме, а вот какая-то длительность зарезана. Подозреваю, что внутри чипов тайминги выдержаны, а вот работу на максимальной частоте.... Attiny сдюжит и 400кГц(хотя это как порты и USI настроишь), а вот ESP8266 сурово оптимизирован - может косячить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба Делаю wi-fi счетчик воды. Автономный. https://github.com/dontsovcmc/ImpCounter p.s. Хочется услышать конструктивную критику в целом по проекту. Насчёт "в целом" - сильно сомневаюсь в сказанном там: "Двух батареек АА должно хватить на несколько лет!" ESP8266 жрёт и греется как утюг - во время работы чип всё время горячий. На профильном форуме писали о его токах потребления в сотни мА. И насчёт "в режиме передачи данных: 70мА (~2 секунды)" - ну-ну, автор конечно невзначай забыл про время на подключение ESP8266 к WiFi после просыпания. Имхо: разумнее было вместо AVR+ESP взять 2 каких-нить CC2530 (или подобный МК со встроенной RF-частью), один прицепить к счётчику, другой - к роутеру (и запитать от него). И получить реально долгое время работы от батарейки. Но как всегда - автор пошёл тупым абдуриновым путём... :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dontsov 0 27 марта, 2018 Опубликовано 27 марта, 2018 (изменено) · Жалоба Attiny сдюжит и 400кГц даже, если на частоте 1МГц работает? Про стабильность i2c на ESP8266 почитаю, спасибо. Насчёт "в целом" - сильно сомневаюсь в сказанном там: "Двух батареек АА должно хватить на несколько лет!" ESP8266 жрёт и греется как утюг - во время работы чип всё время горячий. На профильном форуме писали о его токах потребления в сотни мА. И насчёт "в режиме передачи данных: 70мА (~2 секунды)" - ну-ну, автор конечно невзначай забыл про время на подключение ESP8266 к WiFi после просыпания. Имхо: разумнее было вместо AVR+ESP взять 2 каких-нить CC2530 (или подобный МК со встроенной RF-частью), один прицепить к счётчику, другой - к роутеру (и запитать от него). И получить реально долгое время работы от батарейки. Но как всегда - автор пошёл тупым абдуриновым путём... :smile3046: Это же очень просто измерить: вывод в лог с временными метками. По логу я вижу, что подключение идет очень быстро. (отчасти из-за режима deepsleep. Если отключать EN, пробуждение будет дольше). Почему же путь тупой, если устройство работает? Я взял то, что больше описано, хотя и наткнулся на тонну нюансов =(. Изменено 27 марта, 2018 пользователем dontsov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 27 марта, 2018 Опубликовано 27 марта, 2018 · Жалоба Это же очень просто измерить: вывод в лог с временными метками. По логу я вижу, что подключение идет очень быстро. (отчасти из-за режима deepsleep. Если отключать EN, пробуждение будет дольше). У меня ESP8266 к роутеру секунд 10 подключается. Не после сна, холодную, но всё же.... Почему же путь тупой, если устройство работает? Я взял то, что больше описано, хотя и наткнулся на тонну нюансов =(. Тупой, потому что поставили цель - батарейное устройство, и для реализации самый наихудший наверное по потреблению вариант. Да и реализация - наихудшая, потому что "абдурина". Этим всё сказано. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 27 марта, 2018 Опубликовано 27 марта, 2018 · Жалоба Чтобы снять все вопросы по I2C 1. Подтягивающие резисторы должны быть не более 10 кОм. (это определяет быстродействие шины, завал фронтов, помехоустойчивость) Вообще - см. стандарт от NXP. Наблюдал случаи, когда эти резисторы ставили 100 кОм :) 2. Длина проводников шины должна быть минимально. Хотя будет работать достаточно устойчиво и на 20-30 см / 200 кГц. 3. Максимальная частота SCL шины (по базовому стандарту) 400 кГц. 4. Гарантированно не должно быть помех. Любая импульсная помеха может исказить инф. на шине или вообще ввести в ступор мастера и/или слейва. Это требование к разводке платы, расположению проводников. 5. Опятьже по стандарту нормируется длительность фронта-спада (это завязано на п.1 выше) Для проверки что все правильно желательно посмотреть осцилографом что происходит на шине. ps. Построение подобных приборов учета "в целом". В прибор устанавливается 2 батареи - одна литиевая, долгоиграющая, на 2-4-8 лет работы "ядра" измерителя. (она обеспечивает только метрологическую ф-ию прибора, без второстепенных, вроде питания радиоканала или даже индикации) К этой метрологической батарее доступ только через сертифицированный сервис или при поверке прибора. Вторая батарея имеет свободный доступ, и может заменяться даже потребителем. На нее навешиваются все остальные потребители - внешний интерфейс, радиоканал, индикация, подсветка и т.п. т.е. то, что не имеет отношения к метролого-коммерческой ф-ии учета того, чего меряем. ---- Радиоканал очень прожорливая весч. Оно постоянно должно находится в режиме дежурного приема, или работать с каким-либо периодом. Я уже не говорю о режиме передачи. Если ОНО будет активироваться раз в сутки, на 10 секунд - то еще куда-ни-шло. Если же Вы хотите получать инф. с девайса в реалтайм - то батарейки придется менять достаточно часто. Это утомительно и унизительно. К томуже Attiny85 - далеко не микропотребляющий контроллер. См. STM32Lxxxx, MSP430 итп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladec 7 28 марта, 2018 Опубликовано 28 марта, 2018 · Жалоба Оно постоянно должно находится в режиме дежурного приема По современной идеологии построения таких систем, инициатором обмена всегда должен быть датчик, так что вся работа по соединению и передаче данных только при периодическом просыпании и WiFi здесь не годится, надо использовать что то предельно узкополосное, например, CC1310. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dontsov 0 28 марта, 2018 Опубликовано 28 марта, 2018 · Жалоба . Это утомительно и унизительно. К томуже Attiny85 - далеко не микропотребляющий контроллер. См. STM32Lxxxx, MSP430 итп. Спасибо за подробную справку про i2c и схему работы автономных устройств! Вы так пишите про attiny, что я чувствую себя предлагающем схему мультивибратора на картонке на транзисторах МП42.. Про STM понял.. У меня устройство по таймеру ресетит ESP и слушает команды от него. Т. е. постоянная связь не нужна. WiFi я использую потому что хочу сделать "домашнее" устройство. Воткнул и забыл. по этой же причине выбрал распространённые детали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 28 марта, 2018 Опубликовано 28 марта, 2018 · Жалоба WiFi я использую потому что хочу сделать "домашнее" устройство. Воткнул и забыл. Так какое же это "забыл" если вспоминать про батарейки каждый месяц придётся? Сами себе противоречите. "Воткнул и забыл" это сделать на чём-то действительно малопотребляющем (отдельный RF-модуль или ZigBee или ...), но никак не ESP8266. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 28 марта, 2018 Опубликовано 28 марта, 2018 · Жалоба Пока Вы работаете с прототипом, процессор не принципиален. Главное - чтобы Вам с ним было комфортно работать с точки зрения тех. характеристик и софта. При этом свой софт надо изначально писать с ориентацией на переносимость на другие процессоры (реализовывать свой HAL). После прототипа проект можно соптимизировать как в сторону более простого-дешевого процессора, так и наоборот. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться