Entrar    Registrar

Pico de corrente I/O Atmega8L

Software e Hardware para ATMEL

Moderadores: guest2003, 51, brasilma

  • Autor
    Mensagem

Pico de corrente I/O Atmega8L

Mensagempor Vicente » 25 Ago 2020 10:35

Olá, estava acionando um transdutor 40kHz ligado num pino I/O com 0 e 5V, via resistor de 1R e, a capacitância do transdutor é de 2,7nF. Acontece que, medindo encima do resistor, ocorrem picos de 200mA e -200mA, isso é cinco vezes maior que o DC limite de 40mA, só que esses picos duram somente 50ns... Será que o Atmega pode funcionar bem nessas condições? Notei que variando esse resistor, por exemplo 2R, a corrente permanece a mesma então poderia suprimir esse resistor? porque sem ele não consigo mais medir esses picos...
Vicente
Bit
 
Mensagens: 26
Registrado em: 24 Fev 2017 20:39

Re: Pico de corrente I/O Atmega8L

Mensagempor cfreund » 25 Ago 2020 11:01

Aconselhável dimensionar esse resistor para não extrapolar a capacidade da porta. Se n for possível, utilize algum 74hc ou transistor.
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 531
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Pico de corrente I/O Atmega8L

Mensagempor tronico » 25 Ago 2020 11:47

Concordo com o cfreund. Além de não exceder o limite de corrente da porta há também o limite de corrente de alimentação do próprio micro. Talvez funcione em bancada, mas e em produção ou daqui a algum tempo ...
tronico
Nibble
 
Mensagens: 81
Registrado em: 08 Set 2011 07:48
Localização: Blumenau SC

Re: Pico de corrente I/O Atmega8L

Mensagempor MOR_AL » 25 Ago 2020 12:07

Um transdutor de 40kHz gera pulsos de 12,5us. Pulsos de 50ns podem possuir outras causas:
1 - Falta de filtragem próximo aos pinos de alimentação dos CIs.
2 - Filtragem pobre próximo aos pinos de alimentação dos CIs.
3 - Ponteira do osciloscópio desajustada para altas frequências.
4 - Se a medição for diferencial, a medição sofre mais interferência ainda.
5 - Grandes trechos da alimentação aos CIs.
6 - Grandes trechos da saída do CI (provavelmente um microcontrolador) e a entrada do transdutor.
7 - Proximidade de fontes geradoras de ruído.


1 - Procure eliminar (ou reduzir sua influência ao máximo) esses 7 itens.
2 - Trance os fios de alimentação e de sinal (uma volta por polegada). Positivo com terra e sinal com terra.
3 - Procure fazer medições entre o sinal e o terra. Evite medições diferenciais.

Por acaso você não está medindo um circuito montado em ProtoBoard, ou matriz de contatos, né?

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2881
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Pico de corrente I/O Atmega8L

Mensagempor Vicente » 25 Ago 2020 23:06

O transdutor é praticamente um capacitor, aplicando uma tensão a corrente tende a ir as alturas no início da curva de carga, assim como na descarga onde ele, carregado, é praticamente curto-circuitado, descarregando a corrente também nas alturas, só que negativa... não tem como fugir disso...
A dúvida é se o pino do Atmega poderia suportar esses picos. No datasheet o pino suporta 40mA em regime constante, só que esses 200mA duram muito pouco, somente 50ns. Quero evitar colocar um resistor de alto valor pra atenuar esses picos...
Vicente
Bit
 
Mensagens: 26
Registrado em: 24 Fev 2017 20:39

Re: Pico de corrente I/O Atmega8L

Mensagempor eletroinf » 26 Ago 2020 09:07

Pode ser que não dê problema, mas tu estás ultrapassando os limites de capacidade do microcontrolador.
Eu não utilizaria nem próximo de 100 % do limite máximo.
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 840
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: Pico de corrente I/O Atmega8L

Mensagempor cfreund » 26 Ago 2020 13:21

Vicente escreveu:No datasheet o pino suporta 40mA em regime constante


Essa informação de capacidade esta no quadro "Absolute Maximum Ratings". Faz bem não chegar perto deles.

Veja:

Notes: 1. “Max” means the highest value where the pin is guaranteed to be read as low
2. “Min” means the lowest value where the pin is guaranteed to be read as high
3. Although each I/O port can sink more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V) under steady state
conditions (non-transient), the following must be observed:
PDIP, TQFP, and QFN/MLF Package:
1] The sum of all IOL, for all ports, should not exceed 300mA.
2] The sum of all IOL, for ports C0 - C5 should not exceed 100mA.
3] The sum of all IOL, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
than the listed test condition
4. Although each I/O port can source more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V) under steady state
conditions (non-transient), the following must be observed:
PDIP, TQFP, and QFN/MLF Package:
1] The sum of all IOH, for all ports, should not exceed 300mA.
2] The sum of all IOH, for port C0 - C5, should not exceed 100mA.
3] The sum of all IOH, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200mA.
If IOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current
greater than the listed test condition
Cláudio F
Avatar do usuário
cfreund
Word
 
Mensagens: 531
Registrado em: 14 Out 2006 14:02
Localização: São Paulo

Re: Pico de corrente I/O Atmega8L

Mensagempor Fábio Pereira » 02 Set 2020 21:18

Olá Vicente,

Você não achou no mínimo estranho que você trocou o resistor por um outro com o dobro do valor e a corrente medida (conforme seu relato) foi a mesma? Um transdutor de 40kHz opera com pulsos 25us de duração (ou 12.5us Ton e 12.5us Toff se for uma onda quadrada). De onde está vindo então este pulso de 50ns? O que está acontecendo no seu circuito por acaso é similar ao que está na figura abaixo?
Imagem

Se sim, o que você está vendo é o resultado da transição lógica brusca (edge) de 0 para 5V ou vice-versa. As resistências, capacitâncias e indutâncias parasitas provocam estas oscilações. Este efeito (conhecido em inglês como ringing) provoca o overshoot (picos de tensão positiva) e os undershoot (picos de tensão negativa) que estão se traduzindo nas correntes que você mencionou.

Em primeiro lugar, ringing é extremamente comum e vai estar normalmente presente em circuitos digitais de alta velocidade. É claro que se overshoot ou undershoot é muito elevado, ele pode acabar causando danos. Normalmente as portas lógicas possuem diodos schottky que protegem o pino contra transientes >VDD ou <0.

O próprio transdutor deve contribuir para o ringing (lembre-se de que um transdutor pode traduzir tensão em movimento mecânico como também traduzir o movimento mecânico em tensão), como você mesmo citou, ele parece se comportar como um capacitor.

Transdutores piezoelétricos (que imagino seja o que você está utilizando) drenam normalmente uma corrente muito baixa e poderiam (em tese) ser acionados diretamente pelo pino de I/O. Mas como os demais já citaram, é normalmente mais "saudável" utilizar um driver externo como um transistor ou MOSFET. Lembre-se de que normalmente os MOSFETs possuem diodos schottky internos que o protegem destes transientes de comutação, mas transistores bipolares normalmente não possuem qualquer proteção.

Vale lembrar que este efeito ringing é um dos grandes causadores de interferência EMI, já que trata-se de pulsos de frequência muito alta. É por isso que se tenta evitar (quase impossível) ou minimizar a sua ocorrência.

Alguns microcontroladores incluem funcionalidades de "current-drive" e "slew-rate control" que permitem selecionar diferentes capacidades de corrente de saída ou "taxas de subida", o que ajuda a minimizar bastante o ringing. Outra técnica utilizada é o resistor série (sim, aquele resistor de 1R que você está querendo retirar!).

Então para resumir, um resistor com valor mais elevado vai ajudar a minimizar o ringing e deve ser o suficiente no caso de transdutores piezoelétricos (desde que a corrente "ON" do transdutor seja menor que a corrente de saída do I/O (nesse caso a corrente típica de saída, o máximo absoluto, conforme citado, é um valor extremo). Para ter a consciência tranquila, um driver com um BC547 ou 2N7000 resolve o caso.

T+
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Re: Pico de corrente I/O Atmega8L

Mensagempor MOR_AL » 03 Set 2020 13:34

Vicente escreveu:Olá, estava acionando um transdutor 40kHz ligado num pino I/O com 0 e 5V, via resistor de 1R e, a capacitância do transdutor é de 2,7nF. Acontece que, medindo encima do resistor, ocorrem picos de 200mA e -200mA, isso é cinco vezes maior que o DC limite de 40mA, só que esses picos duram somente 50ns... Será que o Atmega pode funcionar bem nessas condições? Notei que variando esse resistor, por exemplo 2R, a corrente permanece a mesma então poderia suprimir esse resistor? porque sem ele não consigo mais medir esses picos...


Bom!
Sua pergunta já foi respondida, ok?
Agora, para podermos nos situar e tentar descobrir o porquê dos pulsos de corrente com tão pouco período, você poderia postar dois detalhes:

1 - Uma foto do circuito montado, juntamente com os terminais de alimentação, sinais, sensor e ponteiras do osciloscópio. Este último mostrando o problema. Se possível, edite a imagem com identificação dos fios, filetes de alimentação e sinal e onde você está medindo tais pulsos.

2 - O desenho do diagrama esquemático. Talvez possamos identificar algum problema e recomendar alguma alteração.

Sinceramente, ainda continuo achando que seu problema tem a ver com um ou mais itens listados anteriormente por mim.

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2881
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Pico de corrente I/O Atmega8L

Mensagempor Vicente » 05 Set 2020 01:44

Bom dia, não é isso não, não tem o ringing e, aparentemente não há a componente indutância, somente o transitório RC. Os 40kHz não influenciam essa situação onde a atenção está somente no período de transição 0-5V onde ocorre o pico. Esse termo "pico" tá gerando confusões quando o que ocorre é uma curva parecendo uma senóide que atinge 200mA e dura 50ns, correspondendo à carga da capacitância. Essa capacitância de 2,7nF com o resistor de 1R gera um tau de 2,7ns. Se considerar uns 10 taus p/ carga completa, aproxima-se dos 50ns...
Vicente
Bit
 
Mensagens: 26
Registrado em: 24 Fev 2017 20:39

Re: Pico de corrente I/O Atmega8L

Mensagempor Vicente » 05 Set 2020 02:21

Imagem
Vicente
Bit
 
Mensagens: 26
Registrado em: 24 Fev 2017 20:39

Re: Pico de corrente I/O Atmega8L

Mensagempor Vicente » 05 Set 2020 02:33

Aqui o pico de corrente. O osciloscópio está "encima" do resistor (garra num terminal e a ponta noutro). Está com 120mV / 1R = 120mA, dentro de uns 100ns.

https://transitorio4632.blogspot.com/20 ... -post.html

No esquema estou utilizando o pino 17, acionando o resistor + transdutor.
Vicente
Bit
 
Mensagens: 26
Registrado em: 24 Fev 2017 20:39

Re: Pico de corrente I/O Atmega8L

Mensagempor MOR_AL » 05 Set 2020 14:29

Vicente escreveu:Aqui o pico de corrente. O osciloscópio está "encima" do resistor (garra num terminal e a ponta noutro). Está com 120mV / 1R = 120mA, dentro de uns 100ns.

https://transitorio4632.blogspot.com/20 ... -post.html

No esquema estou utilizando o pino 17, acionando o resistor + transdutor.


Ok! Sua medição não está correta.
Duas observações.
1 - Não coloque a garra jacaré em um ponto elétrico diferente do terra, ou ground (GND). A garra jacaré TEM que ficar no terra, ou zero volt.
2 - É obvio que o pulso medido até poderia estar correto. Sendo uma carga capacitiva, a corrente inicial é um pico com posterior decaimento, que sendo apenas uma carga capacitiva, sem resistência em série ou em paralelo, tal decaimento iria para zero de tensão ou de corrente. Caso houvesse um componente resistivo em série com o capacitor, a corrente ficaria limitada pela soma da resistência de carga com a de 1 ohm. A corrente cairia para zero e a tensão permaneceria no máximo.
Com a carga resistiva em paralelo com a capacitância, o valor de pico da corrente inicial ficaria limitada pelo resistor de 1 ohm, decaindo até o valor limitado pela soma do 1 ohm e da resistência de carga. Já a tensão na carga iniciaria em zero e terminaria com o valor do divisor resistivo (1 ohm e a carga).

Caso deseje medir a corrente na carga, mantenha o resistor de 1 ohm, mas meça de modo diferente. Use duas ponteiras. AMBAS COM A GARRA JACARÉ NO TERRA e bem próximo do resistor. Uma das duas ponteiras entre o resistor de 1 ohm e a carga. A outra JUNTO ao resistor de 1 ohm.
Coloque o osciloscópio (de duplo traço) com a mesma escala e posição inicial. Mas acho que você não vai poder medir muita coisa em cc, talvez em ca você meça, mas se o seu osciloscópio tiver a função Canal A menos o Canal B a verdadeira corrente poderá ser observada.

Em tempo: Você deve ter retirado o circuito de gravação do AVR depois de te-lo gravado, né?

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2881
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante