[RESOLVIDO] ESP8266 12E com RS485 enviando dados a mais

Pessoal, estou desenvolvendo um circuito usando NodeMCU ESP8266 12E com comunicação RS485. A comunicação RS232 está funcionando perfeitamente quando ligo um circuito ao outro (são duas placas iguais ao esquema eletrônico anexo), ou seja, tudo que é enviado de uma placa para outra é recebido corretamente (nos dois sentidos) ao conectar os RxTx das placas. Ao ligar a comunicação RS485 uso o pino D8 (GPIO15) do ESP8266 como bit de controle da transmissão de dados conforme indicado no esquema.

PLATAFORMA ARDUÍNO.

 

PROBLEMA:

Ao colocar para funcionar a comunicação RS485 conforme indicado no esquema, a placa que envia os dados está transmitindo tudo corretamente. Porém, na placa receptora coloquei um debug para saber o que está recebendo e descobri que está vindo um caractere ZERO a mais no início do frame. Exemplo:

Bytes ENVIADOS pela PLACA 1 no frame de teste:
    0x21 0x06 0x00 0x0A 0x00 0x14 0xAE 0xA7

Bytes RECEBIDOS pela PLACA 2:
    0x00 0x21 0x06 0x00 0x0A 0x00 0x14 0xAE 0xA7

IMPORANTE: Quando eu reinicio a placa receptora (PLACA 2 em meu exemplo), o frame recebido vem sempre correto. Do segundo em diante vem com esse caractere a mais no início.

 

Alguém tem ideia do que pode ser?

Exibições: 65

Anexos

Responder esta

Respostas a este tópico

Bom dia WB,

verifiquei que no seu esquema não aparecem os resistores

de pullup e pulldown no bus 485.

Veja as imagens para se orientar.

Basta que coloque o resistor em um lado do bus.

A falta destes pode dar erros imprevisiveis no data transfer.

Veja este tópico

https://www.google.com.br/search?q=sn75176&safe=off&client=...:

RV

Bom dia. Esse chip a que você se refere é diferente. Estou usando o SN75176.

Obrigado.

Sr. WB,

duas observações:

1a.  Estes resistores são referente ao bus,  a não ser que existam no chip.

        Desconheço chips que contenham internamente estes resistores.

2a.  Observe bem e veja que a segunda figura e o topico por mim citado incuem

        este chip que está usando.

RV

Ah sim, ficou claro. Obrigado pela dica! O que quis dizer, é que neste caso do chip que estou usando não são requeridos os resistores dessa forma (ao menos no circuito sugerido pelo fabricante). Mas vou tentar fazer o que você sugeriu. Se funcionar eu posto um OK aqui. Valeu!

mineirin RV, funcionou. Muito bom!! Só que eu acrescentei também um capacitor de 100nF entre o VCC e o GND nos próprios terminais do chip.

Obrigado!

WB, 

Por favor escreva [ RESOLVIDO]  antes do titulo do

seu tópico.

Assim os amigo poderão usar como forma de pesquisa.

RV

Feito!
Queria aproveitar para fazer uma observação: retirei os dois resistores do BUS e deixei apenas o capacitor de 100nF bem próximos aos terminais do chip. Continuou funcionando. Com isso se pode concluir que era apenas ruído mesmo, apesar de já existirem capacitores de filtro na fonte.

Mesmo assim obrigado pela atenção.

WB,

apesar de funcionar sem os resistores, não recomendo deixar sem eles.

RV

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço