Jump to content
Yanshun

Термостат ∆T=0,1°C на ATmega8

Recommended Posts

Добрый день.
Хочу поделится с Вами Термостат ∆T=0,1°C на Mega8 TQFP, от автора propell_ant. Он является автором схемы и программного обеспечения, я лишь разработал свою версию печатной платы под имеющиеся комплектующие.
Характеристики данного термостат:
1. Возможность работы, как на нагрев, так и на охлаждение. (Разные прошивки).
2. Установка температуры от -55 до 125 градусов, с шагом 0,1 градус. При этом учитывается так-же и выставленное значение Дельты температуры, (например: прошивка Нагрев, Дельта стоит 1 градус, значит выставить температуру можно от -55 до +124 градусов).
3. Установка Дельты температуры от 0,1 до 25 градусов с шагом 0,1 градус.
4. Установка задержки отключения второго реле (FAN) от 0 до 250 сек.
5. Датчик температуры использован DS18B20.
6. Два активных выхода. Мах. 2А/220В, для каждого выхода.
7. Контроль ошибок датчика с выводом кодом ошибки и за поминание последней. Ошибки не стираются, просто запоминается последняя и в случае появление другой ошибки, последняя заменяется новой.
8. В случае появлении ошибки датчика, нагрузка отключается. Если в процессе работы устройства ошибка исчезла, она записывается в память и мигает дисплей с показанием текущей температуры. Это информирует пользователя, что были ошибки. Мигание дисплея убирается нажатием любой из кнопок. Код ошибки можно посмотреть в меню.
9. Использование разных индикаторов, Общий Анод или Катод. Разные прошивки.
10. При включенном реле TEMP горит точка в первом сегменте, вместе с отображением текущей температуры.
11. При зажатии кнопок + или - нет увеличения скорости переключения цифр.

Правило пользования данным термостатом. При нажатии, единожды, любой из кнопок, мы попадаем в Меню установки температуры. На дисплее загорается в первом сегменте нижнее подчеркивание и  последняя выставленная температура. Кнопками + и - выставляем нужную температуру. После выставления нужного значения ничего не нажимает, через 3 сек. термостат запомнить значение и перейдет автоматически к показанием текущей температуры. 
Если Вам нужно попасть к дополнительным возможностям термостата, нужно нажать одновременно две клавиши + и -. При их нажатии, Вы попадает в Меню выставления Дельты, в первом сегменте загорается латинская буква d и выставленное значение дельты. Кнопками + и - можно менять данной значение. После того, как выставили значение ничего не трогайте, через 3 сек. термостат запомнить его и перейдет к отображению текущей температуры.
Если нажать еще раз одновременно + и -, то попадает в Меню установки задержки отключения реле FAN. На дисплее в первом сегменте горит буква t и текущее выставленное значение, кнопками + и - можно менять значение.  После того, как выставили значение ничего не трогайте, через 3 сек. термостат запомнить его и перейдет к отображению текущей температуры.
Если еще раз нажать одновременно + и -, то попадаем в Меню Ошибок датчика, с отображение кода ошибки, тут отображается последний код ошибки датчики. Если ничего не нажимать, то через 3 сек. термостат перейдет к отображению текущей температуры.
При последующем нажатии одновременно + и - попадаем в меню выставления температуры, типа запасного входа :D.

А теперь разберемся на примере, как все это работает, НАГРЕВ. Выставляем температуру +25 градусов, выставляем Дельту 1 градус, выставляем значение отключения второго реле 3. Итак, что мы имеем, как только только температура подымиться до +26 реле TEMP отключится (точка в первом сегменте погаснет), а реле FAN будет включено еще 3 секунды и выключится. Как только температура опустилась до +25 градусов реле сново включаются (включение двух реле всегда происходит синхронно, одновременно). Важный момент, когда отключилось реле TEMP и идет отсрочка отключения второго реле FAN и если в этот момент температура упала и включилось реле TEMP, отсрочка аннулируется для реле FAN и оно остается включенным вместе с реле TEMP. 
При выставлении t отсрочки отключения реле FAN значение будет стоять 00,  то отключение данного реле будет происходит одновременно с реле TEMP. 

Коды ошибок датчика:
E 0.1 - ошибка контрольной суммы
E 0.2 - обрыв датчика
E 0.3 - после нескольких ошибок от датчика получено значение 85С
E 0.4 - короткое замыкание на землю

Данный термостат может питаться, как от переменки АС 9-10В, так и от постоянки DC 12-14V. 
Ток потребления термостата:
а) Потребление в режиме индикации отображения кода ошибки, текущей температуры, меню. 30 мА.
б) Включены все реле, горят светодиоды и отображается текущая температура, 80 мА.
в)  При зажатии кнопки + или -, при выставлении значения в меню, ток потребления вырастал до 110 мА, это только индикация, реле были выключены. Начинался разогреваться линейный стабилизатор и микроконтроллер до 60 градусов.

Фото собранного термостата:
 

Spoiler

SNC01908.thumb.jpg.e511e624d3a7ef96b4d71c96bb8905eb.jpg

SNC01907.thumb.jpg.b9f899ef92d341c83b353030bb82479e.jpgПрошивал все внутрисхемным программатором UABIsp через переходник, в программе avrdudeprog33

Spoiler

1109475416_Fusebit.png.fed09700362a009b866136222b592989.png664314074_.png.9baaed839a4f9f5c8098fd67821722bc.png21475614_fusebits-mega8-XTAL-4MHz.PNG.fdfcb1a56023bb1303c581cc5c23f1c7.PNG

Плата в 3D 
 

Spoiler

1170073302_Atmega8(1).png.fb5f8f09e4d41d80053020eae47b0880.png2094553491_Atmega8(2).png.4eb54f0759cbd4e6ac426cf8516ed618.png456807626_Atmega8(3).png.32b8ef827d8155d56a9cc17d037d05b0.png699903112_Atmega8(4).png.0d467bf481fc051b02b3216c62a30e2d.png1448128742_Atmega8(5).png.a600a93d35e54c16e4aa74526990c616.png1263218565_Atmega8(6).png.b11474161c7dacc1ed842022a3c993f4.png

Плата нарисована в Diptace, с помощью Gerber переведена в Lay6. Зазоры дорожек 0,3 мм, минимальная дорожка 0,3 мм. Плату заказывал в Китае на PCBway. Плата односторонняя размером 86*61 мм.

Gerber печатной платы Термостат ∆T=0,1°C на Mega8.rar Прошика и исходный код для Термостат ∆T=0,1°C на Mega8 8_v4.1.01..zip Термостат ∆T=0,1°C на Mega8 DipTrace.rar Термостат T=0,1°C на Mega8 TQFP.lay6

Edited by Yanshun
Баги сервера.

Корпорация Mars

Share this post


Link to post
Share on other sites

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

Spoiler

1240776739_Atmega8(1).thumb.jpg.9f75708ac339cf1ad9f2cbbd3d9fdc84.jpg1888428941_Atmega8(2).thumb.jpg.7464a90157df5f43886fafc28ea14b59.jpg1957722858_Atmega8(3).thumb.jpg.271a50f7f9dd3b348380965ea4406bb4.jpg522634426_Atmega8(4).thumb.jpg.dbf981579638c96cf891c8d2d37cd924.jpg2084868551_Atmega8(5).thumb.jpg.0d430091431798b16e76bb8d70b97cfb.jpg274472716_Atmega8(6).thumb.jpg.ac4abd41cce1acaa470a1c232b7c1b76.jpg


 

Spoiler

1265870259_Atmega8(7).thumb.jpg.38d93e2d01fac3913948adb85a263f69.jpg989270718_Atmega8(9).thumb.jpg.cfb9a76feeb5bb96d498d7a535a1e76f.jpg1729916334_Atmega8(10).thumb.jpg.62b07a92ca5e8e0810bc20d976f0665e.jpg814658469_Atmega8(11).thumb.jpg.144d82d37a48bf31cb458e10990cb4c3.jpg

Spoiler

123814169_Atmega8(12).thumb.jpg.577bbb1db73e59f4edc114400a7b286a.jpg1989874910_Atmega8(13).thumb.jpg.d6b338c93047dee09b15383d4cb468f8.jpg1043822912_Atmega8(14).thumb.jpg.480135c3ef30f68ab3d1b88ae7cb112f.jpg

 

Термостат на Atmega 8 схема.jpg

Термостат на Atmega 8 печатная плата.jpg

Edited by Yanshun
Обход ограничения сервера на загрузку картинок :)

Корпорация Mars

Share this post


Link to post
Share on other sites

Металл-композит как альтернатива ферриту: дроссели Panasonic семейства ETQP

Современные электронные устройства требуют все более компактных и эффективных компонентов. Новые металл-композитные дроссели обладают рядом преимуществ перед дросселями с ферритовым сердечником. Они не имеют ярко выраженного насыщения, обладают отличными частотными свойствами и способны работать при температурах до 150°C и выше. Все это делает их альтернативой стандартным дросселям с ферритовым сердечником в широком спектре автомобильных и промышленных приложений.

Подробнее

1 hour ago, Yanshun said:

Установка температуры от -55 до 125 градусов, с шагом 0,1 градус.

1 hour ago, Yanshun said:

Установка Дельты температуры от 0,1 до 25 градусов с шагом 0,1 градус.

Какой в этом смысл? Точность измерения температуры у DS18B20 0,5 градуса, плюс к этому 0,2 дрифт.  Т.е. делать шаг меньше градуса с таким датчиком - бесполезно.

Share this post


Link to post
Share on other sites

@BARS_ Добрый день.
Вы совершенно правы, но раз так сделали  ПО, я просил автора все привести к 1 градусу, но к сожалению у него сейчас нет свободного времени. Есть вероятность появление прошивки в будущем подведенной к 1 градусу.

Забыл так-же добавить, что данный термостат может работать, как от внешнего кварца, так и от внутреннего, выставляется все с помощью фъюзов. Кому как будет удобно.
И еще одно, если во время работы, когда включены оба реле, произойдет ошибка по датчику, то реле TEMP отключится сразу, а вот для  реле FAN  пойдет задержка на отключение, сколько Вы выставили, это так задумано.


Корпорация Mars

Share this post


Link to post
Share on other sites
                     

Новые литиевые ХИТы Fanso работают даже при +150ºС!

Когда приходится учитывать работу в экстремальных условиях, к выбору электронных компонентов подходишь с особой тщательностью. Высокие температуры, большие перепады давления, труднодоступность – все это требует специальной продукции. Склад КОМПЭЛ пополнился новыми литиевыми ХИТами Fanso, стабильно работающими даже при температуре до 150 ºС. Батарейки имеют номинальное напряжение 3,6 В, обладают ёмкостью от 700 до 14000 мАч, работоспособны в широком температурном диапазоне -20…150ºС и имеют низкий саморазряд (не более 3% в год в нормальных условиях хранения).

Подробнее о высокотемпературной линейке

13 minutes ago, Yanshun said:

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

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

2 hours ago, Yanshun said:

Возможность работы, как на нагрев, так и на охлаждение. (Разные прошивки).

Этот вопрос  элементарно решается  программно выставлением верхнего предела ниже нижнего. И никакого гемороя с перепрошивками.

 

Share this post


Link to post
Share on other sites

@_abk_ Добрый вечер.
Вообще-то исходник автор не зажал, приложен в первом сообщений. Редактируйте под себя, как Ваша душа захочет.
На счет Нагрев/Охлаждение одновременно, если переписать программный код, то это реализуемо. Вариант, который Вы предложили, заставит убрать выставление Дельты из меню за не надобностью.

Исходник в открытом доступе, все в Ваших руках и силах.


Корпорация Mars

Share this post


Link to post
Share on other sites
3 hours ago, BARS_ said:

...Точность измерения температуры у DS18B20 0,5 градуса, плюс к этому 0,2 дрифт...

При 12-битной разрядности, кажись, 0,0625 приращение обещали. :)

Share this post


Link to post
Share on other sites

Насколько в вашей конструкции тяжело реле переделать в управляемый от температуры ШИМ? Надо два независимых канала  (Вентилятор радиатора в машине.)


Избегайте тех, кто старается подорвать вашу веру в себя. Эта черта свойственна мелким людям. Великий человек, наоборот, внушает чувство, что вы можете стать великим. (Марк Твен)

Share this post


Link to post
Share on other sites

человек тупо повторяет чужой проект, а ты ему задаешь вопросы про переделку.

14 hours ago, _abk_ said:

Этот вопрос  элементарно решается  программно выставлением верхнего предела ниже нижнего. И никакого гемороя с перепрошивками.

при нагреве, чтобы выключить, предел проверяется на "больше или равно".

а при охлаждении, чтобы выключить, предел проверяется на "меньше".

разницу в логике работы ты чувствуешь или нет?


Мудрость приходит вместе с импотенцией...

Share this post


Link to post
Share on other sites
9 hours ago, Starichok said:

разницу в логике работы ты чувствуешь

Не смеши. Что мешает проверять установленные пределы и выбирать соответствующую логику?

Share this post


Link to post
Share on other sites

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

 еще ты сказал про два предела, а я вижу по тексту, что предел ОДИН и есть дельта (гистерезис).

так что это ты насмешил...


Мудрость приходит вместе с импотенцией...

Share this post


Link to post
Share on other sites

Да ладно... Я дальше пункта 1 и не читал, но осуждаю.:D

On 7/24/2019 at 7:46 PM, Yanshun said:

1. Возможность работы, как на нагрев, так и на охлаждение. (Разные прошивки).

Потому что для смены режима в этом устройстве менять прошивки  - хрень полная. Уж коли там ОДИН предел, ну сделай ту же дельту и отрицательной тоже,  делов-то... Будет универсальное устройство без перепрошивок. Тем более, что и исходник, говорят, есть...

То @Yanshun : Вы уж извиняйте, ежели что не так, я так только зашел, побурчать... Может, пригодится кому...:drinks:

Share this post


Link to post
Share on other sites

Наигрался я с выставлением фъюзов, что теперь контроллер перестал видеться программатором.
Придется заказывать переходник и подымать контроллер с помощью MiniPro. Пока впаяю новый контроллер. 


Корпорация Mars

Share this post


Link to post
Share on other sites

Исходник похоже можно открыть CvAVR только v3.

Нет ли у кого под v2.05? Чисто что бы  поизучать начинающему.

Share this post


Link to post
Share on other sites

Вымыл платку от флюса и от сканировал, чтобы получить более качественные фотки.

Spoiler

480082160_(1).thumb.jpg.d8e5d279c025b78315e8347a5757b6c6.jpg196801777_(2).thumb.jpg.fdd47805f9680d89ed041b4483ecd75a.jpg2112309518_(3).thumb.jpg.e4b4db7fc005f14b5de6c29838d3a4c6.jpg


Корпорация Mars

Share this post


Link to post
Share on other sites

Добрый день.
Вышла новая версия ПО для термостата, так как в старой был один баг, кнопки были настроены не вход, а на выход, вследствие чего при их нажатии происходило замыкание и шел большой жор тока. 

Также была добавлена прошивка с установкой  температуры 1 градус, дельта осталась без изменения. Установка задержки от 0 до 250 секунд.

tlm8_v4.1.02.vent_ - Шаг установки Температуры/Дельты 0,1 градус. При включении реле Temp горит точка в первом сегменте. 
tlm8_v4.1.02.vent_heat_d10 - Шаг установки Температуры 1 градус, Дельта 0,1 градус. При включении реле Temp горит точка в первом сегменте.
tlm8_v4.1.02.vent_nodot -  Шаг установки Температуры/Дельты 0,1 градус. При включении реле Temp не горит точка в первом сегменте.
tlm8_v4.1.02.vent_nodot_d10 - Шаг установки Температуры 1 градус, Дельта 0,1 градус. При включении реле Temp не горит точка в первом сегменте.

Приложил сами Hex - файлы и исходный код.
Также рекомендую использовать вешний кварц на 8 Мц, так как с ним термостат работает как положено.

Спасибо автору ПО за оперативное исправление и консультацию термостата.

Фьюзы на внешний кварц 8 Мц.png

tlm8_v4.1.02.vent_src.rar


Корпорация Mars

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • @BAFI Извините , спрошу, непонятно. А стенд , собранный на нашей логике, работает или нет ? Непонятно, можно пользоваться??
    • Оказалось, что и на старуху бывает прогруха... Понадобился мне маломощный питатель LED-подсветки лупы (три белых светодиода на 20 мА последовательно с токоограничительным резистором). Порывшись в загашниках, выбрал платку китайского зарядника для мобилок, замерил его актуальное выходное напряжение (5,1 В Х.Х.), выпаял трансформатор и перемотал вторичку, увеличива количество витков до 24. Обмотку ОС, содержавшую 12 витков, намотал поверх первичной, а вторичку - уже сверху (было наоборот). Собрал, включил. Получил на выходе 10,3 В. Удивился такой промашке, снова снял трансформатор, разобрал, намотал уже 30 витков. Собрал, включил... Что за притча??? 10,3 В! Решил поиграться стабилитроном ZD1. Поставил 6,2 В . Получил 9,8 В. Поставил 8,2 В - получил 10,8 В. И это при том, что опыта подобных домоток вторичной обмотки у меня более десятка - во всех прочих случаях ИИП запускались вообще без пинков и сразу же выдавали нужное напряжение. Честно признаюсь, "плотно" (с осциллографом) я еще с этой проблемой еще не разбирался по недостатку времени. В качестве предположительного диагноза причины этой проблемы - "работает" зенеровский пробой обратносмещенного эмиттерно-базового перехода VT1. Но это только догадки. Да! и полноценного снаббера нет, как класса, это не ошибка срисовывания схемы с платы. Только резистор R3. Отсюда вопрос: какие могут быть догадки о причине такого поведения преобразователя?
    • Жить надо желательно по-японски. Не торописса, Не волновасса, А улыбасца! Всех с праздником!  С Международным Днем Оптимиста!
    • Интересно , каким местом думают подобные конструкторы ? Задействуй уж сразу компьютер ...для поддержания температуры в погребе )))))) Даже не знаю , плакать или смеяться .
    • я начитался твоих намеков с откровенными оскорблениями. хватит. и "неадеквата" ПОСЛЕДНИЙ раз тебе прощаю.
    • Но заинтриговал здесь всех - мама не горюй! Найдешь причину, расскажи.
×
×
  • Create New...