Ir ao conteúdo

Posts recomendados

Postado

Bom dia pessoal.

 

Estou pedindo ajuda em um problema que está meio complicado de resolver.

 

Basicamente, tenho um esp01 interligado via serial com um pic.

O pic com um 32768khz conta um tempo preciso para ligar uma saida em tempos determinados previamente.

 O esp01 serve somente para acertar o relogio do pic e inserir os tempos em que a saida devera ser acionada.

 Apos configurar o pic (via celular) o esp01 entra em deepsleep, para  praticamente zerar o ser consumo, ficando só o pic contando o tempo.

 

Como o sistema é alimentado por 3 x AA (4,5v) ha um regulador LDK715M33R (3v3) para  o esp01, no pic vai direto das baterias.

Tenho capacitores de 100uf e 100nf proximo da alimentação do pic e do esp01.

 

Quando preciso altrar alguma configuração, devo desligar e ligar o sistema todo, para o wifi retornar ligado e é ai que o problema ocorre.

No caso o problema ocorre, somente quando as pilhas ja estão fracas, pois ao ligar, o esp01 "puxa" de 80 a 90mAh, deixando uma tensão muito baixa para o pic, o pic por sua vez, nao consegue "startar" e aciona as saidas aleatoriamente, fazendo a carga que está a saida ligar (obs a carga está em uma bateria 9v e é chaveada por um mosfet de nivel logico).

 

então quando as baterias enfraquecem, ao desligar e ligar, o pic enlouquece e ferra tudo.

 

Ja tentei algumas coisas via software, brownout reset , delays e nada, parece que quando isso ocorre, o programa nem passa pelo setup para dar tempo de configurar tudo, ela ja bug antes disso.

 

Ja tenho 100 pcbs montadas, porém nao previ o problema com bateria baixa.

 

ha algum recurso no pic (16F688) que eu possa usar para contornar isso, sera que o wdt inicia mesmo quando bug, pois ele ficaria causando reset, e nao deixaria ligar as saidas.

 

obrigado.

Postado

@rodrigocirilo ,

 

Esse Pic deve funcionar tranquilamente com até 2V de alimentação. O seu ESP01 deve estar puxando um pico alto de corrente quando liga, e esse pico deve estar fazendo seu Pic travar.

Uma ideia seria isolar a alimentação do Pic da bateria via um diodo de baixa queda de tensão, um schotky de até uns 100 mA, e colocar um eletrolítico de uns 470 uF em paralelo com o Pic além de um cerãmico de 100nF, assim ele segura a tensão durante essa queda momentânea devido à partida do Esp01, ok ?

Talvez tenha de ajustar o valor do capacitor eletrolitico.

 

Vou te contar o que aconteceu comigo, eu usava um Nodemcu, que é um ESP14, e quando ligava ele dava um baita pico de corrente na bateria, eu tive de fazer esse isolamento tanto no meu Attiny como também no Nodemcu, usando diodos schotky de 1A e baixa queda de tensão, no Nodemcu usei eletrolítico de 1000 uF, no Attiny usei 220 uF,  e resolveu todos os problemas de uma vez. Mas peguei isso ainda na fase do projeto, e já fiz a PCB com essas correções.

 

Paulo

 

 

  • Curtir 1
Postado

Vou sugerir que teste duas coisas e poste o resultado.

A primeira que troque o capacitor de 100µ por um de 10µ(isso mesmo reduzir).e a outra é que experimente ativar no PIC o brownout.

  • Curtir 1
Postado
1 hora atrás, aphawk disse:

@rodrigocirilo ,

 

Esse Pic deve funcionar tranquilamente com até 2V de alimentação. O seu ESP01 deve estar puxando um pico alto de corrente quando liga, e esse pico deve estar fazendo seu Pic travar.

Uma ideia seria isolar a alimentação do Pic da bateria via um diodo de baixa queda de tensão, um schotky de até uns 100 mA, e colocar um eletrolítico de uns 470 uF em paralelo com o Pic além de um cerãmico de 100nF, assim ele segura a tensão durante essa queda momentânea devido à partida do Esp01, ok ?

Talvez tenha de ajustar o valor do capacitor eletrolitico.

 

Vou te contar o que aconteceu comigo, eu usava um Nodemcu, que é um ESP14, e quando ligava ele dava um baita pico de corrente na bateria, eu tive de fazer esse isolamento tanto no meu Attiny como também no Nodemcu, usando diodos schotky de 1A e baixa queda de tensão, no Nodemcu usei eletrolítico de 1000 uF, no Attiny usei 220 uF,  e resolveu todos os problemas de uma vez. Mas peguei isso ainda na fase do projeto, e já fiz a PCB com essas correções.

 

Paulo

 

 

Ok, Paulo, imaginei mesmo que fosse o pico do esp01 causando isso.

como eu havia dito, a alimentação das pilhas vai direto para o pic ( 2v ~ 5v) então estara sempre dentro da faixa, e para o esp01 eu passo por um regulador 3v3.

Enquanto aguardava a ajuda de vocês, eu fiz um teste aqui, peguei a alimentação do pic, tambem do reg 3V3, e aparentemente o problema sumiu, penso que como a queda de tensão seja alta o pic nem consegue startar.

 

O que você sugeriu seria: O capacitor "cheio" seguraria a tensão para o pic startar, e essa tensão nao seria puxada pelo esp01 por causa do diodo, é isso? qual diodo sugere, pois acho que nao tenho nenhum diodo schotky  aqui.

1 hora atrás, vtrx disse:

Vou sugerir que teste duas coisas e poste o resultado.

A primeira que troque o capacitor de 100µ por um de 10µ(isso mesmo reduzir).e a outra é que experimente ativar no PIC o brownout.

vou abaixar o capacitor daqui a pouco para testar..há um fundamento nessa logica?

o bronwout ja esta ativo...

Postado
15 minutos atrás, rodrigocirilo disse:

O que você sugeriu seria: O capacitor "cheio" seguraria a tensão para o pic startar, e essa tensão nao seria puxada pelo esp01 por causa do diodo, é isso? qual diodo sugere, pois acho que nao tenho nenhum diodo schotky  aqui.

 

Sim , isso mesmo, capacitor cheio segura a tensão, e o diodo isola os dois circuitos ... bom se não tiver nenhum diodo schotky, use um 1N4148 para testar ele deve aguentar o pico do capacitor sem problemas, a queda é um pouco mais alta mas vai servir também.

 

Paulo

 

Postado

@aphawk Bem, eu acabei usando um 1n4007, procurei o 4148 e estou sem nenhum hehe, no entanto, assim funcionou, vou explicar como ficou.

 

peguei a alimentação do pic, no output do regulador de 3v3, levei para o pic através do diodo, no pic junto do vcc e gnd ja tinha um 100nf e um 100uf, então mantive o de 100uf mesmo por uma questão de espaço(visto o tamanho do 470 e 1000uf que tenho aqui)

 

agora, quando as pilhas estão boas, tudo funciona normal, como antes, mas quando coloco pilhas ruins cerca de 1,1v em cada, a tensão cai demais e o pic nem liga (acho que o brownout atua) e ele nao trava nem da pau nas saidas. então neste ponto deverá ocorrer a troca das pilhas.

 

Ainda está testando aqui, qualquer novidade eu retorno aqui.

 

@vtrxprocurei aqui e tambem estou sem nenhum cap de 10uF, vou providenciar junto com os 4148 e vou testar isso tambem, mas me diga, porque abaixar o valor do capacitor?

 

E obrigado pela ajuda dos colegas...

Postado
Citação

vou abaixar o capacitor daqui a pouco para testar..há um fundamento nessa logica?

Ainda não sei a razão,mas tenho um circuito que usa um PIC com USB e utiliza alimentação do PC(USB).

Com um capacitor paralelo na alimentação com valor acima de 22µ,ele não inicia a cada 10 conectadas.

Só solucionei com um capacitor de menor valor.

Outro detalhe é que com capacitor maior,quando faço a gravação utilizando ICSP,as vezes da erro.

Minha suposição,para o meu caso,é que o tempo de carga do capacitor é suficiente para o PIC não iniciar corretamente ou aleatoriamente.

Postado
4 minutos atrás, vtrx disse:

Ainda não sei a razão,mas tenho um circuito que usa um PIC com USB e utiliza alimentação do PC(USB).

Com um capacitor paralelo na alimentação com valor acima de 22µ,ele não inicia a cada 10 conectadas.

Só solucionei com um capacitor de menor valor.

Outro detalhe é que com capacitor maior,quando faço a gravação utilizando ICSP,as vezes da erro.

beleza, bom saber disso, assim que tiver com cap aqui eu vou testar sim..

Postado
12 minutos atrás, vtrx disse:

Com um capacitor paralelo na alimentação com valor acima de 22µ,ele não inicia a cada 10 conectadas.

Só solucionei com um capacitor de menor valor.

 

 

Tive um problema muito parecido quando deixava ligado o fuse do Brownout do AVR.... com capacitor de 100 uF ele não iniciava .....  aí foi só desligar o brownout e pronto nunca mais tive esse problema .... hoje prefiro deixar o watchdog ligado para resolver esses possíveis problemas kkkkk !

 

Paulo

  • Membro VIP
Postado

O que te levou a não usar um relógio de verdade tipo aqueles módulos ds1302 que já vem até com bateria? Não precisa mencionar que ele é caro mas a ideia seria usar apenas o ds1302+bat incorporado no seu sistema.

 

7 horas atrás, rodrigocirilo disse:

O esp01 serve somente para acertar o relogio do pic e inserir os tempos em que a saida devera ser acionada.

 Apos configurar o pic (via celular) o esp01 entra em deepsleep, para  praticamente zerar o ser consumo, ficando só o pic contando o tempo

Sério que o esp precisava de ajuda pra isso?

 

Pra uma ajuda mais efetiva, considere publicar os desenhos/esquemas/etc... +1: 1.jpg>1k.txt 😁

Postado
1 minuto atrás, .if disse:

O que te levou a não usar um relógio de verdade tipo aqueles módulos ds1302 que já vem até com bateria? Não precisa mencionar que ele é caro mas a ideia seria usar apenas o ds1302+bat incorporado no seu sistema.

 

Sério que o esp precisava de ajuda pra isso?

 

Pra uma ajuda mais efetiva, considere publicar os desenhos/esquemas/etc... +1: 1.jpg>1k.txt 😁

Sei que o esp da conta tranquilo de fazer tudo, mas ele com o modem desligado consome na faixa de 15mAh, e isso é muito para o meu sistema que vai ficar muitos dias ligado e alimentado por pilhas e a melhor opção que encontrei foi usar um pic para contar o tempo e controlar tudo, pois consome somente 0.5mAh.

o esp foi usado, pois a configuração precisa ser feita via app (acertar o relogio, inserir tempos etc)

  • Confuso 1
Postado

Voltei aqui só para mais uma observação que pode ser útil a alguém.

Em relação ao que falei do capacitor e brownout,ontem montei duas placas e deixei os capacitores,na entrada de tensão,vazio pois não tinha de 10µ,e quando fui testar,as placa não iniciaram.

Demorei um tempo verificando soldas ou algo errado e não achei,então pensei se poderia ser algo na hora de gravar o firmware,vasculhei e não achei nada de errado.

Como sempre tenho uma placa funcionando para testes futuros,gravei o firmware nela e funcionou como esperado e então pensei,se o firmware esta ok e as duas placas que acabei de montar não rodam,o que é diferente então da placa matriz?

Foi então que pensei,não é possível que a falta de um capacitor na entrada de alimentação USB faria isso.

Em vez de desmontar mais uma placa (a de teste)para retirar o capacitor,recompilei o firmware mas desta vez com o brownout desabilitado e voltou a funcionar(iniciar)normalmente as duas placas.

Não sabia como é sensível esta configuração a ponto de um simples capacitor de 10µ ser necessário no circuito.

Eu pensei que ja tinha experimentado quase tudo nestas montagens...

 

 

  • Curtir 1
  • Membro VIP
Postado

Sem capacitor a alimentação do mc fica suja e com pequenos picos invisíveis que faz cair do valor de brownout o que faz resetar. Mais suja ainda se vinda de usb. Algo como você não toma água direto da torneira e sim antes passa pelo filtro. E não te esqueças também de colocar 100nF que é algo como uma peneira mais fina. Há quem coloque vários valores até na casa dos pF. Cada um limpa sua faixa.

Capacitor de desacoplamento: condição sine qua non

 

59 minutos atrás, vtrx disse:

Eu pensei que ja tinha experimentado quase tudo nestas montagens...

off topic mas me fez lembrar... certa feita tive que pegar o terra de um ponto ligeiramente diferente pois estava causando erro num leitor de corrente. Pra variar, acabo de comentar algo que também conectou...

Espero que o amigo autor fique experto com os capacitores e pontos de terra 😁

Postado

@vtrx ,

 

Pois é .... eu hoje não habilito o brownout em nenhuma montagem minha. Prefiro usar o Watchdog para garantir um início saudável e um andamento correto ....

 

Paulo

 

Postado

o bronwout deveria atuar apos o codigo começar a rodar...

 

No caso do problema que relatei, eu mantive ativado, pois meu problema é unica e exclusivamente com bateria baixa, então se, ao ser ligado pelo usuario detectar a tensãi baixa, ele nao inicia (a popósito o bronwout fica resetanto o uC infinitamente ou somente nao deixa startar??

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

o bronwout fica resetanto o uC infinitamente ou somente nao deixa startar

É quase a lesma lerda 😁... não sai do reset o que não deixa a cpu nascer.

Eu (eu) já acho o brownout bem útil: não deixa funcionar com bateria baixa o que poderia causar instabilidades algo como deixar as variáveis ter vida própria e começar a tomar decisões por si 😁.

O wdog pra ficar achando pontos onde resetá-lo manualmente é 1 pns. Mas claro, tem sua missão estilo 'cada caso é um caso'.

Postado
44 minutos atrás, .if disse:

É quase a lesma lerda 😁... não sai do reset o que não deixa a cpu nascer.

Eu (eu) já acho o brownout bem útil: não deixa funcionar com bateria baixa o que poderia causar instabilidades algo como deixar as variáveis ter vida própria e começar a tomar decisões por si 😁.

O wdog pra ficar achando pontos onde resetá-lo manualmente é 1 pns. Mas claro, tem sua missão estilo 'cada caso é um caso'.

😁😁😁 verdade...

 

No meu caso, ao ligar o wifi drena bem as pilhas se ja estiverem velhas e isso estava deixando variaves e I/O´s ter vida propria, mas o bronwout sozinho nao resolveu...parece que ficava um pouco acima do limite minimo pro Brown atuar, não resetava e zoava tudo....

  • Membro VIP
Postado

Denuncie pro fabricante do mc. Afinal o brownout reset é pra isso. Mas não sem antes testar direitin com p.ex. conferir se o compilador fez certo, se programou o fuse certo, debugar, usar fonte de bancada e etc. Ou seja, não descarte defeito entre a cadeira e teclado 😁

Este mc não conheço mas alguns tem um timer inicial também. Depois de ver a vcc subir, ele dá 1 tempinho antes de pegar no pesado. É + 1 opção de segurança.

Postado
Em 08/02/2021 às 16:55, .if disse:

Denuncie pro fabricante do mc. Afinal o brownout reset é pra isso. Mas não sem antes testar direitin com p.ex. conferir se o compilador fez certo, se programou o fuse certo, debugar, usar fonte de bancada e etc. Ou seja, não descarte defeito entre a cadeira e teclado 😁

Este mc não conheço mas alguns tem um timer inicial também. Depois de ver a vcc subir, ele dá 1 tempinho antes de pegar no pesado. É + 1 opção de segurança.

 

Denunciar pro fabricante foi ótimo kkkkk ! Vai ajudar muiiiito ....

 

Olha, eu usei 64k ciclos de clock para esperar iniciar, usei todas as opções de brownout, e vira e mexe falhava a inicialização .... mas como você disse, deveria funcionar, talvez a gente não saiba como usar isso direito.....

 

Paulo

  • Membro VIP
Postado

Há muito mais entre ceu e terra do que supõe sua vã filosofia 😁. Você tentou de tudo exceto o que realmente causava a falha, seja lá o que for 🤪

A falha de inicialização não é culpa exclusiva da falha do procedimento de reset. Pode ser um tandcoiz. fase da lua, horóscopo 😁 e etc ... em outras palavas deve ouvir conselhos de visões externas. Igual jogo de dama: quem tá de fora vê mais jogada 😉

 

Postado

@.if ,

 

Olha .... usava Z80 em automação industrial, não tinha essa frescura de brownout, e nunca falhava na inicialização.... e em tudo o que monto não uso essa frescura, tudo funciona direitinho.

Por isso que não recomendo a ninguém insistir em usar isso.

 

Paulo

 

  • Curtir 1
  • Membro VIP
Postado

Z80? wtf? 😁

 

É isso aí Paulão. Sua experiência é bem válida como agregadora de valores ao forum sim. Inibir tal função pode ser solução desesperada pra quando tudo o mais falhar. Tmj: se funcionou, nem queira saber o porquê e toque o barco. No entanto existem até ci's especialistas em tal função que você tanto menospreza 😞. Google algo como power supply monitor with reset. Portanto penso que ela tem seu lugar ao sol sim.😁

zsm560_typicalapplication_1.jpg

Postado

@.if ,

 

Existem e faz bastante tempo... em 1985 usamos um desses em uma automação de uma fábrica de cacau na Bahia. Tinham algumas UARTS AYxxxxxx ( nem me lembro o modelo ) que insistiam em de vez em quando não funcionarem....

Naquela época as fontes de +5V tinham de ser mais parrudas, consumo era mais alto, e como usávamos um barramento industrial, tinham vários cartões com consumo alto. A solução foi usar um CI desse tipo que conseguia fazer essas UARTS iniciarem direitinho.

 

Como você disse .... existem muitas soluções para um mesmo problema. O mais complicado é "achar" qual é o verdadeiro problema, que no caso era a inicialização da alimentação de 5V distribuída em vários cartões no barramento.

 

Paulo

 

 

 

  • Membro VIP
Postado

 

@aphawk só zoei. Subliminarmente de chamei de 'alguém com muitas "idas" '..👴 ... (outra subliminar 😜).

Também ja fiz programinha de teste em assembly z80 há não sei quantos anos kk. De fato a parrudez no passado influenciava na não sensibilidade. P.ex. sabia que rádios à válvula são imunes a radioatividade? 😁.  Atualmente a eletrônica é toda frutinha e de uma certa forma precisamos nos adaptar reciprocamente com ela.

 

1 hora atrás, aphawk disse:

existem muitas soluções para um mesmo problema. O mais complicado é "achar" qual é o verdadeiro problema, que no caso era a inicialização da alimentação de 5V distribuída em vários cartões no barramento

É isso aí.. 'quem procura "acha" '. :P

Postado

@.if ,

 

"Programinha" de teste em Assembly Z80 ?

33K de objeto, tudo em Assembly kkkk foram meses de escrita e testes, e o produto final usava um Apple ][  como interface homem-máquina, monitor colorido, um monte de telas mostrando todo o processo, tudo rodando em Basic  e um pouco de Assembly tratando a comunicação.

A empresa em que eu trabalhava vendeu o sistema todo por US$ 170.000,00  .... bons tempos né ?

 

Paulo

 

 

  • Curtir 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...