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

0

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

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

0

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

  1. 0

    Claudio Larios,

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

    Obrigada
    Milene

    ..

  2. 0

    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. 0

      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. 0

    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. 0

      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. 0

    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. 0

      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. 0

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

        1. 0

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

          1. 0

            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. 0

            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

  5. 0

    ola cláudio b noite, estou com 2 duvidas tem como usar display catodo comum . e o 741 o que recebe o sinal do pic ele precisa dos 2 reguladores de 18vols tensao negativa e positiva obrigado.

    1. 0

      Olá Marcos! Para usar catodo comum teria que inverter os valores para todas as saídas para o pinos ligados ao display. Este ASM não tem facilidade para isto ( um dos primeiros). Quanto a tensão negativa, ela é necessária para o funcionamento correto do 741.
      Claudio

  6. 0

    amigo Claudio posso sim mas para onde envio o esquema , não tenho o email dele , se ele quiser pode ver pelo datasheet lm324 ou rc4558 , acho que o RC4558 ja resolve para ele sendo que ele vai tirar apenas um operacional e manter os outros dois , o RC4558 ja é duplo com dil 08 ( 8 pinos )
    .

  7. 0

    amigo eu iria dar esta resposta para ele ,pois o circuito em si é independente o que faz o ajuste para o positivo ou negativo é o operacional , uma boa sugestão seria o uso do lm324 que é um operacional quadruplo ou até mesmo o 4558 que é um duplo operacional , otimo circuito este é uma boa ferramenta de trabalho na bancada afinal temos uma fonte micro controlada um testador de diodo zener e um medidor de tensão ja que se onde se coloca o diodo inseria uma fonte de até uns 25V o micro irar medir a tensão lida lembrando de colocar junto ao resistor de 10K no lugar da alimentação de 25V de leitura do zener , me corrija Claudio se eu estiver errado ok .

    1. 0

      Olá Liliano! Ok, isso mesmo. Poderia encaminhar o seu esquema com LM324 para o Marcos?
      Claudio

  8. 0

    ola Lários boa noite ,é possível utilizar esse projeto sem ser simétrico somente para voltagem positiva,e como faço essa alteração . abraços

    1. 0

      Olá Marcos! Basta eliminar a parte relacionada a tensão negativa, incluindo o ultimo 741 e os componentes relacionados. Veja como seria aqui.
      Claudio

Os comentários estão fechados.