Que sensor devo usar para determinar se meu projeto está em movimento?


9

Eu não me importo com o quanto ele está se movendo, com que rapidez ou em que direção, só quero que meu projeto baseado no Arduino saiba se está se movendo ou não (para que eu possa desligar os LEDs de drenagem de alta corrente quando minha bicicleta estiver parada). economize minha bateria.)

Eu quero um acelerômetro, giroscópio ou algum outro tipo de sensor?


3
O que o projeto está anexado? Um movimento linear muito constante / estável pode ser mais difícil de detectar, mas para carros / bicicletas, etc, você normalmente pode detectar alterações na orientação e vibração com bastante facilidade.
precisa

Que tipo de dispositivo é? É terrestre, ferroviário, aquático, veículo aéreo ou algo mais? Também como você define o termo 'mover'? Por exemplo. dispositivo quando transportado considerado em movimento ou não?
Vovanium

Edite para indicar o projeto montado na bicicleta. Não está nos trilhos ;-).
Robert Atkins

@LeoR Eu estava pensando que provavelmente seria um acelerômetro, mas encontrei esta resposta: electronics.stackexchange.com/questions/105826/… (sensor de vibração de mola no tubo). Estou pensando demais? Posso adicionar algumas passivas a isso para reportar "alto" a um pino do Arduino por 30 a 60 anos após a última vez que a chave fez contato?
Robert Atkins

2
Adicione uma substituição: você pode não querer que suas luzes apaguem nos semáforos!
Brian Drummond

Respostas:


10

Se for para uso em bicicleta, eu usaria um circuito de detecção opto de baixa potência nos raios do volante. Existem várias variantes disso e é importante a capacidade de pulsar o LED para economizar energia, assim, se um raio passar 10 vezes por segundo (indicando uma velocidade mínima), será necessário alimentar o LED por pelo menos 0,1 segundos e "procure" uma interrupção do feixe - isso indica movimento. Apenas uma ideia.

Você também pode considerar uma chave de selim para que, se alguém não estiver sentado na sela e nenhum movimento for detectado, o LED desligará completamente.


5
Tradicionalmente, um velocímetro de bicicleta usa um interruptor de palheta e um ímã conectado a um dos raios. Uma roda de bicicleta (em contato com o solo e com força humana) não pode girar mais rápido que os 20hz, ou então um interruptor de palheta barato pode funcionar. Sem energia quando não estiver em uso, a carga do resistor é puxada para baixo quando está ligada. Eu tive um sem fio executado por anos em um par de células de moeda.
Phil

7

Um acelerômetro seria adequado na maioria dos casos. Tecnicamente, a aceleração será 0 a uma velocidade constante, mas na prática, a menos que seu projeto seja montado em algum tipo de trilho de vibração excepcionalmente baixo, você verá acelerações flutuantes durante o movimento. Deve ser bastante simples usar uma média móvel em cada eixo e considerar o dispositivo como "móvel" quando a variação estiver acima de um determinado limite. Haverá um pouco de aceleração aleatória detectada quando o dispositivo estiver parado, mas o limiar deve lidar com isso.

Você pode obter placas com acelerômetros I2C montados nelas por muitos fornecedores eletrônicos amadores. O procedimento para conversar com eles varia um pouco, dependendo do chip, mas geralmente conversar com dispositivos I2C de um arduino é bastante fácil.


Tenha cuidado ao usar apenas a aceleração sozinha, ao viajar a uma velocidade constante, você verá 0 aceleração também.
precisa

7
Acho que nunca vi um veículo em movimento que realmente se move a uma velocidade constante. Toda vez que eu brincava com acelerômetros, era possível diferenciar claramente entre "em movimento" e "estacionário" porque, enquanto você se movia, pelo menos um eixo flutuava com vibrações e solavancos aleatórios.
Leor

Você deve usar a variação da média atual. Isso permitirá, por exemplo, colocar a bicicleta de lado e não acioná-la constantemente devido à aceleração devido à gravidade.
Samuel

Basta montar o acelerômetro no guidão. Provavelmente, isso está próximo do LED, e o guidão nunca fica estável durante a condução.
MSalters

7

Enquanto você especifica "ver se está se movendo" como seu objetivo. Eu recomendaria uma medida diferente para verificar se a bicicleta está em movimento. A quantidade de captores de acelerômetros de ruído é surpreendente - pode ser que sua situação seja tal que exista uma definição clara entre 'em uso e em movimento' e 'não no usuário e ainda em movimento (ligeiramente)'. Eu não esperava que fosse esse o caso.

Vale a pena considerar que, se a bicicleta estiver presa / estacionada em uma estrutura que se move com frequência (outras pessoas prendem ou desconectam suas bicicletas, trens ou veículos por perto, dentro de casa perto de uma bomba HVAC maluca, dentro de casa / em pisos de madeira / saltitantes quando alguém passa por lá. ..) então suas luzes acenderão sempre que a bicicleta se mover. Isso não é realmente o que você quer. Você quer que as luzes acendam quando um motociclista (você) está movendo a bicicleta. Para esse fim, um sensor de proximidade (que é bloqueado apenas quando você está na bicicleta) ou mesmo algo como um sensor de velocidade / interruptor de palheta funcionaria. Aqui está um tutorial para um velocímetro de bicicleta Arduino usando um interruptor de palheta: http://www.instructables.com/id/Arduino-Bike-Speedometer/ O bônus disso é que você obtém uma leitura de velocidade e seria bastante trivial adicionar um gatilho para as luzes (com um desligamento retardado por períodos em que a bicicleta não está se movendo para luzes / tráfego e similares).


5

Acelerômetros como outros sugeriram são muito fáceis de usar, especialmente em um Arduino com todas as bibliotecas e painéis disponíveis. Outra coisa que vale a pena olhar é um sensor de vibração piezoelétrico como este, disponível na Sparkfun por US $ 2,95 no momento:

insira a descrição da imagem aqui

Apenas tome cuidado para observar o quão alta a saída de tensão pode ser, eles sugerem o uso de um divisor de resistor para reduzir a tensão e o uso de um pino ADC. Embora eu não esteja tão interessado pessoalmente em usar as braçadeiras de diodo interno em um AVR, se você costuma dizer um resistor de limite de corrente da série 1K, dada a baixa corrente para começar, não vejo que você terá muitos problemas para conectar-se a um dispositivo digital. entrada se isso der sensibilidade suficiente e o leve aumento no Vcc não causará outros problemas até que os grampos entrem em vigor.

De qualquer forma, pode ser outro sensor que seria interessante dar uma olhada. Embora provavelmente não importe muito para um Arduino que tenha uma corrente quieta relativamente alta no regulador e no seu projeto em particular, eles podem ser agradáveis ​​para muitos projetos. Eles consomem energia zero e podem ser usados ​​para acordar um microcontrolador do sono profundo, desde que você tenha vibração suficiente para acionar um nível lógico alto.


+1 pela possibilidade de fazer isso acordar o micro!
Seidleroni

4

Um tipo de câmera e óptica de alta velocidade e baixa resolução que tira muitas fotos (a centenas ou milhares de quadros por segundo ) da superfície em que está se movendo e as compara em tempo real com um processador embutido específico para medir movimento. De preferência, tudo em um chip, com uma interface MCU conveniente.

Em outras palavras, um sensor óptico de mouse. insira a descrição da imagem aqui

Infelizmente, parece que as peças Avago não estão mais estocadas em distribuição, mas você pode hackear um mouse óptico, o que fornecerá a ótica e o LED de iluminação (talvez seja necessário modificar a ótica para obter uma distância adequada). Muitos dos sensores parecem ser da Pixart em Taiwan e as planilhas de dados estão disponíveis (geralmente não são verdadeiras).


2

Muitas dessas respostas são complicadas demais e provavelmente resultarão em falsos positivos e / ou falsos negativos. Os acelerômetros dispararão se a bicicleta for movida e não dispararão se você estiver se movendo a uma taxa constante. A captura de imagens ópticas no solo é cara e não é incrivelmente confiável se o sensor não for tão bom. A medição da vibração será acionada se alguém bater na sua bicicleta ou se ela for abalada de alguma forma.
Há uma pergunta muito simples que você deve fazer para encontrar a resposta correta: Qual é a diferença entre um ciclista e outra coisa em movimento? A resposta é igualmente simples: as rodas giram.
Portanto, sua solução é usar algo que mede a roda no eixo de rotação, algo como a ideia do mouse de Spehro, talvez.
Isso garantirá que seu sistema seja acionado se, e somente se, um piloto estiver fazendo com que ele se mova.


Eu daria um passo adiante e perguntaria "como posso saber se uma pessoa está usando a bicicleta?"
hoosierEE

2

Ou você pode sentir quando um ciclista está na bicicleta, como:

  • curso da suspensão (por exemplo, opto-interruptor no garfo dianteiro)
  • pressão dos pneus (complicada devido ao tamanho de um pneu de bicicleta)
  • estrutura flexível (melhor para estruturas de aço do que alumínio ou carbono)
  • sensores de pressão nos pontos de contato (pegas, selim, pedais; lógicos OU juntos)
  • Interruptor de kickstand

2

Se você não se importa com o tipo de movimento que acontece, um comutador de esferas é a solução mais fácil de implementar. Requer apenas uma entrada digital e um filtro passa-baixo.

Um exemplo é o Signalquest SQ-SEN-200. Existem outras variantes cada vez menores da mesma tecnologia (SMD e furo passante).


Um interruptor de bola rolante precisa ter uma noção de "up"? Por exemplo, pego meu projeto e o coloco de cabeça para baixo em relação à orientação anterior, ele se moveu uma vez ou está se movendo continuamente de acordo com a opção?
Robert Atkins

Existem poucas variações desse interruptor, que podem ser acionadas com inclinação, vibração ou trepidação. As esferas dentro do componente acabam ficando em uma posição de repouso; portanto, cabe ao programador decidir o que fazer com os dados gerados.
precisa

0

Para detectar apenas que o objeto está se movendo, sugiro um fotointerruptor com algum tipo de pêndulo. Pegue uma dessas e construa uma "coisa mecânica" que se move em sua área de detecção. http://se.farnell.com/sharp/gp1s53vj000f/photointerrupter-compact/dp/9708065

Provavelmente, você pode recuperar todas as peças necessárias de um mouse de computador com um botão de roda ou um detector de movimento de bola.


2
Esse é um acelerômetro mecânico. A MEMS acelerômetro é menos caro
Scott Seidman

Uau, os circuitos MEMS são realmente baratos hoje em dia.
Dejvid_no1

Absolutamente. Um acelerómetro 3-D MEMS w / saídas digitais custa cerca de $ 1,50 nos dias de hoje em quantidades modestas (como 10)
Scott Seidman

2
15 anos atrás, eu estava pagando cerca de US $ 1.500 para acelerômetros com capacidades que US $ 1,50 vai me pegar hoje
Scott Seidman

11
@ScottSeidman Isso é verdade, mas hoje os acelerômetros de equilíbrio de força ainda são uma ordem de magnitude melhor que os melhores MEMS para DC a ~ 100Hz! Infelizmente, eles são duas ordens de magnitude mais caras.
Phil
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.