Обявления

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

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

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

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

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

Сообщение scotland » 27 мар 2013 04:21

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

Изображение

Код: Выделить всё
      #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 с помошти пистолета теплова воздуха.

Изображение
Вложения
termometer_F684_MAX6675.zip
ISIS
(40.2 КБ) Скачиваний: 630
termostat_F886_MAX6675.zip
(47.51 КБ) Скачиваний: 616
scotland
Частенько бываю
 
Сообщения: 45
Зарегистрирован: 23 апр 2012 04:07
Откуда: BG

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

Сообщение Yanshun » 27 авг 2016 14:39

Добрый день.
Вот тоже не плохой вариант термометра на Max 6675
http://forum.chipmk.ru/index.php/topic/ ... __p__14811
Корпорация MARS
Аватара пользователя
Yanshun
Частенько бываю
 
Сообщения: 119
Зарегистрирован: 01 фев 2015 13:45

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

Сообщение KDM-1953 » 25 янв 2018 12:31

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

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

Сообщение hardlock » 25 янв 2018 21:06

Вот схемы:



ЗЫ: DSN открылся Proteus`ом 8.5 portable без проблем.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3673
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение KDM-1953 » 26 янв 2018 11:01

Огромное спасибо за оперативный ответ на мой запрос по поводу схем. Но проблема заключается в том что я уже имею PIC16f84 и MAX6675 в комплекте с термопарой и 4-х разрядным индикатором с общим анодом. Вопрос в том как все это состыковать чтобы все это заработало. (Возможен вариант с PIC16f886 ). Искренне буду Вам благодарен если поможете в решении данной проблемы.
P.S. семисегментные индикаторы вынужден применить т.к. они более "кувалдоустойчивы" как к температуре так и по механическим воздействиям.
KDM-1953
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 25 янв 2018 11:59
Откуда: Рыбница, Молдова

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

Сообщение hardlock » 26 янв 2018 16:03

KDM-1953, тут только автор этого проекта сможет помочь, но его давно не было на форуме...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3673
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua


Вернуться в PIC



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1