» elettronica » Arduino »Cronografo ad aria compressa economico

Cronografo ad aria compressa economico


In questo articolo, vedremo come è possibile realizzare un semplice cronografo da parti economiche e convenienti. adattamento necessario per misurare la velocità di un proiettile in un fucile. Queste cifre sono necessarie per determinare le condizioni del fucile, perché nel tempo alcune parti del pneumatico si consumano e richiedono la sostituzione.

Prepariamo i materiali e gli strumenti necessari:
- Digispark cinese (al momento dell'acquisto costa 80 rubli);
- visualizzazione del tipo di segmento su TM1637 (al costo di 90 rubli al momento dell'acquisto);
- LED a infrarossi e fototransistor (10 coppie) - il costo era di 110 rubli;
- Cento resistori da 220 Ohm costano 70 rubli, ma ne saranno necessari solo due.

Questo è tutto, questo è l'intero elenco di articoli che dovrai acquistare. A proposito, i resistori si trovano anche nei vecchi elettrodomestici. Puoi scommettere di più sul valore nominale, ma non di meno. Di conseguenza, puoi mantenere entro 350 rubli, ma questo non è così tanto, dato che il cronografo di fabbrica avrà un costo di almeno 1000 rubli e il montaggio è molto peggio del nostro fatto in casa.

Tra le altre cose, è necessario fare scorta di dettagli come:
- fili;
- un pezzo di tubo con una lunghezza di almeno 10 cm (è adatto un tubo di plastica per l'acqua);
- tutto per saldatura;
- multimetro (opzionale).


I primi tre dettagli descritti hanno le loro sfumature, quindi ognuno di essi deve essere considerato separatamente

Digispark
Questo articolo è un circuito stampato in miniatura compatibile con ArduinoA bordo ha un ATtiny85. Come collegare questo elemento all'IDE di Arduino, puoi continuare a leggere, puoi anche scaricare i driver lì.
Questa scheda ha diverse opzioni, una utilizza microUSB e l'altra è dotata di un connettore USB, che è cablato direttamente sulla scheda. A causa del fatto che il prodotto fatto in casa non ha un alimentatore individuale, l'autore ha scelto la prima versione della scheda. Se si installa una batteria o una batteria in un prodotto fatto in casa, questo aumenterà notevolmente il suo prezzo e non influirà notevolmente sulla praticità. E quasi tutti hanno un cavo per caricare un cellulare e una banca di potere.

Per quanto riguarda le caratteristiche, sono simili a ATtiny85, qui le sue capacità sono abbondanti. Il microcontrollore nel cronografo interroga solo i sensori e controlla il display.
Se non hai mai incontrato Digispark prima, le sfumature più importanti si trovano nella tabella.

È importante considerare il fatto che la numerazione dei pin per la funzione analogRead () presenta differenze. E sul terzo pin è presente una resistenza pull-up con un valore nominale di 1,5 kOhm, poiché viene utilizzata in USB.

Qualche parola sul display
Chiunque può usare il display per i fatti in casa, ma l'autore ha optato per un'opzione economica. Per rendere il dispositivo ancora più economico, puoi abbandonare completamente il display. I dati possono essere semplicemente inviati via cavo a un computer. Sarà necessario qui. Il display in questione è una copia del display.
L'aspetto del display davanti e dietro può essere visto nella foto.


Poiché le distanze tra i numeri sono le stesse, quando i due punti sono spenti, i numeri vengono letti senza problemi. La libreria standard è in grado di visualizzare numeri nell'intervallo 0-9. lettere nell'intervallo a-f, e c'è ancora l'opportunità di cambiare la luminosità dell'intero display. I valori delle cifre possono essere impostati utilizzando la funzione di visualizzazione (int 0-3, int 0-15).

Come usare il display


Se si tenta di andare oltre i valori di [0, 15], il display mostrerà confusione, che, oltre a tutto il resto, non è statica. Pertanto, per visualizzare caratteri speciali, come gradi, svantaggi, ecc., Devi armeggiare.

L'autore voleva che il display mostrasse l'energia finita del volo del proiettile, che sarebbe stata calcolata in base alla velocità del proiettile e alla sua massa. I valori secondo l'idea dovevano essere visualizzati in sequenza, e al fine di capire dove si dovrebbe notare in qualche modo, ad esempio, usando la lettera "J". In casi estremi, puoi semplicemente usare i due punti, ma all'autore non è piaciuto e si è arrampicato in biblioteca. Di conseguenza, la funzione setSegments (byte addr, byte data) è stata creata sulla base della funzione display, illumina i segmenti codificati nei dati nel numero con il numero addr:



Tali segmenti sono codificati in modo abbastanza semplice, il bit di dati meno significativo è responsabile del segmento superiore e, in senso orario, il 7o bit è responsabile del segmento centrale. Il carattere "1" quando codificato appare come 0b00000110. L'ottavo bit più significativo è responsabile dei due punti, viene utilizzato nella seconda cifra e in tutti gli altri viene ignorato. Successivamente, l'autore ha automatizzato il processo di acquisizione dei codici tramite Excel.
Cronografo ad aria compressa economico

Quello che alla fine è successo può essere visto nella foto




Finalmente i sensori

Non sono state fornite informazioni accurate sui sensori, si sa solo che hanno una lunghezza d'onda di 940 nm. Durante gli esperimenti, è stato scoperto che i sensori non sono in grado di resistere a correnti superiori a 40 mA. Per quanto riguarda la tensione di alimentazione, non dovrebbe essere superiore a 3,3 V. Per quanto riguarda il fototransistor, ha un corpo leggermente trasparente e reagisce alla luce.

Procediamo all'assemblaggio e alla configurazione di fatti in casa:

Primo passo. montaggio

Tutto è assemblato secondo uno schema molto semplice. Di tutti i pin, saranno necessari solo P0, P1 e P2. I primi due vengono utilizzati per il display e P2 per i sensori.
Come puoi vedere, un resistore viene utilizzato per limitare la corrente per i LED, ma il secondo porta P2 a terra. A causa del fatto che i fototransistor sono collegati in parallelo, quando il proiettile passa davanti a qualsiasi fotoaccoppiatore, la tensione su P2 diminuirà. Per determinare la velocità di volo di un proiettile, è necessario conoscere la distanza tra i sensori, misurare due sbalzi di potenza e determinare il tempo durante il quale si sono verificati.
A causa del fatto che verrà utilizzato un solo perno, non importa da quale parte sparare. I fototransistor noteranno comunque un proiettile.





Tutti i dettagli visibili nella foto vengono raccolti. Per raccogliere tutto, l'autore ha deciso di utilizzare una breadboard. Quindi l'intera struttura è stata coperta con colla a caldo per forza. I sensori sono posizionati sul tubo e i fili sono saldati ad essi.
Per evitare che i diodi pulsino quando sono alimentati da una power bank, l'autore ha installato un elettrolita a 100 mKf in parallelo con i LED.


È anche importante notare che il pin P2 è stato scelto per un motivo, il fatto è che P3 e P4 sono utilizzati in USB, quindi ora con l'aiuto di P2 c'è un'opportunità di lampeggiare in casa dopo l'assemblaggio.
P2 è anche un ingresso analogico, quindi non è necessario utilizzare l'interrupt. Puoi semplicemente misurare le letture tra i valori attuali e precedenti, se la differenza diventa superiore a una certa soglia, in quel momento il proiettile passa vicino all'accoppiatore ottico.

Secondo passo inserimento

Prescaler è un divisore di frequenza, in casi standard su schede come Arduino è 128. Questa cifra influenza la frequenza con cui viene eseguito il polling dell'ADC. Cioè, per impostazione predefinita 16 MHz, esce 16/128 = 125 kHz. Ogni digitalizzazione è composta da 13 operazioni, quindi il pin può essere interrogato il più possibile a una velocità di 9600 kHz. In pratica, questo non è superiore a 7 kHz. Di conseguenza, l'intervallo tra le misurazioni è di 120 μs, che è troppo per il lavoro fatto in casa. Se il proiettile vola a una velocità di 300 m / s, durante questo periodo supererà un percorso di 3,6 cm, ovvero il controller semplicemente non sarà in grado di notarlo. Affinché tutto funzioni correttamente, l'intervallo tra le misurazioni dovrebbe essere di almeno 20 μs. Per questo, il valore del divisore deve essere uguale a 16. L'autore ha creato un divisore 8, come fare, si può vedere di seguito.


Ciò che è accaduto durante l'esperimento può essere visto nella foto

La logica del firmware ha diverse fasi:

- misurare la differenza di valori sul pin prima e dopo;
- se la differenza supera la soglia, il loop si spegne e si ricorda l'ora corrente (micros ());
- il secondo ciclo funziona in modo simile al primo e ha un contatore del tempo nel ciclo;
- se il contatore ha raggiunto il valore impostato, viene inviato un messaggio di errore e il passaggio allo stato iniziale. In questo caso, il ciclo non va nell'eternità se il proiettile non viene improvvisamente catturato dal secondo sensore;
- se il contatore non trabocca e la differenza di valore è maggiore della soglia, viene misurato il tempo corrente (micros ());
- Ora, in base alla differenza di tempo e distanza tra i sensori, è possibile calcolare la velocità di volo del proiettile e visualizzare le informazioni sullo schermo. Bene, allora tutto ricomincia da capo.

La fase finale. analisi
Se tutto viene eseguito correttamente, il dispositivo funzionerà senza problemi. L'unico problema è la scarsa risposta all'illuminazione fluorescente e LED, con una frequenza di ondulazione di 40 kHz. In questo caso, potrebbero verificarsi errori nel dispositivo.

Lavori fatti in casa in tre modalità:

Dopo l'accensione, c'è un saluto, quindi lo schermo è pieno di strisce, questo indica che il dispositivo è in attesa di uno scatto

In caso di errori, viene visualizzato il messaggio "Err", quindi viene attivata la modalità standby.

Bene, allora arriva la misurazione della velocità

Immediatamente dopo il tiro, il dispositivo mostrerà la velocità del proiettile (contrassegnato dal simbolo n), quindi verranno visualizzate le informazioni sull'energia del proiettile (simbolo J). Quando viene visualizzato un joule, vengono visualizzati anche due punti.

hronograf.rar [1.54 Kb] (download: 358)
8
5
7

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
1 commento
Non sono state fornite informazioni accurate sui sensori, si sa solo che hanno una lunghezza d'onda di 940 nm. Durante gli esperimenti, è stato scoperto che i sensori non sono in grado di resistere a correnti superiori a 40 mA.

Non sui sensori, ma sui LED. Per capire che 40 mA sono molti, non è stato necessario bruciare un LED, poiché in tal caso per un LED a cristallo singolo, la corrente continua diretta massima consentita non è superiore a 20 mA.
Per quanto riguarda la tensione di alimentazione, non dovrebbe essere superiore a 3,3 V. Per quanto riguarda il fototransistor, ha un corpo leggermente trasparente e reagisce alla luce.

La tensione di alimentazione può essere persino superiore a quella indicata, poiché la modalità operativa LED non è impostata dalla tensione, ma dalla corrente. Ancora una volta, analfabetismo classico: i LED sono collegati in parallelo. Dov'è il fototransistor?
i fototransistor sono collegati in parallelo,
E nel diagramma ci sono fotodiodi e in serie. Qual è la verità, fratello?
parallelo ai LED, elettrolita a 100 mKf.
Non MKF, ma MKF.
Affinché tutto funzioni correttamente, l'intervallo tra le misurazioni dovrebbe essere di almeno 20 μs.
Non un minimo, ma un massimo.

Non è stato detto nulla sull'impostazione della distanza di base e su come il cronografo si è ancorato alla canna prima della misurazione.

Ti consigliamo di leggere:

Passalo per lo smartphone ...