Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Re: Термостат на AVR (arduino)

Ср апр 08, 2020 21:24:21

Глобальный карантин этот, побери его :))) когда они там ещё может приедут, а 18S20 были,

Понял… попробую для DS18S20 переписать… :)
после чего отключаться и пока не наступит +3,5

Так это его полный диапазон… представь, что компрессор будет включатся при +3… это же продуктам хана… :dont_know:
А схема есть от этого Danfoss EKC-101 ATtmega8L?

Есть. Срисовал с термостата. Первые МК шли с незакрытой прошивкой. :)

Re: Термостат на AVR (arduino)

Ср апр 08, 2020 22:06:26

Так +3 это не в морозилке, термостат в холодильном отделении, его трубка на заднюю стенку туда выведена .
"No Frost", "капельная система разморозки холодильника" (называемая также "плачущей")
https://fb.ru/article/121083/kapelnaya-sistema-razmorozki-esli-vash-holodilnik-plachet---eto-horosho

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 05:54:41

Понял… сделать уставку включение +3,5 а выключение -15? Или иные...?
А при обрыве датчика компрессор выключать, при его работе?

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 07:09:01

Хм... Вот так, оптимальную точную сейчас трудно сказать, она во время работы холодильника подбирается... Стояло раньше в положении чуть больше среднего, а что удалось найти по термостату:

"Термостат K59-L1275 = K59-L1188 (температура : тепло +4....-13, холод +4.....-26"
Есть такое описание
Таблица температурных характеристик термостатов Ranco K59
В графах "тепло" и "холод" таблицы указаны температуры срабатывания термостатов при крайних положениях ручки регулировки:
"тепло" — крайнее положение против часовой стрелки.
"холод" — крайнее положение по часовой стрелке.

И в таблице похожий K59L1185, где вкл. +3,5, откл. -9... -27

Получается, что наверно где-то примерно в районе -15...-20

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 07:15:27

А при обрыве датчика компрессор выключать, или оставить постоянно работать?

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 07:32:21

Так-то алгоритм в этом готовый вполне, кроме другого датчика, регулировки температуры
Попробовал собрать его на соплях - вроде все так работает, но мой датчик 18S20 понятно врёт там...

https://datagor.ru/home-automation/2961 ... 18b20.html

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 07:43:28

Я думал нужен термостат на тини13, а оказалось нужен как по ссылке? Для тини13 уже написал тестовый вариант. :) Хорошо почитаю по ссылке… посмотрю какой алгоритм реализован. И что там за схема.

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 07:48:33

Тини13 где-то была, можно и на ней попробовать


Правда есть небольшой вопрос: только как температуру контролировать? вдруг датчик не то мерит :)))

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 08:26:08

Правда есть небольшой вопрос: только как температуру контролировать? вдруг датчик не то мерит :)))

Как, как – ручками! :))) Берёшь бытовой термометр и размещаешь его в холодильнике. Потом периодически заглядываешь. :)

В общим вот прошивка для тестов. Уставка включения +3,5 С. Уставки отключения зависят от коммутации выводов РВ3 и РВ4. Если оба вывода не замкнуты на землю, то уставка отключения будет равна -10,0 С. При замыкании РВ3 = -15,0; при замыкании РВ4 = -20,0. При замыкании РВ4, вывод РВ3 необходимо разомкнуть, иначе уставка останется -15,0 С. Есть задержка на включение при подаче питания (5 мин. 30 сек.). И задержка на повторное включение после отключения по уставке (30 сек.).
Схема:
Изображение
Прошивка:
DS18S20_Tiny13.hex


Пробуй на тини13 пока я буду писать программу для той схемы… :write: :))

Добавлено after 19 minutes 20 seconds:
Что-то не пойму какой индикатор в статье используется, ОА или ОК? :dont_know:

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 08:39:21

Индикатор ОА, в принципе проект тот есть в CVAVR

Пошёл доставать Тини13 :))) только у меня на эти датчики уже измена - собрал потестить датчик это
Компьютерный термометр на основе DS18S20
Комнатную кажет адекватно, пальцами зажимаешь и температура растёт, а вот взял из морозилки с -15 ёмкость тестовую со льдом и датчик ниже +5 никакая не хочет казать :( может тоже программа кривая на низкие температуры? Датчик же до -55 должен работать...
Изображение

Сам Liv на форуме давно не появляется и уже не спросить его про эту программу...

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 08:47:51

Какой индикатор у тебя, ОА или ОК? Можно пойти в два этапа, 1) вначале написать прошивку для термометра. 2) А затем на базе термометра написать термостат. Вот термометром и проверишь как показывает в минусовом диапазоне. Хотя это всё относительно… с чем сравнивать?

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 08:54:51

Индикатор стоит по той схеме ОА. Можно попробовать датчик термометре, а то что-то непонятки, прога что-ли такая, на минус не хочет покпзывать

В Тини13 фузы оставлять по заводским?

Re: Термостат на AVR (arduino)

Чт апр 09, 2020 14:25:44

В Тини13 фузы оставлять по заводским?

Да.

Добавлено after 5 hours 25 minutes 49 seconds:
Вот тестовая прошивка термометра… тактовая частота МК (ATmega8) 8 МГц от внутреннего генератора. Хотя можно и внешний кварц установить с прошивкой от внешнего кварца на 8 МГц.
Termostat_LED.hex

Схема термометра:
Термометр.png


Светик будет мигать постоянно, указывая на работу счётчика интервалов (двух зайцев…). :)) У меня нет таких датчиков, потому в железе показания проверить сам не могу. Померяй под мышкой температуру – интересно сколько покажет. :)

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 06:11:42

Индикатор стоит по той схеме ОА.

Ну что коллега, есть результаты? :)
Хотелось бы поговорить о деталях. Без конкретики простой. :sleep: Вначале нужно уточнить диапазон уставок температуры. А то в статье одни у тебя другие были обозначены. :roll: Потом о гистерезисе определится в плане диапазона… ну и тд. :)


ЗЫ. Перешёл на тактирование МК 16 МГц от внешнего кварца, чтобы повысить быстродействие выполняемых операций в прерывании (динамическая индикация определяет некоторые границы за которые не желательно выходить).

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 06:49:10

это что за офигенная нагрузка у тебя на процессор в примитивном термометре, чтобы так поднимать быстродействие?
лично у меня в термометре на 7-сегментниках процессор выполняет полезную работу всего несколько миллисекунд в односекундном интервале обновления информации на индикаторе.
и частоты 1 МГц хватает с огромным запасом.

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 07:41:24

Ну что коллега, есть результаты? :)
Хотелось бы поговорить о деталях. Без конкретики простой. :sleep: Вначале нужно уточнить диапазон уставок температуры. А то в статье одни у тебя другие были обозначены. :roll: Потом о гистерезисе определится в плане диапазона… ну и тд. :)
Результатов пока нема, потестить не успел - холодильник как бы действующий, потому не очень поиздеваешься всегда свободно над ним :)))
Успел слепить пробную, но вот потестить нормально пока не получается.

Изображение
Светодиод когда и что высвечивает? Пока при включении без датчика зажёгся секунд через несколько.
С датчиком, когда его затолкал в ёмкость со льдом, которую только достал из холодильника -13, то через некоторое время стал периодически зажигаться, потом погас. Вероятно температура емкости со льдом уже поднялась выше -10. Пока все тесты на этом...

Самсусамыч, спасибо за термометр! Может хоть датчики проверю на минусовую температуру, а то от компа не захотели ниже +6 показывать, а с тем Датагоровским как бы не должны были работать нормально, но и то там до +4 показания опускались, но и комнатную врали градуса на 4 выше.

По поводу тактирования - в холодильнике скорости большие наверно не нужны, там все процессы инерционные, всё меееедленно :))) хоть раз в минуту опрашивай и выводи... ну, может кроме каких-то аварийных ситуаций.
По поводу гистерезиса - как бы здесь получается, что включение привязано к +3,5 и только отключение меняется примерно в пределах -10...-26
Вот наверно и нужна возможность выбора в этих -10...-26

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 11:57:02

Светодиод когда и что высвечивает?

Светик загорается только при обнаружении неисправности датчика (там четыре вида неисправности – определяются при опросе датчика). И тухнет, когда температура прочитана без ошибок.
По поводу тактирования - в холодильнике скорости большие наверно не нужны, там все процессы инерционные, всё меееедленно :))) хоть раз в минуту опрашивай и выводи... ну, может кроме каких-то аварийных ситуаций.

Дело не в интервалах опроса датчика, а в реализации динамической индикации. В моём случае (для динамической индикации) прерывание по таймеру наступает каждые примерно 4,5 мс. Так вот за это время, мне необходимо перейти с разряда на разряд в индикаторе, опросить состояние кнопок, считать информацию с датчика. У меня не получилось за это время считать 9 байт с DS18S20 (выдерживая тайминги), и посчитать CRC. :dont_know: Потому пока просто тупо читаю 2 байта температуры без проверки. :(
По поводу гистерезиса - как бы здесь получается, что включение привязано к +3,5 и только отключение меняется примерно в пределах -10...-26
Вот наверно и нужна возможность выбора в этих -10...-26

Правильно ли я понял, что датчик будет крепится на испаритель в холодильной камере (ХК), а не просто мерить температуру воздуха в ХК?

Аварийные таймера предполагаются использовать, или нет в этом необходимости?

Добавлено after 1 minute 23 seconds:
лично у меня в термометре на 7-сегментниках процессор выполняет полезную работу всего несколько миллисекунд

Я рад за Вас, что Вы такой умелый.

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 12:51:38

а и не надо успевать за 4,5 мс считать 9 байт и посчитать CRC.
работа с датчиком и динамическая индикация между собой не связаны.
обращение к датчику все равно делается через длительное время, когда закончится преобразование.
даже если датчик работает по 9 бит, все равно интервал обращений к датчику должен быть не менее 100 мс. а по 12 бит - 750 мс.

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

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 13:05:38

паузы между байтами могут быть любой длины.

Вот этого не знал. :? Большое спасибо за ценную информацию! :beer:

Re: Термостат на AVR (arduino)

Пт апр 10, 2020 13:09:18

датчик просто ждет начала следующего тайм-слота, и ждать может сколько угодно.
и не только между байтами, но и между битами.
Ответить