collapse

* Posts Recentes

Autor Tópico: Controlo motor DC de 24V/20Amp com PWM e Mosfet  (Lida 43812 vezes)

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

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.528
  • NERD!
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #105 em: 15 de Setembro de 2015, 12:06 »
Os díodos em paralelo com os pull up resistor eu vi-os no esquemático do Arduíno e no aplication note: “AVR040: EMC Design Considerations” a ideia com que eu fiquei e que era para proteger a entrada contra sobre tensões mas realmente pergunto-me da necessidade.

Quando se copia há que entender a razão do que se está a fazer, senão sai asneira.  ::)
Na AN AVR040 página 15, de onde parece copiada a ideia:
Citar
To achieve the same protection on Reset as on other I/O pins, an external diode
should be connected from Reset to VCC. A normal small-signal diode will do. In
addition, a pull-up resistor (10K typical) and a small filter capacitor (4.7 nF) should be
connected as shown in Figure 4-7.

O pino de Reset não tem o díodo interno que tem os outros I/Os (por causa da programação HV, que mete 12V no Reset), daí mostrar essa solução na AN. O mesmo não é necessário para outros pinos porque faz parte do micro.


Se queres uma proteção mais robusta nas entradas, o que podes fazer é meter uma malha RC para limitar os transientes e um zenner de 4.7V em paralelo com o condensador para cortar o que ainda conseguir passar: Com valores apropriados protege-te o micro de curtos às alimentações e de quase qualquer ruído.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.646
    • Electronic Gear for Musicians
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #106 em: 15 de Setembro de 2015, 12:24 »
Para transientes recomendo um TVS, na mesma tensao que o Zener, pois estes teem uma resposta mais rapida. O Zener eh rapido, mas o TVS ainda mais.


Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #107 em: 16 de Setembro de 2015, 00:22 »
Quanto ao bouncing dos interrupt butons a malha RC+shimit trigger era suposto tratarem disso.
Não precisas de nada disso... é mais fácil, mais flexível e com resultados perfeitos tratar dos botões em sw. Eu punha só o interruptor e a resistência (ou usava o pull-up interno do micro).

Citação de: Crazyaboutmachines
Ok talvez seja melhor tratar dos 78L05’s essa dos zenners parece porreira? Qual é a função do díodo normal que esta em serie com o zener?
O díodo, em conjunto com C8, serve para ajudar o circuito a resistir melhor a quedas de tensão transientes de Vcc. É uma técnica que uso sempre em "circuitos de potência". Se Vcc cair muito por exemplo por causa do motor que puxou corrente à bruta e se calhar já com a bateria a ficar gasta, C8 fornece a energia necessária ao que está "para a frente" (regulador e carga) e o díodo impede que a carga do condensador se escape para quem está a puxar a corrente e a levar Vcc abaixo.

Citação de: Crazyaboutmachines
Quanto as resistências do I2C visto que há por exemplo 3 pull up resistors distribuídos isso não desceria a resistência equivalente de pullup para 1000/3=333ohms? E isso não seria demasiado baixo?
330 não é demasiado baixo para um I2C, mas porque tens várias resistências? Podes meter só no master.

Offline Crazyaboutmachines

  • Mini Robot
  • *
  • Mensagens: 112
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #108 em: 16 de Setembro de 2015, 00:48 »
Ok nice!
já fiz mais alguns updates no esquemático:
https://www.dropbox.com/s/1csbel8gmof4fiu/MainBoard_v1.png?dl=0

Os botões vou deixar assim porque em principio nem os vamos usar (e também não sei se um ciclo de programa vai ser curto o suficiente para não fugir o pulsar de um botão).
Sergio só não usei TVS porque já tinha zeners aqui comigo e não posso esperar para fazer mais uma encomenda, talvez na versão final o use.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #109 em: 16 de Setembro de 2015, 01:41 »
Se queres uma proteção mais robusta nas entradas, o que podes fazer é meter uma malha RC para limitar os transientes e um zenner de 4.7V em paralelo com o condensador para cortar o que ainda conseguir passar: Com valores apropriados protege-te o micro de curtos às alimentações e de quase qualquer ruído.
É preciso escolher o zener tendo em mente se o sinal é digital ou analógico, e no caso de ser analógico qual é o intervalo de tensão de interesse. Os zener não têm uma "curva de corte" perfeita, e antes de chegarem à sua tensão (que é nominal!) já estão a "vazar" um bocadinho de corrente e a afectar o sinal que está a entrar (importante se for um sinal analógico).

Mais abaixo segue o meu raciocínio no design desta entrada (o mesmo esquema que deixei no outro post), que parece uma coisa simples:


Neste esquema estou também a medir 2 baterias de chumbo em série, 24V nominais, com um AVR. O divisor de tensão está calculado para abranger até 29.6V (nominal), usando uma Vref de ADC de aprox. 2.7V (29.6V x 1K / (10K + 1K) = 2.7V).

Usei um zener de 5.6V. Talvez pudesse ser 4.7V mas queria que o zener influenciasse tensões de entrada abaixo de 5V o menos possível, e usar o de 4.7V não me ia ajudar em nada, antes pelo contrário. Como o sinal que o ADC vai medir só pode ir até 2.7V (Vcc máximo dividido pelo divisor) no intervalo de interesse, tenho muita margem para ter um zener de 5.6V (ainda assim aposto que zener já infuencia um pouco no topo da escala, mas também a medida não é critica e basta 0.1V de resolução).

O zener juntamente com R4 teoricamente filtra sobretensões até valores "altos", pois R4 é "alta" e ainda faz um divisor com R5. Em caso de sobretensão, digamos que a tensão no centro do divisor resistivo (chamemos-lhe Vi) pode ir até à tensão do zener, 5.6V. Devido a tolerâncias nos componentes e se a sobretensão for muito alta, a tensão pode ser superior aos 5.6V. Para Vi chegar a 5.6V, Vcc (o sinal a medir) teria que chegar a 5.6V * 11 = 62V (11 é o factor do divisor). Convém ter a capacidade de dissipação das resistências em conta.

R4 com C4 ajuda a abrandar transientes mais rápidos para o zener dar conta deles nas calmas (o tal filtro RC que jm_ menciona).

A tensão máxima aceitável no pino do AVR é de 5.5V. Tem díodos internos de protecção (que podem ser usados para fixar a tensão no pino nos tais 5.5V), mas para eles fazerem alguma coisa sem pifarem é preciso R3, que limita a corrente neles. A corrente máxima nesses díodos é de 1mA, portanto com 3K3 podemos ter até (Vi - 5.5V) / 3K3 = 1mA => Vi = 3.3 + 5.5 = 8.8V, e portanto estamos à vontade pois o zener vai limitar Vi às redondezas de 5.6V.

Se a sobretensão for negativa (acho que era obra Vcc à entrada da placa ficar negativa, mas who knows), o zener age como um díodo PN (normal), fixando Vi em -0.7V. O pino de entrada do micro tem que ter a corrente limitada a 1mA por causa do díodo de protecção, que fixa o pino em -0.5V. Com R3 de 3K3 temos (-0.7V - (-0.5V)) / 3K3 = - 61uA e portanto estamos muito à vontade, muito longe do limite de -1mA (o menos só quer dizer que a corrente está a sair do pino e não a entrar).

Agora algumas "armadilhas" (como é que se traduz "caveat" para Português?):

1) A protecção dos díodos nos pinos do AVR (ou outro micro) só funciona se o AVR estiver a ser alimentado.

2) A protecção dos díodos nos pinos do AVR (ou outro micro) só funciona se a carga total existente na sua alimentação for igual ou superior à corrente que os díodos estão "a desviar". Esta dá trabalho explicar mas posso fazer depois à parte.

3) A impedância máxima de saída recomendada para a fonte de sinal que ataca uma entrada de ADC dum AVR é de 10K, tentei manter a resistência total não muito acima de 10K. Neste caso a resistência total é R3 mais o divisor de tensão (R4 em paralelo com R5), que dá 4K2; a impedância de saída da bateria é muito baixa, pelo que pode ser desprezada.

Ainda podíamos estudar o valor de C4, calculando o valor para abrandar transientes com tempos de "subida" x até velocidades a que o zener reaja nas calmas mas... bom, para o que é pelo menos para mim já chega :)

Njay não percebi muito bem a parte de medição da tensão da bateria, nesse caso se eu fizesse dessa maneira teoricamente deixaria de ter a placa isolada e talvez então nem valesse a pena ter o DCDC isolado ou pelo menos deveria de voltar a ter um ground comum?
P.S. a medição da tensão é feita na própria placa (vê na entrada do DCDC) isto apesar de ter um conector com o nome Vin_sense.
Deixaria de ser isolado sim. A questão aqui é que não precisas de o isolar. Estás a medir o sinal mesmo à entrada da placa e não por exemplo em fios que vêm directamente da bateria... além de que vais estar mais interessado num valor "médio" "mais estável" do que nas variações que possa ter. Na minha opinião não precisavas do DC-DC isolado (na verdade acho que se calhar até te safavas com um 7805 desde que escolhesses LEDs de altissimo brilho para que o total de corrente fosse muito baixo).
« Última modificação: 16 de Setembro de 2015, 16:56 por Njay »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #110 em: 16 de Setembro de 2015, 01:48 »
Para transientes recomendo um TVS, na mesma tensao que o Zener, pois estes teem uma resposta mais rapida. O Zener eh rapido, mas o TVS ainda mais.
Alguma vez fizeste essa medida Sena? Falei com um tipo num outro fórum e ele aparentemente testou e disse-me que o tempo de reacção dum TVS é uma fracção de ns.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #111 em: 16 de Setembro de 2015, 02:57 »
Ok nice!
já fiz mais alguns updates no esquemático:
https://www.dropbox.com/s/1csbel8gmof4fiu/MainBoard_v1.png?dl=0
Para valer a pena ter o tal díodo PN no regulador, por exemplo D17 na secção do ADC, convém que o condensador "reservatório" tenha um valor que permita à carga "sobreviver" um tempo superior à duração dos transientes esperados. Só com o bias típico do 78L05 (3.8mA) e fazendo aqui umas aproximações, o cap de 330nF vai de 13V (25V da bat - 12V do zener) para 7V (tipicamente pós 78xx, Vin >= Vout + 2V) em i = C dv/dt => dt x 4.8E-3 mA = 330E-9 x 6V => dt = 1.98E-6 / 4.8E-3 = 412us . Podias ser mais generoso e arranjar um cap maior, digamos pelo menos uns 22uF (entretanto simulei com 22uF e dá 33ms, 33uF dá 51ms).

E fixe que já tou aí a ver uns comentários :D
E os GND todos para baixo, que classe :D

Não analisei a parte com os ampops, mas tem em conta que o LM358 (que existe num pacote de 4 ampops, o LM324) tem um offst de entrada máximo de uns qtos mV e a saída, com a alimentação de 5V que meteste, só é garantida ir até uns 3.5V.

R28 e R29 têm que lá estar, excepto se o slave I2C já os tiver. Ambos os lados do ADuM são galvanicamente isolados.

(Se os esquemas de isol com ampops são alternativos, podias usar apenas uma cópia da parte do regulador de tensão + ACPL790)
« Última modificação: 08 de Outubro de 2015, 03:56 por Njay »

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.646
    • Electronic Gear for Musicians
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #112 em: 16 de Setembro de 2015, 09:44 »
Para transientes recomendo um TVS, na mesma tensao que o Zener, pois estes teem uma resposta mais rapida. O Zener eh rapido, mas o TVS ainda mais.
Alguma vez fizeste essa medida Sena? Falei com um tipo num outro fórum e ele aparentemente testou e disse-me que o tempo de reacção dum TVS é uma fracção de ns.


Sim, confirmo.
Construi um setup dedicado ao projecto q estava a fazer. Fiz os testes com TVS unidireccionais, pois precisava de proteccao overvoltage e tensao trocada.

- Fusivel 4A slow blow, SMD 1206
- TVS SMAJ20A e SMAJ30A, Littelfuse
- Fonte de 100VDC regulavel
- Ligacao ah rede 240VAC com Variac e Disjuntor
- Isolei o DSO da rede, liguei-o em paralelo com o TVS.

# Usei a fonte DC variavel para medir as correntes/tensoes no TVS quando estah no limiar do Breakdown. Tive q usar varios fusiveis p isto :D

# No teste destrutivo para saber quanto tempo o fusivel demorava a fundir, ao aplicar 240VAC no TVS, o mesmo formou a famosa onda de pico/descida-com-delay, onde a Clamping Voltage foi a escrita no datasheet, com um erro de ~5% salvo erro.

Guardei uns plots da altura ::

Vista geral com trigger no centro, pode ver-se o primeiro pico de clamping e um 2o maior onde funde o fusivel
scope_0.png

ZOOM da area do 1o pico
scope_2.png

ZOOM com os dois picos, pode ver-se a tensao de clamping a chegar aos ~50V no 2o pico
scope_1.png


De notar que o TVS aguentou-se sempre aos clampings de 240VAC, deixando o fusivel reduzido a um ponto negro.
Contudo, no teste que acabou por ser o ultimo, o fusivel deve ter ficado com residos de soldadura e, em vez de fundir, fez arco electrico entre os terminais. O TVS entrou em chamas e a caixa ficou cheia magic smoke. Nao foi preciso extintor pois desliguei o disjuntor rapidamente (e q nao tinha disparado). Mas foi preciso ventilar o laboratorio :D



- Confirmei entao a velocidade de actuacao do TVS, notando-se perfeitamente no plot do meio q em menos de 100ns fez o clamping de 240VAC.
- O fusivel tinha mesmo q ser slow-blow devido a outras caracteristicas do circuito


Happy days.


Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #113 em: 16 de Setembro de 2015, 17:32 »
Ok, boa :)! Obrigado

By the way, se eu tiver a dizer alguma bacorada diz Sena, que eu saiba és o único expert aqui :)
« Última modificação: 16 de Setembro de 2015, 17:34 por Njay »

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.646
    • Electronic Gear for Musicians
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #114 em: 16 de Setembro de 2015, 19:03 »
Ok, boa :)! Obrigado

By the way, se eu tiver a dizer alguma bacorada diz Sena, que eu saiba és o único expert aqui :)


De nada!
Mas, atencao, nao sou o unico, ha mais... podem andar eh escondidos ;)


Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #115 em: 22 de Setembro de 2015, 01:22 »
Então devem andar bem escondidos sim :o

Offline Crazyaboutmachines

  • Mini Robot
  • *
  • Mensagens: 112
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #116 em: 08 de Outubro de 2015, 01:55 »
Peço desculpa só agora estar a postar as imagens da apresentação que já fui a semana passada mas tem estado tão apertado que nem consegui divulgar aqui o evento. Este fim de semana será a corrida depois disso no próximo fim de semana digo como correu.
https://www.dropbox.com/sh/60ccw19c1dfipi9/AABBl8f6t_Wqu0QY9YMV8uj5a?dl=0

Offline Crazyaboutmachines

  • Mini Robot
  • *
  • Mensagens: 112
Re: Controlo motor DC de 24V/20Amp com PWM e Mosfet
« Responder #117 em: 13 de Outubro de 2015, 11:43 »
Aqui vai o resultado da prova:
https://www.facebook.com/psem.ist?fref=ts

No próximo ano imagino que tal como ano passado o carro estará em varia feiras e exposições, mantenham-se atentos caso queiram ver o carro e para quem mais me ajudou tentar dar uma volta nele (se for possivel entrar no carro pois com a dashboard ficou bem mais complicado).