Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
rodrigocirilo

Malditas Interferências [ LCD/PIC]

Recommended Posts

Olá pessoal, seguinte, estou com 2 projetos (circuitos com pic´s) 16f877A e 16f876a, trabalhando entro de uma maquina (caixa metalica) ambos tem teclados e display LCD, um é de 16x2 e o outro é de 20x4.

 

Dentro da maquina, tem varias valvulas solenoides que serão acionadas de acordo com o IHM, o problema é o seguinte, quando uma clp aciona alguma solenoide o display da outra de 16x2 fica louco.. hehe exibindo caracteres aleatorios... percebo por um led piscante na placa(status) que o programa continua rodando normal, então creio que o problema esteja no lcd.

 

 

Detalhes:

- as duas clps compartilham a mesma fonte:

- há filtros ceramicos e eletroliticos ( na entrada e perto dos terminais dos pics)

- os cabos dos lcd´s tem malha porém não aterrei elas??? deveria???? (são ligados a placa via DB15)

- na alimentação dos lcs não tem nenhuma filtro.

 

somente o 16x2 que enlouquece o 20x4 nao...

 

alguma ajuda ai??

 

Att.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

voce é sortudo ein ???? Po os cabos do LCD tem blindagem 

 

Use apenas um lado do cabo para aterrar a malha, na placa principal mesmo, direto no terra ou gnd dela. A outra ponta do cabo, que fica no LCD, deixe a malha livre, apenas isole ela para não ter nenhuma chance de curto-circuito.

 

Deve acabar com seu problema.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

voce é sortudo ein ???? Po os cabos do LCD tem blindagem 

 

Use apenas um lado do cabo para aterrar a malha, na placa principal mesmo, direto no terra ou gnd dela. A outra ponta do cabo, que fica no LCD, deixe a malha livre, apenas isole ela para não ter nenhuma chance de curto-circuito.

 

Deve acabar com seu problema.

 

Paulo

Fala caro amigo mas uma vez você me salvando.. hehe.. pior que uso esse cabo (manga) pra tudo, tenho muio dele aqui, de 5 par 10 15 enfim.... mas por burrice não aterrei a malha, pensei que não precisasse.... mas elas estão por todas partes hehehe(interferencias)...

 

Vou estar e depois posto.... 

 

algum filtro no lcd é necessário ou ele ja tem seus próprios filtros....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é to aprendendo isso do pior jeito hehehe.. mas nada como a pratica pra nos dar uma lição hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo e @Projetos_afg

 

Sim, se puder soldar diretamente na placa do LCD, esses dois capacitores ajudam a eliminar interferências via alimentação. E ainda fazendo o aterramento, deve fica rtudo beleza.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo, ontem liguei uma outra maquina que vai um motor trifasico + inversor enfim, tudo para gerar a máxima interferência possível hehe. ao ligar o lcd ficou louco..... demais.... dai aterrei os cabos dele e do teclado(pois este estava deixando a clp loca também) e resolveu.....

 

agora a que postei no primeiro post, vou fazer isso hj, mas está demais(apesar que via led de status de funcionamento) o programa continua rodando... enfim tomara que resolva...

 

se eu voltar desesperado aqui ja sabem né hehehe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Meu amigo, existem muitas técnicas para eliminar ruídos e/ou interferências , mas em 95% dos casos as "blindagens" resolvem. mas seu caso eu diria que é meio complicado, porque sempre que temos máquinas de alta potência é sinônimo de ruidos e interferências de alta potência também !

 

Primeiro de tudo, filtros nas linhas de alimentaçào de seus circuitos eletrônicos é uma obrigação nesse ambiente ! Muitos ruídos podem ter amplitude sufuciente para serem re-irradiados já dentro de seu aparelho, portanto tem de diminuir eles ao máximo, com filtros tipo LC .

 

Depois, os filtros internos, com os famosos 100nF cerâmicos e 10uF eletrolíticos , ajudam muito.

 

O segredo é não se desesperar ! Todo problema tem uma origem. Basta determinar ela !

 

Um bom osciloscópio digital de bolso já ajuda muito as verificações, basta voce ligar ele , por exemplo, no terra do seu LCD e colocar a ponta de prova nos pinos de sinais e de alimentação, e com 100% de certeza voce vai ver o seu problema e ficar horrorizado em pensar como mesmo com tudo isso errado ainda funciona......

 

Mas vai lá, qualquer coisa estamos aqui.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk  aterrei a malha dos cabos dos LCD´s e mesmo assim ainda permanece a interferência (só na hora que aciona uma das solenoides) ainda não coloquei os 100nf e 10uF na alimentação do LCD...  logo vou colocar, mas ja adianto se mesmo assim não resolver, o que posso fazer??

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Se não resolver, faz uma blindagem com papel alumínio, em volta do display todo, e liga na blindagem. tem de resolver !

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa interferência pode estar vindo da placa controladora também! Nesses casos onde trabalhamos em um ambiente com muito ruido temos que blindar tudo, e se não resolver, então penso ser necessário separar as alimentações.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk Apesar de ter aterrado a malha do cabo do lcd e não ter resolvido eu ainda não coloquei o par de capacitores direto na placa do lcd(na alimentação) esse teste farei só amanha... tomara que ajude...

 

A propósito Paulo, dentro dessa maquina como eu disse tem duas clp´s cada uma com um lcd >>16x2 (interferencia)  e um 20x4 (normal) eu não mencionei e não sei se tem haver, estou usando uma fonte de alimentação de 12v (13.8v) por 500mhz para as duas clp´s, logo elas compartilham a mesma fonte.

 

Por ser uma fonte chaveada (sem trafo) será que no momento que as solenoides atracam gera algum ruido nos 220V e isso acaba indo para o lcd?? deverei colocar uma fonte com trafo, ou somente separar as alimentações...

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Existem alguns LCDs que são bem mais "baratos" que outros, e isso inclui uma boa PCB e as filtragens corretas.

 

Se existem dois LCDS e apenas um está tendo interferência, não é a fonte em comum que está causando isso, senão voce perceberia o microcontrolador fazendo besteiras também.

 

Nao tem muito o que fazer, coloque os dois capacitores soldados direto na placa do display, e se ainda assin não resolver, eu sugiro trocar o maldito display kkkkkk!  Existem uns displays que o pessoal vende por aí que são lotes refugados pelo fabricante, e claro, os espertos se aproveitam...

 

Mas voce pode também fazer o que eu te falei, fazer uma blindagem com papel alumínio em volta da PCB do display, deixando de fora apenas a tela LCD, e, claro, tomando o cuidado de antes isolar tudo o que poderia dar contato com o alumínio. Ao final, coloque um fio saindo do papel alumínio e ligando na blindagem do cabo, ok >

 

Só uma coisa, confirme que a blindagem do cabo desse LCD foi mesmo ligada ao terra da PCB principal, que no caso é o GND.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, ok farei isso sim, o estranho sobre o lcd é que eu retirei ele de um KS da HDL novo que não iria ser usado, portanto quanto a qualidade não sei se eles comprariam coisas assim. hehe mas nunca se sabe hehe....

 

 

off-topic:

 

Paulo, por burrice fechei o topico que tratamos sobre dimerização com pic (pwm para ac) portanto vou tirar essa duida por aqui..

 

no meu circuito/codigo, tenho uma instrução para mandar 10 niveis diferentes de AC para saida, ocorre que en determinados niveis por exemplo 6 (dispara o triac para mandar 80 volts) (estou usando uma lampada para testar) o brilho fica oscilando.... não estou usando o tal filtro snubb, será isso??

Editado por rodrigocirilo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Se voce está usando um Triac, o certo é fazer o disparo tanto no semiciclo positivo como no semiciclo negativo. É a maneira onde ocorrerá a menor tremulação, mas mesmo assim, com baixo brilho, voce vai perceber a lâmpada tremular um pouco.

 

Com o disparo apenas uma vez a cada ciclo de senóide, tremula bastante .

 

O Sbubb é apenas um nome bonito para um filtro de harmônicos.... ele não interfere nisso da tremulação, mas eu recomendo voce utilizar ele, pois pode causar uma boa interferência perto do aparelho com o Triac. Quanto maior a corrente, maior a interferência.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, estou disparando nos dois semi-ciclos ,, e percebo tremulação com tensão mais alta, nas baixas estabiliza certinho.. hehe....

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Nossa.... deveria ser o contrário, vai entender... Então está mesmo certinho, mas se voce tiver um osciloscópio, seria interessante verificar mesmo esse acionamento, verificando a forma de onda aplicada em cima da lâmpada...

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, Voltando ao assunto do topico, estou usando só 4 pinos de dados no LCD, os outros devem ser aterrados??? ou ficam flutuando mesmo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

Melhor deixar flutuando. Mas sinceramente eu nao entendo o porque se aterrar os pinos ele não funciona no modo 4 bits. Talvez se ligar ao positivo funcione. Mas teria de testar para ter certeza sobre ligar ao positivo.

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, caro amigo seguinte, hj passei o dia todo fazendo testes, sem sucesso..... Mas antes vou relatar o caso de outras duas maquinas..

 

Montamos mais duas maquinas bem parecidas, ambas trabalham com um motor e inversor de frequencia, a clp controla tudo. as telas de lcd 20x4 estavam louquinhas ao ligar as maquinas o controle era impossível, dai fizemos uma blindagem de aço ixox liguei um fio e coloquei no GND da fonte, e pronto problema resolvido, o controle foi perfeito e nenhuma interferência.....

 

Mas a "bendita" maquina que vai 2 clp´s uma para controle de temperatura e outra para controle da pressão e atuar nas valvulas solenoides.

 

vale lembrar que a que usa o LCD de 16x2 é a de temperatura e não controla as valvulas e é esta tela que dá pau, a outra de 20x4 só algumas vezes...

 

Bom o que fiz hj:

 

-  coloquei os capacitores de 100nf e 10uF na alimentação dos LCD´s não resolveu!!

 

-  retirei o LCD (16x2) da moldura (caixa da maquina de aço inox) coloquei fora da caixa ( a interferência ocorreu só algumas vezes) depois voltei para o lugar

 

- as solenoides são AC 220V, retiramos essas e colocamos as de DC 24V com fonte EXTERNA só para elas ( não resolveu, mas parece que diminuiu a frequência com que dava pau)

 

- papel alumínio não resolveu, dai fizemos uma blindagem de aço inox só para tela de 16x2, resolveu instantaneamente. dai fizemos outra um pouco maior para proteger as duas telas tanto a de 16x2 quanto a de 20x4, o problema voltou!!!

 

- Depois mexemos em mais algumas coisas, e quanto voltei a blindagem individual para a tela de 16x2 o problema persistiu (estranho pois havia resolvido antes)

 

- coloquei ceramicos de 100nf nas bobinas de todos os reles (apesar que os reles atuando sem estar conectado nas bobinas das solenoides não ocorre problema!!

 

- Separei as fontes das duas cpl´s, não resolveu.

 

- Aterrei os pinos dos lcds  do D0 ao D3) que estavam flutuando ( não resolveu, mas tambem não sei se ajudou)

 

 - depois retiramos tudo de dentro da caixa metalica tanto as clp´s quanto as solenoides, dentro da caixa só ficaram as telas ( o problema continuou)

 

 

 

Bom foi isso que fiz e nada :(  ....segunda vamos montar tudo novamente na caixa, fazer duas blindagens individuais para as duas telas..e aterras na malha do cabo, com solda ( ah só pra lembrar.....os testes com as blindagens de aço inox foi só com um fio enroscado nela, não havia solda e o fio estava um pouco longo ( uns 40 ou 50 cm).

 

As solenoides montadas dentro da caixa estavam bem perto das clp´s e dos cabos, estamos pensando em coloca-las na outra extremidade da caixa (tem espaço) e colocar um barreira de aço inox entre as clp´s/lcd´s e as solenoides (será que pode ajudar a barrar a interferência ou não???)

 

 

Ah os cabos dos lcd´s estão com uns 35/40 cm, mas sem necessidade( acho que podemos diminuir para atér uns 20cm (será que ajuda???)

 

 

Não tenho nenhum filtro LC em nenhuma das duas CLP´s !!! não tenho ideia do valor para a bobina L, e acho que não tenho nenhuma aqui, será ue posso retirar de uma placa mãe antiga ?? hehe

 

 

Será que existe alguma filtro para as bobinas das solenoides??? que poderia amenizar a interferência???

 

Bom pessoal é isso ai conto com a experiencia de vocês!!!

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

Nossa a coisa tá feia, já pensou em contratar um exorcista ????? Kkkkk

Bom, de cara, as bobinas dos solenóides podem sim ficar o mais longe possivel dos Lcds. Deve ajudar.

Outra coisa, sempre que for ligar alguma blindagem ao terra, o ideal é usar um fio mais grosso. E os comprimentos de todos os fios deve ser sempre o menor possível.

Isso vale para os fios dos LCDs, eles tem de ser bem curtos. Mas voce pode fazer uma coisa que eu acho que resolve :

voce está usando um cabo tipo manga com blindagem, certo ?

Experimente um cabo manga com os fios internos mais grossos, com blindagem também. Uma outra coisa que pode ajudar é nas operações de escrita no display voce colocar pequenos delays, por exemplo quando voce coloca os dados nas 4 linhas de daos do display, pode esperar um pouco mais antes de fazer a escrita, e depois desta escrita, esperar também um pouco mais para voltar ao normal, que é leitura.

Quando se usa cabo comprido, a capacitância junto com a resistencia do fio acaba deformando bastante o sinal que chega no display, e muitas vezes um ruído bem pequeno pode ser o suficiente para introduzir algum erro devido à deformação com que chegam os sinais ao display,

Experimente colocar os delays, ou se voce achar muito difícil, experimente diminuir o clock do microcontrolador, se voce diminuir o clock para 1/4 ou ainda menos do que está usando e o problema melhorar bastante ou resolver, voce já saberá o motivo....

Os filtros LC não vão te ajudar.

Por acaso voce nao tem um osciloscópio para ver como estão os sinais direto no LCD ?

atualização : coloque um capacitor de 100nf poliéster com a tensão adequada em paralelo com as bobinas dos solenóides, direto nos terminais do solenóide, veja se resolve, um cara deu essa dica em um problema parecido com o seu e resolveu.... Vale a pena tentar !

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk, Paulo, primeiramente muito obrigado pelas dicas, você está me dando uma luz no fim do túnel haha....

 

Seguinte, a clp que controla o display de 16x2 que mais tá dando pau, conferi o programa e NÃO tem delay entre as escritas, acho que quando programei e testei fora da maquina funcionou então nem me atentei a isso, será que pode ter relação???  Outra coisa quanto ao clock nesta mesma clp do display 16x2 o clock está com cristal de 4mhz, mas na outra clp que tem o display de 20x4 que dá pau algumas vezes o clock é de 20mhz, será que devo abaixar??? posso abaixar ambas para 1mhz???

 

Quanto ao cabo manga com fios internos mais grossos e com blindagem, você quer dizer que cada fio interno do cabo também deve ter sua blindagem, tipo uma blindagem para cada fio?? é isso mesmo??

 

E a blindagem com a tampa metálica devo mante-la????

 

o osciloscópio fica no laboratório da empresa que trabalho, é um minipa gigante hehehe, mas não tenho como leva-lo para o local dos testes....

 

Vou aguardar você me elucidar estas duvidas e amanhã farei essas alterações....

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Quanto maior o clock, mais sensível é o problema com os displays, devido ao efeito capacitivo dos cabos. Aliás, em, ambiente industrial, nunca é bom usar um clock maior do que o necessário, justamente para se evitar problemas com fiação, tanto de botões como displays.

 

Se voce está usando uma biblioteca para acionar o display, tem de alterar ela , pois o delay que eu falo é aquele entre apresentar os dados nos bits D4-D7 do display, e acionar os sinais de RS ou WR ou EN . E após isto, outro delay antes de mudar qualquer um desses sinais novamente. É aqui que o delay resolve ! A alteração do clock indiretamente faz isso também, pois permite mais tempo para estabilizar os sinais no display que podem estar tendo algum tipo de efeito capacitivo.

 

Em máquinas que podem produzir muita EMI, o recomendado é utilizar displays com aquela interface serial TTL , que recebem os dados em comunicação serial tipo 300 bauds , que é muito imune a ruídos. Eu já usei também aqui em casa um com interfaçe I2C, configurada a apenas 10 Khz de velocidade, com resistores de 2k2 ao positivo, e usei um cabo simples, tipo 4 terminais e um terra, e passou fácil de 1 metro sem nenhum problema, mesmo com meu amplificador de RF transmitindo a menos de meio metro de distância.

 

Se voce puder baixar o clock para 1 Mhz, é uma excelente opção. Apenas revise qualquer outra temporização que dependa do clock da CPU ok ?

 

Quanto ao cabo manga, não, não precisa ser blindado fio a fio, ( acho isso uma solução extrema, volumosa e cara... )  basta apenas a blindagem externa. O ideal sempre é utilizar o cabo com a menor quantidade de fios, porque existem cabos manga de 8 fios que são bons para isto, mas eles existem em várias medidas de fios internos, e os mais grossos sempre são os melhores devido à alta frequência neles.

 

Blindagem metálica sempre é bom, mas quem sabe voce não resolve seu problema só com a diminuição do clock ?

 

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites

@aphawk muito obrigado pelo seu empenho em me ajudar......

 

Então Paulo eu não tenho esse conhecimento para atuar na biblioteca do LCD do CCS, então vou abaixar o clock para 1 mhz e alterar os tempos que dependam do clock da cpu.

 

Também vou fazer as outras alterações como tamanho de cabo e capacitor nas bobinas das solenoides...... E depois volto aqui para dizer como foi...

 

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo,

 

Eu acho que tem gente aqui que podem te ajudar, vamos ver se o Matheuslps ou o Vtrx aparecem.

 

Eu não entendo patavina de C... mas é simples essa alteração, alias, voce pode ajudar também, passe para a gente qual é a biblioteca que voce usou, coloque o arquivo dela , e diga qual o compilador que voce está usando, ajuda bastante !

 

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×