Ir ao conteúdo

Projeto: ajuste de histerese em comparador sem (muito) cálculo


Ir à solução Resolvido por MOR_AL,

Posts recomendados

Postado

Pessoal, gostaria de suas opiniões e de ajuda para alguns cálculos para o seguinte circuito:

 

YW0tg3m.jpg

Antes de mais nada, esqueci de desenhar mas o 393 está sendo alimentado com 5v de um lado e 0v (GND ou negativo) do outro. Alimentação assimétrica, portanto.

 

Mas vamos lá, a ideia é simples:

 

No início a tensão na bateria é maior que 3,5v. e a saída do comparador fica positiva, o que faz o transistor conduzir.

Como o transistor conduz, passa por cima da R de 20k, o divisor resistivo coloca 3v na entrada inversora.

 

Na medida em que a bateria vai sendo usada, sua tensão vai caindo e quando a tensão da bateria "bate" nos 3v, a saída do comparador fica gnd. Nesse momento o transistor para de conduzir modificando assim o valor da resistência total do resistor de baixo no divisor resistivo. Com essa alteração, o divisor resistivo coloca 3,5v na entrada inversora. Como agora tem 3,5v na inversora e a bateria está nos 3v, a saída é GND até que a bateria volte a colocar mais que 3,5v na não-inversora. Ou seja, a saída do 393 só voltará a ser positiva depois que a bateria for recarregada.

 

Se isso estiver certo, minhas dúvidas são sobre o resistor de pull-up e sobre o resistor de base do transistor. Sobre esse pull-up xeretando pela Internet encontrei valores muito diferentes uns dos outros: tem quem ponha 200k, tem quem ponha 10k. Sobre o transistor, estava pensando em usar um NPN genérico (548, 337 etc.) Vale lembrar que o máximo que o 393 pode "engolir" de corrente é 20mA. Se essa corrente puder ser menor que isso, acho que seria mais seguro, né?

 

Talvez seja mais adequado usar um mosfet - um 2N7000, que o @aphawk falou num outro tópico - no lugar do transistor, até para que a corrente total do circuito não devore a bateria...

Como não conheço bem esses mosfets, nem ousei. Mas se alguém puder ajudar também com essa...

 

Obrigado!

  • Membro VIP
Postado

Não sei se entendi direito a descrição e circuito do amigo @rmlazzari58  mas baseando na tentativa de minimalizar acima, eu (eu) tentaria minimalizar ainda +... Sem lápis e papel pra desenhar, basta a descrição: um 74hc14 inversor cmos com histerese, divisor resistivo de Mohms na entrada medianamente calculado pra valor de v ficar entre a transição histerética e transição da bateria que quero monitorar.. praticamente o mesmo princípio do acima mas com 1 entrada só.

  • Obrigado 1
  • Solução
Postado

@rmlazzari58

1 - Você mencionou 339 e 393. Qual dos dois?

2 - Se for uma bateria 18650, então o circuito poderia "Avisar" quando chegar em 3,7V?

MOR_AL

Se baseie nas duas figuras para fazer o seu circuito e no vídeo com um exemplo.

Usei o LM324, mas pode ser qualquer um. Com os comparadores mencionados, terá que colocar um resistor (ou uma carga) na saída para o Vcc.

 

ComparadorcomHistereseNoInversorDiagramaEsquemtico.jpg.d88d55869d6ade28d4e224fa5b0ae3a9.jpg

 

O cálculo mastigado é esse à seguir.

ComparadorcomHistereseNoInversorFinal3de4.thumb.jpg.9ca300fb6b0192a1e7cf4dbb19a61c7e.jpg

 

VR é o valor (de referência) da tensão que vai na entrada negativa.

V0ma é a tensão que a saída do comparador atinge, quando estiver em "1", com a carga sem corrente.

V0mi é a tensão que a saída do comparador atinge, quando estiver em "0", com a carga com corrente.

V1mi é a tensão que você quer que o comparador atue. No seu caso é 3,7V.

Vima é a tensão que você quer que o comparador atue. No seu caso, se for a bateria 18650, DEVE ser 4,2V.

No meu exemplo, o gráfico seguinte mostra que funciona.

ComparadorcomHistereseNoInversorFinal4de4.thumb.jpg.e0b6e1e24d3d5d89d36c37c3bc81f38f.jpg

Não sei se sua carga é com LED, ou com relé. Qual será a sua carga?

MOR_AL

 

  • Obrigado 2
Postado

Obrigado pelas respostas, amigos.

 

A ideia é criar alternativas à histerese pela retro-alimentação na entrada não-inversora - não porque essa forma não funcione, já está mais que provado que funciona, e nem para "reinventar a roda" - mas tanto pela inovação e por curiosidade científica quanto para facilitar os cálculos e aumentar a independência do divisor resistivo da saída do comparador. Já pensou como facilitaria apenas ajustar o divisor resistivo de referência sem ter que se preocupar com a rede resistiva criada pela retro-alimentação?

 

A ideia da @.if , usar um puro schmitt trigger inversor tanto para criar um comparador quanto um oscilador, é muito boa, especialmente se for usar bateria. Mas, se você não se incomoda, cara, a gente usa no próximo. Para esse agora proponho a gente usar o 393.

 

4 horas atrás, MOR_AL disse:

Não sei se sua carga é com LED, ou com relé. Qual será a sua carga?

 

O projeto, em blocos, é assim:

fCPb19K.jpg

* - A proteção do TP4056 é contra descarregar a bateria abaixo de 2,7v.

 

A ideia do comparador + oscilador como monitor da bateria é totalmente copiada do seu circuito abaixo:

jlkwk96.jpg

um led que fica aceso quando a bateria está boa e que passa a piscar quando precisa de recarga. Só gostaria de tentar usar um 393 em lugar do 358.

 

Talvez isso implique em alterar não apenas o comparador mas também o oscilador. Agora, porém, usando a técnica de ir por partes do Jack (o estripador), gostaria de focar no comparador.

 

Para a histerese tinha pensado no seguinte circuito (obrigado pela correção @MOR):

cnPNVDd.jpg

Repare nos circuito à direita: a s tensões de saída naqueles divisores resistivos são, respectivamente Vl e Vh no gráfico de transferência do comparador.

 

Não cheguei a testar esse circuito porque a saída para o oscilador ficaria invertida: pelo que entendi, o oscilador do MOR oscila quando a saída do comparador vai a 0.

 

Então pensei o seguinte:

dnGFpNH.jpg

 

Nesse circuito, guardadas as imprecisões dos instrumentos que tem aqui, os resultados foram os seguintes:

 

Vcc = 5,0v cravados

Vbat >= 3,7v -> Vnão-inv = 2,82v -> Vout = 0 (o led que coloquei para monitorar Vout está aceso)
Vbat <= 2,8v -> Vnão-inv = 2,99v -> Vout = (não lembrei de medir mas o led apagou)

Subindo Vbat, quando Vbat >~ 3v, Vout volta a ser 0.

 

Ou seja, como está, está funcionando e daria para o gasto. Mas nem Vl cravou nos 3v nem Vh, nos 3,5v.


Talvez a gente consiga mais precisão usando o transistor NPN... será? Nesse caso, seria necessário inverter o funcionamento do oscilador fazendo com que ele oscile quando sua entrada receber tensão positiva.

 

A vantagem de inverter o start no oscilador é que talvez a gente possa usar não um BJT e sim um mosfet canal-n como o 2N7000, cuja impedância no gate é bem maior do que na base do BJT, o que interferiria menos ainda na Vout... No entanto, como falei acima,

 

18 horas atrás, rmlazzari58 disse:

Talvez seja mais adequado usar um mosfet - um 2N7000, que o @aphawk falou num outro tópico - no lugar do transistor, até para que a corrente total do circuito não devore a bateria...

Como não conheço bem esses mosfets, nem ousei. Mas se alguém puder ajudar também com essa...

 

Aceita o convite? 🙂

 

Postado

@rmlazzari58

Não sei como este seu estágio funciona, MAS...

A realimentação é negativa e para comutar a saída, ela tem que ser positiva. A saída tem que ter um circuito, que volta para a entrada positiva.

MOR_AL

  • Curtir 1
Postado
6 horas atrás, Sérgio Lembo disse:

Tem que ser NPN

Como disse a intenção é tentar usar uma forma alternativa para acrescentar histerese ao comparador, uma forma que aproxime os tensões Vh e Vi do que se obtém teoricamente e, ao mesmo tempo, seja mais fácil e intuitiva para calcular.

 

Dei preferência ao mosfet porque a impedância no gate é alta. Como a corrente que vai ao gate vem da saída do comparador, essa impedância alta afetará menos essa saída do que se usássemos um BJT.

 

No entanto não tenho muita prática com mosfets, o que pode ter acarretado erros nos resistores dele. O 10k para descarga de capacitância, apenas repeti o que encontrei por aí. Talvez possa ser melhor dimensionado.

 

Já os 500Ω no gate, coloquei para atenuar a corrente da saída do comparador, já que o máximo ali é de 20mA. Com 500Ω sobre 5v estão indo apenas 10mA. E será que o fato de ter aquele resistor de 20k não vai mexer em parâmetros exclusivos do mosfet, como RDS(on) ou outros pontos críticos?

 

O DS desse mosfet traz o seguinte:

 

Vdg = 60v (dá e sobra)

Vgs = 20v (também)

Ids = 200mA (idem)

Rds(on) = 6Ω

Vgs(th) = 3v

 

Será que agora vai?

 

4 horas atrás, MOR_AL disse:

Não sei como este seu estágio funciona, MAS...

A realimentação é negativa e para comutar a saída, ela tem que ser positiva. A saída tem que ter um circuito, que volta para a entrada positiva.

 

Procurei copiar tudo o que você bolou, MOR, porém com umas poucas alterações:

 

- Usar o 393 porque tem a saída em coletor aberto. Isso parece bom tanto para que essa saída, quando 0, se aproxime o máximo de 0v quanto para que a saída 1 se aproxime dos 5v. Ou seja, esse comparador parece que excursiona melhor do que o 358, que era o que estava aplicado aqui. Com o 358 o que eu estava obtendo era

Saída 0 - 0,6v

Saída 1 - 3,9v

 

- Como disse ao Sérgio, tentar uma alternativa ao modo "tradicional" de acrescentar histerese ao circuito.

 

O circuito que rabisquei está assim:

 

Nmxlop2.jpg

 

No entanto não estou certo de ter entendido o estágio oscilador. Pode ser que eu esteja pensando invertido, nesse ponto, mas... vamos lá:

 

Digamos que o fluxo de operação inicie com a bateria completamente carregada com 4,2v. Nesse momento a saída do comparador é 0. Como essa saída é 0, o mosfet não conduz. Então a resistência da parte de baixo do divisor resistivo fica 56k. Como na parte de cima tem 24k, na saída desse divisor haverá 3v. São esses 3v então que serão comparados com os 4,2v da bateria. Ao mesmo tempo, o led acenderá fixo.

 

Esses 4,2v da bateria vão caindo na medida em que o resto do circuito - o receptor de bluetooth e o amplificador - são usados.

 

Quando a tensão na bateria ficar menor que 3v, digamos 2,98v, a saída do comparador passa a ser 5v. Com isso, o mosfet passa a conduzir anulando a resistência de 20k. Como a resistência total da parte de baixo do divisor agora é 36k, na entrada não inversora haverão 3,5v. Ao mesmo tempo, (suponho) que isso ativará o oscilador fazendo o led piscar.

 

Esse estado será mantido até que... das duas, uma:

 

- a bateria não é posta para recarregar. Nesse caso, quando a tensão da bateria "bater" nos 2,5v, a proteção do BMS vai desconectá-la do circuito todo, cortando seu negativo. (Como curiosidade, uma vez cortado o circuito, a tensão da bateria recupera-se até 2,7 sozinha... é aquele negócio de parar de tentar dar a partida em motor que não pega por alguns minutos e, depois, disso, dá para tentar novamente pois a bateria se recuperou).

 

Nesse caso, o circuito - som + monitoramento da bateria - todo só voltará a funcionar depois da bateria ser recarregada.

 

Mas digamos que, assim que o led começar a piscar, a pessoa (zelosa e cautelosa) conecte o BMS ao carregador. Nesse caso, a tensão que o BMS aplica à bateria já eleva sua tensão para mais do que os 3,5v necessários na entrada inversora do comparador para que sua saída volte a 0. Essa saída, ficando 0, vai desativar o mosfet, o que fará com que haja, novamente, 3v na entrada não inversora e, ao mesmo tempo, desativará o oscilador de forma que o led voltará a acender fixo.

 

Bem... tudo isso se de fato o oscilador for ativado com 5v no topo de seu divisor resistivo - aquele de 150k em cima e 150k embaixo - e desativado com 0v (ou algo próximo a isso) nesse ponto.

 

 

Então ficam essas dúvidas: o entendimento sobre o oscilador está correto? E os resistores do 2N7000?

Postado
Em 07/08/2023 às 11:00, MOR_AL disse:

Com os comparadores mencionados, terá que colocar um resistor (ou uma carga) na saída para o Vcc.

Para o segundo estágio, @MOR_AL, no caso do 393, o led já seria suficiente carga para servir de pull-up?

 

E o capacitor desse segundo estágio, poderia ser tântalo, polarizado?

Postado
42 minutos atrás, rmlazzari58 disse:

Para o segundo estágio, @MOR_AL, no caso do 393, o led já seria suficiente carga para servir de pull-up?

 

E o capacitor desse segundo estágio, poderia ser tântalo, polarizado?

Sim, mas....

Na minha opinião. o circuito poderia ser mais simples, bastando seguir a minha receita de bolo na postagem #5.

 

MOR_AL

  • Obrigado 1
Postado
8 horas atrás, MOR_AL disse:

o circuito poderia ser mais simples, bastando seguir a minha receita de bolo na postagem #5.

 

Com certeza, o seu funciona à perfeição, e para usar com as 18650, com pouquíssima alteração. Cheguei a calcular, ficaria com (se não me engano) com R15=16k e R18=20k.  Gastaria pouquíssima bateria (5/36000=0,00014A ou 0,14mA)... isso se não colocar logo 150k em cima e 200k embaixo.

 

Só quis tentar algo diferente, não porque o seu pode ser melhorado mas sim para xeretar tanto o LM393 quanto para aproximar a realidade do projeto ideal.

 

Depois desse negócio de mosfet chaveando o valor do divisor resistivo, lembrei de uma ideia que tive faz tempo: chavear o valor do divisor resistivo usando um relé da seguinte forma: a saída do comparador - naquele caso era o 358, mesmo - tinha um BJT. Esse BJT acionava um relé (SPDT), que, por sua vez, acionava (ou desacionava) uma ventoínha. Como já tinha que ter um relé ali, pensei em colocar um DPDT e fazer o chaveamento dos resistores por lá mesmo.

 

Ficou tão sem classe que chamei de "histerese tabajara", rs...

hist-relé.jpg

 

A ideia era liberar a saída do comparador da função de adicionar histerese, justamente para buscar mais proximidade entre o ideal e o prático. Claro que mesmo com relé, a precisão é sempre prejudicada tanto pela tolerância dos resistores quanto pelas perdas do próprio chip. Tudo, na prática, é diferente do ideal, especialmente nas ciências exatas, em que o ideal é absolutamente preciso. (Qual é a espessura da linha do equador, por exemplo?) Mas com realimentação na não-inversora fica muito difícil, mesmo usando trimpots, cravar Vh, Vi e resistores reais, de valores comerciais...

 

Sei lá... é mais por curiosidade, mesmo. Ou até que a indústria crie um comparador com histerese embutida...

 

E falando nisso - curiosidade e histerese embutida - encontrei um trabalho teórico em que o autor propõe, se não estou errado, justamente isso: um chip comparador com histerese embutida. Não tem chip que tem apenas um compara dor dentro, para usar outros pinos para ajustar o off-set? Então, o dele tem uns pinos para colocar histerese...

 

O circuito dele está a anos-luz do que consigo analisar com meus conhecimentos de diletante. Mas se você quiser ver, tá aqui (clique).

 

De todo jeito, caro, agradeço profundamente a sua paciência e a de outros experimentados mestres do fórum, reafirmando que 90% do sucesso que tenho tido devo a vocês.

Postado

Nos comparadores e até mesmo nos operacionais quando em malha aberta costuma haver uma histerese embutida de poucos mV (uns 5). É um efeito colateral do circuito, nem todos apresentam isso. Na sua aplicação o uso de histerese por realimentação positiva deve ser considerada. Tanto na carga quanto na descarga dessa pilha a passagem pelo ponto de comparação será extremamente lenta para os padrões da eletrônica. Isso significa que quando a tensão da pilha estiver a uns poucos mV ou uV do ponto de comparação a saída tenderá a entrar em alta frequência. Quando se tem realimentação positiva na primeira variação da saída o operacional/comparador já fica travado no novo valor. Relé é lento, o transistor vai ficar cozinhando na região ativa com entra e sai desenfreado sem que o relé consiga atracar. Outra forma de se segurar essa oscilação é colocar um pequeno capacitor entre a saída e a entrada inversora. Nesse caso terá que colocar um resistor de ao menos 10k entre a pilha e a entrada inversora.

Sobre o consumo do circuito sobre a pilha: No datasheet é informado o valor típico e máximo de corrente consumido pelas entradas. Quando se deseja boa mas não exagerada precisão a corrente que passa pela malha deve ser de ao menos 100X o consumo máximo da entrada. Caso o consumo te seja muito crítico dá para trabalhar com 10X o consumo máximo. Lembre-se que o consumo típico costuma ser muito menor que o máximo. No caso do LM393 estamos falando de 25/100nA, Então um consumo de 10uA na malha já nos dará a precisão boa ou 1uA para uma precisão menor. Usar 140uA é um exagero, só faz sentido se houver muita interferência. Estou falando de integrados americanos, europeus ou japoneses. A atual qualidade dos integrados chineses me faz lembrar os produtos japoneses da minha juventude. Foram muitos anos até que aprendessem a trabalhar bem o silício.

  • Curtir 2
Postado
2 horas atrás, rmlazzari58 disse:

Só quis tentar algo diferente, não porque o seu pode ser melhorado mas sim para xeretar tanto o LM393 quanto para aproximar a realidade do projeto ideal.

 

Aconteceu comigo na cadeira de eletrônica 1 da faculdade.

Fiquei encucado com um determinado circuito que eu tinha imaginado. Calculei ele e mostrei para que o professor avaliasse.

Claro que ele só deu uma rápida olhada e classificou o circuito como "Fantastrom". 

Por incrível que possa parecer, aquilo me afetou positivamente, potencializando minha capacidade de questionar as coisas, quando achava que devia.

Meu questionamento aumentou terrivelmente minha capacidade de verificar o comportamento dos circuitos, melhorando meu conhecimento da eletrônica. 

É louvável e incentivo este comportamento em você, que como pode ver, é salutar tende a colher bons frutos.

Bons estudos.

MOR_AL

  • Curtir 4
Postado

Esse tipo de aprendizado prático  é muito importante para fixar os conceitos.

Mas lembro aqui que todo esse projeto hoje pode ser feito por um simples Attiny85, alguns resistores  e um pouquinho de software, quase sem cálculo ...

A parte analógica está sendo integrada aos microcontroladores e facilitando muito os projetinhos do dia a dia.

 

Paulo

 

  • Curtir 1
  • Amei 1
  • Membro VIP
Postado
5 horas atrás, aphawk disse:

tipo de aprendizado prático  é muito importante para fixar os conceitos

Me fez lembrar. Ando atualizando esta minha postagem no forum mc. Se prestar atenção...

Área de Transferência03.png

vai ver um pouco do conceito da histerese inata ao quase mágico cd40106 que mencionei neste tópico. Lembrando que a ideota acima é 100% original provavelmente sem paralelos na net (não pesquisei).

 

Também envolve a expressão...

6 horas atrás, aphawk disse:

quase sem cálculo ...

bem como...

6 horas atrás, aphawk disse:

lembro aqui que todo esse projeto hoje pode ser feito por um simples Attiny85, alguns resistores  e

(no meu caso) capacitores, imaginação, criatividade 🤪 e...

6 horas atrás, aphawk disse:

microcontroladores e facilitando muito os projetinhos do dia a dia

 

Ao cogitar o cd40106 suponho que tendo ele alta impedância de entrada,  podemos polarizar sua entrada com divisor de tensão com R de MOhms e realimentar com a saída (invertida) pra trazer a histerese pro ponto que se deseja. Só conceito teórico, claro. O que não me impede de testar esta magia numa simulação... talvez algum dia.

Em 07/08/2023 às 15:22, rmlazzari58 disse:

especialmente se for usar bateria. Mas, se você não se incomoda, cara, a gente usa no próximo

fechou

  • Curtir 1
Postado

@.if ,

 

Que legal !!!!!!

 

Sensacional a tua ideia !  Gerar os três tipos de sinal para controlar o 595 é uma bela sacada ! Tudo com só um único pino kkkkk !

 

Essa ideia eu nunca vi por aí ......

 

Paulo

  • Curtir 1
  • Obrigado 1
Postado

Pensando, aqui... a ideia do

10 horas atrás, aphawk disse:

Attiny85

parece promissora.

 

Tem duas coisas que incomodam um pouco em se tratando de circuito alimentado por bateria: o contrassenso que há em ter um led indicando que o aparelho está ligado já consome bateria. No caso do medidor de ESR do @MOR_AL esse problema é menor tanto porque quem usa um medidor de ESR tem alguma noção de eletrônica, baterias etc., quanto porque o medidor de ESR não fica ligado direto. Para isso o circuito com o 358 está nada menos do que perfeito. Já a caixinha de bluetooth já é feita para ficar ligada direto... E música ainda mais assim, baixinha dessas caixinhas, é como perfume: com o tempo você até esquece que tá lá, mas se sente bem no ambiente e nem sabe bem o porquê...

 

Além disso, um divisor resistivo na bateria também consome... Para falar a verdade até conectar a bateria direto numa das entradas do comparador, por maior que seja a impedância, já consome. Some-se esse consumo ao consumo do divisor resistivo e ao do led indicador de que o aparelho está ligado...

 

Quer ver uma coisa? Há um led nessa caixinha que não pode ser dispensado: o led do receptor de bluetooth. Pela frequência da piscada desse led é que ele se comunica com o usuário:

 

"Estou disponível" ou "estou conectado".

 

Acontece que esse led não é bom indicativo de "aparelho ligado", porque ele leva um bom tempo (uns 3 ou 4 segundos) para começar a piscar depois de receber alimentação, o que faz o usuário impaciente apertar de novo (e de novo e de novo e de novo...) o botão de liga/desliga, desligando assim o aparelho antes da primeira piscada.

 

O liga/desliga tem que ser eletrônico, flip flop, pelo seguinte: antes de exaurir a bateria, o BMS a desconecta do circuito. Há uma histerese nesse BMS de forma que ele desconecta a bateria aos 2,49v e só a reconecta com 2,7v. Isso foi corrigido nos BMS atuais: atualmente o BMS só reconecta depois de receber recarregador. Mas no BMS atual, mesmo reconectando só depois dos 2,7v na bateria... é como o tal de "esperar um pouco para tentar dar a partida de novo no carro". Desconectada, a bateria volta a subir a tensão sozinha. E ai, se o interruptor não for do tipo flip-flop, o aparelho se religa sozinho, se desliga sozinho, se religa sozinho, etc...

 

Ainda não sei do que um mc como esse ATTiny85 é capaz mas acho que só esse pouquinho de coisa, ele pode fazer, será que não?

 

O que ele teria que fazer é:

 

- Apertado o botão que liga a caixa, ele acende instantaneamente um led de ligado/desligado por uns 5 segundos. Depois disso, o outro led, o do bluetooth, é que passa a piscar, e aí o indicativo de "ligado" já pode apagar.

 

- Monitorar a bateria a cada, digamos, 2 segundos (um loop de 2 segundos) de forma que, se nela houver algo abaixo de, digamos, 3,2v, o monitoramento se interrompe e o mc passa à sua mais nobre e complexa função: piscar um led, rs...

A histerese nesse monitoramento poderia ser mínima, só para evitar as tremulações da bateria...

 

Umas questões: há uma entrada analógica nesse mc que possa receber a tensão da bateria? Essa entrada tem boa impedância? Com que precisão ela pode trabalhar? Ela distingue décimos de volt? Centésimos?

 

Poderia até se pensar em entregar ao mc a função de liga/desliga. Mas para isso ele teria que ficar ligado, "ouvindo" o botão de liga/desliga o tempo todo. Não sei quanto consome o mc nesse estado mas um TTP223 consome algo entre 1,5nA e 3nA nesse "listening"... se o consumo do mc for equiparável ao do flip-flop TTP223, aí até dessa função ele poderia se encarregar.

 

Dá para programar esse mc usando C? Ou assembler? Ou ele tem sua própria linguagem, como um Arduíno?

 

Postado

@rmlazzari58 ,

 

Bom, você pode programar o Attiny85 usando a IDE do Arduíno,  ou C, ou Assembly, ou como eu faço, em Basic mesmo.

 

E você pode programar ele para ele ficar dormindo o tempo inteiro, acordando a cada 2 segundos e fazendo a verificação e voltar a dormir depois disso. Trabalhando cm clock de 128 kHz e alimentando com 1,8 Volts, pode conseguir consumo quando em sleep de menos de 1 uA , e quando acordado cerca de 0,2 mA.

Vai precisar fazer um divisor resistivo para medir a tensão da bateria, e pode usar valores altos tipo 47K de carga para a bateria.

Ele tem sim um conversor A/d para medir a tensão da bateria, tem uma referência interna de tensão relativamente precisa,  pode inclusive fazer a calibração precisa por software. Se alimentar o brinquedo todo com 1,8 Volts, tem uma resolução de 2 mV.

 

O attiny pode ficar dormindo até você apertar um botão de liga/desliga ligado em um dos pinos, e iria acordar, energizando o sistema e após isso voltar a dormir, até você desligar ....

 

Claro que  trabalhar em sleep mode exige um conhecimento mais profundo do hardware....  Mas nada te impede de começar alimentando com 5V e rodando no clock interno de 8 MHz, e depois ir modificando conforme aumenta a sua prática.

 

Para você ter uma ideia, o Attiny85 ė muito mais do que você precisa para fazer esse projetinho !

 

Mas aviso que para fazer as coisas como eu descrevi, precisa ter uma boa prática com microcontroladores, não é de uma hora para outra que se adquire o conhecimento.

 

Paulo

 

  • Curtir 2
Postado
10 horas atrás, aphawk disse:

O attiny pode ficar dormindo até você apertar um botão de liga/desliga ligado em um dos pinos, e iria acordar, energizando o sistema e após isso voltar a dormir, até você desligar ....

 

Claro que  trabalhar em sleep mode exige um conhecimento mais profundo do hardware....  Mas nada te impede de começar alimentando com 5V e rodando no clock interno de 8 MHz, e depois ir modificando conforme aumenta a sua prática.

 

Para você ter uma ideia, o Attiny85 ė muito mais do que você precisa para fazer esse projetinho !

 

Mas aviso que para fazer as coisas como eu descrevi, precisa ter uma boa prática com microcontroladores, não é de uma hora para outra que se adquire o conhecimento.

 

Paulo

Em termos didáticos, mesmo que o uso inicial não justifique o esforço dá para aprender e muito. Attiny é uma família baseada no processador AVR, o mesmo que equipa o Arduíno. Clocks abaixo de 1MHz provocam algumas falhas nele mas nesta frequência o consumo cai e muito e se a alimentação for a mínima a corrente cai mais ainda. Não é um desafio que necessite de muito desempenho (tanto a carga quanto a descarga são fenomenos lentos) de sorte que ficar cochilando (sleep) na maior parte do tempo e a cada 2 ou 5 segundos realizar uma inspeção irá poupar e muito a bateria. Com um investimento extra tem uns CIs dedicados ao intento de baixíssimo consumo mas no uso da técnica de sleep aprende-se muito mais.

  • Curtir 1
Postado

Encontrei bastante também sobre a utilização do ATtiny85 como comparador, @aphawk, e sobre o uso de PB0 e PB1 como entrada analógica, aqui e aqui, por exemplo. E tem também muitos tutoriais sobre o uso da IDE de Arduíno para gravá-lo.

 

Os códigos são bem simples e a histerese pode ser dividida em 2: uma que apenas evita tremulações da bateria, usando um pequeno capacitor na AIN0. E outra - que não encontrei mas que parece bem fácil de escrever - é a grande, digamos, entre 3v e 3,7v. Estou imaginando uma variável bandeira (ou "flag") que indique se a tensão na bateria bateu com a referência na subida ou na descida...

 

Um pequeno adendo ao código, antes de entrar no loop infinito, e aquele breve acender fixo do led durante uns 5 segundos, no início da rotina para avisar que o aparelho foi ligado, está resolvido. 5 segundos, como eu disse, são suficientes para que o outro led, o do bt, passe a informar se o aparelho está ligado ou não.

 

Sobre consumo, parece que por menos que mc chegue, o melhor seria encarregar o interruptor de toque, mesmo. Agora tem uma questão intrigante: como encontrei pela Internet, dá para alimentar o ATtiny85 diretamente da saída do BMS, antes de passar pelo step-up. Mas aí a tensão de alimentação vai mudando. Jamais chegará a menos que 1,8v porque antes disso o BMS já desconectou-se da bateria. Mas ficar variando assim a alimentação... não parece estranho?

 

Por outro lado, ajustar um regulador... mais um, na verdade, já que step-up é um regulador - só para manter o ATTiny85 em constantes 1,8v? Mesmo um zener, um 431 etc. já consomem algo. Pelo que li daria para alimentar o mc com os 5v fixos da saída do step-up, ajustar seu clock e ainda assim o consumo seria menor do que usando o 358...

 

Bem... talvez não seja má ideia continuar esse papo no fórum de mcs, que tal?

  • Membro VIP
Postado
1 hora atrás, rmlazzari58 disse:

manter o ATTiny85 em constantes 1,8v

Não precisa amigo. Ele possui referência interna constante pro conversor AD.. que já foi feito pensando neste projeto seu 🤪

reference-selection.png

 

1 hora atrás, rmlazzari58 disse:

Mas aí a tensão de alimentação vai mudando.

Assim sendo, ou sendo assim, pode mudar o quanto quiser ... desde que esteja dentro da faixa de Vcc que ele trabalha.

  • Obrigado 2
Postado

@rmlazzari58 ,

 

Eu nem usaria o comparador..... basta você fazer tudo por software, lendo a tensão na entrada A/D, e fazendo o seu programa agir como se fosse o comparador !

 

Eu vejo a coisa assim :

- Usar referencia interna de 1,1V ou de 2,56V para o conversor A/D, assim você não se importa com a variação da tensão de alimentação, como o @.if falou acima.

- Usar uma entrada A/D para ler a tensão da bateria, devidamente ajustada por um divisor resistivo.

- Usar uma entrada digital com interrupção para o botao de liga/desliga.

- Usar mais uma entrada A/D onde colocaria um trimpot para ajustar a tensão que você quer como referencia no seu programa como por exemplo para a histerese           positiva e para a histerese negativa. A sua imaginação é o limite kkkkkk

- Sobram duas saidas para você fazer o que quiser ....

 

Paulo

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!