LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: samc em 05 de Novembro de 2016, 18:01

Título: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 05 de Novembro de 2016, 18:01
Viva, pediram-me para fazer um pequeno projeto que envolve ligar vários botões de pressão a um Raspberry Pi. No entanto, será necessário ligar os botões com um cabo bastante longo (pode bem ultrapassar os 10 m). A minha dúvida prende-se com respeito à estabilidade do circuito de forma a não haver falsos triggers (o circuito pode estar sujeito a algum ruído elétrico).
Após pesquisar a solução que pareceu ser melhor, foi a de utilizar uma resistência de pull-up e um pequeno condensador para filtrar/debounce do circuito. Deixo aqui o esquema com algumas anotações para poderem dar as vossas opiniões.
Não queria estar a adicionar mais componentes passivos ao circuito caso não houvesse uma grande justificativa para tal (exemplo: optocoupler, indutor, etc.), mas estou aberto a todas as sugestões.

Obrigado desde já pelas respostas  ;)
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: jm_araujo em 05 de Novembro de 2016, 20:21
Devias também meter uma resistência em série com o fio junto ao condensador, para fazer um passa baixo e evitar que picos que venham no fio sejam acoplados diretamente ao micro.

Algo deste género:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi.stack.imgur.com%2FgrkqV.png&hash=de7699913aa6d09725adc66c49c6c1f18f4a5996)
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 05 de Novembro de 2016, 23:07
Muito Obrigado jm_araujo, o esquema é muito útil  ;)
A resistência interna do MCU não substituirá essa resistência em série?

Li algures que obtiveram melhores resultados quando trocaram a resistência de pull-up de 10k para 2k2. Não sei se só quando testar em condições reais é que poderei comprovar isso.
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: jm_araujo em 05 de Novembro de 2016, 23:41
Não, a ideia é a resistência junto com o condensador "limpar" os sinais/ruido que o cabo possa apanhar. A resistência interna do MCU não é uma resistência, já estás no silício, e se apanhares com um pico de tensão elevada pode correr mal.

Baixar a resistência de pull-up é bom para a imunidade ao ruído, mas tens de te certificar que a resistência do cabo e do interruptor não é tal que deixe de conseguir puxar o sinal à massa, e se forem para estar ligados uns tempos que não tens problemas com o consumo feito pela resistência de pull-up (caso seja um circuito alimentado a pilhas).

Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: brunus em 06 de Novembro de 2016, 02:21
Como se calculam as resistências pull-up?
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 06 de Novembro de 2016, 04:28
Obrigado novamente pela resposta. O consumo não vai ser um problema já que é algo alimentado por um transformador. quanto à resistência dos cabos, em condições ideias eles vão ter uma resistência de 2R por cada 10 m, mas para despistar os problemas vou usar um trimmer nos meus testes iniciais para comparar os diversos resultados e depois para a semana posto aqui os resultados.

Quanto à pergunta aqui feita, não sei se este link serve de ajuda:
https://learn.sparkfun.com/tutorials/pull-up-resistors

Aprendi lá agora algumas coisas e pareceu-me estar um bom artigo.
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 09 de Novembro de 2016, 02:46
Hoje estive a fazer os testes reais do sistema. O comprimento do fio não foi um problema, não tenho muitos fios compridos em casa, então utilizei uma bobina de uns 25 m (fio de 1.5 de secção) ligado a 8 m de fio para instalações telefónicas (unifilar de 4 condutores).

O problema aconteceu quando afastei o interruptor para a cozinha onde queria experimentar as interferências dos diversos electrodomésticos (micro-ondas, etc.) e reparei que quando ligava uma luz (fita de leds alimentado por uma fonte comutada do género: http://www.kicklighting.com/images/KPS100-300x300.jpg (http://www.kicklighting.com/images/KPS100-300x300.jpg) ) havia uma interferência que causava a ativação do sinal.
O curioso é que tinha dois interruptores ligados ao raspberry pi: um na breadboard junto ao mesmo e o outro ligado com a tal extensão de fios (encostada à fonte de alimentação), e o interruptor que assinalava o falso trigger era o que estava na breadboard!!

Ainda foi difícil reproduzir as interferências (fartei-me de ligar e desligar a luz  :P ) e após vários testes (resistência de 10k, 4k7, etc.) obtive melhores resultados com uma resistência de 2k2. Presumo que quando passar do protótipo para a versão final que os resultados sejam ainda melhores (fios trançados e PCB).

Deixo abaixo o esquema para servir de ajuda a alguém no futuro, ou para corrigirem-me caso encontrem algum erro ou tenham alguma sugestão  :)
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: jm_araujo em 09 de Novembro de 2016, 08:50
Experimentaste aumentar as resistências de 1k no esquema para um valor superior (10k/100k)?
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: KammutierSpule em 09 de Novembro de 2016, 09:59
Oscilloscope traces? .. pode ajudar a visualizar.
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 09 de Novembro de 2016, 11:05
Experimentaste aumentar as resistências de 1k no esquema para um valor superior (10k/100k)?
Sim, com a combinação de resistências de 10k e 100k como no outro esquema que tinhas partilhado, o botão simplesmente não funcionava, por isso comecei a descer para os valores que indiquei  ;)
No entanto, posso ainda fazer mais uns testes que ainda tenho os sistema montado na breadboard!

Exato um osciloscópio daria muito jeito neste caso, até para ver o comportamento do condensador... mas sabemos que é uma ferramenta que está ao alcance de poucos.
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: jm_araujo em 09 de Novembro de 2016, 11:18
Sim, com a combinação de resistências de 10k e 100k como no outro esquema que tinhas partilhado, o botão simplesmente não funcionava, por isso comecei a descer para os valores que indiquei  ;)

Isso não devia acontecer. Ou meteste o teu pull-up do lado do condensador em vez do lado do fio, ou deixaste o pull-up interno do micro ativo (deves desligar o mesmo neste circuito).
Título: Re: Melhor forma de um ligar botão de pressão com cabos muito longos
Enviado por: samc em 09 de Novembro de 2016, 14:31
Deve ser porque as resistências internas do raspberry pi estão ativas por omissão
Pagina 102 da datasheet http://www.farnell.com/datasheets/1521578.pdf (http://www.farnell.com/datasheets/1521578.pdf)