collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Fonte de alimentação digital  (Lida 19065 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Fonte de alimentação digital
« Responder #30 em: 23 de Agosto de 2011, 17:44 »
Limitar a corrente neste caso é isso mesmo, baixar a tensão.

estranho nunca vi tal coisa

É fácil perceber porquê. Repara, pela Lei de Ohm, I = V / R, só tens 2 formas de baixar a corrente: 1) baixar a tensão V ou 2) aumentar a resistência R. Como a resistência é a resistência da carga (o(s) dispositivo(s) que a fonte estiver a alimentar), ela não está sob controle da fonte; a única forma que tens de fazer baixar a corrente é então diminuindo a tensão, essa sim está sob controle da fonte. É assim que é feita a limitação de corrente em todas as fontes.

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Fonte de alimentação digital
« Responder #31 em: 23 de Agosto de 2011, 18:06 »
ok, é fácil de implementar...

obrigado a todos

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: Fonte de alimentação digital
« Responder #32 em: 23 de Agosto de 2011, 22:47 »
Limitar a corrente neste caso é isso mesmo, baixar a tensão.

estranho nunca vi tal coisa

É fácil perceber porquê. Repara, pela Lei de Ohm, I = V / R, só tens 2 formas de baixar a corrente: 1) baixar a tensão V ou 2) aumentar a resistência R. Como a resistência é a resistência da carga (o(s) dispositivo(s) que a fonte estiver a alimentar), ela não está sob controle da fonte; a única forma que tens de fazer baixar a corrente é então diminuindo a tensão, essa sim está sob controle da fonte. É assim que é feita a limitação de corrente em todas as fontes.

deixa-me um bocado baralhado, porque tive sempre a ideia que casa aparelho puxa  acorrente que quer mesmo que exista mais na rede, ele não a vai utilizar

Offline patinhofeio

  • Mini Robot
  • *
  • Mensagens: 73
Re: Fonte de alimentação digital
« Responder #33 em: 24 de Agosto de 2011, 00:22 »

deixa-me um bocado baralhado, porque tive sempre a ideia que casa aparelho puxa  acorrente que quer mesmo que exista mais na rede, ele não a vai utilizar
Boas.
Por vezes há necessidade de regular a corrente. imagina que queres carregar pilhar. Se ligares a tensão direta elas carregam com a corrente máxima e estragam-se. Se limitares a corrente à recomendada de carga, ela só recebe essa corrente e nada mais. Essa é uma das situações em que se usam fontes com regulação de corrente.
Abraço

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Fonte de alimentação digital
« Responder #34 em: 24 de Agosto de 2011, 00:41 »
A Lei de Ohm é que "manda" em tudo, andre. Um aparelho é como uma resistência (muitas vezes dinâmica, ou seja, que varia ao longo do tempo conforme o que o aparelho está a fazer, mas ainda assim uma resistência). Para uma dada tensão aplicada num dado momento, é essa resistência que "decide" qual é a corrente que passa nesse momento, pois a Lei de Ohm diz que I = V / R. Mas a resistência do aparelho é fixa (num dado momento), daí que, se alterares a tensão, a corrente também muda, tal como podes ver pela fórmula (pensa em valores concretos). Não confundas tensão com corrente.

Offline patinhofeio

  • Mini Robot
  • *
  • Mensagens: 73
Re: Fonte de alimentação digital
« Responder #35 em: 24 de Agosto de 2011, 01:09 »
A Lei de Ohm é que "manda" em tudo, andre. Um aparelho é como uma resistência (muitas vezes dinâmica, ou seja, que varia ao longo do tempo conforme o que o aparelho está a fazer, mas ainda assim uma resistência). Para uma dada tensão aplicada num dado momento, é essa resistência que "decide" qual é a corrente que passa nesse momento, pois a Lei de Ohm diz que I = V / R. Mas a resistência do aparelho é fixa (num dado momento), daí que, se alterares a tensão, a corrente também muda, tal como podes ver pela fórmula (pensa em valores concretos). Não confundas tensão com corrente.
Boas.
A duvida do Andre julgo que era sobre qual a necessidade de controlar a corrente. Ele escreveu: "...não acho vantajoso porque podes ter 3A na entrada e se o aparelho só consumir por exemplo 800mA, é só os 800mA que vai fornecer..." por isso dei um exemplo de uma aplicação de uma fonte com regulação de corrente.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Fonte de alimentação digital
« Responder #36 em: 24 de Agosto de 2011, 01:34 »
Estava a comentar a última coisa que ele disse: "deixa-me um bocado baralhado, porque tive sempre a ideia que casa aparelho puxa  acorrente que quer mesmo que exista mais na rede, ele não a vai utilizar"...

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Fonte de alimentação digital
« Responder #37 em: 12 de Janeiro de 2012, 15:31 »
boas

há algum tempo que não posto resultados, aqui vão as minhas alterações (ainda não tive tempo para acabar isto  ;D):

não consegui de maneira nenhuma usar o filtro passa baixo para transformar o PWM num sinal +\- analógico, decidi usar um DAC, encontrei o MCP4811, 10bits, controlado por SPI, Vref interna de 2,048v e extremamente barato, menos de 1,5€ em pequenas quantidades.

mudei a resistência "shunt" do "low side" para o "high side", porque causava resistência no output, mesmo que pequena, alterava os valores da tensão, assim tenho de usar mais um divisor de tensão para ler os valores nas patas da resistência, mas evito usar mais um OPAMP, alterei também o valor da resistência para 1 ohm, facilita as contas e possibilita usar o ADC do micro controlador (com 0.1 ohm as leituras eram muito baixas e a margem de erro era maior).

substitui aquele amplificador de transístores por um OPAMP, assim o ganho pode ser alterado apenas com 2 resistências.

o esquema actual:

(a imagem fica cortada) https://lh6.googleusercontent.com/-BeJ0lZYyvXs/Tw71e5uoVWI/AAAAAAAAAPs/uVkLcpcgLm4/s857/psu.png


sendo o DAC de 10bits, o output será:

Vref*ganho*(valor digital DAC\ resolução do DAC)

ou seja 2.048*2*(1023\2^10) = 4.096*0.999 = 4.092

como o ganho do OPAMP é 2.5 o output será 10.23V

10.23V de output com uma resolução de 10bits dá ~1mV por bit, óptimo  :P

até aqui tudo bem, até chegar ao fim de linha e vejo que me falta considerar o Vdrop dos transístores  :-X

andei à procura de soluções e nos vídeos do eevblog, que também anda a desenhar uma fonte semelhante, é usado um LT3080 que é um regulador de tensão em que o output vai até 0v, o problema é que aqui teria que usar o LT3083 que só o encontrei à venda na digikey por quase 8€, só o regulador ficava mais caro que o resto da fonte  ;D

alguma ideia de como posso contornar o Vdrop dos transístores?
a interface SPI do DAC funciona com 16bits, se enviar duas vezes 8bits sem desligar o CS funcionará?

cumps

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: Fonte de alimentação digital
« Responder #38 em: 12 de Janeiro de 2012, 18:38 »
Gostei muito de ver este post!
Já testaste a solução com o DAC? Tenho algumas dúvidas. Tendo em conta a variação de tensão que tens à saída do DAC (0~10V), a transição corte->saturação no transistor acontece muito rápido, não é linear com a tensão que metes na entrada. Isto é, quando chegas aos 10V já o transistor saturou há muito tempo, e portanto não é por meteres mais Vbe (tensão base-emissor) que ele irá conduzir mais. É a ideia que tenho, posso estar a pensar mal, visto nunca ter usado "darlington transistors" mas penso que unica diferença seja suportarem correntes mais altas.

Para converteres o PWM no sinal +/- analógico basta-te um filtro RC simples. Basta saberes a frequência do PWM e calculas os valores de RC através da seguinte fórmula: fc = 1/(2*pi*RC), sendo que fc (frequência de corte do filtro) deverá ser inferior à frequencia do PWM.


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Fonte de alimentação digital
« Responder #39 em: 12 de Janeiro de 2012, 19:09 »
Sim, o SPI desde que não levantes o CS funciona bem, podes mandar até centenas de bytes, não podes é mexer o CS.
Quanto á fonte, não sei se já conhecem mas acho que deviam ver o que o Dave do EEVBlog anda a desenhar, já conta com 6 videos, super explicativos, acho que vale a pena perder umas horitas a ver:
http://www.eevblog.com/
Avr fanboy

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Fonte de alimentação digital
« Responder #40 em: 12 de Janeiro de 2012, 19:19 »
ainda estou à espera do DAC e de mais uns componentes para testar.

Com o filtro RC o output continuava a oscilar muito, não me lembro ao certo dos valores

Sim, o SPI desde que não levantes o CS funciona bem, podes mandar até centenas de bytes, não podes é mexer o CS.
Quanto á fonte, não sei se já conhecem mas acho que deviam ver o que o Dave do EEVBlog anda a desenhar, já conta com 6 videos, super explicativos, acho que vale a pena perder umas horitas a ver:
http://www.eevblog.com/

a ideia do DAC veio daí

está bastante completa mas é um bocado "overkill", não preciso de tanta precisão

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Fonte de alimentação digital
« Responder #41 em: 12 de Janeiro de 2012, 19:34 »
Para transformares PWM em DC precisas de um filtro pelo menos uma ordem de magnitude abaixo da tua frequencia, por exemplo se usares phase correct pwm consegues cerca de 32Khz num ATmega328p a correr a 16Mhz, fazes um filtro RC para 3.2Khz, e se mesmo assim tiver ruido, fazes para 320Hz, o problema do pwm filtrado é que vai demorar algum tempo a mudar de valor porque o filtro tem de ser digamos que agressivo para filtrar a onda quadrada.

EDIT:
Fio = 16Mhz
Fpwm = (Fio/(N*510)), with N=1, Fpwm = 31Khz

Afinal são 31Khz e não 32.
Avr fanboy

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Fonte de alimentação digital
« Responder #42 em: 18 de Janeiro de 2012, 17:18 »
boas

estive a fazer mais umas alterações:

em primeiro lugar resolvi o problema do Vdrop, após alguma pesquisa encontrei esta aplication note da linear\ti que explica o funcionamento dos reguladores: http://www.ti.com/lit/an/snva020a/snva020a.pdf, a partir daí cheguei a isto:



o segundo circuito do OPAMP serve de comparador, basicamente o output do transístor é igual à Vref:



aqui a Vref era o output de um 7805, 5.02V, o output do transístor também  :D  (esqueci-me de tirar fotos das medições)

até o resultado é este:



entretanto fui ver com mais cuidado o esquemático da fonte do Dave do eevblog e achei que era uma boa ideia que a limitação da corrente seja feita de modo "automático":



resumidamente o OPAMP IC5@1 é usado como um amplificador diferencial, o output é IN+ menos IN-, o segundo circuito serve de comparador, se o valor da corrente for maior que o atribuído através do VOUT2 o output será V+, o transístor T3 é usado como chave enquanto estiver aberto causa uma queda de tensão na entrada do "pseudo regulador" e a corrente não ultrapassa o valor atribuído.

pelo menos foi o que eu entendi  :P

falta-me apenas o DAC para montar tudo, enquanto não chega vou testando isto aos bocados para ver se alguma coisa precisa de "tweaks"

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Fonte de alimentação digital
« Responder #43 em: 11 de Fevereiro de 2012, 17:47 »
boas

o DAC chegou ontem, fui fazer uns testes e funcionou tudo à primeira  :D

apenas testei a parte do controlo da tensão, mas já dá para ter uma ideia:

ao enviar 512 bytes:


ao enviar 1023:


o DAC tem um ligeiro erro de 2 bytes, nada que não possa ser corrigido no software


este era o código que estava a usar:

Código: [Seleccione]
#define F_CPU 16000000UL
#include <avr/io.h>

int main(void)
{
InitSPI();

PORTB &= ~(1<<PB2); //CS low: inicio transf.
SPIWrite(0x18); //envia os 8 primeiros bits: 00011000
SPIWrite(0x00); //envia os 8 bits seguintes: 00000000
PORTB |= (1<<PB2); //CS high: fim transf.
}

void InitSPI(void)
{
DDRB = (1<<PB3) | (1<<PB5) | (1<<PB2); // Defenir MOSI , SCK , e CS como output
SPCR = ( (1<<SPE) | (1<<MSTR) | (1<<SPR1) |(1<<SPR0)); // Ligar SPI, Master, clock = fck/128
}

void SPIWrite(unsigned char byte)
{
SPDR = byte; //enviar dados para o registo
while(!(SPSR & (1<<SPIF))); // esperar que o envio acabe
}


qual será a maneira mais fácil de manipular os bits? trabalhar com decimais e converter para hex para o envio?
« Última modificação: 11 de Fevereiro de 2012, 17:49 por CBX »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Fonte de alimentação digital
« Responder #44 em: 11 de Fevereiro de 2012, 20:54 »
Um decimal ou Hex ou binário é o mesmo para o micro.
Avr fanboy