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

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

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

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

Сажусь переделывать опрос датчика с учётом новой информации. Ура! Теперь попробую реализовать CRC с динамической индикацией. :write:
Аватара пользователя
Sigma
Друг Кота
Сообщения: 10016
Зарегистрирован: Ср мар 06, 2019 12:23:29

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

Сообщение Sigma »

Это значит с термометром тоже не заработает? :(
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3824541#p3824541"]Светик загорается только при обнаружении неисправности датчика (там четыре вида неисправности – определяются при опросе датчика). И тухнет, когда температура прочитана без ошибок.[/uquote] Получается, что он читается при опросе с ошибкой, когда помещаешь его в лёд примерно с -10...-15, а при более высоких нормально?
На PB1"управление" пока для удобства светодиод повесил и он горит постоянно, только при включении загорается не сразу, а минут через 5 (та самая нормальная пауза?).

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3824541#p3824541"]Правильно ли я понял, что датчик будет крепится на испаритель в холодильной камере (ХК), а не просто мерить температуру воздуха в ХК?[/uquote]Ну, да, должен не просто мерить температуру воздуха, а предпологается, что будет вместо старого термостата в ХК.

Вот картинка из другой темы, где как раз расположение
СпойлерИзображение

Изображение
Задняя стенка то промерзает, то "плачет"

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3824541#p3824541"]Аварийные таймера предполагаются использовать, или нет в этом необходимости?[/uquote] Вообще-то наличие желательно, вполне полезная функция. Сейчас холодильник работает на похожем простейшем "таймере", с неделю почти. :)))
По этой схеме из Радио за 1994г. №8 Вместо термостата холодильника
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

например, у меня опрос датчика и вывод нового значения температуры делается 1 раз в секунду.
таймер у меня работает по 4 мс и обрабатывает динамическую индикацию.
таймер одновременно увеличивает счетчик прерываний таймера. как только счетчик доходит до 250, секунда отмерена.
по окончании секундного интервала я сбрасываю счетчик в ноль.
потом считываю температуру и запускаю новое преобразование.
потом обрабатываю считанное значение и вывожу на индикатор.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Самсусамыч

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

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

Вернулся на тактовую частоту 8 МГц и реализовал обновленный опрос датчика с вычислением CRC. Пока всё работает без замечаний. :beer:

Добавлено after 18 minutes 56 seconds:
[uquote="Sigma",url="/forum/viewtopic.php?p=3824614#p3824614"]Это значит с термометром тоже не заработает? :([/uquote]
Ну почему же? Тестовый вариант термометра должен работать нормуль. Просто в той версии не вычисляется CRC. Это означает, что любые принятые показания будут считаться истинной. Другие неисправности, там реализованы. Пробуй тестовым термометром мерить температуру… необходимо будет узнать как алгоритм показаний работает. Кабель датчика хорошо прижимается уплотнительной резинкой дверцы холодильника для тестовых измерений. На макетке собери термометр для тестов. :)
Получается, что он читается при опросе с ошибкой, когда помещаешь его в лёд примерно с -10...-15, а при более высоких нормально?
Может быть. Попробуй резистор 100 Ом убрать с порта датчика.
а минут через 5 (та самая нормальная пауза?).
Да.
Ну, да, должен не просто мерить температуру воздуха, а предпологается, что будет вместо старого термостата в ХК.
Понял... хорошо.
Вообще-то наличие желательно
Раз надо, значит сделаю. :)
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

да, еще забыл сразу сказать.
в самом начале я запускаю преобразование температуры и вывожу на индикатор знак "-".
в результате самую первую секунду на индикаторе видно 4 прочерка, и после истечения секунды начинается нормальная работа термометра.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Sigma
Друг Кота
Сообщения: 10016
Зарегистрирован: Ср мар 06, 2019 12:23:29

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

Сообщение Sigma »

[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3824662#p3824662"]Ну почему же? Тестовый вариант термометра должен работать нормуль. Просто в той версии не вычисляется CRC. Это означает, что любые принятые показания будут считаться истинной. Другие неисправности, там реализованы. Пробуй тестовым термометром мерить температуру… необходимо будет узнать как алгоритм показаний работает. Кабель датчика хорошо прижимается уплотнительной резинкой дверцы холодильника для тестовых измерений. На макетке собери термометр для тестов. :)[/uquote]Завтра может соберу термометр, посмотреть как будет работать и что будет показывать.
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

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

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

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

Это хорошо. :)
Что уже реализовано на базе схемы тестового термометра:
- Переписан алгоритм чтения байтов с датчика, дающий определять правильность считанных показаний.
- Добавлены две кнопки.
- Реализована подпрограмма установки и просмотра уставки по температуре на отключение (-10…-26).
- Реализован алгоритм включения и отключения компрессора по уставкам от температуры.
- Реализован контроль времени работы и времени отдыха компрессора.
- Реализована задержка (5 мин) на включение компрессора при подачи питания на устройство.

Осталось реализовать работу компрессора в аварийном режиме по таймерам. :write:
:beer:

Вопрос на засыпку! Как сделать вход в режим программирования уставок по аварийным таймерам, чтобы было удобно? Можно добавить и третью кнопку при желании.

Вход для просмотра/изменения уставки по температуре реализовано при нажатии любой кнопки. Затем кнопками «вверх», «вниз» устанавливается нужное значение. Если не нажимать кнопки более 10 сек. то осуществляется автоматический выход из данного режима с сохранением выбранной уставки.

Добавлено after 22 minutes 45 seconds:
Чтобы видеть как всё работает в железе, собрал схему на своей девборде. :))
Изображение
Правда датчик пришлось ставить DS18B20 с соответствующем пересчётом.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

Сообщение Ivanoff-iv »

я делал так:
2 кнопки вверх и вниз
на экране отображается текущая Т, если при этом нажать одну из кнопок — отобразится соответствующая уставка.
если нажать обе разом (±200мс - там задержка от нажатия до считывания) то попадаем в настройку уставок (поочереди - сначала одну, потом другую)
уставки можно ставить независимо друг от друга, т.к. это не макс и мин Т, а Т запуска и останова и получается если одна выше — термостат работает на нагреватель, если другая - на холодильник.
если нажать обе враз и удерживать более 2с, то попадем в служебное меню - там производится коррекция показаний датчика и настройка яркости 7сегментного индикатора.
состояние дополнительно высвечивается на неиспользуемых сегментах (A,D,E,F) 1 разряда: E или F зажигаются при отображении уставок, A или D - при их изменении, при коррекции высвечивается "с" (там цифра короче и знак минуса будет правей), при настройке яркости "L", яркость настраивается в 250 градаций, значение заносится в регистр сравнения, по прерыванию которого гасится разряд.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

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

в исходном режиме видим текущую температуру.
вход в список делаем одновременным нажатием обеих кнопок. это защищает от случайного или несанкционированного входа в список.
сам список:
1. уставка №1.
2. уставка №2.
3. таймер №1.
4. таймер №2.

после входа в список параметров перемещение по списку делаем кнопками (+/-) - вперед/назад, по кольцу.
для изменения параметра опять делам одновременное нажатие кнопок.
кнопками (+/-) изменяем параметр.
выходим из изменения параметра опять одновременным нажатием кнопок с сохранением нового значения.
выходим из списка в исходное состояние опять одновременным нажатием кнопок или по таймауту.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

Сообщение Ivanoff-iv »

Согласен, это тоже хороший, удобный вариант, только дополню:[uquote="Starichok51",url="/forum/viewtopic.php?p=3824886#p3824886"]сам список:
1. уставка №1.
2. уставка №2.
3. таймер №1.
4. таймер №2.[/uquote] 5. Выход

Добавлено after 13 minutes 38 seconds:
можно ещё так: (как богатырь на распутье - направо пойдёшь... налево... или прямо - в следующий уровень...)
1 или 2 - просмотр уставок t
1 и 2 - вход в настройку уставок t, там 1-настройка 1й уставки, 2-2й, (сохранение и выход из настройки конкретной уставки обратно в это меню - 1и2 разом), 1и2- переход в настройку таймеров, (там внутри также) далее - возврат в основной режим
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

Ivanoff-iv писал(а):5. Выход
выход - куда?
или ты не дочитал мой пост? про выход из списка я написал, как делается.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

Сообщение Ivanoff-iv »

[uquote="Starichok51",url="/forum/viewtopic.php?p=3824886#p3824886"]после входа в список параметров перемещение по списку делаем кнопками (+/-) - вперед/назад, по кольцу.
для изменения параметра опять делам одновременное нажатие кнопок.
...
выходим из списка в исходное состояние опять одновременным нажатием кнопок или по таймауту.[/uquote] пока ты в этом меню - ты находишься на одной из позиций... как МК отличит по 2м одновременно нажатым кнопкам, вглубь выбранного пункта тебе надо или уже обратно в рабочий режим?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

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

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

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

А теперь попросим начальника транспортного цеха (Sigmа(у))… какую реализацию он выберет. :) А я пока начну реализовывать вход по двум одновременно нажатым кнопкам, так как данная функция присутствует в обоих вариантах. :)
Аватара пользователя
Starichok51
Модератор
Сообщения: 19043
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

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

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

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

Пишу просто для МК на АВ (Algorithm Builder). Ардуиньего языка не знаю, в прочим как и Си и Ассемблера. :)
Аватара пользователя
Sigma
Друг Кота
Сообщения: 10016
Зарегистрирован: Ср мар 06, 2019 12:23:29

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

Сообщение Sigma »

В принципе в том таймере вполне удобно нажимать
СпойлерКнопки управления всего две, это «PLUS» и «MINUS»

Индикация и настройки

Теперь поговорим об индикации. В устройстве заложены несколько параметров, которые можно настраивать: 
1) температуру внутри — «t» (от 0 до 10 градусов, шаг 0,1 градус); 
2) гистерезис заданной температуры — «G» (от 1,0 до 5,0 градусов, шаг 0,1 градус); 
3) таймер отдыха компрессора — «h» (от 5 до 60 минут, шаг 1 минута); 
4) таймер работы компрессора — «H» (от 10 до 600 минут, шаг 10 минут); 
5) время работы компрессора в аварийном режиме — «on» (от 5 до 99 минут, шаг 1 минута); 
6) время отдыха компрессора в аварийном режиме — «oF» (от 5 до 99 минут, шаг 1 минута).

Для проведения настроек других параметров, нужно нажать сразу две «PLUS» + «MINUS» кнопки и отпустить, а затем изменять значения необходимых параметров теми же кнопками «PLUS» и «MINUS». 

Переход на следующий параметр в меню, происходит также нажатием сразу двух кнопок «PLUS» + «MINUS». 

Если не трогать кнопки 2 секунды, все настройки сохраняются и индикация возвращается на показ температуры в камере холодильника.

Порядок переключаемых с помощью двух кнопок параметров соответствует порядку пунктов (2 → 3 → 4 → 5 → 6), перечисленному выше. 
Применение параметров в программе в реальном времени происходит только в пунктах 1, 2, 5, 6.
Параметры пунктов 3 и 4 применяются после событий старта/остановки компрессора.

При подаче питания на устройство на индикаторе высветится оставшиеся время отдыха компрессора. Это подстраховка. Мало ли, вдруг было отключение электричества, и компрессор до этого события работал, его же нельзя вот так сразу запускать. Нужна пауза минимум 5-10 минут, чтобы давление внутри стравилось, иначе пусковой ток будет слишком велик, и это может повредить мотор.

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

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

Сообщение Ivanoff-iv »

[uquote="Sigma",url="/forum/viewtopic.php?p=3824949#p3824949"]Если не трогать кнопки 2 секунды, все настройки сохраняются и индикация возвращается на показ температуры...[/uquote] не знаю, как это при эксплуатации, но, ИМХО, 2 секунды - нестерпимо мало.
Выход должен быть по воле пользователя или если он отошел, забыв выйти (т.е. не трогать кнопки порядка минуты) и в случае "отошел" возможно без сохранения...
П.С. это больше про эргономику устройств в целом, чем конкретно про этот термостат...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

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

Сообщение musor »

холодилник не муз центр и не телек ему 20кнопок не нудны
хватает 2 китайцы сначала так и делали вход в насмтройки обе клавиши нажаты!!!
но потом онии добавили 3 кнопку(set )...
да в буржуцйских холодилах все просто уставка низа/ верка(отделно для молрозилки и обшего) по 2 свои кнопочки +кнока супер заморозки там 2 датчика и еще я нигде в пром холоде не видел даласоф-сбоятони там везде стоят термисторы герметичного исполнения 10к+-1%

Добавлено after 2 minutes 16 seconds:
индикаторы по 2 разряда минус в нижнем(морозрилке)реализован нека неполном разряде(там тока 1и -) индюки там ОА

Добавлено after 2 minutes 23 seconds:
думаю наши кулибины ставят даласы потому что не умеют работать с ацп чипа
или юзают чипы без ацп(пики всякие древние)
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Самсусамыч

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

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

[uquote="Sigma",url="/forum/viewtopic.php?p=3824949#p3824949"]В принципе в том таймере вполне удобно нажимать[/uquote]
Диапазон значений таймеров сделать как у автора статьи? Или другие?
Ответить

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