Buscar

Trabalho controle de Temperatura SDM Hoberty JoãoOtávio Thiago

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CONTROLE DE 
TEMPERATURA 
ELABORAÇÃO DE UM CONTROLE 
UTILIZANDO PIC18F4550
 
J U I Z D E F O R A 
M I N A S G E R A I S / 2 0 1 5 
 
 2 
CONTROLE DE TEMPERATURA 
 ELABORAÇÃO DE UM CONTROLE UTILIZANDO PIC18F4550 
AUTORES RESPONSAVEIS 
Hoberty Martins Pedrosa 
João Otávio de Barros Berbert 
Thiago Queiroz Botelho da Silva 
 
Estudo realizado por alunos em graduação em Engenharia Mecatrônica do Instituto 
Federal de Educação, Ciência e Tecnologia do Sudeste de Minas Gerais Câmpus Juiz 
de Fora para a disciplina Sistema Digitais para Mecatrônica sob orientação do professor 
Thiago Castro. 
SUMÁRIO 
 
Introdução ........................................................................................................... 3 
Objetivo ............................................................................................................... 3 
Projeto .................................................................................................................. 3 
Código fonte implemetado ................................................................................ 6 
Layout Painel Frontal ....................................................................................... 13 
Layout Diagrama de Blocos ............................................................................ 15 
Lógica Implementada ....................................................................................... 21 
Manual do Usuário ........................................................................................... 22 
Trabalhos Futuros ............................................................................................ 23 
Referências ......................................................................................................... 23 
 
 
 
 
 
 
 
 
 
 
 3 
INTRODUÇÃO 
Os dispositivos de captura de sinais e atuadores tornaram-se vitais na indústria e os 
fabricantes estão mostrando uma tendência de integração de equipamentos controlados 
por computador. 
No passado, os operadores eram os cérebros de um equipamento e fonte de toda 
informação sobre a operação de um processo. 
O operador sabia se as peças estavam disponíveis, que peças estavam prontas, se 
eram boas ou más, se o trabalho feito com ferramentas estava aceitável, se o dispositivo 
elétrico estava ligado ou não, e assim por diante. O operador podia detectar problemas 
na operação vendo, ouvindo, sentindo e cheirando problemas. 
Visto isso abordaremos neste trabalho a elaboração de um instrumento virtual que 
integra os equipamentos encontrados no kit didático MCLab3 - PIC18F4550. 
Utilizaremos do ambiente de desenvolvimento flexível que contém todas as ferramentas 
necessárias para projetar e implementar sistemas de medição e controle, o LabVIEW. 
Os programas em LabVIEW são chamados de instrumentos virtuais (VIs—Virtual 
Instruments). Os VIs contêm três componentes principais: o painel frontal, o diagrama 
de bloco e o painel de ícones e conectores. 
No LabVIEW, produziremos uma interface com o usuário, a denominada painel 
frontal, onde o operador do sistema interage com o sistema. Esta interação pode ser o 
ínvio de algum comando ou leitura de alguma informação. Além do painel frontal, um 
quadro com diagrama de blocos onde apresentaremos a topologia do sistema será 
produzido no LabVIEW. 
O trabalho busca também apresentar uma aplicação para tal instrumento elaborado. 
 
 
OBJETIVO 
O presente trabalho consiste em aplicar os conhecimentos adquiridos durante a 
disciplina de Sistema Digitais para Mecatrônica, através do kit didático MCLab3 - 
PIC18F4550 (Figura 1). Temos como objetivo a criação de uma situação problema na 
qual aplicaremos um equipamento para solucionar através de leituras e controle de um 
sinal. 
O projeto do referente equipamento apresentará um painel frontal de fácil 
entendimento para o usuário e também a elaboração de um manual para instrução do 
usuário ao instrumento virtual elaborando no software LabVIEW. 
 
 
PROJETO 
A idealização do projeto consiste em solucionar uma situação problema. A situação 
problema indicada no referente trabalho é a necessidade de controle de temperaturas 
em áreas onde requer um alto nível de controle de temperatura com uma faixa de 
variação. 
Umas das situações proposta são: 
 
 Um instrumento de controle de temperatura em processos de secagem de 
grãos em altas temperaturas. 
 
 4 
 Um instrumento de controle de temperatura em processos de chocadeira de 
ovos. 
 
O primeiro caso apresentado, secagem de grãos em altas temperaturas, foi escolhido 
para o nosso empreendimento devido apresentar faixa de temperaturas de maiores 
variações dependendo do grão em processo. 
Secagem de grãos em altas temperaturas, tem sua necessidade de conservar o grão 
por mais tempo, e assim permitindo sua estocagem. A secagem faz com que os grãos 
não fermentem, não mofem, entre outras avarias que podem diminuir a qualidade dos 
grãos recém colhidos. 
Os grãos identificados neste projeto são a soja, o milho, o arroz, o trigo e sementes 
em geral. Abaixo uma tabela apresentando as temperaturas máximas e mínimas de cada 
grão. 
 
Grãos Temp. Mín (ºC) Temp. Máx (ºC) 
Soja 90 100 
Milho 90 100 
Arroz 60 70 
Trigo 70 80 
Sementes 50 60 
 
 
A secagem de grãos é uma das etapas do pré-processamento dos produtos agrícolas 
que tem a finalidade de retirar parte da água contida neles. 
 Este processo corresponde a aproximadamente 12% da energia total gasta nos 
sistemas de beneficiamento de pós-colheita e exerce grande influência na manutenção 
de sua qualidade durante o período de conservação. 
 Existem alguns tipos de secagem de grãos e um destes é a secagem artificial 
com ventilação forçada, ou seja, um ventilador é ligado na área aonde os grãos estão 
dispostos para retirar a umidade deste ambiente, quando necessário. 
 
Apresentaremos duas simulações do Instrumento Virtual, uma simulação em modo 
virtual através do software PROTEUS 8 e uma simulação em modo real através do kit 
didático MCLab3 - PIC18F4550 (Figura 1). As simulações representarão o instrumento 
em seu ambiente de trabalho, como para aplicação apresentada, um silo de secagem 
para grãos. 
 
 5 
 
Figura 1Kit Didático MCLab3 
 
Figura 2 Esquemático elaborado no Software PROTEUS 8. 
 
Para a programação do PIC18F4550 elaboramos um algoritmo em linguagem C e 
compilamos em MPLab. 
O projeto contém como componentes físicos: um sensor de temperatura LM35, um 
PIC18F4550, um COOLER e um Display de Cristal Líquido (LCD) Caractere 16x2, 
sendo todos presentes no kit didático MCLab3. Os mesmos componentes foram 
utilizados no PROTEUS, exceto o COOLER, seu funcionamento foi reconhecido 
através do funcionamento de um LED. 
 Uma observação que devemos citar, que este trabalho não explicará como é feito a 
interface entre o VI e o PIC18F4550. 
Agora descreveremos os códigos fontes implementados no PIC18F4550. 
E a seguir apresentaremos o layout do painel frontal explicando cada dispositivo 
escolhido assim como o bloco de diagramas todos elaborados no LabVIEW. 
 
 6 
CÓDIGO FONTE IMPLEME TADO 
O código implementado foi elaborado no template fornecido em classe. 
As bibliotecas utilizadas foram: 
 
 #include <p18F4550.h>: biblioteca relacionada a definições acerca do 
microcontrolador PIC 18F4550; 
 
 #include "LCD_lib.h": biblioteca fornecida em sala de aula para uso do 
display de LCD, utilizada para definir funções de limpar a tela, iniciar a 
escrita em uma posição a ser definida e escrever as informações e palavras 
desejadas na tela de LCD do kit. 
 
 #include<Delays.h>: biblioteca necessária para utilizar a função de delay 
para a visualização no LCD. 
 
 #include <usart.h>: biblioteca necessária para utilização de funções 
relacionadas ao protocolo de comunicação RS232, para leitura 
(ReadUSART()) e escrita (writeUSART()) de dados com o programa 
LabVIEW. 
 
 
Algumas variáveis globais foram definidas pois foram trabalhadas em diferentes 
funções durante a implementação do programa. São elas: 
 
 int valor_Analogico = 0x30; 
 
 int n,c,d,u,i; 
 
 int centena, dezena, unidade; 
 
Após bibliotecas definidas e variáveis globais, o módulo USART foi configurado 
para leitura e escrita de dados: 
 
//CONFIGURAÇÃO DA USART 
 OpenUSART(USART_TX_INT_OFF & USART_RX_INT_OFF & 
USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & 
USART_BRGH_HIGH,25); 
 
 
 
 
 
 
 
 
 
 
 
 
 7 
Abaixo um fluxograma da implementação apresentada neste trabalho: 
 
 
 
 
O código principal utilizado para implementação da solução do problema proposto foi: 
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 * Rotina Principal * 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 
 while(1) 
 { 
 valor_Analogico = conv_AD(); 
 valor_Analogico = (valor_Analogico*(0.4887585532746823069403714565)); 
 n = valor_Analogico; 
 
/**************************************************************************************** 
* LEITURA DA TEMPERATURA + ACIONAMENTO DO VENTILADOR * 
****************************************************************************************/ 
 
 
 
 /************************************************************ 
 * Tratamento da variável analógica para aparecer no LCD * 
 *************************************************************/ 
 //Centena: 
 u = c%10; 
 d = (c%100-u)/10; 
 c = (c%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 /************************************************************ 
 * Escrita no LCD * 
 *************************************************************/ 
 
 comando_lcd(0x80); 
 
 8 
 escreve_lcd ('T'); 
 escreve_lcd ('E'); 
 escreve_lcd ('M'); 
 escreve_lcd ('P'); 
 escreve_lcd ('E'); 
 escreve_lcd ('R'); 
 escreve_lcd ('A'); 
 escreve_lcd ('T'); 
 escreve_lcd ('U'); 
 escreve_lcd ('R'); 
 escreve_lcd ('A'); 
 escreve_lcd (':'); 
 
 comando_lcd(0xC0); 
 escreve_lcd (centena); 
 escreve_lcd (dezena); 
 escreve_lcd (unidade); 
 escreve_lcd (' '); 
 escreve_lcd (0b11011111); 
 escreve_lcd ('C'); 
 
 Delay10KTCYx(100); 
 limpa_lcd(); 
 
 while(BusyUSART()); 
 WriteUSART(valor_Analogico); 
 vent(); 
 } 
} // FIM DO PROGRAMA 
 
 
/* * * * * * * * * * * * * * * * * * * * * * * * 
* FUNÇÕES PARA ACIONAMENTO DE DISPOSITIVOS * 
* * * * * * * * * * * * * * * * * * * * * * * */ 
 
 
/************************************************************ 
* Conversor A/D * 
************************************************************/ 
 
void config_ADC(void) 
{ 
 ADCON0 = 0b00000001; // Canal AN0 selecionado 
 ADCON1 = 0b00001110; // Configura quais portas serão analógicas ou digital 
 ADCON2 = 0b10101100; // Resultado justificado à direita 
 // Tempo de aquisição 12 TAD 
} 
 
int conv_AD(void) 
{ 
 int Result_AD; 
 ADCON0bits.GO = 1; 
 while (ADCON0bits.GO); 
 Result_AD = (((int)ADRESH)<<8) | (ADRESL); 
 
 return Result_AD; 
 
 9 
} 
 
/************************************************************ 
* Acionamento do ventilador * 
************************************************************/ 
 
void vent(void) 
{ 
 char controle0; 
 int controle1,controle2; 
 
 c = 0x30; 
 d = 0x30; 
 u = 0x30; 
 centena = 0x30; 
 dezena = 0x30; 
 unidade = 0x30; 
 
 while(BusyUSART()); 
 controle0=ReadUSART(); 
 
 if (controle0=='o') 
 { 
 controle1=100; 
 controle2=90; 
 
 u = controle1%10; 
 d = (controle1%100-u)/10; 
 c = (controle1%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xC9); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 escreve_lcd (' '); 
 
 u = controle2%10; 
 d = (controle2%100-u)/10; 
 c = (controle2%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xCD); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 } 
 
 if (controle0 =='a') 
 { 
 
 10 
 controle1=70; 
 controle2=60; 
 
 u = controle1%10; 
 d = (controle1%100-u)/10; 
 c = (controle1%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xC9); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 escreve_lcd (' '); 
 
 u = controle2%10; 
 d = (controle2%100-u)/10; 
 c = (controle2%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xCD); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 } 
 
 if (controle0=='m') 
 { 
 controle1=100; 
 controle2=90; 
 u = controle1%10; 
 d = (controle1%100-u)/10; 
 c = (controle1%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xC9); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 escreve_lcd (' '); 
 
 u = controle2%10; 
 d = (controle2%100-u)/10; 
 c = (controle2%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 11 
 
 comando_lcd(0xCD); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 } 
 
 if (controle0=='t') 
 { 
 controle1=80; 
 controle2=70; 
 u = controle1%10; 
 d = (controle1%100-u)/10; 
 c = (controle1%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xC9); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 escreve_lcd (' '); 
 
 u = controle2%10; 
 d = (controle2%100-u)/10; 
 c = (controle2%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xCD); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 } 
 
 if (controle0=='s') 
 { 
 controle1=60; 
 controle2=50; 
 u = controle1%10; 
 d = (controle1%100-u)/10; 
 c = (controle1%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xC9); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 escreve_lcd (' '); 
 
 12 
 
 u = controle2%10; 
 d = (controle2%100-u)/10; 
 c = (controle2%1000-d-u)/100; 
 
 centena = 0x30 + c; 
 dezena = 0x30 + d; 
 unidade = 0x30 + u; 
 
 comando_lcd(0xCD); 
 escreve_lcd(centena); 
 escreve_lcd(dezena); 
 escreve_lcd(unidade); 
 } 
 
 if(valor_Analogico>=controle1) 
 { 
 PORTCbits.RC1=1; 
 } 
 
 if(valor_Analogico<=controle2) 
 { 
 PORTCbits.RC1=0; 
 } 
 
 if (controle0=='e'){ 
 PORTCbits.RC1=0; 
 comando_lcd(0xC9); 
 escreve_lcd ('E'); 
 escreve_lcd ('R'); 
 escreve_lcd ('R'); 
 escreve_lcd ('O'); 
 } 
 
 escreve_lcd(ReadUSART()); 
} 
//FIM DAS FUNÇÕES 
//FINAL 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 13 
LAYOUT PAINEL FRONTAL 
O painel frontal é a interface com o usuário. No painel encontramos os controles 
que são: botões de pressão, os dispositivos de entrada e os indicadores que são: gráficos, 
LEDs e outros displays. Os controles simulam dispositivos de entrada de instrumentos 
e fornecem dados para o diagrama de bloco do VI. Os indicadores simulam dispositivos 
de saída de instrumentos e exibem os dados que o diagrama de bloco adquire ou gera. 
O layout do painel frontal em estudo apresenta a seguinte configuração: 
 
 
 
 
 
Figura 3 Painel Frontal 
 
Os componentes utilizados para este painel frontal são: 
 
 Sinal Luminoso (LED): Componente booleano ROUND LED. Sua 
finalidade é informar ao usuário que o sistema de refrigeração é ativado 
quando o LED é aceso. 
 
 
 
 
 
 14 
 
 Termômetro: Componente numérico THERMOMETER. Sua finalidade é 
informar ao usuário em forma ilustrativa o valor da temperatura atual 
presente no sistema. 
 
 
 
 
 Botões Seletores de Grãos: Componentes booleanos OK BUTTON. Suas 
finalidades são permitir ao usuário qual tipo de sistema será implementado. 
 
 
 
 
 Display numérico para temperatura atual: Componente numérico 
NUMERIC INDICATOR. Sua finalidade é informar ao usuário em forma 
numérica o valor da temperatura atual presente no sistema. 
 
 
 
 
 
 Botão ligar: Componente booleano OK BUTTON. Sua finalidade é permitir 
ao usuário que ativa o sistema. 
 
 
 
 Botão desligar: Componente booleano STOP BUTTON. Sua finalidade é 
permitir ao usuário que desativa o sistema. 
 
 
 
 Gráfico: Componente gráfico WAVEFORM GRAPH. Sua finalidade é 
informar ao usuário em forma gráfica o valor da temperatura presente no 
sistema de acordo com a situação do dispositivo de refrigeração. 
 
 
 15 
 
 
 Display de Informação: Componente texto STRING INDICATOR. Sua 
finalidade é informar ao usuário o funcionamento do painel frontal. 
 
 
 
 
 
LAYOUT DIAGRAMA DE B LOCOS 
O diagrama de bloco contém o código dos dispositivos implementados no painel 
frontal. Sob certos aspectos, o diagrama de bloco assemelha-se a um fluxograma. 
Descreveremos os dispositivos utilizados e apresentaremos sua lógica. 
 
 
Figura 4 Diagrama de bloco VI 
 
O diagrama de bloco elaborado neste VI é apresenta na Figura 4. Os dispositivos 
referentes à interface LabVIEW e PIC são apresentados na Figura 5, e como citado 
anteriormente não será explicado neste trabalho. 
 
 
 16 
 
 
 
Figura 5 Dispositivos de interface PIC - LabVIEW 
 
 
 Bloco representativo do display numérico para temperatura atual: 
Componente numérico NUMERIC INDICATOR. Sua finalidade é informar 
ao usuário em forma numérica o valor da temperatura atual presente no 
sistema. 
 
 
 Bloco representativo do termômetro: Componente numérico 
THERMOMETER. Sua finalidade é informar ao usuário em forma 
ilustrativa o valor da temperatura atual presente no sistema. 
 
 
 
 
 
 Bloco referente ao display de informação: Componente de texto STRING 
INDICATOR. Sua finalidade é informar ao usuário o funcionamento do 
painel frontal. 
 
 17 
 
 
 
 Botões Seletores de Grãos: Componentes booleanos OK BUTTON. Suas 
finalidades são permitir ao usuário qual tipo de sistema será implementado. 
 
 
 
 Função NOT: É uma função booleana que computa a lógica de negação à 
sua entrada, retornando em sua saída verdadeiro (1) ou falso (0), de acordo 
com a entrada. Se a entrada “x” é “falsa” (0), a função retorna “verdadeiro” 
(1), mas se a entrada for “verdadeiro” (1) a função retorna “falso” (0). 
 
 
 
 Esquema de portas AND: a lógica de programação será explicada a seguir. 
Esta porta faz a lógica aritmética de uma ou mais entradas booleanas. Ela 
possui modos diferentes de operação, podendo operar como portas AND, 
OR e XOR, além de fazer operações de soma e multiplicação. 
 
 
 18 
 
 
 
 Esquema de portas AND: a lógica de programação será explicada a seguir. 
Esta porta faz a lógica AND em suas entradas. Ambas as entradas precisam 
ser valores booleanos, númericos ou agrupamento de erros. Se ambas as 
entradas forem verdadeiras, a função retorna a lógica “verdadeira” (1), caso 
contrário, ela retorna “falsa” (0) 
 
 
 
 
 
 
 19 
 Estrutura case: contém um ou mais subdiagramas, ou processos, sendo que 
apenas um deles será possível de ser executado de acordo com o terminal 
seletor, que neste caso foi a lógica verdadeiro ou falso. No caso deste 
trabalho, elas foram usadas de duas maneiras, a primeira para determinar 
qual botão foi apertado e enviar um caractér para a leitura no PIC e a outra 
para determinar as leituras de temperatura máxima e mínima para leitura no 
gráfico. 
 
 
 
 
 LED: este bloco refere-se ao LED que será ligado em caso de erro no 
programa e estará desligado enquanto o programa estiver funcionando 
corretamente. 
 
 
 
 Bloco de mescla de sinais: Mescla dois ou mais sinais em uma saída única. 
 
 
 
 
 
 Gráfico: Componente gráfico WAVEFORM GRAPH. Sua finalidade é 
informar ao usuário em forma gráfica o valor da temperatura presente no 
sistema, variando no tempo. Além de mostrar as temperaturas máximas e 
mínimas dadas por cada tipo de grão a ser escolhido pelo usuário 
 
 
 
 
 Função de concatenar Strings: este bloco concatena entradas em formato 
string e matriz de uma dimensão de strings em uma string única de saída. 
Para entradas do tipo matriz, essa função concatena cada um de seus 
elementos. 
 
 
 20 
 
 
 
 
 Função de espera (ms): esta função espera o número especificado ligado a 
ela para então realizar as operações do circuito em que ela está inserida. 
Neste caso foi 100 ms. 
 
 
 
 
 Loop “While”: esta função repete o código do subdiagrama inserido nele até 
que uma condição específica ocorra. Esta função ocorre pelo menos uma 
vez. 
 
1. Subdiagrama: contém o código que o loop executará uma vez por 
iteração; 
2. Terminal de iteração: realiza a contagem de iterações feitas pelo 
loop; 
3. Dá valor à uma entrada booleana para determinar se o While Loop 
continua sua execução. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 21 
LÓGICA IMPLEMENTADA 
 
A aquisição de dados é feita pelo LM35, a aquisição captada é tratadada e 
transferida através da porta serial RS232 para o ambiente virtual (Labiview), neste 
temos um painel no qual consta botões que setam os valores de temperatura de acordo 
com o grão. Para selecionar os valores de temparatura máxima e minima foi realizado 
um projeto de circuto lógico na forma de soma e produto obtitido pela tabela 1. A 
resposta do circuito lógico gera uma variavel que é transferida de volta para o 
microcontralador para que ele atue no controle de temperatura. 
Mapa de Karnaugh 
 D' .E' D' .E D .E D'.E' 
A'.B'.C' 0 1 0 1 
A'.B'.C 1 0 0 0 
A'.B.C 0 0 0 0 
A'.B.C' 1 0 0 0 
A.B'.C' 1 0 0 0 
A.B'.C 0 0 0 0 
A.B.C 0 0 0 0 
A.B.C' 0 0 0 0 
y = A'.B'.C'.D'.E + A'.B'.C'.D.E' + A'.B'.C.D'.E' + A'.B.C'.D'.E' + 
A.B'.C'.D'.E' 
Tabela 1 Mapa de Karnaugh 
O gráfico da figura 6 foi obtido através da saída do circuito lógico, aqual passa por 
instruções de falso/verdadeiro, essas funções fazem plotar os limites inferior e superior 
da temperatura para o grão secelecionado, além de destes valores introtuzimos atemperatura em função do tempo oscilando entre esses limites. Este grafico mostra em 
tempo real o estado do sistem. 
 
 
Figura 6 Dispositivos de interface PIC – LabVIEW 
 
 22 
MANUAL DO USUÁRIO 
1. Manual de Funcionamento do VI implementado. 
 
 
 
 
Figura 7Painael Frontal - Manual de Funcionamento do VI implementado 
 
De acordo com a Figura 7, o modo de utilização é: 
Primeiro pressione o botão LIGAR (1), localizado no canto esquerdo superior do 
painel frontal, para esta informação o LED (3) ON/OFF é acionado. Pressionado o 
botão LIGAR (1) escolha um dos tipos de grãos a serem submetido a secagem. Para 
Soja pressione o botão SOJA (7), para Arroz pressione o botão ARROZ (8), para Milho 
pressione o botão MILHO (9), para Trigo pressione o botão TRIGO (10), para Sementes 
pressione o botão SEMENTES (11), os respectivos botões estão localizados de forma 
horizontal no painel frontal. 
Após a escolha do grão e pressionado o respectivo botão, o gráfico 
TEMPERATURA X TEMPO (6), localizado no canto superior direito, é acionado 
automaticamente apresentando a faixa de temperatura onde o grão selecionado deve 
estar submetido para que não sofra avarias e a atual temperatura que está submetido o 
gráfico. 
 
 23 
A temperatura atual que está submetido o grão é apresentada de duas formas, 
primeiro de forma ilustrativa como um TERMÔMETRO DE BULBO (4) para fácil 
visualização do usuário, localizado ao lado esquerdo do gráfico TEMPERATURA X 
TEMPO (6), e de forma numérica no DISPLAY (5), localizado acima do botão SOJA 
(7), lado esquerdo do painel frontal. 
Para a regularização da faixa de temperatura o COOLER é acionado quando a 
temperatura atual é maior que a máxima permitida. O COOLER é desligado quando a 
temperatura atual estiver inferior a mínima temperatura permitida pelo tipo de grão 
selecionado. ATENÇÃO: O COOLER pode está desligado quando a temperatura for 
maior que a mínima e menor que a máxima, condição desejável. 
O botão DESLIGAR (2), localizado no canto superior esquerdo, abaixo do botão 
LIGAR (1), desativa a comunicação com o sistema de medição. 
Na parte inferior do campo encontramos um QUADRO DE INFORMAÇÃO (12) 
sobre o as temperaturas limites de máximas e mínimas permitidas a cada tipo de grão. 
O LED (13) ERRO é acionado quando mais de um tipo de grão ou nenhum é 
selecionado e também quando o botão LIGA (1) não é ativado. 
 
 
TRABALHOS FUTUROS 
 A partir da elaboração deste instrumento virtual para o controle de variação de 
temperaturas visamos como trabalhos futuros: 
 
 A implementação de novos sistemas de medições de outras variáveis, 
como controle de humidade, quantidade de grão em processo entre 
outros. 
 
REFERÊNCIAS 
NATINAL INSTRUMENTS CORPORATION. Manual de treinamento do LabVIEW 
Básico I. Austin, TEXAS. Novembro de 2001 
QUEIROZ, Daniel Marçal de. SECAGEM DE GRÃOS EM ALTAS TEMPERATURAS 
Viçosa, MG. Agosto de 2002 
de Sousa e Silva, J.; Divino Lima Afonso, A.; Maurício Lopes Donzelles, S. Secagem e 
Armazenagem de Produtos Agrícolas. 
Mata, M.; Dantas, L.; Braga, M. PROGRAMA COMPUTACIONAL PARA SIMULAÇÃO 
DE SECAGEM DE GRÃOS. RBPA, v. 1, n. 1, p. 33-50, 1999.

Outros materiais