ARDUINO Часы на ГРИ v1. Обсуждение проекта

Часы на ГРИ v1. Обсуждение проекта
Перечень компонентов с возможной заменой.
Список корректируется по ходу накопления опыта форумчан.

Алекс предоставил несколько версий плат под следующие индикаторы:
ИН-14 6 шт либо,
ИН-14 4шт на часы, минуты и ИН-16 2шт на секунды, либо
ИН-12 6шт
Также для схемы подойдут любые цифровые газоразрядные индикаторы ИН, но плату индикации придётся доработать самостоятельно.


R1 220 Ом 1 шт Заменить на 0,2 ом(кусочек нихромовой проволочки)
остальные резисторы 0.125 Вт , 0,25Вт, любые (главное чтобы умещались на плате)
330 Ом 2 шт R3, R4
470 Ом 1 шт R7
3 кОм 1 шт R14
10 кОм 3 шт R10, R13
33 кОм 1 шт R15
390 кОм 1 шт R5
1 МОм 1 шт R6

250 кОм 1 шт R8 - Не нужен, если вместо него поставить перемычку И
паять последовательно к каждой лампе свой резистор 200-500 кОм(от R зависит яркость)

транзисторы биполярные:
KT3102 1 шт Т2 (любой n-p-n транзистор подходящего габарита, например КТ315, КТ503 и т.п)
КТ3107 1шт Т3 (любой p-n-р транзистор подходящего габарита, например КТ361, КТ502 и т.п)
mosfet
IRF840 1 шт Т4
конденсаторы:
10 мкф 16В 2 шт С3, С4 (стоят на питании схемы. Чем больше номинал, тем лучше)
4.7 мкф 400В 1 шт С 10 (любое близкое значение номинала и напряжения)

0.1 мкф 1 шт С5 керамические подходящего габарита
510 пф 1 шт С8 керамические подходящего габарита
С1, С2 - От 0,033 до 1мкф Керамические подходящего габарита. Номинал не принципиален. Помехоподавление по питанию.
TLP627 7 шт - оптопары
к155ид1 1 шт - дешифратор Аналог SN74141
MC34063 1 шт - схема управления преобразователем напряжения
LM7805 1 шт - стабилизатор на 5в. (Отечественный аналог КР142ЕН5)
HER106 1 ШТ - быстродействующий диод (аналоги в яндекс)
240uH 1 шт - дроссель на 240мкГн (либо ближайший номинал)
Ds3231 1 шт - модуль часов
***************************************************************************************************
Доп. модули и их обвязка: (опционально)
Без этих деталей часы всё равно будут работать.

DHT22 1 шт - датчик температуры и влажности
10 кОм 1 шт R10

ds18b20 1 шт - датчик температуры
4.7 кОм 1 шт R9

PIEZO 1 шт - пищалка Q1
1кОм 2 шт R11, R12 620 - 1,5к
ВС547 1 шт Т1 для пищалки(любой n-p-n транзистор подходящего габарита, например КТ3102, КТ315, КТ503 и т.п)

Ниже есть схема, трассировка и рисунок платы с различными версиями отрезной части под индикаторы.
Плата состоит из двух деталей, размер снят по линиям шелкографии:
160х66 основная,
153х27 плата индикаторов (под Ин-12 размер отличается)
 

Вложения

Изменено:

Комментарии

какпопалович

✩✩✩✩✩✩✩
10 Мар 2020
6
0
в 22 заводская колибровка а в 11 какое вышло но там есть резюк им можно вопрос в цене 80 грн разбег 11 и 22
 

rico1271

✩✩✩✩✩✩✩
22 Фев 2020
12
1
technotrasher, я установил Вашу прошивку на часы из поста 1317. Работает нормально.
Но можно просьбу доработки, я надеюсь доработка несложная, а я, к сожалению, в программировании не силен.
В прошивке от Гайвера при установке часов необходимо установить часы, минуты. Затем при выходе из режима установки часов
секунды сбрасывались на ноль. Была возможность достаточно точно настроить время.
В Вашей прошивке при выходе из режима настройки секунды не сбрасываются. Можно настроить часы, минуты.
А секунды какие есть такие и остаются. Можно ли в Вашей прошивке сделать так, что бы секунды сбрасывались на ноль
при выходе из режима настройки часов. Спасибо!
Р.S. Глюки какие-то, вчера вечером время поменялось, первый раз если не ошибаюсь на 11-43, второй раз на 10-00, само собой, ничего не делал. Часы показывают только время, в прошивке вроде все поменял, убрал отображение температуры, влажности и прочего. Сегодня еще понаблюдаю.
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
@какпопалович, точность резистором не поправить. Можно в данный конкретный момент выставить на выходе DHT-11 точную температуру, но АЦП не термокомпенсирован и имеет довольно грубые ступени преобразования, в результате показания будут уходить. Если брать на Али, то разница не стоит проблем. Тут каждый решает для себя сам.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
523
229
technotrasher, я установил Вашу прошивку на часы из поста 1317. Работает нормально.
Но можно просьбу доработки, я надеюсь доработка несложная, а я, к сожалению, в программировании не силен.
В прошивке от Гайвера при установке часов необходимо установить часы, минуты. Затем при выходе из режима установки часов
секунды сбрасывались на ноль. Была возможность достаточно точно настроить время.
В Вашей прошивке при выходе из режима настройки секунды не сбрасываются. Можно настроить часы, минуты.
А секунды какие есть такие и остаются. Можно ли в Вашей прошивке сделать так, что бы секунды сбрасывались на ноль
при выходе из режима настройки часов. Спасибо!
Р.S. Глюки какие-то, вчера вечером время поменялось, первый раз если не ошибаюсь на 11-43, второй раз на 10-00, само собой, ничего не делал. Часы показывают только время, в прошивке вроде все поменял, убрал отображение температуры, влажности и прочего. Сегодня еще понаблюдаю.
элементарно, если почиать и изучить скетч. измените и будет нуль. rtc.settime(0, hrs, mins); Я тоже в программировании не силен. поэтому стремлюсь все изучить сам.
Есть глюк с установкой времени вручную. дело в том, что время, что отображается - это одно, а время в модуле - это другое. так вот - когда меняется время вручную - его нужно не забыть в модуль отправить. и не только отправить, а ещё убедиться, что оно туда записалось. я изучу этот баг.
 

mrokabes

✩✩✩✩✩✩✩
3 Окт 2019
16
0
@technotrasher, красиво неплохо . погодная станция на 50% ты забыл туда впеньдюртить дозиметр и как там его дачик проверки канцерогенов в воздухе к стати ситоимость его где то 2000 целковых у наших друзей
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
@mrokabes, тут я поддержу technotrasher (если это не шутка юмора у Вас): у него была сбалансированная идея и он её реализовал. Остаётся только апплодировать. Расширение функциональности без увеличения возможностей отображения - тупиковый путь. Я уже в том, что сделано с трудом бы ориентировался: отображаются разные цифры, об их значении можно только догадываться (если не знаешь). Сама по себе сменяемость "наборов" мне не очень понятна и импонирует, но вот реализовано так. И, я считаю, это отличным результатом!
 

Firefox3860

✩✩✩✩✩✩✩
14 Янв 2019
10
0
Самара
Люди, а сталкивался ли кто-нибудь с такой проблемой? Датчик ds18b20 через некоторое время работы часов начал иногда вместо нормальных показаний температуры выдавать значение -127.00. То есть сначала он работал всегда нормально, но примерно через 2 недели началось такое.
Сам датчик во влагозащитном метеллическом корпусе изначально был вынесен на длинном проводе через окно на улицу. Там же висит и сейчас, я ничего не менял. Реализацию его работы я дописывал в гайверовскую прошивку сам.
Ещё я заметил, что эта проблема уходит, если отключить внешнее питание (12 В) и оставить ардуину подключенной к компу через usb. Тогда показания всегда нормальные. Но при подключении питания -127 градусов выводится примерно в 3-4 случаях из 10. Может, наводки от генератора так влияют? Но почему тогда сначала такого не было?
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
Скорее всего дело в недостаточной ёмкости конденсаторов или их отсутствии. На длинных линиях нужно ставить конденсаторы в начале и в конце линии параллельно питанию. Также нужно обеспечить близкое расположение проводов сигнала и земли, чтобы предотвратить проникание импульсных помех с +5В.
Какую библиотеку использовали для DS18? Как работает?
 
  • Лойс +1
Реакции: Firefox3860

Chumniy_Doc

✩✩✩✩✩✩✩
18 Мар 2020
12
0
Можно ли портировать все фишки часов второй версии, на первую? По типу перемотки, случайного глюка и тп.
Сам в программировании практически 0, мб кто-то делал уже порт эффектов и поделится скетчем?
 

Firefox3860

✩✩✩✩✩✩✩
14 Янв 2019
10
0
Самара
Скорее всего дело в недостаточной ёмкости конденсаторов или их отсутствии. На длинных линиях нужно ставить конденсаторы в начале и в конце линии параллельно питанию. Также нужно обеспечить близкое расположение проводов сигнала и земли, чтобы предотвратить проникание импульсных помех с +5В.
Спасибо, я не знал, что надо ставить конденсаторы. Значит, всё таки помехи пролезают?
У меня есть конденсаторы на 0.1, мкФ, 510 пФ -керамические, ну и все электролитовые, которые используются на плате (10, 4.7 мкФ). Какой из них лучше подойдёт на эту линию?

Какую библиотеку использовали для DS18? Как работает?
Библиотеки поставил OneWire и DallasTemperature версии 3.8.0. Работают хорошо, в DallasTemperature много удобных функций для управления датчиком.
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
@Firefox3860, я по схеме достаточно активно прошёлся, у меня по ней много вопросов возникает именно с точки зрения адекватной работы источников питания. Не привык критиковать, поэтому не буду сейчас говорить обо всех проблемах. Но о ряде - скажу:
- параллельно C10 лучше бы поставить любой неэлектролитический конденсатор - частоты переключения и крутизна фронтов/спадов довольно большие, электролитический конденсатор с таким не справится; достаточно относительно небольшого (0,01-0,1мкФ прямо на ножки C10, обращаю внимание - напряжение должно быть не меньше 300В, лучше - больше); (в идеале - также увеличить ёмкость C10 и поблизости от входной высоковольтной линии на оптроны поставить ещё один плёночный конденсатор)
- я бы поставил плёночный конденсатор 0,1-0,5мкФ прямо на ножки 1, 2 LM7805 (по хорошему, конечно, перед ним поставить хотя бы небольшое сопротивление или индуктивность, но заставлять резать дорожки не призываю), увеличил бы C4 и C2;
- обычное всем известное правило - размещать небольшой плёночный или керамический конденсатор 0,1-1мкФ как шунт питания вблизи ножек питания микросхем; у нас таких мест несколько: вход в Ардуино (27 пин по схеме, 29 пин земля), VCC-GND DS3231, VCC-GND DHT22 или VDD-GND DS18B20 - смотря что стоит; так как у Вас длинная линия до DS18B20, то поставить конденсатор вместо DS18B20 (между VDD и GND), а второй конденсатор - непосредственно на ножках 1 и 3 термометра (так как DS18B20 можно соединять параллельно, то легко оставить один DS18 прямо на плате, а второй - вынести на проводах: получится измерение и температуры в помещении и температуры на улице - изменения в коде чисто косметические).
 
Изменено:

Firefox3860

✩✩✩✩✩✩✩
14 Янв 2019
10
0
Самара
А где именно на плате C10 и C4? Я что-то не нахожу там таких обозначений. Или смотрю куда-то не туда?

так как у Вас длинная линия до DS18B20, то поставить конденсатор вместо DS18B20 (между VDD и GND), а второй конденсатор - непосредственно на ножках 1 и 3 термометра
Значит, у меня сейчас припаян провод к плате на место ds18. Нужно прямо в этом месте параллельно ему припаять один конденсатор, а второй - на конце провода, рядом с датчиком, так? А больше 1 мкФ ставить не имеет смысла?
Датчик ds18 у меня один только, при этом DHT22 тоже на плате запаян - в комнате измеряет.
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
где именно на плате C10 и C4?
Все номера даны по принципиальной схеме в первом сообщении этой темы.
Датчик ds18 у меня один только, при этом DHT22 тоже на плате запаян - в комнате измеряет.
Вообще-то оба этих датчика подключены на один вход Ардуино и используют разные протоколы. По факту предполагалось, что будет использоваться ЛИБО DHT22, либо DS18. Удивлён, что у Вас так, параллельно, работает. Можете попробовать вынуть DHT22 для пробы? Может, это он с ума так сходит при получении неизвестной для него последовательности.
у меня сейчас припаян провод к плате на место ds18. Нужно прямо в этом месте параллельно ему припаять один конденсатор, а второй - на конце провода, рядом с датчиком, так? А больше 1 мкФ ставить не имеет смысла?
Да, про конденсаторы - именно так. Первый конденсатор значительно уменьшит ВЧ импульсы от БП, если таковые будут, которые поступают на длинные провода, второй - обеспечит небольшой запас энергии для питания DS18, если провалы в питании будут несколько длиннее.
Допишу: больше 1 мкФ смысла ставить нет, но если есть только больше, то хуже не будет.
 
Изменено:
  • Лойс +1
Реакции: Firefox3860

Firefox3860

✩✩✩✩✩✩✩
14 Янв 2019
10
0
Самара
Все номера даны по принципиальной схеме в первом сообщении этой темы.
Ага, нашёл.
Вообще-то оба этих датчика подключены на один вход Ардуино и используют разные протоколы.
Разве к одному? На схеме ведь сигнал от DHT22 подключен к D2, а сигнал от DS18 - к D11. Или я не так понял?
Вынуть уже не получится, он четырьмя ногами припаян.

За рекомендации по конденсаторам спасибо, буду пробовать :)
 

какпопалович

✩✩✩✩✩✩✩
10 Мар 2020
6
0
день добрый кто сталкивался идет писк на кондере 60в и сильно греется

мтк может быть виновен ? к неме дороги
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
Разве к одному? На схеме ведь сигнал от DHT22 подключен к D2, а сигнал от DS18 - к D11.
Извиняюсь, моя ошибка. Схемы рядом не было, ориентировался на описание и на память - память подвела. :) Тогда точно DHT22 выпаивать не нужно.
Есть ли возможность в принципе померить напряжения?
идет писк на кондере 60в и сильно греется
Скорее - проблема в индуктивности. Либо индуктивность мала, либо ток, на который она рассчитана. Если есть писк, значит генератор работает на очень низкой частоте, Стоит посмотреть на ёмкость C8.
 

Firefox3860

✩✩✩✩✩✩✩
14 Янв 2019
10
0
Самара
Есть ли возможность в принципе померить напряжения?
Да, вольтметр есть. Я думаю, надо наверно измерить напряжение на конце провода, а то вдруг там от 5 вольт уже мало что остаётся, и датчику не хватает...
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
почемугреется с10 ?
Не видел платы, возможно, нагревает что-то рядом стоящее. Если греется действительно он, то, возможно, большая утечка или ESR (некачественный конденсатор). Какое на нём, кстати, напряжение?
540 чего?
 

какпопалович

✩✩✩✩✩✩✩
10 Мар 2020
6
0
@poty, 540 pf, заменил 34063 свист ушол кондер грется перестал(теплый) , а 840 аж дымит (тоже проверил и заменил ) напряжение было 72в стало 6в на кондере
 

poty

★★★★★★✩
19 Фев 2020
3,416
976
Если греется IRF840 и напряжение на конденсаторе маленькое - скорее всего либо T2, либо MC34063, либо всё та же индуктивность.
 

SL.y

★✩✩✩✩✩✩
22 Мар 2020
150
44
Уважаемые знатоки. Мне не нужны датчики влажности и температуры. В программировании не очень. Но очень хочу сделать на часы перебор всех катодов. Вот что удалось написать самостоятельно, но я не могу пришить это к v1.3. Помогите пожалуйста.
void loop() {
int a[]={0,0,0,0,0,0};
show(a);
delay(100);
int b[]={1,1,1,1,1,1};
show(b);
delay(100);
int c[]={2,2,2,2,2,2};
show(c);
delay(100);
int d[]={3,3,3,3,3,3};
show(d);
delay(100);
int e[]={4,4,4,4,4,4};
show(e);
delay(100);
int f[]={5,5,5,5,5,5};
show(f);
delay(100);
int g[]={6,6,6,6,6,6};
show(g);
delay(100);
int h[]={7,7,7,7,7,7};
show(h);
delay(100);
int i[]={8,8,8,8,8,8};
show(i);
delay(100);
int j[]={9,9,9,9,9,9};
show(j);
delay(100);
}