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

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Аватара пользователя
Sigma
Друг Кота
Сообщения: 10024
Зарегистрирован: Ср мар 06, 2019 12:23:29

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

Сообщение Sigma »

Диапазон вроде нормальный, можно такой же.

Добавлено after 3 hours 32 minutes 37 seconds:

Что-то утомили эти датчики...
На собраном термометре тоже ниже +3 не опускается. При включении вначале высветилось типа 85, потом комнатную 22,5 примерно правильно. Но ниже 3 никак...
Светодиод постоянно мигает, примерно с секундной частотой - это нормально? или он независимо от датчика мигает?
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

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

Сообщение musor »

с даласами давно известая фича после замера и отправки даты надо его усыпить(а лучше и снять питание) до следующего замера иначе он жутко грется и типичено врет на миинусах на +5...7с....за счет саморазогрева если кристал взят в металокорпусе милитари исполнения и прикрушен к масивной херне проблема не вылазит
юзайте термисторы и буддет вами счастье они кстати раз в 100 дешевле..
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Самсусамыч

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

Сообщение Самсусамыч »

[uquote="Sigma",url="/forum/viewtopic.php?p=3825043#p3825043"]На собраном термометре тоже ниже +3 не опускается.[/uquote]
Ну раз прога на ПК и тестовый термометр не показывают ниже +3, значит датчик такую температуру и выдаёт. Не может два разных устройства одинаково врать. Похоже датчики бракованные.
При включении вначале высветилось типа 85, потом комнатную 22,5 примерно правильно.
Это так и должно быть. При подачи питания на датчик, при первой конвертации он не зависимо от температуры в память заносит значение равное +85 градусам. Типа тестовое значение.
Светодиод постоянно мигает, примерно с секундной частотой - это нормально? или он независимо от датчика мигает?
Светик да, просто мигает не зависимо не от чего. Это визуальная проверка таймера отсчёта… каждую секунду светик зажигается.

Добавлено after 5 minutes 38 seconds:
[uquote="musor",url="/forum/viewtopic.php?p=3825151#p3825151"]с даласами давно известая фича после замера и отправки даты надо его усыпить(а лучше и снять питание) до следующего замера иначе он жутко грется и типичено врет на миинусах на +5...7с....за счет саморазогрева[/uquote]
Не нагоняйте жути… :))) датчики сами по себе так не разогреваются. Это какой должен быть ток, чтобы корпус разогреть на 5…7 градусов. :facepalm: Я на форуме как-то выкладывал результаты тестов с DS18B20, так вот они при минус 35 завышали только на 1,2 градуса. Выдавая в место -35,0С, значение -33,8С. Период опроса был 1 раз в 4 сек. :) Тест проводил на лабораторном термостате у метрологов (в своё время)

Добавлено after 3 minutes 20 seconds:
ЗЫ. Программа для термостата готова. Жаль что с такими датчиками нормального теста не получится. :(
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

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

Сообщение musor »

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3825169#p3825169"]Не нагоняйте жути… :))) датчики сами по себе так не разогреваются. Это какой должен быть ток, чтобы корпус разогреть на 5…7 градусов. :facepalm: Я на форуме как-то выкладывал результаты тестов с DS18B20, так вот они при минус 35 завышали только на 1,2 градуса. Выдавая в место -35,0С, значение -33,8С. Период опроса был 1 раз в 4 сек. :) Тест проводил на лабораторном термостате у метрологов (в своё время)

:([/uquote]вот имено даде при замере раз в 4секунды саморазогрев +1,2! да еще небось датчик был погружон в жидкость термостатта мертологоф (гликоли или спирты=имено так поверяют термометры) если же сделать замеры непрерыфнми тоест через 0.5-0.7с и датчик контактирует тока с воздукхом вылазят те самые 5-7с... самое смешное все вроде кто вздравом уме включая сам далас проэто знают и даже писали про это в апнотах...прравда решения кроме спясчки и редкеих запрософ так и не предложеноо...-прибыль дороже
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Аватара пользователя
Starichok51
Модератор
Сообщения: 19044
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

musor писал(а):датчик контактирует тока с воздукхом вылазят те самые 5-7с
полная чушь.
у меня 12 бит каждую секунду, и разница после включения и по прошествии продолжительного времени не более 0,2-0,3 градуса.
Самсусамыч писал(а):При подачи питания на датчик, при первой конвертации он не зависимо от температуры в память заносит значение равное +85 градусам
поправка: ДО первой конвертации.
именно поэтому я у себя сначала запускаю конвертацию и только через секунду делаю первое чтение. а самую первую секунду у меня "пустой" индикатор.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15550
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

В любом случае имеет место термоинерция корпуса и прогрев при подаче питания.
Стабильными показания можно считать где-то с минуту после включения (зависит от внешней температуры места, где размещен датчик).
Да и режим питания - непрерывная подача или на паразитке также свою часть в предпрогрев вносит.
Вероятно в том и разночтение...
8)
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

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

Сообщение musor »

ошибка зависит от разницы между температурой среды и кристала при низких т она выше вблизи 20...40с минимална...гдето даже график гулял поправок для датчика в воздуке на длиных и тонких проводках
если мерять тоука домашню температуры вы ошибки И не заметите особено если эталона рядом НЕТ
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Самсусамыч

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

Сообщение Самсусамыч »

[uquote="Starichok51",url="/forum/viewtopic.php?p=3825224#p3825224"]поправка: ДО первой конвертации.[/uquote]
Возможно и так, не берусь утверждать. Но я до команды конвертировать температуру (44h) не читаю память датчика. Лишь только по окончании конвертации. Однако 85 высвечивает. После первой конвертации. :roll: А вот после второй идут уже реальные показания. :dont_know:

Добавлено after 10 minutes 45 seconds:
[uquote="musor",url="/forum/viewtopic.php?p=3825235#p3825235"]ошибка зависит от разницы между температурой среды и кристала при низких т[/uquote]
Вот факты измеряющие воздух… разница с показаниями от метеостанции которая расположена была в 300 метрах пару десятых. Правда измерения выводились с поправкой о которой писал выше. Полноценное питание датчика (не паразитное). Измерение раз в 2 сек. :))
СпойлерИзображение
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15550
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Это не метеостанцию смотрим, а воткнутый рядышком ртутник.
8)
Проверял - стабилизация в среднем 1-2 минуты с момента включения.
Питание постоянное кабло вот такое:
http://img.radiokot.ru/files/20529/26egzlfrya.jpg
Старый добрый телефонный кабель 3-5 метров и 1uF керамика на дальних концах выводов датчика.
8)
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

DS18B20 куча подделок. Если датчик с Али/ebay куплен в Китае, на 99.9% это подделка. Не все подделки плохи, некоторые вполне адекватно работают. Но нюансы есть. Кто-то менее точнее оригинала, а кто-то ведет себя иначе и это может мешать. Вот тут целая куча описания отличий: https://github.com/cpetrich/counterfeit_DS18B20
Там же есть скетч для арудины, который позволяет определить к какому семейству подделок относится ваш датчик.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19044
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

Самсусамыч писал(а):до я до команды конвертировать температуру (44h) не читаю память датчика
и я тоже не читаю до первой команды конвертирования.
Самсусамыч писал(а):Лишь только по окончании конвертации. Однако 85 высвечивает. После первой конвертации.
значит, ты не дожидаешься окончания первой конвертации.
можно запустить конвертацию, но при этом ничто не мешает делать чтение температуры до окончания конвертации.
Starichok51 писал(а):я у себя сначала запускаю конвертацию и только через секунду делаю первое чтение.
и при этом у меня никогда не появляется 85 градусов, так как конвертация закончится гораздо раньше, чем закончится секунда.
NStorm писал(а): Если датчик с Али/ebay куплен в Китае, на 99.9% это подделка.
сомневаюсь про 99,9. а я покупал на Али, но не заметил вообще никаких отклонений в работе - всё работает согласно даташита.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Sigma
Друг Кота
Сообщения: 10024
Зарегистрирован: Ср мар 06, 2019 12:23:29

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

Сообщение Sigma »

Да, странно всё это. Не может же так "неработать", что комнатную вполне нормально показывает? На температуру реакция есть, на понижение/повышение. Полдня работает, показывает +21,5/+22
Прогой с компа внешне нормально читается, определяется как DS18S20, но вот ниже +3 пока не удаётся увидеть.
Датчики давно лежали, но покупались новые, кажется ещё в ЧД ...


А у этих датчиков отличие ещё с S и B, что таблица температур разная?
СпойлерИзображение
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."
Самсусамыч

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

Сообщение Самсусамыч »

[uquote="Starichok51",url="/forum/viewtopic.php?p=3825299#p3825299"]значит, ты не дожидаешься окончания первой конвертации.[/uquote]
Дожидаюсь, проверяя шину… :) если датчик её отпустил (а он её держит пока производит конвертацию), значит конвертация завершена. :hunger:

Добавлено after 6 minutes 12 seconds:
[uquote="Sigma",url="/forum/viewtopic.php?p=3825307#p3825307"]А у этих датчиков отличие ещё с S и B, что таблица температур разная?[/uquote]
Да разная, потому и пересчёт в градусы отличается. :) Если у тебя есть протеус можно прошивку ещё в нём проверить. :))

Добавлено after 14 minutes 51 second:
Ну что, выкладываю прошивку для термостата. На базе ATmega8A тактируется на частоте 8 МГц. Для датчика DS18S20.
Прошивка:
Termostat_LED.hex
Схема:
СпойлерИзображение
Схема.png
Светик на выводе РВ1 будет мигать при неисправности датчика.

Две кнопки: на РВ4 (вверх; «+»), и на РВ5 (вниз; «-»).

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

Параметры работы от таймеров:
В устройстве пять таймеров. 1) Таймер задержки на включение компрессора при подачи питание на устройство (5 мин.). 2) Таймер работы компрессора – выбирается уставка в диапазоне от 10 до 600 мин, с шагом 10 мин. По умолчанию уставка 600 мин. 3) Таймер отдыха компрессора - выбирается уставка в диапазоне от 5 до 60 мин, с шагом 1 мин. По умолчании уставка 60 мин. 4) Таймер работы компрессора при неисправности датчика - выбирается уставка в диапазоне от 5 до 99 мин, с шагом 1 мин. По умолчанию уставка 60 мин. 5) Таймер отдыха компрессора при неисправности датчика - выбирается уставка в диапазоне от 5 до 99 мин, с шагом 1 мин. По умолчанию уставка 60 мин.

Вход в режим просмотра или выбора уставки температуры для отключения:
Нажав кнопку «+» или кнопку «-», устройство через 1 секунду перейдёт в режим просмотра/редактирования температурной уставки отключения компрессора. Экран дисплея будет выглядеть так:
Изображение
Если вход произведён для просмотра уставки, то через 10 сек не нажимая кнопок, устройство автоматически выйдет из данного режима.
При необходимости кнопкой «+» или «-» устанавливаем необходимое значение. Если в течении 10 сек. не нажимать кнопок, то устройство автоматически выйдет из данного режима с сохранение новых значений в энергонезависимую память.

Вход в меню установки значений таймеров:
Нажав одновременно обе кнопки и удерживая их в течении более 3 сек. Устройство войдёт в меню выбора таймеров для просмотра или изменения их значений. При входе на экране будет высвечиваться таймер отдыха компрессора. Вот его вид:
Изображение
Переход на другой таймер осуществляется кнопкой «+» или «-».
Повторное нажатие и удерживание обоих кнопок более 0,6 сек. переведёт устройство в режим редактирования значений выбранного таймера. При этом левый крайний символ дисплея начнёт мигать. Показывая готовность к изменению значений. Выбор значений осуществляется кнопками «+» или «-». Если в течении 5 сек. не нажимать кнопок, то устройство автоматически выйдет из данного режима с сохранение новых значений в энергонезависимую память.
Выход из меню также производится автоматически если кнопки не нажимать более 5 сек.

А это внешний вид таймеров в меню:
Изображение


Если кому захочется взглянуть на исходник на АВ. :) Выложу и его. Но там чёрт ногу сломит. :facepalm:
Последний раз редактировалось Самсусамыч Вс апр 12, 2020 15:55:37, всего редактировалось 5 раз.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

[uquote="Starichok51",url="/forum/viewtopic.php?p=3825299#p3825299"]Если датчик с Али/ebay куплен в Китае, на 99.9% это подделка.[/quote]сомневаюсь про 99,9. а я покупал на Али, но не заметил вообще никаких отклонений в работе - всё работает согласно даташита.[/uquote]
Не показатель. По ссылке там очень подробно всё расписано. "Дьявол в деталях". Проверьте серийник в ROM, наверняка он не будет как должен быть у оригинала вида 28-xx-xx-xx-xx-00-00-xx
Аватара пользователя
Starichok51
Модератор
Сообщения: 19044
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

Самсусамыч, из моего чистого любопытства - выложи исходник. а то я с АВ совершенно не знаком.
NStorm писал(а):Проверьте серийник в ROM, наверняка он не будет как должен быть у оригинала вида 28-xx-xx-xx-xx-00-00-xx
я купил 10 штук и сразу же прочитал у всех ROM - только первых 2 байта (0x28, 0xEE) у всех одинаковые. остальные 6 - все разные.
вот полный перечень номеров:
0x28, 0xEE, 0x73, 0x2A, 0x1E, 0x16, 0x01, 0xCA ; №1
0x28, 0xEE, 0x86, 0x5E, 0x1B, 0x16, 0x02, 0xCF ; №2
0x28, 0xEE, 0xB8, 0x46, 0x1B, 0x16, 0x02, 0xCD ; №3
0x28, 0xEE, 0xC4, 0x5E, 0x1B, 0x16, 0x02, 0xA5 ; №4
0x28, 0xEE, 0xE1, 0x2A, 0x1E, 0x16, 0x01, 0xFE ; №5
0x28, 0xEE, 0x79, 0x46, 0x1B, 0x16, 0x02, 0x22 ; №6
0x28, 0xEE, 0x3D, 0x2A, 0x1E, 0x16, 0x01, 0x81 ; №7
0x28, 0xEE, 0x1D, 0x2A, 0x1E, 0x16, 0x01, 0x79 ; №8
0x28, 0xEE, 0x21, 0x46, 0x1B, 0x16, 0x02, 0x89 ; №9
0x28, 0xEE, 0xB6, 0x49, 0x1B, 0x16, 0x02, 0xF5 ; №10
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Самсусамыч

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

Сообщение Самсусамыч »

Маленький косяк уже обнаружил… прошивку заменил. :)
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

Starichok51, ну у вас вот все явно не оригинал )
Хотя у вас скорее всего UMW DS18B20 перемаркированные. Это очень нормальная переделка оригинала, температура достаточно близко к спецификации, поэтому проблем с этим семейством нет. Если это и правда оно. Но это не оригинал 100%.
Самсусамыч

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

Сообщение Самсусамыч »

[uquote="Starichok51",url="/forum/viewtopic.php?p=3825333#p3825333"]Самсусамыч, из моего чистого любопытства - выложи исходник.[/uquote]
7_seg_term_OA_ATtmega8.zip
Добавлено after 10 minutes 47 seconds:
Чуть не забыл. :)) При неисправности датчика на дисплей выводится код неисправности.
Изображение
1 – На шине нет высокого уровня.
2 – Нет импульса присутствия (не датчика). Обрыв шины данных.
3 – Не восстановлен высокий уровень. Датчик не отпускает шину…
4 – Ошибка чтения показаний датчика (CRC не совпадает…)

Добавлено after 13 minutes 23 seconds:
Вот когда-то тоже у некоторых читал код: :)

28h С0h 2Fh 37h 03h 00h 00h 3Ch
28h D2h F8h 36h 03h 00h 00h D8h
28h 9Bh 98h E4h 04h 00h 00h 07h

Добавлено after 27 minutes 16 seconds:
Ну без ошибок писать не получается… нашёл ещё косяк – исправил, прошивку перезалил. :)
Последний раз редактировалось Самсусамыч Вс апр 12, 2020 06:39:11, всего редактировалось 1 раз.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

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

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

Сообщение Самсусамыч »

Это экземпляры 11 года судя по маркировке. Похоже повезло. :) Более поздние (16 года), наверняка клоны… надо бы заняться прочитать ром у новых.
Ответить

Вернуться в «Arduino»