Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Своими руками (http://www.microchip.su/forumdisplay.php?f=21)
-   -   "Кондиционер" для бедных (http://www.microchip.su/showthread.php?t=15753)

VladMikroCCC 06.07.2013 00:40

"Кондиционер" для бедных
 
Год назад смостырил вот это:
Код:

#include "Lcd"
#define Relay_On() PORTA=8
#define Relay_Off() PORTA=0
const unsigned short TEMP_RESOLUTION1 = 12;
const unsigned short TEMP_RESOLUTION2 = 12;
//unsigned short state;
char *text = "00";
unsigned counter;
unsigned temp1;
unsigned temp2;

void Display_Temperature1(unsigned int temp2write1) {
  const unsigned short RES_SHIFT = TEMP_RESOLUTION1 - 8;
  char temp_whole1;
  unsigned int temp_fraction;
  if (temp2write1 & 0x8000) {
    temp2write1 = ~temp2write1 + 0,1 ;
  }
  else {
      text[0] = '+';
      Lcd_Chr(1,2,'+');
  }
  temp_whole1 = temp2write1 >> RES_SHIFT;
  if (temp_whole1/100)
    text[0] = temp_whole1/100  + 48;
  else
  text[1] = (temp_whole1/10)%10 + 48;
  text[2] =  temp_whole1%10    + 48;
  temp_fraction  = temp2write1 << (4-RES_SHIFT);
  temp_fraction &= 0x000F;
  temp_fraction *= 625;
  Lcd_Out(1, 2, text);
      }
  void Display_Temperature2(unsigned int temp2write2) {
  const unsigned short RES_SHIFT = TEMP_RESOLUTION2 - 8;
  char temp_whole2;
  unsigned int temp_fraction;
  if (temp2write2 & 0x8000) {
    temp2write2 = ~temp2write2 + 0,1;
  }
  else {
      text[0] = '+';
      Lcd_Chr(1,11,'+');
  }
  temp_whole2 = temp2write2 >> RES_SHIFT;
  if (temp_whole2/100)
    text[0] = temp_whole2/100  + 48;
  else
  text[1] = (temp_whole2/10)%10 + 48;
  text[2] =  temp_whole2%10    + 48;
  temp_fraction  = temp2write2 << (4-RES_SHIFT);
  temp_fraction &= 0x000F;
  temp_fraction *= 625;
  Lcd_Out(1, 11, text);
 
 
  switch(state){
  case 0: {
  if(temp1< temp2 + 18){
  Relay_Off();
  Lcd_Chr(1,16,'0');
 }
  else {
  Relay_On();
  Lcd_Chr(1,16,'1');
  state=1;
 }
 }; break;
 case 1: {
 if(temp1<temp2){
  Relay_Off();
  Lcd_Chr(1,16,'0');
 state=0;
 }
 else {
  Relay_On();
  Lcd_Chr(1,16,'1');
 }
 }; break;
 }
 }
void main() {
 TRISA=0b11110111; // RA3 out
  ADCON1=0x06;
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(1, 1, "D");
  Lcd_Out(1, 9, "U");
  Lcd_Chr(1,15,223);
  Lcd_Chr(1,14,'C');
  do  {
    Ow_Reset(&PORTA, 5);
    Ow_Write(&PORTA, 5, 0xCC);
    Ow_Write(&PORTA, 5, 0x44);
    Delay_us(120);
    Ow_Reset(&PORTA, 5);
    Ow_Write(&PORTA, 5, 0xCC);
    Ow_Write(&PORTA, 5, 0xBE);
    temp2 =  Ow_Read(&PORTA, 5);
    temp2 = (Ow_Read(&PORTA, 5) << 8) + temp2;
    Ow_Reset(&PORTA, 4);
    Ow_Write(&PORTA, 4, 0xCC);
    Ow_Write(&PORTA, 4, 0x44);
    Delay_us(120);
    Ow_Reset(&PORTA, 4);
    Ow_Write(&PORTA, 4, 0xCC);
    Ow_Write(&PORTA, 4, 0xBE);
    temp1 =  Ow_Read(&PORTA, 4);
    temp1 = (Ow_Read(&PORTA, 4) << 8) + temp1;   
    Display_Temperature1(temp1);
    Display_Temperature2(temp2);
    Delay_ms(400);
  } while (1);
  }

Один датчик в доме второй на улице. Как только температура на улице становится ниже чем в доме включается вытяжка , собрана на 16F876 и из старых вентиляторов с компов 12 шт и БП АТХ. Днем у нас 33 С ночью 20...25 С, так что дом остывает прилично и днем в доме очень прохладно.
Так вот я о чем., хочу поставить кнопку "вкл выкл" выхода RA3, как только неколдовал ...... , не получается., если убираю LCD (тоесть без индикации) все получается из библиотек Mikroc, c LCD никак.
Подскажите

Guaho 06.07.2013 02:46

Re: "Кондиционер" для бедных
 
Жаль, что Вы не привели схему устройства (или хотя бы расписали, что на каких пинах висит). А то получается, что программа дана, а где входы/выходы и каково их назначение - непонятно.
Цитата:

Сообщение от VladMikroCCC (Сообщение 186758)
...хочу поставить кнопку "вкл выкл" выхода RA3, как только неколдовал ...... , не получается., если убираю LCD (тоесть без индикации) все получается из библиотек Mikroc, c LCD никак.
Подскажите

Хотите отключать, точнее, менять состояние выхода RA3? Повесьте кнопку на любой свободный пин, определите его как вход, дайте ему подтяжку (резистор 10 кОм на + 5 В; если используете PORTB7:4 - можно внешнюю подтяжку не ставить, использовать внутреннюю (её надо включить)). Обрабатывать - в основном цикле программы или в обработчике прерывания (если работаем с PORTB). Ну и выдерживать противодребезговый интервал: сработка произошла - подождали 20 мс (за это время дребезг контактов гарантированно закончится), после чего снова опрашиваем кнопку. А уж как поменять состояние выхода на противоположное - думаю, и сами знаете, это проще простого.

VladMikroCCC 06.07.2013 09:41

Re: "Кондиционер" для бедных
 
Сегодня все сделаю

Greg 06.07.2013 09:50

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186758)
Один датчик в доме второй на улице. Как только температура на улице становится ниже чем в доме включается вытяжка , собрана на 16F876 и из старых вентиляторов с компов 12 шт и БП АТХ. Днем у нас 33 С ночью 20...25 С, так что дом остывает прилично и днем в доме очень прохладно.

вытяжки? т.е. вы из дома гоните воздух наружу?

VladMikroCCC 06.07.2013 11:19

Re: "Кондиционер" для бедных
 
Вложений: 1
В прошлом году весной поставил нарадоваться не могу.

ampersant 06.07.2013 17:05

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186769)
В прошлом году весной поставил нарадоваться не могу.

Т.е. выбрасывая воздух в форточку, он засасывается из вентилляции если нет других открытых форточек?
немного не в тему, но про форточку. Когда заказывал себе пластиковые окна, заказал с форточками. И зимой и летом они открыты, только на разный угол. Этого эффекта не добиться с откидными большими створками, и самое главное в мороз форточка в приоткрытом виде не намерзает.

БОЦМАН 06.07.2013 17:10

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186769)
В прошлом году весной поставил нарадоваться не могу.

"Разорвались" связи между поколениями + нет понятий о самых элементарных законах физики.

ampersant 06.07.2013 17:10

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от Greg (Сообщение 186766)
вытяжки? т.е. вы из дома гоните воздух наружу?

Интересно, а есть ли привод на форточку? электрический. Кондиционер вещь в жару полезная, но и вредная, и свежий воздух не создает.

maagalex 06.07.2013 17:19

Re: "Кондиционер" для бедных
 
У нас на старых домах часто можно увидеть вращающиеся шары с лопостями ..наверное это что-то хитрое для вентиляции:D

Guaho 06.07.2013 17:53

Re: "Кондиционер" для бедных
 
По сути вопроса. Проблема может скрываться в неправильной настройке модуля АЦП, из-за чего RA2, к которому подключена кнопка, может не работать как цифровой вход, а RA3 может не работать на вывод. Чтобы нам в этом разобраться, нужно, чтобы Вы выложили код инициализации программы (начальная настройка всех модулей, прерываний, портов), а также желательно показать конфиг процессора. Если не хотите заморачиваться и сделать всё быстро - перекиньте линию кнопки с RA2 на RB7 (не забыв про подтяжку), а линию управления блоком питания - с RA3 на RB6 (тогда можно будет оставить текущую настройку модуля АЦП как есть). Ну и потом уже обрабатывайте нажатия кнопки как хотите - в прерываниях или без них, как удобнее.

VladMikroCCC 06.07.2013 19:46

Re: "Кондиционер" для бедных
 
Guaho Спасибо попробую. А выложил я весь код кроме инициализации LCD он стандартный. RA2 обязан работать как вход так как
ADCON1=0x06;

Guaho 06.07.2013 20:14

Re: "Кондиционер" для бедных
 
Я крайне слабо ориентируюсь в коде, написанном на С, поэтому могу ошибаться, но в приведённом куске я не увидел (могу ошибаться, конечно) какой-либо настройки модуля АЦП... Ну да ладно, на самом деле проще перебросить линии на другой порт.

Vanizma 06.07.2013 21:03

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от ampersant (Сообщение 186786)
Т.е. выбрасывая воздух в форточку, он засасывается из вентилляции если нет других открытых форточек?
немного не в тему, но про форточку. Когда заказывал себе пластиковые окна, заказал с форточками. И зимой и летом они открыты, только на разный угол. Этого эффекта не добиться с откидными большими створками, и самое главное в мороз форточка в приоткрытом виде не намерзает.

блин, когда ставил окна так хотелось форточки.... но нигде пластиковых не было с ними (5 лет назад). теперь мучаюсь с откидными (((. зимой воздуха нет вообще.

Greg 06.07.2013 21:14

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от ampersant (Сообщение 186786)
Т.е. выбрасывая воздух в форточку, он засасывается из вентилляции если нет других открытых форточек?

а не проще его через форточку засасывать? бред какой-то.
а без форточек плохо, это факт...

ampersant 06.07.2013 21:50

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от Vanizma (Сообщение 186797)
блин, когда ставил окна так хотелось форточки.... но нигде пластиковых не было с ними (5 лет назад). теперь мучаюсь с откидными (((. зимой воздуха нет вообще.

Я долго искал тоже кто делает с форточками, пока не нашел даже не рассматривал их вкусные скидки. у них технологическое ограничение на механизм, он же регулярный т.е. с повторами и нужно иметь хотя бы один раз механизм закрывания (в терминах не силен) Итого минимальная форточка получается по внешнему габариту 500х500, по внутреннему гораздо меньше. Аргумент менеджеров кто не может делать этого: ну вы же потеряете в просвете из-за лишней перекладины - а на. свет если воздуха нет? Свет то проще всего создать.

Померял 450x450 стороны которые обращены внутрь квартиры, и 400x400 - воздушный просвет самой рамы с наружной стороны. Вспмонил что мы уговаривали сделать на 400, они говорили про 500 но видимо постарались и смогли. Я так то не мерял мне просто понравилось и всё.

ampersant 06.07.2013 21:55

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от Greg (Сообщение 186799)
а не проще его через форточку засасывать? бред какой-то.
а без форточек плохо, это факт...

На самом деле достаточно зажигалки зимой поглядеть возле форточки, что в верхней половине открытого проема воздух выходит, а в нижней ровно столько же заходит. Так что по уму то надо либо 2 вентилятора, либо с заслонками мудрить, либо только приточку, с учетом выхода из вентиляционного отверстия, которое на кухне быть обязано.

ampersant 06.07.2013 22:22

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186769)
В прошлом году весной поставил нарадоваться не могу.

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

VladMikroCCC 07.07.2013 00:25

Re: "Кондиционер" для бедных
 
Можно и ограничение сделать по верхнему и нижнему пределу. Можно вытяжку установить в потолок чтобы в чердачное помещение вытягивало воздух, чтобы и чердак остывал. На чердаке летом ваще пекло. Вариант не для квартиры.
Насчет пластиковых окон., у меня деревянные , с ними можно вытварять что угодно, ну а пластиковые для меня это роскошь, я себе не могу позволить.

siargy 08.07.2013 16:10

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186758)
поставить кнопку "вкл выкл" выхода RA3

так вы код покажите, в том куске ничего нету.

VladMikroCCC 09.07.2013 02:11

Re: "Кондиционер" для бедных
 
TRISA=0b11110111; // RA3 out а это што?
вот я и хочу с помощью кнопки отключать RA3

Sash 09.07.2013 03:22

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от ampersant (Сообщение 186788)
Интересно, а есть ли привод на форточку? электрический.

Именно на форточку не видел. А вот на мансардные окна где-то встречал.

siargy 09.07.2013 09:16

Re: "Кондиционер" для бедных
 
Цитата:

Сообщение от VladMikroCCC (Сообщение 186886)
с помощью кнопки отключать RA3

програмно или аппаратно?

VladMikroCCC 09.07.2013 21:29

Re: "Кондиционер" для бедных
 
программно

siargy 10.07.2013 09:19

Re: "Кондиционер" для бедных
 
так покажите как вы это делаете


Часовой пояс GMT +3, время: 08:23.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot