Page 81 of 109

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

Posted: 15 May 2014 19:46
by Serg
Установил правильный датчик DS18B20 показания близки к действительности но врут на 3 градуса в большую сторону; при настройках температуры отключения нагрузки с учетом гистерезиса нагрузка не отключается (холодильник с ОА) :wall: :shout: горит первая на индикаторе точка и на 7 выводе микросхемы +5 вольт (температура при экспериментах в пределах 25-30 градусов). Кстати а что за заморочка с фьюзами если шить из Atmel Studio 6.1. какие выстовлять а какие нет ???

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

Posted: 15 May 2014 21:36
by Nikolas
Спасибо andreich78. На его исходнике делал прошивку для холодильника с задержкой на вкл. Задержка изменяется в коде,
строка 58 #define SwitchDelay 3 //Примерно 3 секунды. Выставил 180 около 3 мин.
Счетчик запускается когда выйдет за гистерезис если обратно входит в гистерезист отсчет сбрасывается.
В архиве есть исходник и протеус.
На практике еще не проверил.

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

Posted: 16 May 2014 08:36
by andreich78
Serg wrote:при настройках температуры отключения нагрузки с учетом гистерезиса нагрузка не отключается (холодильник с ОА) :wall: :shout: горит первая на индикаторе точка и на 7 выводе микросхемы +5 вольт (температура при экспериментах в пределах 25-30 градусов).
прошивку перепутал. стопудов. тебе нужна "для холодильника с ОА" http://hardlock.org.ua/download/file.php?id=534

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

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

Posted: 16 May 2014 20:30
by Serg
Спасибо Nikolas и andreich78 за firmware v3.2_ switch delay холод.zip прошил и работает! Пробовал в Proteuse обе работают видимо что то сразу не пошло... А вот почему осталось на +3 градуса? Пробовал другой датчик тоже +3гр, поиграем с сопротивлением 4,7 кОм , вроде ранее проскакивала мыслишка в форуме???

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

Posted: 16 May 2014 22:17
by Nikolas
Если датчик припаян прямо к плате то температура будет завышать, припаяй датчик на длинные провода.

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

Posted: 16 May 2014 23:47
by 101km
Recov wrote:..."в не традиционном качестве" не стоит. А то запоешь как тот пидорас с боородой на еаровидении...
Спасибо, Вы и этот...со своей асм-ой мне очень помогли.
Разобрался и без Вас, просто надо было протокол 1-wire изучить и перенаписать для АБ. Теперь всё работает. ]:->

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

Posted: 17 May 2014 00:03
by andreich78
Serg wrote:А вот почему осталось на +3 градуса? Пробовал другой датчик тоже +3гр, поиграем с сопротивлением 4,7 кОм , вроде ранее проскакивала мыслишка в форуме???
Забей. Может это партия кривых датчиков. Рецептов - не было, были объяснения как ввести поправку.

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

Posted: 18 May 2014 17:53
by ZimA
Nikolas wrote:В архиве есть исходник и протеус.
На практике еще не проверил.
а готовая прошивка ? :-)

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

Posted: 18 May 2014 18:07
by Nikolas
Есть там прошивка с расширением termostat_led.hex, termostat_led.eep или termostat_led.rom
Обновил схему в протеусе, добавил схему в spl7.
firmware v3.2_ switch delay вкл_холод.zip

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

Posted: 23 May 2014 14:08
by DronGrave
Доброго времени суток, господа. Тут такая просьба, я не силен в электронике, уж тем более в программировании. Прошу вас, подпишите на печатной плате элементы и выводы. Не пинайте пожалуйста, помогите новичку. Заранее благодарен. С уважением.

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

Posted: 27 May 2014 13:43
by Amidel
Доброго времени суток уважаемые коллеги - у меня возник такой вопрос: на сколько сложно переделать прошивку под работу с Трехиндикаторным дисплеем, при том индикация как раз будет только на 3 сегментах и отображаться; максимальная измеряемая положительная температура 99.9 минимальная -9.9 Гистерезис 9.9 - при показаниях свыше 100 показывать HI при меньше чем -9.9 LO - при работе нагревателя показывать точку в младшем разряде ...

Вопрос еще такой в прошивке как задается подключение порта МК к индикатору?

Code: Select all


BYTE byCharacter[15] = {0xFA,  //0
                0x82,          //1
 	        0xB9,          //2
	        0xAB,	       //3 
	        0xC3,          //4 
	        0x6B,          //5 
	        0x7B,          //6
                0xA2,          //7 
                0xFB,          //8
                0xEB,          //9 
                0x00,          //blank   
                0x01,          //-
                0x70,          //t
                0x9B,          //d
                0x58           //L
                }; 



или я ошибаюсь?

Простите быть может за нубские вопросы, хочу сам немного разобраться.

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

Posted: 27 May 2014 15:56
by andreich78
Amidel wrote:Доброго времени суток уважаемые коллеги - у меня возник такой вопрос: на сколько сложно переделать прошивку под работу с Трехиндикаторным дисплеем, при том индикация как раз будет только на 3 сегментах и отображаться; максимальная измеряемая положительная температура 99.9 минимальная -9.9 Гистерезис 9.9 - при показаниях свыше 100 показывать HI при меньше чем -9.9 LO - при работе нагревателя показывать точку в младшем разряде ...
смотри тут:
начало обсуждения
прошивка

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

Posted: 27 May 2014 20:05
by Amidel
По поводу ваших ссылок понятно что есть возможность применить 3 разрядный индикатор, Выше то я как раз и спросил как назначаются выводы портов МК к выводам индикатора, у меня выводы соотвествуют примерно так:
PA1 - e, PA0 - d, PD2 - h, PD3 - c, PD4 - g, PB5 - b, PB4 - 3, PB3 - 2, PB2 - f, PB1 - a, PB0 - 1, PB7 - out1, PB6 - out2, PD6 - ds18b20
Печатная плата как раз подрузомевает расположение индикатора над контроллером в ДИП корпусе, с выводом элементов управления к боковым граням индикатора

Буду очень признателен если поможете с прошивкой, У самого стоит Win 8 и установить Кодевижн - не представляется возможным. Требования к работе я написал в сообщении выше

За ранее спасибо.

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

Posted: 28 May 2014 08:44
by andreich78
Amidel wrote:По поводу ваших ссылок понятно что есть возможность применить 3 разрядный индикатор, Выше то я как раз и спросил как назначаются выводы портов МК к выводам индикатора, у меня выводы соотвествуют примерно так:
PA1 - e, PA0 - d, PD2 - h, PD3 - c, PD4 - g, PB5 - b, PB4 - 3, PB3 - 2, PB2 - f, PB1 - a, PB0 - 1, PB7 - out1, PB6 - out2, PD6 - ds18b20
Печатная плата как раз подрузомевает расположение индикатора над контроллером в ДИП корпусе, с выводом элементов управления к боковым граням индикатора
Тут, понимаешь, не так всё просто. Задумка программы такова, что символ целиком формируется на порте PORTB, а переключение отображаемого разряда - на другом порте (PORTD). То есть все сегменты от a до g предполагаются соединенными с портом B, иначе нужно усложнять программу, и, кстати, не факт, что она поместится в память после этого. Все, кто тут делал в DIP корпусе, предпочли изменять плату так, чтобы не переписывать программу.
Я, кстати, тоже сделал в DIP, но здесь не выкладывал - сложновато получилось. У меня тинька на обратной стороне платы, а индикатор - на стороне дорожек.

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

Posted: 09 Jul 2014 13:35
by Ivan
Вот заглянул сюда к Вам, и решил повторить схему конструкции, что на первой странице. С прошивкой указанной там же.
Все получилось без затруднений, за исключением.
Биты конфигурации (FUSES), для тех кто шьёт из PonyProg:
Сейчас программаторов огромное множество, и у каждого разный подход к фьюзам.
У одних птички в опциях изнаночные, у других они "прямые".
Я то их подобрал, благо есть параллельный программатор, который восстановит и reset disable и SPI enable.
Не проще было бы указывать сразу код фьюзов типа LO: 64 HI: DF
Это у всех одинаково. И не будет путаницы.

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

Posted: 09 Jul 2014 13:42
by hardlock
Ivan wrote:Не проще было бы указывать сразу код фьюзов типа LO: 64 HI: DF
на момент написания статьи пользовался только понипрогом, а в нём нету фьюзов в 16-тиричном виде. Добавил.

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

Posted: 10 Jul 2014 11:16
by Ivan
Добрый день hardlock, а Вы не задумывались почему когда нестабильное питание, или импульсного рода воздействия по питанию, или просто пару раз зажечь-потушить рядом с устройством лампу дневного света, меняется состояние EEPROM. (при том, в последнем случае, устьройство питается от аккумулятора).
Почему меняется состояние только EEPROM ? Почему не Flash ? Флеш от ЕЕПОРМ отличается только тем, что флешь можно писать побитно, а стереть только весь кристал сразу, а еепром, можно стирать и писать побитно.
Мне понятно, что тут решили проблему аппаратно. При применении "+ светодиод reset резистор -" сигнал резета долж
ен поступить чуть раньше, чем "улетит" питание до значения, когда проц в бреду произведет запись мусора в еепром, или может питания уже нехватит, что бы в "затвор" ячейки памяти внести достаточный заряд.
Так вот, может подумать над тем, что бы решить эту проблему программно ? EEPROM дергать на запись и изменения только в исключительных случаях. Или может создать отдельную процедуру, которая вызывается только при условии, "выставляем температуру кнопками, и бездействуем такое то время" ?
Я в код глядел, но что то непойму до конца как Вы это делаете.

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

Posted: 10 Jul 2014 11:35
by hardlock
Ivan wrote: EEPROM дергать на запись и изменения только в исключительных случаях. Или может создать отдельную процедуру, которая вызывается только при условии, "выставляем температуру кнопками, и бездействуем такое то время" ?
А так и происходит. В еепром программа пишет ТОЛЬКО при изменении параметров. Всё остальное время даже чтения из него не происходит - используются RAM переменные. При глюках питания САМА тиня что-то сотворяет с еепромом, т.к. в МЕГЕ8 такого нету и в помине.

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

Posted: 10 Jul 2014 15:46
by kilovoltik
собрал схемку вшил грелку(год уже работает) греет норм, а с холодильником печаль какая то, чтоб не шил туда все равно грелка получается в чем проблема то ?

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

Posted: 10 Jul 2014 15:49
by hardlock
kilovoltik, так холодильник от грелки отличается только логикой включения возле дельты и всё...

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

Posted: 10 Jul 2014 16:16
by kilovoltik
значит надо с 7 ноги на 6 перекинуть реле походу

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

Posted: 11 Jul 2014 13:29
by Ivan
hardlock wrote:При глюках питания САМА тиня что-то сотворяет с еепромом, т.к. в МЕГЕ8 такого нету и в помине.
А похоже, что Вы таки правы. На Мегах такого явления я так же не встречал.
От того и удивила меня эта проблема.
Так же при первом поверхностном гуглевании нашел
http://forum.cxem.net/index.php?app=cor ... _id=206287
На стр19 как раз про 2313 и эту проблему.
Попробую таки поставить фьюзы L 64 H D9 (bodlevel 4.3 v) и поморозить чип.
Может и не проявится эффект, какой у Вас был.
Уж как то не очень хочется паять светодиод с резистором на reset, оно как то не научно :-)

Добавлено спустя 11 часов 58 минут 14 секунд:
Результат получился следующий, при фьюзах L 64 H D9 и охлаждении всей конструкции "морозилка холодильника" до -30 (по крайней мере так показал сам испытуемый) никаких проблем с резетами не происходило.
Отмечалась только несколько замедленная реакция на кнопки. Так же я производил изменения температуры с кнопок, и результат записывался в EEPROM. Передергивал питание, то данные в EEPROM не менялись.
Я применил проц Attiny2313a может в нем исправили прикол, когда при использовании bodlevel были проблемы при низких температурах.

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

Posted: 11 Jul 2014 14:42
by hardlock
Ivan wrote:Я применил проц Attiny2313a
в нём много чего исправили. Может и это тоже...

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

Posted: 20 Jul 2014 21:16
by MitsuokaOroshi
Всем привет! Собрал данный термостат и он отлично работает, спасибо Уважаемый Hardlock! (правда только с супервизором, были частые слеты EEPROM при вкл./откл. прошивка самая новая с О.C) но потребовался еще один и началось непонятное: Сразу оговорюсь что покупал комплект всех компонентов за раз и собирал второй тоже из этого комплекта. Но после сборки и включения заметил приличную разницу между яркостью сегментов индикатора (а так как задумка требовала разместить индикатор за тонировкой то это было не приемлемо) в основном вертикальных. Грешил на "качество" индикаторов но после 8 шт.!!! разных и ОА и ОК купленных с разных сайтов и рынков сомнения закрались в выводы. После пайки промыл от флюса тщательно, позже даже побультыхал в УЗВ предварительно залив KONTACT ом! Закороток нет, питание стабильное. Сменил 3 контроллера и все одно и тоже! Просто опа какая то! Перемерял резисторы в цепи индикатора у всех отклонения не выше 5% как и заявлял продавец. Но ведь эти же резисторы стоят и на первом экземпляре термостата и там все хорошо и четко... в общем идеи где копать закончились... :(

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

Posted: 21 Jul 2014 10:04
by hardlock
MitsuokaOroshi, ничего предположить не могу. Остаётся только проверять параметры индикатора и тиньки (но там в динамике, поэтому только осциллографм). Может Вам стоит перейти на вариант с транзисторами в цепи ОК, но если разница между сегментами, то это не исправит положение...