24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

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

Здесь только проекты на ATtiny
Post Reply
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

Alexei wrote: ну теоретически 100 Ом не должны сжечь контроллер или для надежности раззвязать транзисторными ключами?
Практически тоже не должны. Я делал вообще без сопротивлений, правда на зеленом маленьком индикаторе.
А ключи это лишнее.
Ну и еще. hardlock где-то на форуме писал что красный лучше видно на солнце.
aleshka_4ik
Пробегал мимо
Posts: 2
Joined: 03 Aug 2012 15:57

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

Post by aleshka_4ik »

Подскажите, как доработать текст программы, чтоб выключать дисплей.
Т.е., термостат используется, как пороговое устройство, выход на нагрузку только один (например PORTD.3, PORTD.2 свободен).
Нужно, чтоб пока на PORTD.3 лог.0, экран был потушен (в целях экономии батарейки), когда поднимается тем-ра и PORTD.3=1, включаются индикаторы.
Так же чтоб была кнопка, можно на PORTD.2, чтоб нажатием кнопки можно было включить дисплей, посмотреть тем-ру.

Спасибо.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

aleshka_4ik wrote:Подскажите, как доработать текст программы, чтоб выключать дисплей.
Нужно, чтоб пока на PORTD.3 лог.0, экран был потушен (в целях экономии батарейки), когда поднимается тем-ра и PORTD.3=1, включаются индикаторы.
Попробуй в функции ShowDisplayData(void) добавить
{
#ifdef Cathode
if (PIND.3==0)
{
PORTB = 0 ; return
}

PORTB = byCharacter[byDisplay[0]];

----
----

#ifdef Anode
if (PIND.3==0)
{
PORTB = 0xFF ;
return ;
}

PORTB = ~byCharacter[byDisplay[0]];

aleshka_4ik wrote: Так же чтоб была кнопка, можно на PORTD.2, чтоб нажатием кнопки можно было включить дисплей, посмотреть тем-ру. Спасибо.
Лишнюю кнопку можно наверно не заводить а использовать те что есть. Только завести глобальный флаг. Pokaz = 0
Если дисплей не горит то любое нажатие на кнопку - Pokaz = 10.
каждую секунду в функции уменьшаем Pokaz--
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
----
if (Counter > 0) //Counter - переменная для подсчёта времени отображения различных режимов
{
Counter --; //если она больше "0", то значит кто-то переключил режим отображения и
} //присвоил ей значение отличное от "0". Значит надо екрементировать,
else //пока не станет равной "0".
{
View = 0; //если она =0, то сбрасываем текущий режим на "0"
}

if (Pokaz > 0) //Pokaz - переменная для подсчёта времени отображения
{
Pokaz --; //если она больше "0", то значит была нажата кнопка
}
aleshka_4ik
Пробегал мимо
Posts: 2
Joined: 03 Aug 2012 15:57

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

Post by aleshka_4ik »

Попробуй в функции ShowDisplayData(void) добавить
{
#ifdef Cathode
if (PIND.3==0)
{
PORTB = 0 ; return
}
PORTB = byCharacter[byDisplay[0]];

----
----

#ifdef Anode
if (PIND.3==0)
{
PORTB = 0xFF ;
return ;
}
PORTB = ~byCharacter[byDisplay[0]];
Спасибо! Все получилось!
if (Counter > 0) //Counter - переменная для подсчёта времени отображения различных режимов
{
Counter --; //если она больше "0", то значит кто-то переключил режим отображения и
} //присвоил ей значение отличное от "0". Значит надо екрементировать,
else //пока не станет равной "0".
{
View = 0; //если она =0, то сбрасываем текущий режим на "0"
}

if (Pokaz > 0) //Pokaz - переменная для подсчёта времени отображения
{
Pokaz --; //если она больше "0", то значит была нажата кнопка
}
По поводу кнопки не совсем понял.
Для Pokaz тоже нужно условие переключения в режим View = 0 ?
И еще, нужно написать еще какое-то условие там где
#ifdef Cathode
if (PIND.3==0)
{
PORTB = 0 ; return }

ведь дисплей не включиться пока PIND.3==0, а соответственно PORTB = 0.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

aleshka_4ik wrote: По поводу кнопки не совсем понял.
По порядку.
1.
Добавляем глобальный флаг Pokaz
BYTE Counter = 0;
BYTE Pokaz = 0;
2.
При нажатии на любую кнопку Pokaz = 10
функция ScanKbd в kbd.c
// Если обнаружено нажатие на клавишу, то переходим к ее проверке.
if (KeyCode != 0)
{
byCheckedKey = KeyCode;
Pokaz = 10;
3.
каждую секунду в функции interrupt [TIM1_OVF] void timer1_ovf_isr(void) уменьшаем Pokaz на единицу
пока не станет 0
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
----
if (Counter > 0) //Counter - переменная для подсчёта времени отображения различных режимов
{
Counter --; //если она больше "0", то значит кто-то переключил режим отображения и
} //присвоил ей значение отличное от "0". Значит надо екрементировать,
else //пока не станет равной "0".
{
View = 0; //если она =0, то сбрасываем текущий режим на "0"
}
if (Pokaz > 0) //Pokaz - переменная для подсчёта времени отображения
{
Pokaz --; //если она больше "0", то значит была нажата кнопка
}

4.
Использование Pokaz в условие
#ifdef Cathode
if ((PIND.3==0)&(Pokaz==0))
{
PORTB = 0 ; return
}
0) //Counter - переменная для подсчёта времени отображения различных режимов
{
Counter --; //если она больше

Посмотрел я на пункт 2. Надо бы чтоб при первом нажатии изменялся только Pokaz.
А стандартная реакция на кнопки была бы уже при Pokaz > 0
Поэтому добавляем в другом месте
if( btKeyUpdate )
{
if (Pokaz==0) Pokaz=10
else

{
btKeyUpdate = FALSE;
ProcessKey();
}
}
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

Вашему вниманию мои 5 копеек в общую копилку
на основе прошивки от grey4ip чуток переделал логику работы термостата и теперь один термостат может управлять и охладителем и нагревателем одновременно
6 и 7 пины - выходы на охладитель и нагреватель соответственно (1 - включено)
применение - в погребах, теплицах, взамен штатных регуляторов холодильников - морозильников и т. д. и т. п.
исключается одновременное включение нагревателя и охладителя, пределы установки температуры максимально расширены для универсальности термостата
прошу не пинать сильно если что-то не так
Attachments
my TS01 03.zip
(2.46 KiB) Downloaded 479 times
Serioga
Живу тут
Posts: 270
Joined: 19 Apr 2010 19:52
Location: Полтава

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

Post by Serioga »

georg77 wrote:Вашему вниманию мои 5 копеек в общую копилку
на основе прошивки от grey4ip чуток переделал логику работы термостата и теперь один термостат может управлять и охладителем и нагревателем одновременно
6 и 7 пины - выходы на охладитель и нагреватель соответственно (1 - включено)
применение - в погребах, теплицах, взамен штатных регуляторов холодильников - морозильников и т. д. и т. п.
исключается одновременное включение нагревателя и охладителя, пределы установки температуры максимально расширены для универсальности термостата
прошу не пинать сильно если что-то не так
В "железе" пробовал, как работает ?
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

да, пробовал
забыл написать, что прошивка под общий анод
из косяков - несколько неправильно работает точка на индикаторе, обозначающая включение нагрузки (логика её работы осталась прежней)
аларма пока нет
постараюсь всё поправить в будущем
Serioga
Живу тут
Posts: 270
Joined: 19 Apr 2010 19:52
Location: Полтава

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

Post by Serioga »

georg77 wrote:да, пробовал
забыл написать, что прошивка под общий анод
из косяков - несколько неправильно работает точка на индикаторе, обозначающая включение нагрузки (логика её работы осталась прежней)
аларма пока нет
постараюсь всё поправить в будущем
Я правельно тебя понял:
Устанавливаем необходимую температуру и дельту.
При привышении Т+дельта, включаеться охлаждение ( на 6 выходе порта 1).
При понижении Т-дельта, включаеться нагреватель ( на 7 выходе порта 1).
Точка в первом розряде показывает только включенный нагреватель.
Индикатор только с общим анодом.
Все так ?
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

именно так
Serioga
Живу тут
Posts: 270
Joined: 19 Apr 2010 19:52
Location: Полтава

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

Post by Serioga »

georg77 wrote:именно так
Спасибо, попробую.
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

кое - как впихнул в тиньку полноценную функцию аларма (регулируется как и другие параметры через нажатие 2-х кнопок)
кое - чем пришлось пожертвовать
но функцию паралельного управления нагревателем и охладителем удалось сохранить
протестирую пару-тройку дней и выложу
Cannibal Corpse
Пробегал мимо
Posts: 7
Joined: 17 Mar 2011 11:42

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

Post by Cannibal Corpse »

Всем доброго времени суток
Нельзя ли переделать прошивку с ОА, задействовав PD2 в качестве входа для уменьшения яркости индикаторов.
Планируется установка в авто, термостат для управления вентилятором охлаждения двигателя
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

Cannibal Corpse wrote:Всем доброго времени суток
Нельзя ли переделать прошивку с ОА, задействовав PD2 в качестве входа для уменьшения яркости индикаторов.
Веткой выше это уже обсуждалось. Типа как в тахометре.
Cannibal Corpse
Пробегал мимо
Posts: 7
Joined: 17 Mar 2011 11:42

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

Post by Cannibal Corpse »

IYra, дайте пожалуйста ссылку

Добавлено спустя 6 минут 29 секунд:
Извиняюсь, принял выражение "ветка" за отдельную тему, нашел на предыдущей странице :)

Добавлено спустя 6 часов 42 минуты 28 секунд:
IYra, если Вас не затруднит, сделайте hex под порт PD2, в CVAVR первый раз залез, а оное чудо после кнопки компиляции еще и ругается забугорным языком да красным цветом
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

Cannibal Corpse wrote:IYra, если Вас не затруднит, сделайте hex под порт PD2, в CVAVR первый раз залез, а оное чудо после кнопки компиляции еще и ругается забугорным языком да красным цветом
Предыдущий товарищ Alexei убрал кнопки и жестко прописал температуру срабатывания и дельту.
(97 и 5 вроде) Габариты подключал к PA1. Так не подходит ?
PS
В таком варианте можно использовать два порога включения для 2-х скоростного вентилятора
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

Выкладываю желающим прошивку под ОА термостата с функцией нагрев/охлажд с алармом
Сделано на основе исходника от уважаемого Grey4ip и доведена до конца его идея Аларма
1 на 6-ом пине - нагрев
1 на 7-ом пине - охлаждение
Аларм сработает при отклонении температуры от выставленной на заданную величину
вход в регулировку аларма как и в другие регулировки - нажатием 2-х кнопок одновременно
если выставить А=0 - аларм (индикатор срабатывания - точка в самом правом разряде индикатора) – выключен
аларм можно использовать как второй порог для усиления нагрева или охлаждения (по вкусу)
прошивка не даст выставить аларм меньше Дельты (правда можно обмануть при желании - на устраниение этой "фичи" мне не хватило ёмкости флеша)
не хватило ног для вывода Аларма - я вытащил чёткий однозначный сигнал с помощью небольшой схемки на 2- транзисторах разной проводимости используя сигналы с 8 и 14 пина
функция коррекции датчика сохранена полностью
по умолчанию Туст=20 град, Дельта=0.5 град, Аларм=5.0 град, Корр=0.
Attachments
ts01CoolHeatAlarm_OA.zip
(2.61 KiB) Downloaded 504 times
Cannibal Corpse
Пробегал мимо
Posts: 7
Joined: 17 Mar 2011 11:42

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

Post by Cannibal Corpse »

IYra wrote: Предыдущий товарищ Alexei убрал кнопки и жестко прописал температуру срабатывания и дельту.
(97 и 5 вроде) Габариты подключал к PA1. Так не подходит ?
PS
В таком варианте можно использовать два порога включения для 2-х скоростного вентилятора
Почти то, что мне нужно, но архива с файлом в ветке я не нашел
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

Cannibal Corpse wrote: Почти то, что мне нужно, но архива с файлом в ветке я не нашел
А он свой окончательный вариант чего-то не выложил.
Я смотрел его предварительный вариант. Кое-что там подправил. Могу его выложить.
Какие диапазоны поставить ?
Cannibal Corpse
Пробегал мимо
Posts: 7
Joined: 17 Mar 2011 11:42

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

Post by Cannibal Corpse »

IYra, , если можно 2 диапазона, то 80 и 95, гистерезис 5
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

Cannibal Corpse wrote:IYra, , если можно 2 диапазона, то 80 и 95, гистерезис 5
Вот собрал. Проверил в Протеусе.
1. Если на PORTA.1 - 0 тогда добавляется задержка и яркость меньше.Как в тахометре.
2. Первая скорость PORTD.2 - 1 когда > 85 гр, 0 < 80 гр
3. Вторая скорость PORTD.3 - 1 когда > 100 гр, 0 < 95 гр
Attachments
termostat_led_car_2speed.rar
(18.01 KiB) Downloaded 358 times
Recov
Живу тут
Posts: 167
Joined: 26 Dec 2011 15:23
Location: г. Находка

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

Post by Recov »

georg77 wrote:не хватило ног для вывода Аларма - я вытащил чёткий однозначный сигнал с помощью небольшой схемки на 2- транзисторах разной проводимости используя сигналы с 8 и 14 пина
Подскажи, как аларм подключать, 8 и 14 идут на индикатор?
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

выкладываю схемку вывода аларма
Attachments
AlarmTS01.GIF
AlarmTS01.GIF (6.3 KiB) Viewed 8711 times
Recov
Живу тут
Posts: 167
Joined: 26 Dec 2011 15:23
Location: г. Находка

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

Post by Recov »

Нагрузка пьезо излучатель или динамик?
georg77
Частенько бываю
Posts: 125
Joined: 26 Nov 2011 05:38

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

Post by georg77 »

конечно пьезо, причём со встроенным генератором(продаются такие, где-то 10 руб), так как на выходе аларма ПОСТОЯННОЕ напряжение.
Post Reply