Jump to content
Yanshun

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

Recommended Posts

Posted (edited)

Добрый день.
Хочу поделится с Вами Термостат ∆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
Баги сервера.

Share this post


Link to post
Share on other sites
Posted (edited)

Фото платы, закрыли видимо лазейку в сервере, что раньше была возможность загружать в одно сообщение более 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
Обход ограничения сервера на загрузку картинок :)

Share this post


Link to post
Share on other sites

Технология Maxim Integrated nanoPower: когда малый IQ имеет преимущества

При разработке устройств с батарейным питанием важно выбирать компоненты не просто с малым потреблением, но и с предельно малым током покоя. При этом следует обратить внимание на линейку nanoPower производства компании Maxim Integrated. В статье рассмотрено их применение на примере системы датчиков беспроводной оконной сигнализации.

Подробнее

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  пойдет задержка на отключение, сколько Вы выставили, это так задумано.

Share this post


Link to post
Share on other sites
                     

Материалы вебинара STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

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

Подробнее...

13 minutes ago, Yanshun said:

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

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

2 hours ago, Yanshun said:

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

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

 

Share this post


Link to post
Share on other sites

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

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

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. Пока впаяю новый контроллер. 

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

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

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...

  • Сообщения

    • Дальнейший разговор неуместен. Сдать в ремонт; отослать туда, где покупался и т.п.
    • В предыдущем посте вместо НЧ надо поставить ВЧ.
    • предлагаю двинуться в сторону гибрида @Simpl.K. Я убрал эмитт. резисторы Q1, Q2 (ДК) искажения ms показал на 0,004% меньше (0,007% против  0,003 %). ТП высокий - 224 мВ ( 0,75 А).  Придерживаюсь совета с форумов - электролиты включаю в схему при крайней необходимости, а по скольку питание в мультисиме можно считать идеальным, то тут они ни к чему. Меньше вылетает ошибка. Схемой заинтересовался после видео на You tube Stalker 29218 - усилитель для наушников, усилитель из Китая, срисовали у японцев, а те яко- бы дифкаскад с советской "Радиотехники". RMAA у staker-a показал отличные результаты усилителя. Заманчиво при малых фин.затратах получить отличный УМ, основная цена здесь БП и выходные транзисторы. Мой замысел использовать данный ум в двух-полосном, сима для средне-высокочастотного звена, а низ другой мощный. Удручает тот факт - корячишся в УМ за тысячные доли % искажений, а потом подключаешь его к трехполосной АС с пассивными фильтрами и искажениями 3 - 5 % !!!
    • Сделать поиск и изготовить новоё устройство,минимум как говорили выше.но думаю это вам сложно,купи готовое
    • это девушка. Ну лично мне так кажется
    • если товар физически не пересекает границу, то куплен он в России
    • корпус покрасил. сделал фото усилителя 6н7с+6п6с. тор силовой.два дроселя железних. напряжение под нагрузкой 260в. в холосту +330і. два канала по -40в и один -17в.  +12в +9в +5в. и отдельно один +-15в для предунч.+ темброблок. режим обход темброблок на реле. релейний селектор на 3 входа на галентнике.все реле takamisawa.  стрелочн. индикатори сподсветкой.виход на 4 и 8 ом. релейний регулятор никитина+ управления с пульта, функция mute. красиво поет. виходники под заказ сделани. большой апарат вишел. 
×
×
  • Create New...