Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Re: Часы на TFT

Ср апр 17, 2019 22:58:53

Обновил прошивку, сюда уже влом выкладывать, обновил в посте выше.
Там косметика и таки заставка. (Хотя мне заставка пока не нравится... Может еще перерисую...)

dadigor писал(а):Это похоже на игловское?
Да, похоже. только прямоугольнички на зеленой стороне - это полигоны, что бы можно было припаять кнопочки тем, у кого нет мелких кнопок (или они не будут ставить дисплей, а калибровать ИОН надо...)

Re: Часы на TFT

Чт апр 18, 2019 06:24:30

Браво, запустилось с "первого тыка"!
Немного тестовой информации:
1) Заставка мрачноватая, лучше, как минимум, сделать её бодрым, зеленым цветом. Может что другое придумаете Ну и звук был бы приятным дополнением.
Изображение
2) Первое включение
а) бледное отображение напряжения батареи, желательно, как общее свечение.
б) не была пропаяна перемычка 3.3 в на ВМЕ280 в часах, но откуда то появились правильные показатели, в первую очередь влажность(43%)
Изображение
3) пропаял перемычку 3.3в для ВМЕ280 появились другие данные влажности( порядка 18%, что сомнительно)
Изображение
4) перииодически идут неполные данные(чаще касается влажности). Может температуру с внешнего датчика без десятых?
5) немного триллера, вытащил внешний датчик на улицу, благо -4°С. Сигнал идет без проблем. До 0° все шло адекватно, но ниже 0-ля вдруг появилась страшная температура +99°С, побежал к внешнему датчику- он и показывает эти цифры
Изображение
:) . Копать там.

В целом очень приятное впечатление. Мелочи автор подшлифует.

Добавлено after 1 hour 43 minutes 49 seconds:
Несколько часов теста.
При отключении внешнего датчика, начинает показывать температуру от ВМЕ280 часов, вроде правильно( кстати, лишний раз говорит, что датчик нужно убирать от платы подальше, т.к. дает завышенную температру на +6°). Опять подключаю внешний датчик, а его данные не "пускают" показания ВМЕ 280 часов. Несколько перезагрузок обоих устройств и все восстановилось.

Re: Часы на TFT

Чт апр 18, 2019 08:11:27

1. Цвет заставки выбирала семейный дизайнер. Ей нравится фиолетовость.
2а. Батарейка, как второстепенный параметр, выводится неактивным цветом.
2б. Скорее всего, паразитного питания через подтяжку i2c хватало.
4. Неполные данные - это как ?
Температура отображается с округлением до 0.5°
5. См. личку.

Алгоритм выбора, что отображать, был на днях. Суть - если приходят внешние данные - они должны заменить внутренние во второй строке. Таймаут отсутствия внешних данных - 240 секунд.
Данные шлются раз в минуту. На проводном подключении у меня все работало. JDY не проверял пока с часами.... Но при тестировании с терминалкой на ПК коннект восстанавливался при любых манипуляциях с питанием как модуля, так и приемного модема.
Показания внешки не заменили внутренние в течении минуты ?

Re: Часы на TFT

Чт апр 18, 2019 08:51:51

Я сейчас не дома, буду через час, полтора.
Неполные данные, я имел ввиду, например на второй, по счету, фото. Напряжение батареи 4.5в, а отражается 0.4в, так же влажность 1%, а на самом деле 18%. Часто влажность, вместо двух цифр, отображается только одна. И т.д.
Напряжение батарейки желательно поярче.

Re: Часы на TFT

Чт апр 18, 2019 09:07:40

...ну вот заставят же переделать плату и тестировать с радиомодулями самостоятельно....
А по цвету батарейки - как скажете. Но все же - это вторичная инфа....

Добавлено after 1 minute 48 seconds:
Может батарейку более мелким шрифтом ? (Или как на внешнем модуле - батарейка с циферками ?)

Re: Часы на TFT

Чт апр 18, 2019 09:15:58

По батарейке, не по цвету, а по яркости, в какой то момент эта информация может быть первичной, а батареек под рукой не окажется.

ну вот заставят же переделать плату и тестировать с радиомодулями самостоятельно....

Немного не понял? От меня какую помощь надо?

Re: Часы на TFT

Чт апр 18, 2019 10:35:47

goldenandy, :beer: pin1000, красота! :))
2б - точно. Сам удивлялся, откуда берется питание, при выключенном лабораторнике, пока не убрал третий(общий) провод от переходника UART→USB. Похоже, как-то подпитывалась схема через порт контроллера?
5. Тоже нарвался, даже спросил в профильной теме, но толкового ответа не получил. Сейчас за окном +10, не проверить, а до холодильника не дотащить. :) Странно, что в даташите никакой информации не видно на тему околонулевой и отрицательной температур.

Re: Часы на TFT

Чт апр 18, 2019 10:54:45

pin1000 писал(а):ну вот заставят же переделать плату и тестировать с радиомодулями самостоятельно....
Немного не понял? От меня какую помощь надо?
Нит! Это я о своем, о женском...
Я не могу протестировать на текущей платке модуля радиоканал нормально. Старая версия платы, с драными дорогами и т.д.
А в холодильнике проверю.
Я, вероятно, знаю, где моя проблема, вечером смогу проверить, наверное...

Re: Часы на TFT

Чт апр 18, 2019 11:41:23

Я перепрошился на последнюю, 0-ль градусов прошли успешно, сейчас уж-8°С. Железную банку морозилки сигналом пробивает, отлично.
Данные идут без ошибки, нет потерянных цифирек.

Добавлено after 15 minutes 46 seconds:
Тест на мороз пройден успешно. Все показатели реальные и стабильные.
Изображение

Добавлено after 11 minutes 6 seconds:
Ещё одно Но появилось. Как себя будет вести дисплей внешнего датчика при очень низкой температуре . При -11, появились полоски. Я допускаю вариант, что перед низкими температурами, нужно сделать отключение дисплея.

Re: Часы на TFT

Чт апр 18, 2019 11:51:16

Или подгонку его контрастности.
По идее на низких температурах ЖКИ просто становятся сильно тормозные....
На наручных часах Электроника 53 так прикольно при -20 секунды переключались... Они как бы переливались из одной цифры в другую....

To all, не нужно ли на часах сделать отображение граничных температуры/влажности другим цветом ? Влажность менее 10 или более 80%, например... температура иже 25 или выше 30° ?

Re: Часы на TFT

Чт апр 18, 2019 11:59:27

Граничные температуры, понятия относительные. Кому и -40°с в удовольствие. :)
Но какое то изменение цвета циферок в зависимоти о температуры, конечно украсят и повысят информативность.

Есть устройства, типа хваленых айфонов, просто отрубаются зимой, даже кармане.

Re: Часы на TFT

Пт апр 19, 2019 04:22:19

Мое видение граничных показаний, ниже или выше которых не комфортно. Температура ниже 22° и выше 26°. Влажность ниже 30% и выше 60%

Re: Часы на TFT

Пт апр 19, 2019 07:44:30

А для уличных показаний ? Тоже +22..+26 ?
И как определить, показатель уличный или нет :)

Re: Часы на TFT

Пт апр 19, 2019 08:59:18

Можно сделать допущение, что человеку без разницы, где ему не комфортно на улице или дома, при этих температурах, прежде всего из-за того, что человек всегда одевается " по погоде". Поэтому уличная температура и домашняя примерно уравниваются. Конечно это без учета действия ветра, каждая одна еденица которого, условно, уменьшает общий градус температуры на один градус. Есть и отрицательное действие осадков и пр. Поэтому, в нашем случае , можно сделать просто допушение о одинаковом воздействии и спокойно продолжать жить дальше :) , не беспокоясь о страшном воздействии температуры. :)) "Страшно" было вчера, когда прибор показал +99°С, но все проходит- прошло и это.

Re: Часы на TFT

Пт апр 19, 2019 10:25:45

goldenandy, А как разрулили вопрос с температурой?

Re: Часы на TFT

Пт апр 19, 2019 14:53:24

Окончательная версия внешнего модуля, с учетом нюансов реализации, выявленных pin1000...

Изображение

Схематика
СпойлерИзображение


    Что умеет:
  • Поддержка датчика DS18B20 (температура)
  • Поддержка датчика ВМЕ280 (температура/влажность/давление) или BMР280 (температура/давление)
  • Отображение напряжения питания и информации с датчиков на ЖК-дисплее 84*48 пикселей (NOKIA 3310/5110) - для возможности использования модуля в автономном режиме
  • регулировка контрастности дисплея (кнопки "+" и "-")
  • Отправка информации с датчиков и напряжения питания по последовательному порту (9600,8,N,1), выход Тх - открытый сток (открытый коллектор)
  • Отправка информации с датчиков и напряжения питания по радиоканалу с применением модулей JDY-40 (UART-удлиннитель).
  • Посадочное место под JDY-40
  • Диапазон питания 2..5 вольт (в случае применения DS18B20 - 3..5 вольт)
  • Встроенный LDO-стабилизатор (для возможности питания 3.6 вольтовых ВМЕ/ВМР и JDY-40) при питании выше 3.6 вольт...
  • Программная калибровка измерителя напряжения батарейки, выполняется при питании от стабилизированных 3.30 вольт.
  • Подсветка дисплея


Данные об измеренных величинах отправляются в текстовом виде.
Изображение
(пример тестовой отправки данных, напряжение питания 3.3 В, температуры -19.75°С и - 66.25°С, давление 432 мм.рт.с., влажность 146%. Почти погода на Марсе)
Каждый параметр начинается с символа $, далее имя параметра = значение, завершается строка парой 0x0D, 0x0A (CR/LF). Десятичный разделитель у температуры - точка (.)

Если установлено 2 датчика - DS18B20 и ВМЕ280 - Т1 - температура с DS-ки, Т2 - с ВМЕ.
Если установлен только ВМЕ280 - Т1 - температура с этого датчика.
Если установлен ВМР280 - данные о влажности не отправляются.
Если нет ни одного датчика - отправляется только напряжение питания модуля.

Теперь более подробно.

СпойлерПитание модуля - через клеммы Х1, Х2.
Мозгом модуля является ATMega8A, тактирование - от кварца 4 МГц. Кварц применен для стабильности таймингов UART во всем диапазоне питаний и температур. Если передача данных по проводам или через трансивер не будет использоваться, кварц и конденсаторы С2, С3 можно не ставить, а сконфигурировать контроллер на работу от внутреннего тактового генератора с частотой 4 МГц и временем ожидания после пробуждения - 4мс.

Программирование МК осуществляется через контактные площадки JP1.
К данным площадкам можно припаяться на время программирования (поскольку операция эта одноразовая). Но там можно просверлить 6 отверстий и впаять PLS/PLS-R.

При использовании передачи данных Тх по проводам (выход типа Открытый сток) необходимо установить элементы R1,R3,R4,Q1,Q2.
Выход ТХ - клемма Х3.
Если датчик будет работать автономно - R1,R3,R4,Q1,Q2 можно не устанавливать...

Встроенный LDO IC2 управляется по входу EN, в дежурном режиме он выключен.
LDO и его обвязка устанавливаются только в случае, если нужно понизить питание для трансивера и/или ВМЕ.

Подключение ВМЕ:
Применимы датчики ВМЕ280 (или ВМР280 - тогда влажность не будет отображаться) в виде китайских модулей как в 4-контактном (со встроенным LDO), так и в 6-контактном исполнении (без встроенного LDO).
В случае применения 6-контактного датчика и питания модуля от напряжения выше 3.5 вольт датчик необходимо питать через LDO IC2:
необходимо установить R5,IC2,C9,C10 и перемычку SJ3 - замкнуть в положение 1-2
При питании ВМЕ напрямую от шины питания - R5,IC2,C9,C10 не устанавливаются (см. дополнительно питание трансивера), перемычка SJ3 - в положении 2-3

В случае применения ВМЕ со встроенным LDO, что бы этот LDO не жрал батарею, земля ВМЕшки заводится на транзистор Q3 - для этого перемычку SJ4 необходимо поставить в положение 1-2.
В положении 2-3 перемычки SJ4 земля постоянно будет подключена к ВМЕ.

Подключение трансивера JDY-40.
При использовании трансивера необходимо так же установить элементы D1,R8,R14,Q4,C11. Если использование трансивера не предполагается - данные элементы не устанавливаются.
В случае питания модуля от 4.5-5 вольт и использования трансивера JDY-40 (у него питание не выше 3.6 вольта) необходимо установить LDO IC2, R5,C9,C10 и установить перемычку SJ2 в положение 1-2.
Если предполагается питание трансивера напрямую от батареи (или трансивер не будет использоваться) - IC2, R5,C9,C10 можно не устанавливать, а перемычку SJ2 установить в положение 2-3.

При питании трансивера JDY-40 через LDO (при питании модуля напряжением выше 3.6 вольта) следует учесть, что JDE-40 "просыпается" после включения питания где то через 320 мс после подачи питания. Соответственно, в случае использования питания выше 3.6вольт (и, соответственно, использовании набортного LDO, который отключается и включается по сигналу от МК) для использования JDE-40 необходима прошивка с увеличенным временем питания трансивера перед началом отправки данных.

При включении питания происходит инициализация и поиск датчиков, далее проводится первое измерение, отправка данных, вывод их на дисплей, после чего модуль впадает в спячку на минуту.
Отсчет времени сна реализован через watchdog-таймер. Т.е. контроллер просыпается каждые 2 сек (приблизительно), смотрит - а не пора ли вставать. Если не пора - спит дальше. Если пора - опрашивает датчики, отправляет данные по uart, выводит данные на дисплей и обратно впадает в спячку...

Кнопки SW1, SW2 регулируют контрастность дисплея.
Кнопки применены вот такие.
Изображение, покупались вот тут
Если таких кнопок нет (или планируется использование модуля без дисплея) - можно воспользоваться контактными площадками на обратной стороне платы.

Светодиод LED1 светится в моменты, когда производятся измерения температуры, давления , влажности и идет отправка данных.

Дисплей.
Применен "народный" дисплей от Nokia 3310/5110. Такие дисплеи китайцы массово продают уже установленные на переходные платы.
Удобнее применять дисплей на "красной" плате - у него контактные отверстия сверху и снизу. Подключение дисплея к плате модуля осуществляется через нижний ряд отверстий. Так же на плате модуля предусмотрены два отверстия для крепления дисплея за два крайних контактных отверстия.
Подсветка не используется. Однако при проводном питании от электростанции можно установить резистор R10, перемычку SJ6 и тогда подсветка будет гореть все время.
Можно не устанавливать резистор R10 и LED1, а замкнуть перемычку SJ5 - тогда подсветка дисплея будет подмигивать при отправке данных вместо LED1.
Дополнительно - можно добавить кнопку SW3 - и включать подсветку вручную, что бы посмотреть показания.

Калибровка измерителя напряжения питания.
Измерение напряжения питания реализовано с использованием внутреннего ИОН контроллера. Поскольку напряжение данного ИОН может меняться от экземпляра к экземпляру МК, то реализована программная калибровка.
Для этого нужен внешний стабилизированный БП с напряжением 3.3 вольт.
Необходимо зажать обе кнопки регулировки контрастности и после этого подать стабилизированное питание на модуль.
Процесс калибровки длится около 300 мс. По окончанию калибровки загорится светодиод LED1. Кнопки после этого можно отпустить.
Выход из режима калибровки - только отключение питания (или сигнал сброс на МК).

Конденсаторы С6, С7 и С8. Для работы передатчика на уже подсевшей батарейке - ее нужно зашунтировать хорошей емкостью. Тут можно поставить или трухольный С6 - тут уже какой есть... от 47 до 1000 мкФ и выше (насколько хватит места в корпусе датчика). Либо можно поставить один или два тантала С7 и С8. С6 ставится на обратную сторону платы и кладется на бок. Место под 2 тантала предусмотрено, если нет одного тантала достаточной емкости.

Установка JDY-40. Он ставится на обратной стороне, антенная часть выходит за пределы платы и дисплея.
Трансивер можно зафиксировать изолированной перемычкой, для этого предусмотрены соответствующие отверстия на плате.


Ну и вид печатки напоследок
СпойлерИзображение

Изображение


Ну и теперь файлы.
ExtSensor_Mega_Disp_Release.zip
(393.51 KiB) Скачиваний: 168

В архиве проект Игл, pdf-ки для ЛУТа, герберы и прошивка. Герберы как для ЛУТа, так и для заказа на производстве.
Прошивок три:
Touch_Clock_v2_sensor_Debug.hex - тестовая прошивка, меряет показания каждые 6 секунд, при нажании кнопок включает LED1 (для проверки работы кнопок)
Touch_Clock_v2_sensor.hex - выполняет измерение показаний один раз в минуту, основная рабочая прошивка
Touch_Clock_v2_sensor_long_power_up.hex - основная рабочая прошивка с увеличенным временем пробуждения модема - для случаев, когда есть JDY-40 и питание выше 3.6в.

Фьюзы.
СпойлерИзображение


С учетом того, что модуль задумывался универсальный, варианты аппаратной конфигурации модуля с указанием необходимых перемычек и устанавливаемых компонентов сведены в табличку.
Подбор элементов и перемычек.pdf
(64.62 KiB) Скачиваний: 98


Замены элементов:
Транзисторы Q2,Q3,Q4 - в принципе, подойдут любые N-канальные мосфеты в корпусе SOT23. BSS123, BSS138, IRML2502 и т.д.. Тысячи их.... Q1 - тоже почти любой PNP в SOT23

LDO IC2 - Применен LDO LP2985-3.3. Можно применить аналогичный по расположению выводов и с напряжением стабилизации 3.0-3.3 вольта. Например, NCP551SN33 (для него, кстати, С9 не нужен).

Для проверки работоспособности радиоканала можно второй JDY-40 подключить через преобразователь UART-USB к ПК.
И смотреть отправляемые данные в любом терминале. Скорость 9600,8,n,1
СпойлерИзображение

Re: Часы на TFT

Пт апр 19, 2019 21:43:33

Сильно отличается от прежнего варианта? В смысле платы переделывать или так что то сделать можно будет.

Re: Часы на TFT

Пт апр 19, 2019 21:45:50

не, не сильно.
Для JDY40 Тх развзан диодом, а CS сделан через транзистор.
Прошивка подходит к прошлой версии платы.

Re: Часы на TFT

Сб апр 20, 2019 02:27:22

Выдалась двухчасовая пауза, решил все-таки сделать плату датчиков, а не экспериментировать с бме на соплях-макетках. Травить уже нет сил, завтра доделаю, если будет время. Делал всё из-под KiCad.
Изображение

Re: Часы на TFT

Сб апр 20, 2019 13:12:40

Идет неторопливая работа по корпусу Часы2. Делаю его из красного дерева-падук. Много подгоночных отверстий. В общем корпус не быстрый, еще пару дней нужно поработать. Динамик в миниколонке, она является подставкой для часов. Соединяться две части будут криволинейными стойками из полированной нержавейки. Все в абсолютно черновом состоянии и " наживулено" для фото.
Изображение Изображение
Последний раз редактировалось pin1000 Сб апр 20, 2019 14:37:00, всего редактировалось 1 раз.
Ответить