Page 1 of 1

Термометр на MAX6675 0-1024'C

Posted: 27 Mar 2013 03:21
by scotland
Чип етот конвертирует напрежение с стандартном термопар тип "K" в сигнал SPI "три провода". Схема и програма очень простиье.
Бутон служит для нулирования min и max. Консумация нищожная можно използуват батерии. Там остаются 2 виьвода свободниье
- можна сделат и термостат. У етого ПИК-а есть ЕЕПРОМ так что можно записат значение min и max в памят.
Если нет связи с датчика тогда контролер виьдаиот сообщение - нет датчика или нет связи.

Image

Code: Select all

      #include <16f684.h>
      #use delay(internal=1Mhz)
      #FUSES INTRC_IO, NOMCLR, nowdt, noprotect, PUT,   
      #use SPI(MASTER, DI=PIN_A3, CLK=PIN_A4, MODE=0,BITS=16)
      #define CS PIN_A5
      #include <lcd2.C>
      
unsigned int16 buffer, t_min, t_max;
float temperatura=0;

//*******************************Prekyswaniq***********************************

#INT_EXT
  
  void button() {
         t_min = 0;
         t_max = 0;
  }

//******************************Subprogrami************************************

void initial(){
     printf(lcd_putc,"\fTermometer F684");
     lcd_gotoxy(1,2);
     printf(lcd_putc," ***BGMAN66***");
     delay_ms(2000);
     lcd_putc("\f") ;
}

void termocuple(){
     int16 temp=0;
     
        delay_ms(230);          
        output_low(CS);
        buffer = spi_xfer(16);
        output_high(CS);
        temp = (buffer & 0b0111111111111000);
        temp = temp>>3;
        temperatura = (temp * 0.25);
}       
 
//******************************Main*********************************
   
void main(){
          SETUP_ADC_PORTS(NO_ANALOGS);
          PORT_A_PULLUPS(0b00100100);
          set_tris_c(0b00000000);
          
          ENABLE_INTERRUPTS(INT_EXT_H2L);   
          enable_interrupts(global);

          lcd_init();
          delay_ms(20);
          initial();
          
      do{
         termocuple();
          if(bit_test(buffer,2)){
              lcd_putc('\f');
              lcd_gotoxy(3,1);
              printf(lcd_putc,"No sensor or");
              lcd_gotoxy(3,2);
              printf(lcd_putc,"Disconnected");
          }
                else{
                    if ((temperatura <= t_min) | (t_min == 0)) t_min = temperatura;
                    if ((temperatura >= t_max) | (t_max == 0)) t_max = temperatura;
                   lcd_gotoxy(1,1);                           
                   printf(lcd_putc,"  temp. %4.0f",temperatura);
                   lcd_putc(223);
                   lcd_putc("C");
                   lcd_gotoxy(1,2);
                   printf(lcd_putc,"min%4Lu",t_min);
                   lcd_gotoxy(10,2);
                   printf(lcd_putc,"max%4Lu",t_max);
                }
      }
      while(TRUE);
}
И здес один термостат с 16F886. Температура регулируется потенциометром от 200 до 300 градуса. Есть также хронометр.
Может послужит для пайание SMD с помошти пистолета теплова воздуха.

Image

Re: Термометр на MAX6675 0-1024'C

Posted: 27 Aug 2016 14:39
by Yanshun
Добрый день.
Вот тоже не плохой вариант термометра на Max 6675
http://forum.cxem.net/index.php?/topic/ ... nt=2464452

Re: Термометр на MAX6675 0-1024'C

Posted: 25 Jan 2018 11:34
by KDM-1953
Добавлено спустя 2 минуты 31 секунду:
В заархивированных вложениях termometr_F684_MAX6675 и termostat_F686_MAX6675 имеются графически файлы, которые я не смог прочитать. Огромная просьба к Вам коллеги сделайте их в более доступном формате например (JPEG, BMP, PDF ). А то ведь хочется к 8 Марта приподнести супруге подарок в виде термометра для духовки, а выложенную Вами информацию не могу прочитать. С уважением Дмитрий.

Re: Термометр на MAX6675 0-1024'C

Posted: 25 Jan 2018 20:06
by hardlock
Вот схемы:
term_F684.png
Pechka.png
ЗЫ: DSN открылся Proteus`ом 8.5 portable без проблем.

Re: Термометр на MAX6675 0-1024'C

Posted: 26 Jan 2018 10:01
by KDM-1953
Огромное спасибо за оперативный ответ на мой запрос по поводу схем. Но проблема заключается в том что я уже имею PIC16f84 и MAX6675 в комплекте с термопарой и 4-х разрядным индикатором с общим анодом. Вопрос в том как все это состыковать чтобы все это заработало. (Возможен вариант с PIC16f886 ). Искренне буду Вам благодарен если поможете в решении данной проблемы.
P.S. семисегментные индикаторы вынужден применить т.к. они более "кувалдоустойчивы" как к температуре так и по механическим воздействиям.

Re: Термометр на MAX6675 0-1024'C

Posted: 26 Jan 2018 15:03
by hardlock
KDM-1953, тут только автор этого проекта сможет помочь, но его давно не было на форуме...

Re: Термометр на MAX6675 0-1024'C

Posted: 29 Aug 2018 06:49
by Yanshun
Вариант на max6675, правда не на семисегментнике, жаль конечно.
Дисплей нужен с поддержкой кириллице http://avtoelectro.radioliga.com/device ... =ts_couple
Статья http://forum.cxem.net/index.php?/topic/ ... nt-3059051