реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Прошу помощи по AT90S2313
КИВ
сообщение Nov 15 2006, 11:51
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 15-11-06
Пользователь №: 22 351



Добрый день.

Я живу в небольшой двухкомнатной квартире. У меня автономное отопление, что позволяет, при разумном использовании, очень сильно экономить на квартплате. Для этой цели я приобрел набор NS182.2CT в МастерКит. Четырехканальный таймер-часы-терморегулятор с энергонезависимой памятью-ходом и исполнительным устройством на базе современного микропроцессора AT90S2313 производства фирмы ATMEL.
Мотив приобретения именно этого набора:
- Необходимость поддержки температурного режима в квартире в течение суток;
- Возможность программирования режимов;
- Самый дешёвый набор из программируемых;
- У меня стоит задача энергосбережения, т.е. экономии, а не создание "умного дома" за большие деньги, не задумываясь о текущей экономии.

Собрав данный набор, я столкнулся с целым рядом проблем:
1) Отсутствие гистерезиса терморегулятора. Температуры включения и отключения терморегулятора практически совпадают. Поэтому, при достижении установленной температуры управляющее реле начинает непрерывно включаться/отключаться (представляете, что творится с газовым котлом отопления?).
Т.е. отсутствует не только возможность установки температуры включения и отключения терморегулятора, но и отсутствие между этими температурами приемлемой разницы.

2) Отсутствует возможность совместного использования часов и терморегулятора при программируемом режиме. Терморегулятор просто исключен из такого использования.
Эта проблема резко сужает круг возможного использования данного набора в быту. Только как вкл/откл освещения. Даже для обогрева аквариума использовать нельзя, не говоря уже о помещении, дребезг реле.....

Все вышеперечисленные недостатки - программно установлены ПО версии 182.02.

Я просмотрел конференции на сайте "Мастеркит". Об этих недостатках, счастливые покупатели набора NS182.2CT, начали писать с 2003 года, т.е. с момента начала выпуска данного набора. Но так ничего и не изменилось к лучшему.
В Мастерките ответили, что помочь ничем не могут, т.к. програмист, написавший программу, почти сразу после этого уволился.

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

Может все-же кто-нибудь сможет помочь это исправить?

Исходники прилагаю.
Так же они находятся по адресу http://www.masterkit.ru/info/linkshow.php?num=30

С уважением Игорь Владимирович.
Прикрепленные файлы
Прикрепленный файл  nm182.2_asm_codes.zip ( 49.7 килобайт ) Кол-во скачиваний: 63
Прикрепленный файл  ns182.2.1.zip ( 115.61 килобайт ) Кол-во скачиваний: 54
Прикрепленный файл  ns182_2.zip ( 92.42 килобайт ) Кол-во скачиваний: 51
 
Go to the top of the page
 
+Quote Post
DAndy_boy
сообщение Nov 15 2006, 11:58
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



Исправить то можно, но ковырятся в чужом коде дело не очень благодарное..... Проще занового написать всю программу smile.gif Ищите.... может кто и возмется на досуге....
Go to the top of the page
 
+Quote Post
КИВ
сообщение Nov 15 2006, 12:14
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 15-11-06
Пользователь №: 22 351



Цитата(DAndy_boy @ Nov 15 2006, 14:58) *
Исправить то можно, но ковырятся в чужом коде дело не очень благодарное..... Проще занового написать всю программу smile.gif Ищите.... может кто и возмется на досуге....


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

С уважением Игорь Владимирович.
vik-55555@mail.ru
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 15 2006, 18:15
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



1. Программа написана небрежно, повидимому начинающим программистом.
2. В программе видно, что есть возможность задавать два Threshold'a, на вкл. и на откл., однако где они проверяются с первого раза не заметил. Может кто углядит. Там для того чтобы эта балалайка работала нормально нужно проверку на откл с High Threshold (>= High -> откл) сделать, а на включение с Low Threshold (<= Low ->вкл).

Ну можно как говориться в лоб решить задачу. Найти место где идет вычитка термодатчика и поставить туда жесткие проверки
Значение > 25 = выкл котел
Значение < 20 = вкл котел.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 16 2006, 10:54
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



smile.gif У Вас все задатки программиста. Сразу видите и проблему и её решение. smile.gif Вас удивляет, почему это не сделали до Вас? А они не видели данной проблемы или не хотели видеть. smile.gif

Для таких целей подходит Tiny Basic что обсуждался в этом форуме. smile.gif

Попробую посмотреть код.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 16 2006, 12:09
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я посмотрел. Выводы неутешительные.

1) Текст программы достаточно приличный. Дело даже не в том, что как пишет уважаемый defunct "Программа написана небрежно, повидимому начинающим программистом". А в том, что просто так в неё изменения не внесёшь. Придётся либо отлаживать (уважающий себя программист так и сделает) либо опять Вас бросить на камни с новым кодом. Для того чтобы отладить, надо, как минимум, иметь данное устройство. Купить его и отладить, чтобы сделать Вам приятное, сами понимаете немного тпких альтруистов найдётся. Собрать - тоже. Отладка по интернету не имея девайса, - я за это даже браться не буду.

2) Скорее всего Вам придётся это сделать самому. Тем более, что Вы потом сможете вносить любые изменения в уже "своё" изделие. Либо надо найти программера, у которого есть данный девайс.


Есть ещё один маленький вариант. Я, сейчас, как раз пишу тестовую прогу для DS18b20. У меня ЖКИ подключен. Чтобы легче было отлаживать (наглядней) вывожу на дисплей. Закончу выложу. Не больше недели. Выложите схемку я гляну может перетранслировать удастся на мой макет.
Go to the top of the page
 
+Quote Post
КИВ
сообщение Nov 16 2006, 12:17
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 15-11-06
Пользователь №: 22 351



Цитата(SasaVitebsk @ Nov 16 2006, 15:09) *
Я посмотрел. Выводы неутешительные.

....Есть ещё один маленький вариант. Я, сейчас, как раз пишу тестовую прогу для DS18b20. У меня ЖКИ подключен. Чтобы легче было отлаживать (наглядней) вывожу на дисплей. Закончу выложу. Не больше недели. Выложите схемку я гляну может перетранслировать удастся на мой макет.


Схему выложил.
Описание набора http://www.masterkit.ru/main/set.php?num=629

Сообщение отредактировал КИВ - Nov 16 2006, 12:21
Прикрепленные файлы
Прикрепленный файл  ns182.rar ( 91.13 килобайт ) Кол-во скачиваний: 64
 
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 16 2006, 18:13
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



КИВ, не в тему конечно, спросить хочу. А что за котёл? Сколько стоит? Наличие газосчётчика обязательно? И много ли бумаг надо что б поставить? У нас выпускаются котлы уже с автоматикой. Тоже репу чешу, ибо неохота платить по 1000р каждый месяц за откровенный дубак!
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 16 2006, 20:17
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Nov 16 2006, 15:09) *
А в том, что просто так в неё изменения не внесёшь.

Это как раз и отличает программы написанные начинающими. Написано много и коментарии в каждой строке, но логики работы программы не видно.

Вот место файл TIMEKEY.ASM (с первого раза я даже не предполагал смотреть в нем), где производится вычитка Thresholds и управление реле:
Код
;------------ Read stored Termo Threshold ---------------
    ldi    r17,61;Set 1/2 1-st EEAddr termo threshold
    rcall    RD_EE0;Read 2*Data EEPROM (NOT Corrected)
;---------------------------------------------------------
;---------- Test Activity Termocontrol ----------------
    clr    r17;Clear temp TRMFLAG
    sbrs    EETMP_L,0;IF TERMOSTAT NOT ACTIVE
    rjmp    PEXE4;GO OVER TERMOCONTROL
;------------- Termocontrol ---------------------------
    andi    r18,0xEF;Clear P4 (ON BOARD RELAY) <- !! ЗДЕСЬ ОТКЛЮЧЕНИЕ РЕЛЕ
;---------- Set Termostat IND Points ---------------------
    ldi    r17,0x10;Set flashing point 0 position TRMFLAG
;------------- Compare Termo & Threshold -----------------
    clr    r16;OFF HEATER (0x00=>HEATER)
    dec    EETMP_L
    cp    EETMP_L,LNTMPR_L;Compare real temperature & Threshold
    cpc    EETMP_H,LNTMPR_H;Compare real temperature & Threshold
    brlt    PEXE6;IF real termo lower then ON HEATER
    inc    r16;ON HEATER (0x01=>HEATER)
PEXE6:;-----------------------------------------------------------
    tst    r16;IF HEATER OFF (=0)
    breq    PEXE4;THEN GO put new PORTB
    ori    r18,0x10;Set P4 (ON BOARD RELAY)  <--- !! ЗДЕСЬ ВКЛЮЧЕНИЕ
    ldi    r17,0x11;Set permanent point 0 position TRMFLAG
;------------------------------------------------------
PEXE4:    out    PORTB,r18;put new PORTB  ///!!! <- ЗДЕСЬ ВОЗДЕЙСТВИЕ НА РЕЛЕ
    sts    TRMFLAG,r17;Store new TRMFLAG
PEXE5:    clr    XH;Restore 0=>XH
;=====================================================================




Вот так на мой взгляд можно подправить ситуацию малой кровью:

Код
; <-- вносим гистерезис  
.equ Histeresis  = 5; <-- число подобрать так чтобы разница была 4C-5C,
                ; не знаю в чем у них там меряется температура
.equ TermocontrolPin = PB4

;------------ Read stored Termo Threshold ---------------
    ldi    r17,61;Set 1/2 1-st EEAddr termo threshold
    rcall    RD_EE0;Read 2*Data EEPROM (NOT Corrected)
;------------- Termocontrol ---------------------------
    in    R17, PORTB
    andi  R17, (1 << TermocontrolPin); GET_TERMOCONTROL_STATUS
    tst  R17        
    breq _CheckLowThreshold; // котел отключен, проверить на нижнюю границу температуры
; <-- здесь проверка с верхней границей температуры
; в качестве верхней границы используем то, что задается настройками и сохраняется в EEPROM
    cp    EETMP_L,LNTMPR_L  
    cpc    EETMP_H,LNTMPR_H ;Compare real temperature & и сохраненный Threshold
    brlt HoldCurrentState; температура ниже, держать котел включенным
;<-- здесь температура выше максимальной отметки - отключаем котел
    cbi   PORTB, TermocontrolPin
    rjmp  HoldCurrentState  

_CheckLowThreshold:
    push  R18
    mov   R17, EETMP_L      
    mov   R18, EETMP_H
    subi  R17, Histeresis;
    sbci  R18, 0         ; R18:R17 - сохраненная температура минус гистерезис
// Check for ON state
    cp    R17, LNTMPR_L
    cpc   R18, LNTMPR_H; compare temp with (threshold - Histeresis)
    pop   R18
    brge  HoldCurrentState; температура выше чем (Threshold - Histeresis), держать котел отключенным

;<-- здесь температура ниже минимальной отметки - включаем котел
    sbi   PORTB, TermocontrolPin; //

HoldCurrentState:
    in    R18, PORTB;  На всякий случай синхронизируем R18 с портом B
    ldi    r17,0x11;Set permanent point 0 position TRMFLAG
    sts    TRMFLAG,r17;Store new TRMFLAG
    clr    XH;Restore 0=>XH
;=====================================================================
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 16 2006, 22:02
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(КИВ @ Nov 16 2006, 15:17) *
Схему выложил.
Описание набора http://www.masterkit.ru/main/set.php?num=629


Это что за формат??? blink.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 16 2006, 22:22
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Nov 17 2006, 01:02) *
Это что за формат??? blink.gif

Gif ;>
загляните по F3 в файлик
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 16 2006, 22:51
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(defunct @ Nov 17 2006, 01:22) *
Цитата(SasaVitebsk @ Nov 17 2006, 01:02) *

Это что за формат??? blink.gif

Gif ;>
загляните по F3 в файлик


Да заглянул уже. biggrin.gif Всё понял. Наверное не присоединялось, а потом забыл. smile.gif

Что за DD1 (часы с памятью?) и DD3 (счётчик с дешифратором?). И куда там 18B20 присоединён?
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 17 2006, 06:52
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



[quote name='SasaVitebsk' date='Nov 17 2006, 00:51' post='177172']
[quote name='defunct' post='177162' date='Nov 17 2006, 01:22']
[quote name='SasaVitebsk' post='177151' date='Nov 17 2006, 01:02']
Это что за формат??? blink.gif
[/quote]
Gif ;>
загляните по F3 в файлик
[/quote]

Да заглянул уже. biggrin.gif Всё понял. Наверное не присоединялось, а потом забыл. smile.gif

Что за DD1 (часы с памятью?) и DD3 (счётчик с дешифратором?). И куда там 18B20 присоединён?
[/quote]

[/quote]Описание работы устройства.

Таймер выполнен на основе микросхемы часов фирмы PHILIPS PCF8583 с управлением по шине I2C (DD1), микроконтроллера AT90S2313 (DD2) с прошитым программным обеспечением обработки сигналов управления и индикации, 8-ми разрядного сдвигового регистра 74HC164 (DD3), выполняющего роль расширителя портов микроконтроллера, цепи питания микросхем и индикатора (С7, C8, DA1), цепей питания и пуска реле K1 (С11, R16, VD4 и R13, R14, R15, VD3, VT2). Диод VD3 защищает транзистор VT2 от импульсного пробоя в момент его закрытия. Источник питания состоит из конденсатора C12, гасящего резистора R18, диодного моста VD5 и резистора R17, выполняющего роль ограничителя тока в момент подключения устройства к сети (заряда конденсатора C12). При отключении питания резистор R18 разряжает конденсатор С12.

Диоды VD1 и VD2 обеспечивают развязку литиевого элемента GB и сетевого источника питания.

Литиевый элемент питания (GB) обеспечивает подпитку микросхемы часов PCF8583 (DD1) при отключении основного источника напряжения. Ток потребления DD1 в таком режиме составляет 5 мкА, что позволяет сохранять ИМС все настройки и производить отсчет точного времени на протяжении примерно 1 года.

Напряжение питания подается на контакты X1, X2. Нагрузка подключается к контактам X3, X4 (на замыкание реле К1) или X3, X5 (на размыкание реле К1) соответственно.

Разъем XP1 предназначен для подключения дополнительных устройств контроля-обработки работающих с шиной I2C и подключения датчика температуры.

[/quote]

Это цитата из описания smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
КИВ
сообщение Nov 17 2006, 09:57
Сообщение #14





Группа: Новичок
Сообщений: 5
Регистрация: 15-11-06
Пользователь №: 22 351



Цитата(defunct @ Nov 16 2006, 23:17) *


Отдал ваше письмо програмисту, он попробует разобраться. По его словам, трудность заключается в том, что программа изначально сильно ужата, из-за малого места. И он не уверен, что можно внести дополнительные изменения.
Go to the top of the page
 
+Quote Post
КИВ
сообщение Nov 17 2006, 10:18
Сообщение #15





Группа: Новичок
Сообщений: 5
Регистрация: 15-11-06
Пользователь №: 22 351



Цитата(Коляй @ Nov 16 2006, 21:13) *
КИВ, не в тему конечно, спросить хочу. А что за котёл? Сколько стоит? Наличие газосчётчика обязательно? И много ли бумаг надо что б поставить? У нас выпускаются котлы уже с автоматикой. Тоже репу чешу, ибо неохота платить по 1000р каждый месяц за откровенный дубак!


Котел - viessman, двухконтурный - отопление и горячая вода.
Стоимость около 1000$
Наличие газосчётчика обязательно.
И много ли бумаг надо что б поставить - говорят не много, мне ставили газовщики.
Отечественным не доверяю, постоянно какие-то геморои.
Автоматики котла не достаточно, нужны еще внешние терморегуляторы.

Экономия - на отоплении без комнатных терморегуляторов 30-40%
- на отоплении с комнатным терморегулятором 60-90%
- на горячеи воде 50%


Прошлой зимой, с простейшим терморегулятором, ежемесячная плата за отопление и горячую воду и газ(кухонная плита) составляла 200 - 250 рублей. При этом 250 рублей при морозах 30-35 градусов.
С центр.отопл. платили до 1500...

За прошлый месяц октябрь плата за отопление и горячую воду и газ(кухонная плита) составила 70 рублей.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01498 секунд с 7
ELECTRONIX ©2004-2016