Estou com o seguinte problema.

Estou terminando um alimentador de ração para pets com um ESP-01.

O funcionamento é muito simples.

Liguei um servo no pino 2 - GPIO2 do ESP8266 e programei o ESP8266 para receber comandos pela web.

O servo comanda a abertura de uma portinha, por onde a ração passa. Após alguns segundos, eu comando o servo para fechar a porta.

Está funcionando bem, mas estou com um problema.

Se falta energia, ao ligar o sistema, a conexão do GPIO2 ao servo faz com que o sistema trave. O servo passa a emitir um ruido, como se estivesse tentando se movimentar em algum sentido. Como se estivesse recebendo algum sinal do GPIO2.

Bom, eu coloquei então o pino de sinal do servo conectado ao GPIO2 através de um switch, que está normalmente ON. Nesse mesmo switch eu coloquei o RST do ESP8266, conectado ao GND. Normalmente OFF. 

Quando eu aciono o switch, o RST liga-se ao GND e o GPIO2 desconecta-se do servo. Esse mesmo switch eu utilizo para gravar meu sketch no chip.

Beleza !! Funciona muito bem. Mas só para testes !!

Eu desligo o meu conjunto da energia, simulando uma queda de energia e ao ligar, o sistema trava, pois o GPIO2 está conectado ao servo. Ai eu pressiono o switch por um segundo e o sistema entra em funcionamento normalmente.

Bom, o que eu gostaria de saber, se é possivel desligar a conexão do GPIO2 ao servo assim que o sistema é energizado, como se o botão de switch tivesse sido acionado.

Eu não sou eletrônico, meu perfil é de programador, sou novato em eletrônica.

Existe alguma forma, algum temporizador, que assim que o sistema recebe energia faça o que eu estou precisando ?

Grato !!

Exibições: 1975

As respostas para este tópico estão encerradas.

Respostas a este tópico

Eu uma vez passei por problema muito parecido mas no meu caso eu tinha que cortar a alimentação do Esp-01 quando este parava de enviar dados, congelasse. Desligava por 2 segundos e tornava a alimentar para o ESP voltar a funcionar

Fiz então o uso de um módulo relê para que quando acionado desligasse o ESP

Fiz vis programação no sketch para que esse processo não dependesse da minha intervenção

Mas aqui no meu caso eu sempre usei o arduino como controladora e o ESP como periférico pra acessar a internet, mas está me parecendo que no seu caso vc não está usando arduino e sim tem o ESP fazendo tudo, correto?
Talvez se for isso mesmo, vc tenha limitação de portas disponíveis para conseguir controlar um relê para cortar a comunicação com seu servo quando necessitasse

Oi imhugo,

Grato por ajudar.

É, estou fazendo tudo só com ESP8266. Sem relay. O servo trabalha com 6V, mas com 5.5V funciona direitinho.

Sua idéia é colocar um relay no meio da comunicação com o servo ?

Tipo, aciono o relay e depois mando os comandos ao servo ?

Oi Odilon, minha idéia seria isso sim, usar um relê para substituir esse seu switch (que não sei bem o que é) que necessita de intervenção manual sua. Se vc puser um relê será que vc não conseguiria fazer a ligação do GPIO2 com o servo ser cortada via programação?

Oi imhugo,

Desculpe, eu não sou técnico em eletrônica.

Na verdade o que eu chamo de switch é um push-button com 6 pernas;

De um lado - 3 pernas - eu coloquei o RST conectado ao GND normalmente desligado.

Do outro lado - as outras 3 pernas - coloquei o GPIO2 conectado ao servo, normalmente ligado.

Quando eu aperto esse push-button, o RST liga-se ao GND e reseta o módulo. Ao mesmo tempo o GPIO2 desconecta-se do servo e não trava.

Eu preferia não ter de usar relay, tipo, assim que o sistema recebe energia, dá um jeito de desconectar o GPIO2, ou atrasa por 1seg o envio de energia. Sei lá como.

Então estamos na mesma, eu também não sou do ramo de eletrônica, apenas conhecia o switch como aquele tipo de hub onde chegam cabos de rede ethernet.

Mas enfim, agora consegui entender como vc faz as ligações e conseguir entender o que vc necessita. Quer tentar fugir da necessidade de intervenção manual sua,  e tentar automatizar o processo de aperto desse push button.

Realmente o relê simples não serve pro seu caso, pois ele funciona como um interruptor simples, mas um módulo dotado de dois relês eu acho que serve.

Veja no que pensei aqui, só não sei se é adequado pra vc, já que vc disse querer fugir de relês. Mas o bom do relê é que vc conseguirá controlá-lo programaticamente conforme sua conveniência, então se vc não encontrar alguma alternativa melhor, talvez valha a pena testar desse jeito abaixo:

Uma outra idéia que me surgiu foi usar o mesmo sinal pra acionar as entradas 1 e 2 desse modulo, pra economizar pino do seu controlador.

Não sei se funciona, mas a idéia era que o mesmo sinal HIGH enviado pro módulo fizesse o relê 1 fechar contato entre RST e GND, ao mesmo tempo que no relê 2 o GPIO2 parasse de se comunicar com o servo.

E quando o sinal voltasse pra LOW, o relê 1 cortaria a ligação entre o RST e o GND, enquanto que no rele 2 o GPIO2 se ligaria ao servo

Mas repito o que disse anteriormente: talvez essa solução que estou te dando não te sirva porque vc não dispõe de pino livre para fazer o acionamento do módulo relê.

Se for esse o seu caso, de não ter pino disponível, talvez um circuito usando o CI 555 possa ser melhor estudado 

Deve haver outras alternativas, talvez alguém mais se manifeste, mas pensei nessa agora pra te propor

Oi imhugo.

Grato pela sugestão. Mas é muito relay... 

O GND no RST não tem necessidade de relay, eu só uso quando vou gravar o firmware. Eu só estava aproveitando o mesmo push-button para desligar o GPIO2 do servo.

Aproveitando, o que vc usou para fazer esse desenho ?

A idéia do relay é boa, mas eu estou querendo evitar. 

Vou fazer um filme e mandar, vc vai ver o tamanho do troço... e está grande !!

A minha ideía final é utilizar dentro de uma cx de pilha - uma 18650 de 3.7V.

eu peguei uma imagem na internet e edit usando o Paint (antigo paint brush) do windows. Bem artesanal mesmo

Até o momento eu não havia percebido que espaço físico seria limitante.

De qualquer forma, vamos aguardar alguma idéia da turma

kkkkk boa idéia !!! 

Segue filminho mostrando a jararaca

Anexos

Odilon , servomotor como o nome já diz, possui um motor que gera ruido na fonte. 

Você conectou o servomotor no 5V. 

Pode tentar usar um capacitor de 100  uF 16V para filtrar a fonte de 5V. 

Instalou um resistor de 10K ohms entre o pino GPIO2 e o 3,3V ? 

E conecte o GPIO2 no pino de controle do Servo. 

Se continuar o problema use um driver com transistor. ( nos informe) 

Oi Murta,

Sim, o GPIO2 está no pino de controle do Servo.

Quando eu ligo o sistema, ele trava tudo. Eu reseto desconectando o GPIO2 do servo, ele boota direitinho.

Pra que esse resistor entre o GPIO2 e o 3.3V ? O GPIO2 está indo diretamente ao pino de controle do servo. O VCC do servo no 5V e o GND do servo no terra do sistema.

ESP8266 - Pinos usados no módulo:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

IO_2 ( GPIO_2 / Pino 14 do Chip):
Obdecendo configuração do firmware, para boot da memória Flash durante o reset, esse pino deverá ter o nível alto - conecte um resistor de 10K ohms ao +3,3V. Para o modo de download através da interface serial UART, esse pino também deverá estar no nível alto (3,3V).

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço