Fork me on GitHub

31/01/14

PIC: MAX6675

PIC: MAX6675




O CI MAX6675 é um conversor analógico-digital para termopares tipo K. A vantagem de se utilizar um termopar, é que permite medir temperaturas altas, por exemplo, até 1200°C.

CARACTERÍSTICAS
  • interface SPI suporta somente leitura.
  • Resolução de 12 bits, 0.25°C.
  • Medição até 1024°C.
  • Alimentação de 3,3 a 5 volts.
  • Tempo de conversão 0.17s.
  • Consumo máximo de 1,5 mA.
FORMATO DE SAÍDA


CÓDIGO DA BIBLIOTECA
MikroC PRO PIC
sbit MAX6675_CS at RC2_Bit;
sbit MAX6675_CS_Direction at TRISC2_Bit;

union
{
  char state:1;
  char deviceID:1;
  char open:1;
  char temperature:12;
  char sign:1;
  unsigned output;
}Max6675Data;

void MAX6675_Init()
{
  MAX6675_CS_Direction = 0;
  MAX6675_CS = 1;
}

unsigned Max6675_Read()
{
unsigned tmp;
  MAX6675_CS = 0;
  Hi(tmp) = SPI1_Read(0);
  Lo(tmp) = SPI1_Read(0);
  MAX6675_CS = 1;
  return(tmp);
}
EXEMPLO
MikroC PRO PIC
//Habilitar as seguintes bibliotecas:
// - Lcd
// - SPI
// - Conversions e C_String

#include <built_in.h>

sbit LCD_RS at RB5_bit;
sbit LCD_EN at RB4_bit;
sbit LCD_D4 at RB3_bit;
sbit LCD_D5 at RB2_bit;
sbit LCD_D6 at RB1_bit;
sbit LCD_D7 at RB0_bit;

sbit LCD_RS_Direction at TRISB5_bit;
sbit LCD_EN_Direction at TRISB4_bit;
sbit LCD_D4_Direction at TRISB3_bit;
sbit LCD_D5_Direction at TRISB2_bit;
sbit LCD_D6_Direction at TRISB1_bit;
sbit LCD_D7_Direction at TRISB0_bit;

//Copie e cole o código da bilioteca aqui!!!

void main() 
{
char texto[8];
   
   SPI1_Init();
   MAX6675_Init();
   Lcd_Init();
   Lcd_Cmd( _LCD_CURSOR_OFF );
   Lcd_Cmd( _LCD_CLEAR );
   Lcd_Out( 1, 6, "MAX6675" );
   
   while(1)
   {
      *(unsigned*)&Max6675Data = MAX6675_Read();
      
      WordToStr( Max6675Data.temperature >> 1, texto );
      Lcd_Out( 2, 1, "Temp: " );
      Lcd_Out_CP( texto+2 );
      Lcd_Chr_CP( 223 );
      Lcd_Chr_CP( 'C' );
            
      Delay_ms( 1000 );     
   }
   
}

DOWNLOAD
Arquivo do Proteus 8 : MAX6675.pdsprj

4 comentários:

Postagens Relacionadas!!