Ruído na RS485 trava PIC

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Ruído na RS485 trava PIC

Mensagempor ÁgioFelipe » 12 Jul 2016 16:36

Boa tarde amigos, tenho dois dispositivos (Master e Slave) se comunicando através de um canal RS485 (MAX487), utilizo cabo UTP para realizar a comunicação, estou realizando o seguinte teste: Enrolo o cabo em um ventilador e fico ligando e desligando o mesmo, daí o dispositivo Master trava.
Alguém poderia me ajudar nesse problema?
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Re: Ruído na RS485 trava PIC

Mensagempor xultz » 12 Jul 2016 16:41

Você está tratando a comunicação por pooling ou por interrupção?
Se for pooling, pode esquecer, vai dar caca mais cedo ou mais tarde, trate a comunicação por interrupção.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Ruído na RS485 trava PIC

Mensagempor andre_luis » 12 Jul 2016 16:52

Bom, isso na minha opinião poderia ser esperado de um cabo UTP sim.
O ventilador é um dispositivo altamente indutivo, gerando spike quando passa do ligado para o desligado.

Porque não usa então um cabo "shieldado" ?
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Ruído na RS485 trava PIC

Mensagempor KrafT » 12 Jul 2016 18:13

Não importa o tipo de cabo nem nível de ruído. O firmware deve sempre ser capaz de se recuperar.

Todo o programa trava, ou só a comunicação?

Comece com uma solução radical: Se a comunicação falhar por x tempo, ressete o master (watch dog). Depois, refina as rotinas para se recuperarem sozinhas.

Agora se o hardware está queimando, aí tens que proteger a linha do 485.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Ruído na RS485 trava PIC

Mensagempor ÁgioFelipe » 13 Jul 2016 11:35

xultz escreveu:Você está tratando a comunicação por pooling ou por interrupção?
Se for pooling, pode esquecer, vai dar caca mais cedo ou mais tarde, trate a comunicação por interrupção.


Quem faz pooling é o slave, nesse não estou tendo problemas. O Master manda a informação.

Porque não usa então um cabo "shieldado" ?

Pq sai bem mais caro, são dois canais de RS485 por questões de segurança, então precisaria de pelo menos 4 vias. Mas vou tentar conseguir um pedaço pequeno para testes.

Não importa o tipo de cabo nem nível de ruído. O firmware deve sempre ser capaz de se recuperar.

Todo o programa trava, ou só a comunicação?

Comece com uma solução radical: Se a comunicação falhar por x tempo, ressete o master (watch dog). Depois, refina as rotinas para se recuperarem sozinhas.

Agora se o hardware está queimando, aí tens que proteger a linha do 485.


Todo o programa trava!
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Re: Ruído na RS485 trava PIC

Mensagempor KrafT » 13 Jul 2016 13:14

ÁgioFelipe escreveu: Todo o programa trava!


O Watchdog consegue restaurar o programa?
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Ruído na RS485 trava PIC

Mensagempor andre_luis » 13 Jul 2016 13:35

ÁgioFelipe escreveu:
Porque não usa então um cabo "shieldado" ?

Pq sai bem mais caro, são dois canais de RS485 por questões de segurança, então precisaria de pelo menos 4 vias.


Não deveria ser tão caro assim, até onde sei. ( ...tem razão, tá os olhos da cara... )

A propósito, a questão pra mim parece apontar pro caminho da solução via hardware.
Por mais que implemente os mecanismos sugeridos acima de identificação/reenvio, ainda haverá o risco de queima física de componentes.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Ruído na RS485 trava PIC

Mensagempor Red Neck Guy » 13 Jul 2016 22:26

Em 2003 eu montei algo assim:
89S8252 + MAX485 (A e B) -> <-(A e B) + Max485 + 89S8252.
Era equipamentos diferentes, eu estava codificando uma unidade e o meu colega outra. As vezes, durante os testes (sem querer né) os dois tentavam transmitir ao mesmo tempo, em alguns casos chegamos a ver a flash do 89s8252 ser corrompida, já que o MCU só voltava a funcionar após a regravação da flash(mesmo o led de status...)
Bom, o que aprendi:
- Nunca ligar os sinais dos transceivers diretamente ao mundo, eu sempre coloco polyswitchs e TVSs, ou no mínimo aquele clássico arranjo de diodos um pra cima e outro pra baixo....
- Nunca uso pooling, sempre interrupção, nunca envio em loop, sempre uso da interrupção.
- Multimestre? Então uso token ring.
- Sempre verifico o tamanho dos buffers quando vou colocar alguma coisa neles, ruído pode "disparar" uma sinalização de recebimento. Se você não trata os erros pode colocar esses 3000 glithcs no buffer como se fossem dados. Até onde vai até estourar todo o CSTACK?
Uma vez fiz um indicador com 89S51, ele tinha o protocolo MODBUS e uns displays de 7 segmentos. As vezes quando comunicava com um mestre nervoso( que fazia muitas requisições) os displays piscavam. Onde estava o erro? Eu não verificava os limites dos buffers, assim quando passava do tamanho do buffer do modbus os dados transbordavam pra o buffer do display.
(Claro que as vezes transbordava pra tudo e a placa parava)
Aí resolvi com

if(bytesRecebidos<TAMANHO_BUFFFER)
buffer[bytesRecebidos++] = dadoRecebido;
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Ruído na RS485 trava PIC

Mensagempor Vonnilmam » 14 Jul 2016 20:28

Muitos e não são poucas as ocasiões em que se haverá problemas com ruidos EMI.

Uma técnica muito simples e eficiente é utilizar uma bobina EMI, que pode ser comprada pronta (normalmente acha-se em SMD) ou você pode confeccionar uma.

Em um ferrite de 0.5cm = expessura x 1cm = comprimento, enrole 6 espiras de fio cabinho 20 ou 22 awg. Tanto na entrada quanto na saída da bobina, coloque um capacitor de 100nf e não saída para o circuito alimentado coloque mais um capacitor de 10uF, afunção dos capacitores é apenas de desacoplamento, pois o trabalho real esta sendo feito pela bobininha.

Esse cálculo cobrirá o range até uns 150mhz de ruido EMI.

Elimina completamente o ruido, se colocar no osciloscópio, verá o ruido totalmente aniquilado (dica, quanto menor a tensão de alimentação maior a probabilidade de interferencias EMI).

Essa dica serve também para uso em circuitos de audio.

É simples e funcional, façam o teste e por favor, postem o resultado aqui.

Obrigado
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Re: Ruído na RS485 trava PIC

Mensagempor andre_luis » 15 Jul 2016 09:16

Vonnilmam escreveu:Uma técnica muito simples e eficiente é utilizar uma bobina EMI, que pode ser comprada pronta (normalmente acha-se em SMD) ou você pode confeccionar uma.
(...)
Elimina completamente o ruido, se colocar no osciloscópio, verá o ruido totalmente aniquilado (dica, quanto menor a tensão de alimentação maior a probabilidade de interferencias EMI).


Isso porque pra haver uma filtragem efetiva isso só ocorre quando o nucleo do ferrite saturar, já que a caracteristica de interesse dessa bobina é mais suas perdas do que propriamente sua indutancia, e o ideal seria utilizar um ferrite menor, mas a dica é boa ( apesar de que eu apenas acrescentaria que é a corrente que é considerada, ao invéz da tensão... ).
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Ruído na RS485 trava PIC

Mensagempor KrafT » 15 Jul 2016 12:05

andre_teprom escreveu:... isso só ocorre quando o nucleo do ferrite saturar...


:roll:
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Ruído na RS485 trava PIC

Mensagempor andre_luis » 15 Jul 2016 14:09

KrafT escreveu: :roll:


:?:
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Ruído na RS485 trava PIC

Mensagempor Vonnilmam » 15 Jul 2016 14:18

Boa tarde,

Esse filtrinho mequetrepe que eu passei, funciona legal, pode fazer sem medo, depois coloca aqui o resultado.

O ruido que mencionou, vem através da rede elétrica, e como se trata de ruido com alta frequencia, milhares de megahertz, ele passa batido pela filtagem de sua fonte, suponhando que seja uma fonte comum capacitor diodo regulador.

Eu sempre utilizo isso em todos os projetos que necessitam o cancelamento ou atenuação destes tipos de ruidos.

Em especial em audio, quando se trabalha com DSPs e chips de baixa tensão, abaixo dos 5 volts, tipo 3,3 para baixo, ai é que a ruideira aparece, querendo melar o meio de campo, ou melhor a instabilidade dos micros, coisas anormais acontecem, tipo resets indesejaveis, etc...

Isso é provocado por ruidos...Observe em equipamentos profissionais com tecnologia embarcada, que a fonte possui redutores de EMI com bobinas como mencionei, inclusve tem fabricantes que são especialistas em produzir essas bobinas...

Boa sorte
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Re: Ruído na RS485 trava PIC

Mensagempor KrafT » 15 Jul 2016 19:15

andre_teprom escreveu:
:?:


Para mim, a tua afirmação é equivocada. Um indutor saturado causa mais problemas do que ajuda, na questão de filtros. Já para reguladores que se baseiam no princípios dos MagAmps, a saturação é fundamental, mas aí é outra história.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Ruído na RS485 trava PIC

Mensagempor andre_luis » 15 Jul 2016 20:09

KrafT escreveu:Para mim, a tua afirmação é equivocada. Um indutor saturado causa mais problemas do que ajuda, na questão de filtros. Já para reguladores que se baseiam no princípios dos MagAmps, a saturação é fundamental, mas aí é outra história.


Acho que a confusão aconteceu porque inseri indevidamente a palavra "indutor" no meio da história, embora com objetivo de destacar o aspecto da impedancia como o resultado de um componente dissipativo + outro componente indutivo. Acredito que o Vonnilman tenha se referido aos "ferrite bead" e se for isso mesmo, nesse caso especifico o fabricante o caracteriza pela impedancia em função da frequencia. Quanto maior a frequencia, maior a dissipação, assim como quanto maior o fluxo magnetico ( e esse fluxo aumenta conforme a corrente aumenta ) maior vai ser também a dissipação. O gráfico BxH dos materiais magneticos é uma excelente forma de visualizarmos isso, porque a região interna á histereze é o valor da perda, o que significa que quanto maior a frequencia, maiores as perdas por unidade de tempo, bem como quanto maior a corrente, maior será a largura do laço da histereze, e consequentemente maiores as perdas.

A seção 2.2.4 desse tutorial abaixo ( 1º e 2º parágrafos ) explica isso melhor :

"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x