entação de 5V e de 3.3V. Mas se vc não tiver a alimentação de 5V, vc pode usar 3.3V no lugar onde está marcado 5V, desde que siga as recomendações que passo mais a frente.
Sobre o Circuito, é muito importante que vc siga estes pontos:
1) o circuito que está dentro da área "verde claro", deve ficar o mais próximo possível do sensor E18-D80NK. Veja: isto não é na ponta "final" do cabo que vai ao ESP8266. Ou seja: o circuito da área "verde claro" deve ficar na ponta do cabo que fica junto ao Sensor mesmo.
2) o circuito que está dentro da área "azul claro", deve ficar o mais próximo possível do ESP8266. Isto é particularmente importante em relação ao Capacitor C4, Resistor R6, e Diodo D1. Mas todo o circuito da área "azul claro" deve estar bem junto ao ESP8266.
3) o Diodo D1 não é obrigatório, mas seria desejável sua presença. Se vc não tiver o BAT85, pode usar o 1N4148 (Atenção: não servem Diodos da série "1N400x" como 1N4001, 1N4007, etc).
4) os Capacitores C1, C3, C4, e C6, devem obrigatoriamente ser do tipo "cerâmico" (não use outros tipos).
5) o Capacitor C2 preferencialmente deve ser tipo "tântalo", mas se não for possível, pode ser do tipo eletrolítico de alumínio (ou seja, eletrolítico "comum"). Sua tensão de trabalho deve ser 10V ou mais (mas preferencialmente menor que 50V). Observe a polaridade mostrada no circuito.
6) o Capacitor C5, pode ter qualquer valor acima do mostrado no circuito (como por exemplo 1000 uF). Sua tensão de trabalho deve ser 10V ou mais (mas preferencialmente menor que 50V). Observe que devido ao valor alto da Capacitância, o único tipo viável é o eletrolítico comum (o de alumínio). Observe a polaridade mostrada no circuito.
7) caso vc não tenha disponível a alimentação de 5V, use a de 3.3V onde está marcado 5V, mas neste caso altere os seguintes componentes: R1 = 63 ohms, e R7 = 15 ohms. Os demais componentes não precisam ser alterados.
8) atente ao valor dos componentes. Se tiver alguma dúvida em relação ao valor de algum deles ou em relação a alguma unidade, não deixe de perguntar aqui. Observe que escolhi valores comuns, facilmente encontrados no mercado brasileiro.
Muito importante: o circuito inverte a Lógica de detecção do Sensor. Então se no seu código está usando "LOW" para detectar o Sensor, deve mudar para "HIGH". Mas se vc estiver usando "HIGH", deve mudar para "LOW". Outra possibilidade é acrescentar o "!" antes da expressão lógica resultante.
Além da imunidade proporcionada pelo Circuito mostrado na figura anterior, é possível também aumentar ainda mais essa imunidade no próprio código. Se vc postar aqui o trecho do seu código onde está detectando o Sensor, eu posso ajustar o mesmo para se obter essa imunidade adicional. Não é necessário postar todo seu código, apenas a parte que detecta o Sensor, mas fique a vontade se quiser postar o código todo pois posso fazer comentários de melhoria sobre ele (claro, se isso realmente for necessário).
Se ainda ocasionalmente estiver ocorrendo falha na detecção, aconselho acrescentar um "Schmitt Trigger" ( por exemplo 4093B ou 74HC14) entre o Resistor R6 e a entrada do ESP8266. Mas isso pode ser evitado, se a imunidade for aumentada no código como mencionei logo acima.
Ah, eu calculei o circuito para velocidade de detecção das peças, em até cerca de 30 peças por segundo. Acredito que seja o suficiente para o seu caso.
Esqueci de perguntar: qual dos diversos módulos com o ESP8266 vc está usando? e qual pino está usando para ler o Sensor?
Espero ter ajudado.
Abrçs,
Elcids…
Adicionado por Elcids Chagas ao 17:50 em 17 novembro 2020
ura para "zoom")
Em relação à figura anterior, seguem então as seguintes considerações.
Na cor "amarela", marquei o pino "GPIO03", que é o pino que vc disse estar usando para a leitura do Sensor. Há um problema com essa escolha. Vou explicar.
Ocorre que esse pino também é o RX da Serial do ESP8266, ou seja, é o pino por onde o ESP8266 recebe os dados da Interface Serial correspondente ao "Terminal do Arduino" (no PC).
Esta Serial é implementada no Hardware do Wemos, através do circuito "ponte" USB para Serial que corresponde ao Chip "CH340", marcado na cor "verde" na figura. O lado USB vai ao PC, e o lado Serial vai ao ESP8266. Como no ESP8266 o "GPIO03" é o RX dessa Serial, em termos de circuito ele é uma Entrada Digital. Veja que marquei também na figura, dois Resistores, na cor "laranja", e normalmente estes Resistores tem o valor de 470 ohms (um valor relativamente baixo). Um desses Resistores está ligado justamente entre o "GPIO03" e a saída TX do "CH340". E normalmente esta saída TX do "CH340" fica em nível alto (nível lógico "1"), ou seja em 3.3 Volts. Conclusão: se vc conectar o Sensor ao "GPIO03", vc terá um Resistor de "Pullup" externo conectado ao pino, sendo este um "Pullup" bem "forte" pois o Resistor tem apenas 470 ohms.
Então isso limita o que vc pode fazer com esse pino. E veja que para usar o circuito que sugeri no início, vc não pode ter Resistor de "Pullup" no pino usado para ler o Sensor (conforme ressaltei no post anterior). Então usar o "GPIO03" limita o que vc pode conectar nesse pino.
Minha sugestão é que para a leitura do Sensor, vc use um outro pino de Entrada Digital que esteja "livre" no seu Sistema. E se usar o circuito que sugeri, não ligue nem o "Pullup" nem o "Pulldown" neste pino.
Veja na figura anterior que dentro de um retângulo na cor "rosa", além do próprio "GPIO03", marquei também o pino "GPIO01". Este pino corresponde ao "TX" da Serial do ESP8266, e que está conectado ao "RX" do CH340 (a ponte USB <==> Serial). Esta conexão é feita através do outro Resistor de 470 ohms (área "laranja" na figura). Neste caso, a limitação é menor desde que vc use o pino como Saída Digital. Mas vc pode ter imprevistos durante o "Boot" do ESP8266, pois este costuma "printar" dados via Serial logo após o Reset (aquelas "tranqueiras" que vc vê no Terminal do Arduino logo que vc conecta ou reseta o Wemos). Assim se vc tiver "algo" ligado ao "GPIO01", este "algo" irá receber Níveis Lógicos não previstos no seu Sistema (por exemplo se vc usar o pino para controlar um Relé, o Relé poderá ligar/desligar de forma "aleatória" logo após o Reset do ESP8266, o que pode causar problemas dependendo do que esse Relé aciona).
Então também é aconselhável evitar usar o "GPIO01". E como entrada, de jeito algum, pois irá provocar "contenção", que é o pior problema em um circuito digital (a "contenção" ocorrerá durante o "Boot" entre o pino TX e quem está "drivando" este pino, já que supostamente ele está recebendo Nível Lógico de algum outro dispositivo, uma vez que estaria sendo usado como entrada). Veja então que em relação ao CH340, não há problema com o "GPIO01". O problema é devido ao fato dele ser uma Saída Digital durante o "Boot" do ESP8266.
Em suma, aconselho não usar nem o "GPIO03" (o RX da Serial do ESP8266), nem o "GPIO01" (o TX da Serial), a fim de evitar problemas de Hardware (ou seja, problemas com os circuitos).
Sobre a questão da imunidade na leitura do sinal do Sensor, preparei um código de exemplo de como aumentar essa imunidade ainda mais (além é claro da imunidade proporcionada pelo circuito "básico" que mostrei), e logo publico aqui (falta preparar algumas figuras para o post).
Uma coisa que pode ajudar no melhor funcionamento da imunidade, é saber qual a quantidade máxima de peças que vc detecta por segundo. E vc saberia dizer durante quanto tempo a peça fica "na frente" do Sensor? (esse tempo é o mesmo tempo que a saída do Sensor fica em "LOW")
Abrçs,
Elcids…
Adicionado por Elcids Chagas ao 10:37 em 24 novembro 2020
precisar mais de um gateway para integrar um modem gprs ao ScadaBR está entre elas.
Além disso estamos oferecendo cursos para a comunidade, aos interessados, abaixo o link, a ideia é aumentar a comunidade e reativá-la, além do aluno sair do curso sabendo criar uma aplicação completa e gerenciar o sistema, vendo até tópicos avançados de scripts, datasource SQL, e operação distribuída com concentrador. Quem se interessar pode parcelar em até 10x e ainda leva um ESP8266 com Modbus TCP/IP para treinar em casa com variáveis reais e terá a oportunidade de participar de um grupo exclusivo de integradores no WhatsApp para troca de informação instantâneas.
http://www.scadabr.org.br/curso-scadabr/
Também teremos novidades no desenvolvimento do sistema, firmamos uma parceria bacana e uma versão LTS ainda está por vir... Sem mais Spoilers por enquanto! :)
Aguardamos todos para os cursos e para participar dos fóruns! Queremos muito publicar os cases da comunidade. Quem tiver algo pronto, envie para cursos@scadabr.com.br
…
Adicionado por Fábio Durão ao 22:15 em 10 outubro 2016
ar reset no aparelho da Vivo que temos no condomínio. Eles (são 3) ficavam precisando desligar e religar da tomada ao menos 1x por mes. Agora o proprio esp pinga sites pra saber da saude da conexão. Se ficar 3 minutos sem conexão ele dá um reset (desliga e liga). Pra fechar ele a cada minuto atualiza por mqtt um painel. Se ele cair de vez avisa o rapaz da adm pra chamar a Vivo.
Nunca mais ficamos sem internet nos espaços, gente subindo em escada pra puxar da tomada, coisas assim.Curioso que por ex em casa o aparelho é identico e nunca precisou ser resetado, mas é a vida. É reset que cura ? Vamos dar reset.Antigamente tinhamos apenas 1 para tudo (espaços, cinema, garagem, piscina, etc, etc, achavamos que era por isso que travava. Dividimos a carga em 3 contas, mas mesmo assim travava... Não trava mais.).
…
Adicionado por Eduardo ao 14:06 em 2 dezembro 2019
cessário fazer algumas modificações no módulo:
1) Conectar o GPIO0 ao Vcc através de um Resistor de Pull-UP de 10K
2) Conectar o CH_PD (EN) direto ao Vcc (podendo tbm utilizar o resistor 10k)
Resultando nesta configuração: IMAGEM 2
Vi isso em dezenas e dezenas de fóruns de tudo quanto é nacionalidade.
O PROBLEMA:
Fiz alguns testes e não obtive sucesso satisfatório. O ESP-01 conectado à ponte serial funciona perfeitamente, porém quando conectado ao módulo relé, não inicia o código mesmo após as modificações.
TESTES REALIZADOS:
1) Fechei um curto direto entre GPIO0 e Vcc e alimentei o relé, removendo o jumper logo em seguida. O Relé é acionado e o ESP-01 inicia o código normalmente.
2) Alterei os valores do resistor de pull-up (antes de 10K).
Em alguns casos ocorria o mesmo (não iniciar o ESP) e em outros casos, acontecia que o relé ativava, o ESP iniciava e logo em seguida desativava o relé.
O problema desse caso 2 é o risco, pois durante a inicialização o que estiver ligado ao relé será acionado por um pequeno intervalo de tempo, de forma indesejada.
Gostaria de saber se alguém passou por esse problema e como solucionou-o. Ou se tem alguma sugestão de solução.Agradeço a atenção!
…
Adicionado por Joao Vitor ao 9:39 em 26 março 2019
a conexão da ESP8266-12E funcionar no modo "Keep Alive" e não "intermitente", liga e desliga constantemente.
Estou usando o Arduino IDE para programar e as bibliotecas do "André Saramago" - SIte:https://github.com/andresarmento/modbus-arduino
Peço que confiram o código abaixo:
___________________________________________________________
/*Modbus-Arduino Example - Test Holding Register (Modbus IP ESP8266)Read Analog sensor on Pin ADC (ADC input between 0 ... 1V)Copyright by André Sarmento Barbosahttp://github.com/andresarmento/modbus-arduino*/
#include <ESP8266WiFi.h>#include <Modbus.h>#include <ModbusIP.h>#include <ModbusIP_ESP8266.h>
#define TCP_KEEP_ALIVE//Modbus Registers Offsets (0-9999)const int SENSOR_IREG = 100;
//ModbusIP objectModbusIP mb;
long ts;
void setup() {Serial.begin(115200);//Config Modbus IPmb.config("CASA 108", "lucas123");while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}Serial.println("");Serial.println("WiFi connected"); Serial.println("IP address: ");Serial.println(WiFi.localIP());
// Add SENSOR_IREG register - Use addIreg() for analog Inputsmb.addIreg(SENSOR_IREG);
ts = millis();}
void loop() {//Call once inside loop() - all magic heremb.task();
//Read each two secondsif (millis() > ts + 2000) {ts = millis();//Setting raw value (0-1024)mb.Ireg(SENSOR_IREG, analogRead(A0));}}
___________________________________________________________
Consigo enxergar os dados analógicos via MODBUS no meu Cliente TCP, porem o envio das informações ficam intermitentes, Dando erro de "time out" e reconectando, fazendo um ciclo de interrupções e retornos.
Gostaria de saber se algum de vocês já passou por alguma aplicação semelhante, e me de uma força.
Desde já agradeço todos vocês!…
sso toda interface que for conectada no módulo não pode ultrapassar o nível de tensão de 3,3V - isso é muito importante pois, por exemplo, se conectar uma interface de 5V você queimará o seu chip !
Segundo as especificações do fabricante , a corrente máxima que um pino de saída (output) pode fornecer é de 12mA.Como precação sugiro não ultrapassar os 10 mA. Isto é, se ligar um Led (dependendo do consumo do Led), poderá danificar o chip também. Muito cuidado com o uso dos pinos de saida e entrada (GPIO_XX).
Link do Datasheet do Chip ESP8266EX:
https://www.adafruit.com/images/product-files/2471/0A-ESP8266__Data...
CHIP ESP8266EX ESP8266EX pinagem
Esses são os pinos de alimentação do Chip ESP8266EX.
Nos módulos ESP8266, esse pinos já estão devidamente conectados.
1) VDDA - Alimentação do circuito analógico +3,3V
3) VDDP3 - Alimentação do Amplificador de potência de RF +3,3V (esses pinos 3 e 4 são soldados juntos)
4) VDDP3 - Alimentação do Amplificador de potência de RF +3,3V
5) VDD_RTC - o datasheet informa = sem conexão
6) TOUT - Pino de medição do conversor analógico digital ADC - máximo 3,3V
11) VDDPST - fonte de alimentação do Digital I/O (1,8V~3,3V)
17) VDDPST - fonte de alimentação do Digital I/O (1,8V~3,3V)
29) VDDD - Alimentação do circuito analógico +3,3V (deve ser Digital e não analógico)
30) VDDA - Alimentação do circuito analógico +3,3V
31) RES12K - conexão de um resistor de 12K ohms ao terra
33) GND - terra
Essa tabela copiada do Datasheet do ESP8266EX demonstra o consumo de corrente nos vários modos de operação:
1) Modem-Sleep : nesse modo, o modem WIFI é desligado, mas a conexão WIFI é mantida sem a transmissão de dados.
2) Light-sleep : A CPU pode estar suspensa em aplicações como Switch de WIFI. Sem a transmissão de dados, o modem WIFI pode ser desligado e a CPU suspendida para economizar energia.
3) Deep-Sleep : Não precisa de conexão WIFI para ser mantido. Pode ser usado em aplicações com grande intervalo de tempo entre as transmissões.
…
er uma espécie de dattalloger utilizando algum sistema pronto para visualizar os dados (isso se você possuir internet no local da torrefação)
Seria algo similar a esse projeto aqui do Carlos Kiewk, bastaria trocar o dht11 por qualquer outro sensor
http://labdegaragem.com/profiles/blogs/dht11-caynne-tutorial-iot
ou similar a esse
https://mjrobot.org/2017/02/21/ardufarmbot-2-sistema-automatico-par...
ou esse utilizando o aplicativo blink
https://mjrobot.org/2017/01/06/o-iot-feito-simples-monitorando-a-te...
Outro ponto interessante, eu vi uma reportagem do globo rural (não sei a data do episodio), mas o cara tinha desenvolvido um sistema de controle de torrefação utilizando um microfone no cilindro de torra, pois ele percebeu que quando o café atinge o ponto exato de torra, ele começa a produzir pequenos estralos, igual amendoim na frigideira, assim ele aumentou a qualidade da torra monitorando os estralos dos grãos de café.
…