Ir ao conteúdo
  • Cadastre-se

Projeto Bombeador para Painel Solar


Cleilsono Costa

Posts recomendados

Boa Noite, não tenho muito conhecimento a respeito do PIC 16f877 só estudei o PIC 16f84, logo não vi a respeito de conversões A/D para microcontroladores. Gostaria que alguém me passasse como desenvolver o seguinte projeto com as linhas de comando em Assembly. Desde já agradesço a atenção de todos. Estou tento muitas dificuldades para desenvolver o projeto. Peço uma grande ajuda se possível.Não tenho tido aulas presenciais dai o problema em enteder o funcionamento.

Projeto:Um sistema de aquecimento solar típico consiste em uma ou mais serpentinas em forma de painéis expostas à luz solar instaladas em um nível inferior ao do reservatório térmico de água quente.Infelizmente, em residências onde não foi previsto a instalação de um sistema de aquecimento solar de água, muitas vezes o painel acaba sendo instalado em um nível acima do reservatório térmico por falta de opção. Logo, a água não circula por convecção, necessitando da inserção de uma bomba d'água no circuito hidráulico para fazer a circulação forçada.

Use dois canais analógicos do conversor A/D do microcontrolador PIC16F877 para ler a tensão de dois sensores de temperatura. Um instalado no painel (serpentina) e outro no reservatório. Sempre que a temperatura do painel for maior que a do reservatório, uma bomba deve ser acionada para realizar a circulação forçada. Toda vez que a temperatura no reservatório ultrapassar 60oC um outro LED (instalado no banheiro) deve ser ligado sinalizando risco de queimadura caso a água não seja misturada. Considere os sensores fornecendo valores de tensão entre 0 e 5V para temperaturas entre 0 a 100oC. A conversão A/D deve ser feita em 8 bits e a saída lógica que aciona a bomba pode ser simulada com outro LED.

CBC

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Boa noite, consegue me mandar em C?

Abraço

Bom dia a todos fiz um projeto em assembly no entanto está dando um pequeno erro ao montar no proteus o led que indica a temperatura do painel está aceso o tempo todo, não está apagand, ou variando. Alguém poderia me ajudar, segue o código fonte. O professo me disse que pode ser na hora de buscar sinal no canal 1 converter para digital e guardar e assim fazer o mesmo com o canal 2 e comparar as informações. Alguém poderia me ajudar?

	LIST P=16F877  		; INDICA O TIPO DE PIC USADO
#INCLUDE <p16F877.inc> ;INCLUI A BIBLIOTECA DO PIC USADO

CBLOCK 20H ;DIRETIVA PARA CRIAÇÃO DE VARIAVEIS, COM 1ª POSIÇÃO INDICADA

W_RESERVATORIO
W_PAINEL
AUXILIO

ENDC ;FIM DA CRIAÇÃO DAS VARIAVEIS


#DEFINE LED PORTB,1
#DEFINE SENSORPAINEL PORTA,1
#DEFINE SENSORRESERVATORIO PORTA,0
#DEFINE BOMBA PORTB,2


;#################################################################
;VETOR DE RESET
ORG H'00'
GOTO INICIO ; Vai para o inicio do programa
INICIO
BSF STATUS,RP0 ;SELECIONA BANK 1
MOVLW B'00000101'
MOVWF ADCON1

MOVLW B'00001011'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW 0X00
MOVWF TRISD
MOVLW 0X00
MOVWF TRISC
MOVLW 0X00
MOVWF TRISE
BCF STATUS,RP0 ;VOLTA AO BANK 0

CLRF INTCON ;DESABLITA AS INTERRUPÇÕES

CLRF PORTD
CLRF PORTB

;#################################################################
MAIN
MOVLW B'01000001' ;SELECIONA CANAL 1
MOVWF ADCON0
BSF ADCON0,2
TESTE_BIT2 BTFSC ADCON0,2
GOTO TESTE_BIT2
CALL DELAY
MOVF ADRESH,W
MOVWF W_RESERVATORIO
MOVLW B'01001001' ;SELECIONA CANAL 1
MOVWF ADCON0 ; fosc/8
BSF ADCON0,2
TESTE_BIT1 BTFSC ADCON0,2
GOTO TESTE_BIT1
MOVF ADRESH,W
MOVWF W_PAINEL
GOTO OPERACAO



OPERACAO MOVF W_RESERVATORIO,W
SUBWF W_PAINEL,W
BTFSC STATUS,0
BCF BOMBA
BSF BOMBA
GOTO TESTE60

TESTE60 MOVLW D'154'
SUBWF W_RESERVATORIO,W
BTFSC STATUS,0
GOTO ACENDELED
BCF LED
GOTO MAIN

ACENDELED BSF LED
GOTO MAIN

DELAY MOVLW D'1000'
MOVWF AUXILIO
CONTAGEM DECFSZ AUXILIO,F
GOTO CONTAGEM
RETURN
END

Link para o comentário
Compartilhar em outros sites

Você vai ter que especificar algumas coisas sobre essa conversão:

Qual o nível de tensão externa? Precisa utilizar uma referência diferente da alimentação?

Qual a taxa de leituras por segundo?

Precisa utilizar interrupções?

Qual sensor vai ser utilizado?

Aqui eu explico os registradores:

Para ativar o conversor AD, primeiro precisamos escolher quais portas serão analógicas e quais digitais. Para isso escrevemos nos bits PCFG3, PCFG2, PCFG1, PCFG0 do registrador ADCON1 (Banco 1).

Segue a tabela para escolha da configuração:

PCFG3_PCFG0_Port_Configuration_Control_bits.jpg

Se você não for utilizar referência externa, escolha a configuração '0100'.

Ainda no registrador ADCON1 (Banco 1), escolhemos o alinhamento dos bits com o ADFM. Como você quer ler somente 8 bits, fica fácil com o alinhamento na esquerda, então coloque o ADFM em 0, assim os 8 bits mais significativos da conversão estão no registrador ADRESH (Banco 0).

Escolhemos o canal em que realizaremos a medida:

(ADCON0 Banco 0)

adcchannel.png

Por último escolhemos o clock para o conversor e ligamos ele:

O período mínimo para o clock do conversor ad é de 1,6uS, podemos usar alguns pre-scalers para dividir a frequência do micro ou utilizar um oscilador RC interno para isso (quando o tempo não é crítico ou quando o micro está em sleep). Essa configuração é feita com os bits ADCS0, ADCS1 (ADCON0 Banco 0) e ADCS2 (ADCON1 Banco 1).

Segue a tabela para configurar o clock:

adcclock.png

Por fim ligamos o conversor AD pelo bit ADON (ADCON0).

A conversão é iniciada pelo bit GO/DONE (bit 1 do reg ADCON0), quando ela terminar esse bit volta para 0.

A cada troca de canal é recomendado um delay de 30uS no mínimo para descarregar o capacitor interno.

Aqui a tabela dos registradores do conversor AD:

adcregs.png

Tudo isso está bem explicado no datasheet na página 127.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!