Quale sensore devo usare per determinare se il mio progetto si sta muovendo?


9

Non mi interessa quanto si muove, quanto velocemente o in quale direzione, voglio solo che il mio progetto basato su Arduino sappia se si sta muovendo o meno (quindi posso spegnere i LED di drenaggio ad alta corrente quando la mia moto è ferma a salva la mia batteria.)

Voglio un accelerometro, un giroscopio o qualche altro tipo di sensore?


3
A cosa è collegato il progetto? I movimenti lineari molto costanti / stabili possono essere più difficili da rilevare, ma per auto / moto ecc. Normalmente è possibile rilevare abbastanza facilmente i cambiamenti di orentazione e vibrazione.
PeterJ,

Di che tipo è il tuo dispositivo? È terrestre, ferroviario, nautico, aereo o qualcos'altro? Inoltre come definisci il termine "in movimento"? Per esempio. dispositivo quando trasportato da un trasporto considerato in movimento o no?
Vovanium,

Modifica per indicare il progetto montato sulla bici. Non è su rotaie ;-).
Robert Atkins,

@LeoR Stavo pensando che un accelerometro sarebbe probabilmente la soluzione giusta, ma poi ho trovato questa risposta: electronics.stackexchange.com/questions/105826/… (sensore di vibrazione a molla nel tubo.) Lo sto pensando troppo? Posso aggiungere un paio di elementi passivi a questo in modo da riportare "alto" a un pin Arduino per 30-60 secondi dopo l'ultima volta che lo switch ha preso contatto?
Robert Atkins,

2
Aggiungi una sostituzione: potresti non voler che le tue luci muoiano al semaforo!
Brian Drummond,

Risposte:


10

Se è per l'uso su una bicicletta, userei un circuito di rilevamento dell'opto a bassa potenza sui raggi della ruota. Esistono diverse varianti di questo e importante è la capacità di pulsare il LED per risparmiare energia, quindi, se un raggio passa di 10 volte al secondo (indicando una velocità minima), dovrai alimentare il LED per almeno 0,1 secondi e "cerca" un'interruzione del raggio - questo indica il movimento. Solo un'idea

Potresti anche considerare un interruttore a sella in modo che se qualcuno non è seduto sulla sella e non viene rilevato alcun movimento, il LED si spegne completamente.


5
Tradizionalmente un tachimetro per bicicletta utilizza un interruttore reed e un magnete attaccato a uno dei raggi. Una ruota di bicicletta (a contatto con il suolo e sotto il potere umano) non può girare più velocemente di 20Hz o giù di lì un interruttore reed economico può andare. Nessuna alimentazione quando non in uso, un carico della resistenza di pull down quando è acceso. Ne ho fatto uno wireless per anni su un paio di pile a bottone.
Phil

7

Un accelerometro sarebbe adatto nella maggior parte dei casi. Tecnicamente l'accelerazione sarà 0 a velocità costante, ma in pratica a meno che il tuo progetto non sia montato su una sorta di binario di vibrazione eccezionalmente basso, vedrai accelerazioni fluttuanti durante il movimento. Dovrebbe essere abbastanza semplice usare una media mobile su ciascun asse e considerare il dispositivo come "mobile" quando la variazione è al di sopra di una certa soglia. Ci sarà un po 'di accelerazione casuale rilevata quando il dispositivo è fermo, ma la soglia dovrebbe occuparsene.

Puoi ottenere schede con accelerometri I2C montati su di loro da molti fornitori elettronici di hobbisti. La procedura per parlare con loro varierà leggermente a seconda del chip, ma generalmente parlare con i dispositivi I2C da un arduino è abbastanza semplice.


Fai attenzione usando solo l'accelerazione da solo, quando viaggi a velocità costante vedrai anche l'accelerazione 0.
helloworld922,

7
Non credo di aver mai visto un veicolo in movimento che si muove a velocità costante. Ogni volta che ho giocato con gli accelerometri potresti distinguere chiaramente tra "in movimento" e "stazionario" perché mentre ti muovi almeno un asse fluttuerebbe con vibrazioni e scatti casuali.
LeoR,

È necessario utilizzare la variazione della media corrente. Ciò ti consentirà, ad esempio, di posizionare la bici su un fianco e di non farla innescare costantemente a causa dell'accelerazione dovuta alla gravità.
Samuel,

Basta montare l'accelerometro sul manubrio. Probabilmente è comunque vicino al LED e il manubrio non è mai stabile durante la guida.
Salterio,

7

Mentre specifichi "vedere se si sta muovendo" come obiettivo. Potrei consigliare una misura diversa per verificare se la bici è in movimento. La quantità di accelerometri acustici catturati è sorprendente: è possibile che la tua situazione sia tale che ci sarà una chiara delineazione tra "in uso e in movimento" e "non in utente e ancora in movimento (leggermente)". Tuttavia, non mi aspetto che ciò avvenga.

Vale la pena considerare che se la bicicletta è attaccata / parcheggiata in una struttura che si muove spesso (altre attaccate o staccando le loro biciclette, treni o veicoli nelle vicinanze, all'interno vicino a una pazza pompa HVAC, all'interno su pavimenti in legno / rimbalzante quando qualcuno cammina. ..) allora le tue luci si accenderanno ogni volta che la bici si sposta. Questo non è proprio quello che vuoi. Vuoi che le luci si accendano quando un ciclista (tu) sta spostando la bici. A tal fine un sensore di prossimità (che è bloccato solo quando si è in bicicletta) o anche qualcosa come un sensore di velocità / interruttore reed funzionerebbe. Ecco un tutorial per un tachimetro per bici Arduino che utilizza un interruttore reed: http://www.instructables.com/id/Arduino-Bike-Speedometer/ Il vantaggio di questo è che ottieni una lettura della velocità e sarebbe abbastanza banale aggiungere un grilletto per le luci (con uno spegnimento ritardato per i periodi in cui la bici non si muove per luci / traffico e simili).


5

Gli accelerometri come altri hanno suggerito sono piuttosto facili da usare soprattutto su un Arduino con tutte le librerie e le schede di breakout disponibili. Un'altra cosa che potrebbe valere la pena guardare è un sensore di vibrazione piezoelettrico come questo disponibile da Sparkfun per $ 2,95 al momento:

inserisci qui la descrizione dell'immagine

Basta fare attenzione a notare quanto può essere alta la tensione in uscita, suggeriscono di utilizzare un divisore di resistenza per ridurre la tensione e utilizzare un pin ADC. Anche se non sono così appassionato di usare i morsetti a diodi interni in un AVR se hai usato dire un resistore limite di corrente serie 1K data la bassa corrente per cominciare, non riesco a vedere che avresti troppi problemi di connessione a un digitale input se questo dà abbastanza sensibilità e il leggero aumento di Vcc non causerà altri problemi fino a quando i morsetti non avranno effetto.

Comunque potrebbe essere un altro sensore che sarebbe interessante dare un'occhiata. Anche se probabilmente non importa molto per un Arduino che ha una corrente di riposo relativamente alta sul regolatore e il tuo progetto particolare, possono essere ordinati per molti progetti. Assorbe energia zero e possono essere utilizzati per riattivare un microcontrollore dal sonno profondo supponendo che tu abbia abbastanza vibrazioni per innescare un livello logico alto.


+1 per la possibilità di avere questo sveglia il micro!
Seidleroni,

4

Una sorta di fotocamera ad alta velocità e ottica a bassa risoluzione che scatta molte foto (a centinaia o migliaia di fotogrammi al secondo ) della superficie su cui si sta muovendo e le confronta in tempo reale con un processore incorporato appositamente progettato per misurare il movimento. Preferibilmente tutto su un chip, con una comoda interfaccia MCU.

In altre parole, un sensore del mouse ottico. inserisci qui la descrizione dell'immagine

Sfortunatamente, sembra che le parti Avago non siano più immagazzinate nella distribuzione, ma potresti hackerare un mouse ottico, che ti darà anche l'ottica e il LED di illuminazione (potresti dover modificare l'ottica per ottenere una distanza appropriata). Molti dei sensori sembrano provenire dalla Pixart di Taiwan e sono disponibili le schede tecniche (spesso non vere).


2

Molte di queste risposte sono troppo complicate e molto probabilmente si tradurranno in falsi positivi e / o falsi negativi. Gli accelerometri si spengono se la bici viene spostata e non si accendono se si sta muovendo a una velocità costante. Realizzare riprese ottiche del terreno è costoso e non è incredibilmente affidabile se il sensore non è eccezionale. La misurazione delle vibrazioni si attiva se qualcuno urta la bici o viene scossa in qualche modo.
C'è una domanda molto semplice che devi porre per trovare la risposta corretta: cosa c'è di diverso tra un ciclista in sella alla bici e qualcos'altro che la muove? La risposta è altrettanto semplice: le ruote girano.
Quindi la tua soluzione è quella di usare qualcosa che misura la ruota sull'asse di rotazione, forse qualcosa come l'idea del topo di Spehro.
Questo assicurerà che il tuo sistema si attivi se e solo se un ciclista lo sta facendo muovere.


Farei un ulteriore passo e chiedo "come posso sapere se una persona sta usando la bici?"
hoosierEE

2

Oppure potresti percepire quando un ciclista è in bicicletta, come ad esempio:

  • corsa della sospensione (ad es. optointerruttore sulla forcella anteriore)
  • pressione dei pneumatici (difficile data la dimensione di un pneumatico per bici)
  • telaio flessibile (migliore per i telai in acciaio rispetto all'alluminio o al carbonio)
  • sensori di pressione nei punti di contatto (impugnature, sella, pedali; logici OR insieme)
  • Interruttore cavalletto

2

Se non ti interessa il tipo di movimento, un interruttore a sfera è la soluzione più semplice da implementare. Richiede solo un ingresso digitale e un filtro passa basso.

Un esempio è il Signalquest SQ-SEN-200. Esistono altre varianti sempre più piccole della stessa tecnologia (SMD e foro passante).


È necessario un interruttore a sfera rotante per avere la nozione di "up"? Come in, prendo il mio progetto e lo metto a testa in giù rispetto all'orientamento precedente, si è spostato una volta o si muove continuamente in base all'interruttore?
Robert Atkins,

Esistono poche varianti di tale interruttore, che possono innescarsi in inclinazione, vibrazione o scuotimento. Le sfere all'interno del componente alla fine raggiungono una posizione di riposo, quindi spetta al programmatore decidere cosa fare con i dati generati.
Lior Bilia,

0

Per rilevare solo che l'oggetto si sta muovendo, suggerisco un fotointerrutore con un pendolo di qualche tipo. Prendi uno come questo e costruisci una "cosa meccanica" che si sposta nell'area di rilevamento. http://se.farnell.com/sharp/gp1s53vj000f/photointerrupter-compact/dp/9708065

Probabilmente potresti recuperare tutte le parti necessarie da un mouse del computer con un pulsante a ruota o un rilevatore di movimento palla.


2
È un accelerometro meccanico. Un accelerometro MEMS è meno costoso
Scott Seidman,

Wow, i circuiti MEMS sono molto economici al giorno d'oggi.
Dejvid_no1,

Assolutamente. Un accelerometro MEMS 3-D con uscite digitali attualmente costa circa $ 1,50 in quantità modeste (come 10)
Scott Seidman,

2
15 anni fa, stavo pagando circa $ 1.500 per accelerometri con capacità che $ 1,50 mi porteranno oggi
Scott Seidman,

1
@ScottSeidman È vero, ma gli accelerometri di bilanciamento della forza di oggi sono ancora di un ordine di grandezza migliori dei migliori MEMS per DC a ~ 100Hz! Purtroppo sono due ordini di grandezza più costosi.
Phil
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.