Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Управление на климатици
http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=5270
Страница 1 от 1

Автор:  Lupus [ Вто Яну 01, 2008 7:23 pm ]
Заглавие:  Управление на климатици

Имам следния проблем: Отоплявам си апартамента с климатици. Програмата на семейството ми е еднаква през работните дни на седмицата и искам да програмирам часове на включване и изключване, които да са валидни за всички работни дни. За съжаление дистанционните управления и електрониката на климатиците нямат вграден календар. Може да се зададе само една операция "Вкл-Изкл" за следващия ден и толкова. Реших да си направя собствено управление, но се сблъсках с проблема за липсата на протокола за обмен между ДУ и климатика. От разговори в друг един форум май се оказва, че стандартизиран протокол няма. Възможностите са две - ако има протокол, да го открия, ако няма да го сваля команда по команда и да го имитирам с новото устройство. Въпросите са ми два:
1. Копал ли е някой по управленията на климатици и има ли информация за протоколи?
2. Как с най малко разход на време да сваля формата на командите?

Автор:  GTN [ Вто Яну 01, 2008 8:50 pm ]
Заглавие: 

Аз имах подобен проблем с дистанционно от фотоапарат. Отказах се да търся какъв код използва. Закачих сигнала от един обикновен 38кHz приемник към един осцилоскоп и си взех нужната инофрмация. Оказа се че беше някаква леко модифицирана верися на стандартен код. Съвета ми е да пробваш първо с търсене, но да не му се надяваш много а да търсиш междувремено цифров осцилоскоп. :) Успех и пиши как върви че и на мен ми е интересна темата :)

Автор:  forest_gump [ Съб Яну 19, 2008 8:24 pm ]
Заглавие: 

Как не съм я видял тази тема,.. интересно? Значи отговарям ти на 2-рия въпрос,записа на командите ще го направиш като към микрофонният вход включиш инфраред приемник, програмата cooledit на г-н Питър Нортън и това е няма никакви цифрови осцилоскопи и прочие. Анализираш сигнала и разбираш кодировката или как се получава кода на копчето обикновенно са 2-3 вариянта, след това си правиш програмка за МК да управлява от PWM канала един ИР диод през транзистор, и от там лесно вече е въпрос на фантазия. имам работещ проект за управление на записващо DVD Деу със pic12f683 ето как изглежда това за което ти говоря:
тук са дефинирани кодовете на комадните
Код:
#define     one_h             500
#define     one_l             1500
#define     zero_h            500
#define     zero_l            500
#define     cd_class_code     0xA8
#define     cd_power          0b10100101
#define     cd_open_close     0b01110101
#define     cd_play_pause     0b01111001
#define     cd_rec            0b10100011
#define     cd_rec_mode       0b01100011
#define     cd_stop           0b10111001
#define     cd_menu           0b10000101
#define     cd_setup          0b11011001
#define     cd_clear          0b00110101
#define     cd_enter          0b01000101
#define     cd_pr_plus        0b11100101
#define     cd_pr_minus       0b00010101
#define     cd_stop           0b10111001
#define     cd_left           0b01010101
#define     cd_right          0b10010101
#define     cd_display        0b11110101
#define     cd_timer          0b00010011
#define     cd_edit           0b11100011
#define     cd_rew            0b00000101
#define     cd_ff             0b11111000
#define     cd_next           0b11000101
#define     cd_prev           0b00100101
#define     cd_finalize       0b10111101
#define     cd_digest         0b01111101
#define     cd_input          0b01011101
#define     cd_pscan          0b01011010
#define     cd_title_pbc      0b00001101


а това са функиите за тяхното предаване по ИР:
Код:

void  send_ir_bit (int bit_to_send)
{
   if(bit_to_send != 0)       // 1 -___
   {
      setup_ccp1(CCP_PWM);
      delay_us(one_h);
      setup_ccp1(CCP_OFF);
      delay_us(one_l);
   }
   else                       // 0 -_
   {
      setup_ccp1(CCP_PWM);
      delay_us(zero_h);
      setup_ccp1(CCP_OFF);
      delay_us(zero_l);
   }
}

void  send_ir_byte(int   byte_to_send)
{
   int   i, b;

   setup_ccp1(CCP_PWM);
   delay_us(header_h);
   setup_ccp1(CCP_OFF);
   delay_us(header_l);


   b = cd_class_code;
   for(i=0; i<8; i++)
   {
      send_ir_bit( b & 0b10000000 );
      b <<= 1;
   }
   send_ir_bit(1);

   delay_us(separator_l);

   b = byte_to_send;
   for(i=0; i<8; i++)
   {
      send_ir_bit( b & 0b10000000 );
      b <<= 1;
   }
   send_ir_bit(1);
}


void  send_ir_cmd(int  cmd)
{
int   i;
   for(i=0; i< repeat_cmd; i++)
   {
      send_ir_byte(cmd);
      delay_us(paket_delay);
   }
}

void  delay_sec(int del_sec)
{
   int   i;
   for(i=0; i<del_sec; i++)
   {
      delay_ms(1000);
   }
}

////////////////////////////
// DVD PROCEDURES
void  dvd_init()
{
      send_ir_cmd(cd_setup);
      delay_sec(3);
      send_ir_cmd(cd_right);
      delay_sec(3);
      send_ir_cmd(cd_enter);
      delay_sec(3);
      send_ir_cmd(cd_enter);
      delay_sec(3);
      send_ir_cmd(cd_enter);
      delay_sec(40);
      send_ir_cmd(cd_setup);
}

Автор:  Lupus [ Съб Яну 19, 2008 9:46 pm ]
Заглавие: 

@forest_gump,
Благодаря много за идеята за микрофонния вход! Определено за това не се бях сетил. Както се казва - гениалното е просто!
Ще направя опитната постановка и ще пробвам. :)

Автор:  bongo-bongo [ Нед Яну 20, 2008 5:33 am ]
Заглавие:  Да се изцепя:

А не е ли по-просто да сложиш буксичка на дистанционното и едно таймерче да прави "щрак" на копчето On/Off?
Аз обаче бих окъсявал изхода на платката на климатика. Най-вероятно е някакво реле.
Не е толкова HiTech но винаги по-простото е по-сигурно. Още повече, че тука в супермаркетите има суперевтини електромеханични програмируеми контакти с разделителна способност 15мин. Един такъв командва реле на 220В или просто го отваряш и разделяш веригата на ключа от веригата на мотора. За нула време работа.

Автор:  Lupus [ Нед Яну 20, 2008 10:43 am ]
Заглавие:  Re: Да се изцепя:

bongo-bongo написа:
А не е ли по-просто да сложиш буксичка на дистанционното и едно таймерче да прави "щрак" на копчето On/Off?
............

Това е първото, за което човек се сеща, но идеята да се свалят командите за различни климатици и те после лесно да се възпроизвеждат без да се пипат конструкциите, е част от една по-обща идея за централизирано или дистанционно управление на дома. Абе SmartHome...

Автор:  Cekins [ Нед Яну 20, 2008 7:09 pm ]
Заглавие: 

Аз все си мисля, че при климатиците не е чак толкова просто като с телевизора. Щото май тия дистанционни предават не команда а цяла поредица от информация. У дома сме с три еднакви климатика и като се пусне някой от климатиците с друго дистанционно тръгва с настройките на "това" рц а не както е бил спрян. Демек праща режим (охл./отпл.) темп., вентилатор, клапа ... То пак зависи и от климатика де.

Автор:  Lupus [ Нед Яну 20, 2008 8:59 pm ]
Заглавие: 

Cekins написа:
Аз все си мисля, че при климатиците не е чак толкова просто като с телевизора. Щото май тия дистанционни предават не команда а цяла поредица от информация. У дома сме с три еднакви климатика и като се пусне някой от климатиците с друго дистанционно тръгва с настройките на "това" рц а не както е бил спрян. Демек праща режим (охл./отпл.) темп., вентилатор, клапа ... То пак зависи и от климатика де.

Така е. За това трябва да се запишат и да се предават целите стрингове. Вътрешното тяло, когато приеме вярно командата изписква в знак на потвърждение.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/