collapse

* Links de Robótica

* Posts Recentes

Feira de electricidade e eletrónica por artur36
[Ontem às 23:07]


Power_OK Enermax por almamater
[Ontem às 12:10]


Recomendação de um opamp para um DAC r2r por jm_araujo
[23 de Novembro de 2017, 10:48]


RN42 e TP-Link MR3020 por doiga
[22 de Novembro de 2017, 19:22]


Ajuda Projecto IR / RF por senso
[22 de Novembro de 2017, 13:15]


Ideias para construir um quadrúpede simples por dropes
[21 de Novembro de 2017, 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]

Autor Tópico: Melhor forma de um ligar botão de pressão com cabos muito longos  (Lida 1200 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
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  ;)
« Última modificação: 05 de Novembro de 2016, 18:07 por samc »

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.167
  • NERD!
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #1 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:
« Última modificação: 05 de Novembro de 2016, 20:24 por jm_araujo »

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #2 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.

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.167
  • NERD!
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #3 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).


Offline brunus

  • Mini Robot
  • *
  • Mensagens: 164
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #4 em: 06 de Novembro de 2016, 02:21 »
Como se calculam as resistências pull-up?

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #5 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.

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #6 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 ) 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  :)

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.167
  • NERD!
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #7 em: 09 de Novembro de 2016, 08:50 »
Experimentaste aumentar as resistências de 1k no esquema para um valor superior (10k/100k)?

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.142
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #8 em: 09 de Novembro de 2016, 09:59 »
Oscilloscope traces? .. pode ajudar a visualizar.

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #9 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.
« Última modificação: 09 de Novembro de 2016, 11:14 por samc »

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.167
  • NERD!
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #10 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).

Offline samc

  • Mini Robot
  • *
  • Mensagens: 403
Re: Melhor forma de um ligar botão de pressão com cabos muito longos
« Responder #11 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