Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

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

Здесь только проекты на ATtiny

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

Сообщение sergey » 04 мар 2009 12:06

Temp = T_LoadOn;!!! Далее if ((Tnew < Temp) & (Tnew > Т_LoadOn)) Вроде как Tnew получается одновременно и больше и меньше одной и той же величины...все ли правильно даже если компилится ?
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 04 мар 2009 12:14

sergey писал(а):Temp = T_LoadOn;!!!

ну есенно этого не надо.... прогнал - исправлю...

Вот исправленая версия:
Код: Выделить всё
Temp = T_LoadOn + DeltaT;

if ((Tnew >= Temp)) //температура больше установленного предела
{
PORTD.3 = 1;
PORTD.2 = 0;
LoadOn = 0; //
}

if ((Tnew < Temp) & (Tnew > Т_LoadOn)) //температура в рамках установленного предела
{
PORTD.3 = 0;
PORTD.2 = 0;
LoadOn = 1; // горит
}

if ((Tnew <= Temp)) //температура ниже установленного предела
{
PORTD.3 = 0;
PORTD.2 = 1;
LoadOn = 0; //
}
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 04 мар 2009 13:43

Опять та же ошибка в компиляторе, вот горе... ни уж то замкнутый круг :(
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 04 мар 2009 13:52

Вот если бы Вы набрали ручками, или хотя бы проверили переменные, то поняли бы, что ошибка в переменной T_LoadOn - там есть какой-то левый символ (скорей всего русская "Т")
Я же копирую из Вашего поста и исправляю Ваши же глюки.
Это выдрал из скомпилированного проекта!
Код: Выделить всё
Temp = T_LoadOn + DeltaT;

if ((Tnew >= Temp)) //температура больше установленного предела
{
PORTD.3 = 1;
PORTD.2 = 0;
LoadOn = 0; //
}

if ((Tnew < Temp) & (Tnew > T_LoadOn)) //температура в рамках установленного предела
{
PORTD.3 = 0;
PORTD.2 = 0;
LoadOn = 1; // горит
}

if ((Tnew <= Temp)) //температура ниже установленного предела
{
PORTD.3 = 0;
PORTD.2 = 1;
LoadOn = 0; //
}
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 04 мар 2009 14:15

Все исправил, извините за ляпсуп не знаю как я русскую Т влепил, вобщем прошил процессор по новой он не виснет но режим равновесия все равно игнорирует...
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 04 мар 2009 14:18

sergey писал(а):но режим равновесия все равно игнорирует...

возможно выполняется ещиё и третье условие - проверьте. Если не получается попробуйте вставить break; в конце каждого условия
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 04 мар 2009 14:29

Недопонял про третье условие?

Добавлено спустя 38 минут 35 секунд:
Исправил ваш участок программы, ошибка в третьем условии вместо Tnew <= Temp поставил Tnew < T_LoadOn... Еще раз спасибо за науку и терпение... С уважением!
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение sergey » 30 мар 2009 20:36

Добрый день. Подскажите как изменить пределы регулирования температуры в область 0...+40гр например, в принципе в область положительных температур. В какой части исходника покопаться? Если конечно это реально без серьезных переделок программы. С уважением.
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 10:46

sergey писал(а):В какой части исходника покопаться?

kbd.c
Код: Выделить всё
if (T_LoadOn > 450)
                {
                  T_LoadOn --;
                  RefreshDisplay();     
                }

менняем на
Код: Выделить всё
if (T_LoadOn > 1000)
                {
                  T_LoadOn --;
                  RefreshDisplay();     
                }


Код: Выделить всё
if (T_LoadOn < (2250 - DeltaT))
                {
                  T_LoadOn ++; 
                  RefreshDisplay();     
                }

меняем на
Код: Выделить всё
if (T_LoadOn < (1400 - DeltaT))
                {
                  T_LoadOn ++; 
                  RefreshDisplay();     
                }

Помним, что
Код: Выделить всё
//температура для удобства представлена так:
// - до 1000 = отрицательная
// - 1000 = 0
// - больше 1000 = положительная
// - 0,1°С = 1
//---------------------------------
//-55°C = 450
//-25°C = 750
//-10.1°C = 899
//0°C = 1000
//10.1°C = 1101
//25°C = 1250
//85°C = 1850
//125°C = 2250
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 12:57

Добрый день, что то не нахожу подобных строк в исходнике, может исходник изменился на термостат 0.1 ? Последний текст который помним что есть...
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 13:48

sergey писал(а):может исходник изменился на термостат 0.1 ?

А вы как думаете? конечно изменился!
но в том аналогично - ищите в файле kbd.c
Код: Выделить всё
if (TT > 0)
                {
                  TT --;       
                }


Код: Выделить всё
if (TT <100)
                {
                  TT ++;       
                }
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 14:25

В файле "kbd.h" судя по исходнику, я правильно понимаю...
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 14:26

sergey писал(а):В файле "kbd.h"

".h" - это только файл описания. Вас нужен ".c"
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 14:29

После замены нажимаю make the projekt и забираю уже измененный вариант... Да kdb.c извините...

Добавлено спустя 3 минуты 7 секунд:
Ну тогда уж последний вопрос...медленно все проясняется :wall: как уменьшить гистерезис пяти градусов для меня достаточно. Извините учусь потихоньку пользуясь форумом :roll:
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 15:05

одновременно нажимаем обе кнопки и выставляем гистерезис...
или вы хотите сразу в прошивке?
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 15:07

Да это понятно, я имел ввиду уменьшить программно...

Добавлено спустя 1 минуту 16 секунд:
Уменьшит так сказать диапазон регулирования 0...5 градусов.
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 15:55

Ну до чего же Вы ленивые...
в том же файле ищите
Код: Выделить всё
DT --;

Код: Выделить всё
DT ++;

ну и там по обстоятельствам...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 20:53

Да не ленивый я вовсе, был бы ленивый не докапывался бы до всего, просто не программист а тока начинающий именно в этой нише любитель. Хотя опыт трудовой деятельности уже более 25 лет но в другой сфере, а так как все сферы сейчас под управлением микроконтроллеров приходится вникать. Спасибо за терпеливые разъяснения. по результатам отпишусь. С уважением.
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение hardlock » 31 мар 2009 21:16

Рад помочь, только времени маловато и на работе задалбывают, поэтому звыняйте, если шо не так... :oops:
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение sergey » 31 мар 2009 21:22

Кроме спасибо сказать нечего :drink:

Добавлено спустя 6 минут 44 секунды:
http://www.servissistemy.narod.ru/index.htm интересная информация, вдруг будет и вам полезна либо для развития идеи возможно и на вашем интересном сайте.
sergey
Частенько бываю
 
Сообщения: 39
Зарегистрирован: 05 фев 2009 20:16

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

Сообщение bobas » 06 апр 2009 16:57

ребята не могу файлы скачать. мож кто скинет на мыло.буду очень признателен. :wall: плата и прошивка
bobas
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 05 апр 2009 22:04
Откуда: СПб

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

Сообщение hardlock » 06 апр 2009 17:04

bobas, что именно вы не можете скачать? с основного сайта?

Добавлено спустя 4 минуты 45 секунд:
Только что проверил - все файлы скачиваются.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение bobas » 06 апр 2009 18:09

разобрался спасибо. через мозиллу не хотел скачивать. через explorer скачалось :good:
bobas
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 05 апр 2009 22:04
Откуда: СПб

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

Сообщение vovik77 » 08 апр 2009 10:11

Здравствуйте! Собрал термостат 0,1 ATtiny прошил отдельно потом впаял, все работает. Хотелось бы поменять прошивку для холодильника, в какой последовательности можно это сделать, не выпаивая ATtiny.
vovik77
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 02 мар 2009 08:50
Откуда: Воронеж

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

Сообщение hardlock » 08 апр 2009 10:18

Какой у Вас программатор? Если последовательный (SPI) то можно подпаять проводки прямо в схему и прошить МК. Ну естественно с включенным питанием...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3360
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 5