COMO USAR O PWM DO PIC 16F628A PARA FAZER UMA FONTE DE ALIMENTAÇÃO SIMÉTRICA COM 3 DÍGITOS

Gostaria de usar o recurso interno do PIC 16F628a para controlar com 2 botões, a saída de uma fonte? E aproveitar também, para ler a tensão de saída da fonte? Então, leia mais…

Quando estava analisando o artigo “Faça um voltímetro de 3 dígitos com PIC16f628a”, percebi que poderia fazer uso de alguns pinos que estavam sobrando no PIC. Já que a idéia era construir um voltímetro para uma fonte de bancada, por que então não controlar a tensão também no próprio PIC? Veja abaixo, como ficou o esquema:

E abaixo, temos o esquema modificado da fonte “Fonte simétrica regulável de 0 – 20 volts”, na parte de controle de tensão. O primeiro ci 741 recebe a tensão PWM (0 a 5 volts) e controla a saida (pino 6) com um ganho aproximado de 3,6 vezes.
O restante do circuito permaneceu igual, excetuando também que a tensão máxima foi reduzida de 20 Volts para 18 Volts , visando regular melhor a tensão de saída.

Abaixo, o esquema do transformador de entrada, retificadores, capacitores de filtro e ci’s reguladores de tensão.

Ainda, abaixo, uma sugestão para a caixa da montagem proposta:

O ARQUIVO ASM

Na realidade, foi aproveitado o ASM do artigo “Fonte simétrica regulável de 0 – 20 volts” e também do artigo ‘Faça um voltímetro com 3 dígitos com PIC16f628a’ , e adicionando as funções para usar o PWM interno.
Este faz uso do timer 2 para controlar a saida RB3 do PIC, comparando com a carga de 10 bits previamente carregados nos registradores CCPR1L e os bits 4 e 5 do registrador CCPR1CON. O período é dado pela carga do timer 2 usando o valor previamente definido no registrador PR2. Os botões ‘UP’ E ‘DOWN’ altera o valor do contador ‘CONTL/CONTH’, cujo valor é carregado nos registradores CCPR1L/CCPR1CON 5,4. A partir daí, será gerado a tensão de forma constante na saida PWM (RB3).

A fórmula para encontrar o período é:

PWM periodo = [PR2 +1 ] X 4 Tosc X TMR2 X VALOR DO PRESCALLER

(Veja Datasheet PIC16F628A , pag 58)

Quando a contagem do timer 2 alcança o valor igual ao registrador CCPR1L/CCPR1CON 5,4, então a saída (RB3) inverte de ‘1’ para ‘0’ (tempo ‘off’). No final da contagem do timer 2, ele será automaticamente carregado com o valor de PR2.

Obs. Esta montagem é de caráter didático, sendo montado e testado, apenas em placa de protoboard, sujeito a bugs ainda não identificado. Esta sendo fornecido o arquivo ASM , podendo ser alterado segundo as necessidades do hobista.

Segue o arquivo ASM:

PWM_FONTE_ASM

Segue o arquivo HEX:

PWM_FONTE_HEX

Em 19/06/2017 foi feita esta atualização, onde foi incluído mais um interruptor (‘MEM’) para gravar na EEprom um valor que desejar. Ao apertar o interruptor ‘reset’, este valor será retornado automaticamente. Também em caso de queda de energia elétrica momentânea terá o mesmo efeito de apertar o interruptor ‘reset’, recuperando o valor programado. Segue abaixo, uma pasta zipada com esta nova versão:

FONTE__V2

Manuais:

Datasheet PIC16F628A

Curiosidades:
Tendência de se isolar
Porque economizar é melhor do que gastar?
Proteja sua audição
O som da neve
Espantoso sentido no mundo animal
Glaucoma e a perda da visão
Estamos ficando sem água?
Florestas tropicais – como explorar sem destruir?
Os perigos da impaciência
O que aprendemos dos projetos da natureza?
Osteoporose – doença silenciosa
Carros – no presente e no passado
O sistema de ‘spray’ do besouro
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Uma voz silenciosa que pode se ouvida

Outros assuntos:
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

Clique aqui para comentarios/sugestões fora deste tópico

20 comments on “COMO USAR O PWM DO PIC 16F628A PARA FAZER UMA FONTE DE ALIMENTAÇÃO SIMÉTRICA COM 3 DÍGITOS

  1. Claudio Larios,

    Muito obrigada, pela sua sua paciência e respostas, foram de grande valia, apreendi mais um pouco.

    Obrigada
    Milene

    ..

  2. Olá Claudio Larios,
    Já adquiri o pic16f628a para este projeto, agora preciso de mais algumas informações:
    1- Display pode ser 1 de 3 digitos ou tem que ser separado?
    2- Se for separado as ligações são em paralelo, exceto anodos?
    3- A tensão de saída final (0-18v) fica linear ou em passos de quanto?
    4- Qual a tensão máxima que pode ser lida? (preciso até 25v).

    Alguém por aqui teria o layout da PCB para disponibilizar?

    Muito Obrigada.
    Milene
    .

    1. Olá Milene!
      Respondendo as suas duvidas:
      1- Pode ser com 3 digitos ou separado
      2- Se for separado, junte todos os seguimentos de mesmo nome. Ex. saindo do pic no pino 6 ligando a seguimento ‘a’ do display1 e dai ligando ao seguimento ‘a’ do display 2 e dai ligando ao seguimento ‘a’ do display 3 . Faça isto com os 7 seguimentos e o ponto.
      3- A tensão de saída aumentará ou diminuirá em passos. Como o pwm é de 10 bits (1024 bits) então:
      18/1024 = 0,017 volts por passo
      4- A tensão máxima lida é dependente do ajuste do trimpot de 10k no pino 18 do pic. Com os valores atuais irá atingir o valor de 25 volts tranquilamente na leitura.
      A fonte em questão foi testada para fornecer 18 volts. Outros valores será por sua conta e risco.

      Cláudio

  3. Olá Claudio Larios,

    Parabéns! um dos melhores sites que já encontrei, muita informação, vai contribuir muito com as pessoas que estudam.

    Sou iniciante em eletrônica, queria fazer esta fonte para minha bancada, pergunto:

    1-Poderia ser implementado mais 1 digito, ficando com 2 casas após o ponto?
    2-Tenho bastante pic16f630, teria como acertar o código para ele?
    Se for possível me envie o asm e hex para o 630 pelo email:

    Muito Obrigada.
    Milene

    ..

    1. Olá Milene!
      Quero agradecer sua demonstração de apreço pelos artigos deste blog. No entanto, creio ser impossível fazer o que me pede, de forma direta, sem usar outros integrados. O motivo é que o pic 16f630 dispõe de apenas 14 pinos contra os 18 pinos do pic 16f628a. Note que no pic16f628a já não é possível colocar o digito a mais, por falta de ports (poucos pinos). Também, o pic 16f630 não tem modulo interno de PWM, que é uma necessidade no código apresentado, para controlar a tensão da fonte.
      Cláudio

  4. Bom dia !
    venho procurando um fórum há bastante tempo e deparei com este, que achei mito bom; Parabéns .
    Montei no Proteus o circuito do voltímetro 3 digitos com 16F62a mas não consigo abrir no proteus. pode me ajudar?

    1. Olá Pastore! Obrigado por seu comentário apreciativo. Infelizmente, eu não tenho afinidade em usar o Proteus. Prefiro montagens com componentes reais, pois já tive circuitos que não rodaram em simuladores como o Proteus. Mas se alguém leitor deste blog puder ajuda-lo….
      Claudio

      1. Obrigado pela breve resposta, ficarei atento esperando uma solução, e se puder ajudar estou a disposição do fórum

        1. 💡 Olá Pastore, O que vc não esta conseguindo fazer no proteus? me passe qual a dificuldade eu creio que possa lhe ajudar.

          1. Olá boa tarde.
            Não estou conseguindo abrir o arquivo hex( que esta em uma pasta no bloco de notas). Abro a janela de edição do pic16f628. no diagrama feito no Proteus (Isis)e não consigo abrir a pasta no item Program File.Este arquivo baixei aqui do voltímetro 3 dígitos, e salvei em TXT no bloco de notas.

            Obrigado pela ajuda.

          2. Olá Pastore!
            Tente salvar o arquivo fornecido usando a terminação ‘.hex’. Se não conseguir, abra ele no Winpic800 , mudando primeiro o filtro para arquivo ‘.’ (senão não irá ‘enxerga-lo’) e salve como ‘.hex’.
            Cláudio

Comments are closed.

Back To Top