Sommario:
- Passaggio 1: parti e componenti
- Passaggio 2: l'encoder
- Passaggio 3: sensibilità
- Passaggio 4: misurazione
- Passaggio 5: assemblaggio
- Passaggio 6: codice
- Passaggio 7: schemi
- Passaggio 8: dal PoC alla produzione
- Passaggio 9: Galleria di immagini
Video: Measurino: una ruota di misurazione Proof of Concept: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Measurino conta semplicemente il numero di giri di una ruota e la distanza percorsa è direttamente proporzionale al raggio della ruota stessa. Questo è il principio base di un contachilometri e ho iniziato questo progetto principalmente per studiare come mantenere il circuito (gestito da un microcontrollore Arduino), compatibile con diverse gamme di distanze, dai millimetri ai chilometri, e per valutare eventuali problemi o miglioramenti.
Passaggio 1: parti e componenti
- Arduino Nano rev.3
- Schermo OLED 128×64 (SSD1306)
- Encoder rotativo fotoelettrico incrementale (400P/R)
- Ruota in gomma per aeromodelli (51mm dia)
- 2 pulsanti
- batteria 9v
Passaggio 2: l'encoder
Per questo progetto ho testato diversi encoder rotativi economici, ma li ho immediatamente scartati per problemi di precisione/sensibilità. Quindi sono andato all'encoder rotativo fotoelettrico incrementale di DFRobot - 400P/R SKU: SEN0230. Questo è un encoder rotativo fotoelettrico incrementale industriale con materiale in alluminio, guscio in metallo e albero in acciaio inossidabile. Genera un segnale di impulso ortogonale bifase AB attraverso la rotazione del disco reticolo e del fotoaccoppiatore. 400 impulsi/giro per ogni fase e 1600 impulsi/giro per uscita 4 tempi bifase. Questo encoder rotativo supporta una velocità massima di 5000 giri/min. E può essere utilizzato per la misurazione di velocità, angolo, velocità angolare e altri dati.
L'encoder rotativo fotoelettrico ha un'uscita a collettore aperto NPN, quindi è necessario utilizzare resistori di pullup o abilitare il pull-up interno di Arduino. Sta utilizzando il chip regolatore di tensione 750L05, che ha un ingresso di alimentazione ad ampia gamma DC4.8V-24V.
Passaggio 3: sensibilità
Questo encoder rotativo optoelettrico ha davvero una grande sensibilità, che lo rende perfetto per applicazioni di controllo e posizionamento dell'albero. Ma per il mio scopo era troppo sensato. Con una ruota da 51 mm, questo encoder ha una sensibilità di 0,4 mm, il che significa che se la tua mano ha tremori minimi, verranno registrati. Quindi ho abbassato la sensibilità aggiungendo un'isteresi nella routine di interruzione:
annulla interruzione()
{ carattere io; i = digitalRead(B_PHASE); if (i == 1) conta +=1; altro conteggio -=1; if (abs(count) >= isteresi) { flag_A = flag_A+count; conteggio = 0; } }
Questo accorgimento è bastato per dare una buona stabilità alla misura.
Passaggio 4: misurazione
Seleziona la tua Unità di Misura (Decimale o Imperiale) e poi basta posizionare la ruota con il suo punto di contatto all'inizio della tua misura, premere il pulsante Reset e mantenerla in rotazione fino alla fine. Da sinistra a destra la misura aumenta e somma, da destra a sinistra diminuisce e sottrae. Puoi misurare anche oggetti curvi (la forma della tua auto, il corrimano di una scala a chiocciola, la lunghezza del tuo braccio dalla spalla al polso con il gomito piegato, ecc.).
Una rotazione completa di una ruota con diametro=D misurerà una lunghezza di D*π. Nel mio caso, con una ruota da 51 mm, questo è 16,02 cm e ogni tick misura 0,4 mm (vedi paragrafo Sensibilità).
Passaggio 5: assemblaggio
Il PoC è stato realizzato su una breadboard per dimostrare i circuiti. Ogni componente è stato collegato alla scheda e l'encoder rotativo è collegato a una morsettiera a vite a 2x2 poli. La batteria è una batteria standard da 9V e il consumo energetico totale del circuito è di circa 60mA.
Passaggio 6: codice
Per il display ho utilizzato l'U8g2lib che è molto flessibile e potente per questo tipo di display OLED, permettendo un'ampia scelta di font e buone funzioni di posizionamento. Non ho perso molto tempo a riempire il display di informazioni, in quanto si trattava solo di un Poc.
Per leggere l'encoder, sto utilizzando degli interrupt generati da una delle 2 fasi: ogni volta che l'albero dell'encoder si muove, genera un interrupt ad Arduino legato al crescere dell'impulso.
attachInterrupt(digitalPinToInterrupt(A_PHASE), interrupt, RISING);
Il display passa automaticamente da millimetri, a metri, a chilometri e (se selezionato da pulsante) da pollici, a iarde, a miglia, mentre il pulsante RST azzera la misura.
Passaggio 7: schemi
Passaggio 8: dal PoC alla produzione
Perché questa è una prova di concetto? A causa di molti miglioramenti che potrebbero/dovrebbero essere fatti prima di costruire un'attrezzatura completamente funzionante. Vediamo nel dettaglio tutti i possibili miglioramenti:
- Ruota. La sensibilità/precisione di Measurino dipende dalla ruota. Una ruota più piccola potrebbe darti una maggiore precisione nella misurazione di piccole lunghezze (nell'ordine dei millimetri ai centimetri). Una ruota molto più grande con un braccio di estensione consentirà di camminare sulla strada e misurare i chilometri. Per le ruote piccole è da considerare il materiale: una ruota in gomma piena potrebbe deformarsi leggermente e compromettere la precisione, quindi in tal caso suggerirò una ruota in alluminio/acciaio con solo un nastro sottile per evitare slittamenti. Con una banale modifica del software (selezionare il diametro della ruota corretto con un interruttore), si potrebbero considerare ruote intercambiabili per adattarsi a qualsiasi misura, utilizzando un connettore a 4 pin (es.: porta usb).
- Software. Aggiungendo un altro pulsante, il software potrebbe occuparsi anche di misurare aree di rettangoli o angoli di ampiezza. Consiglio inoltre di aggiungere un pulsante "Hold" per congelare la misura alla fine, evitando di muovere inavvertitamente la rotella prima di leggere il valore sul display.
- Sostituire la ruota con una bobina. Per misure brevi (entro pochi metri) la ruota può essere sostituita con un rocchetto molleggiato contenente filo o nastro. In questo modo è sufficiente tirare il filo (facendo ruotare l'albero dell'encoder), prendere la misura e guardare il display.
- Aggiungi la visualizzazione dello stato della batteria. Il pin di riferimento Arduino da 3,3 V (preciso entro l'1%) può essere utilizzato come base per il convertitore ADC. Quindi, eseguendo una conversione da analogico a digitale sul pin 3.3V (collegandolo ad A1) e quindi confrontando questa lettura con la lettura del sensore, possiamo estrapolare una lettura realistica, indipendentemente dal VIN (purché sia superiore a 3,4 V). Un esempio funzionante si può trovare in questo altro mio progetto.
Passaggio 9: Galleria di immagini
Consigliato:
Robot a una ruota: 3 passaggi
Robot a una ruota: in questo progetto ti mostrerò come creare un robot a una ruota o un monociclo passo dopo passo in modo che tu possa crearne uno tuo. Questo robot può bilanciare automaticamente calcolando l'inclinazione con l'aiuto del sensore MPU6050, è composto da due
Veicolo a una ruota autobilanciato fai-da-te: 8 passaggi (con immagini)
Veicolo a una ruota autobilanciante fai-da-te: interessato ad alcune delle tendenze dei prodotti di autobilanciamento come segway e solowheel.sì, puoi andare ovunque guidando la ruota senza stancarti. ma è fantastico se puoi averlo da solo. Bene, costruiamolo
Ruota o ruota il monitor LCD: 6 passaggi
Monitor Lcd Ruota o Pivot: Questo dispositivo è molto utile per ruotare di 90 gradi il monitor per vedere o leggere documenti in modo verticale, ci sono driver per schede video che supportano questa modalità, nel mio caso lo uso per leggere i pdf
The Manta Drive: Proof-of-concept per un sistema di propulsione ROV.: 8 passaggi (con immagini)
The Manta Drive: Proof-of-concept per un sistema di propulsione ROV.: Ogni veicolo sommergibile ha dei punti deboli. Tutto ciò che perfora lo scafo (porta, cavo) è una potenziale perdita, e se qualcosa deve perforare lo scafo e muoversi allo stesso tempo, il potenziale di perdita si moltiplica. Questo Instructable delinea
Sistema di messaggistica LED su una ruota di bicicletta pieghevole Strida: 7 passaggi
Sistema di messaggistica LED su una ruota di bicicletta pieghevole Strida: dopo aver acquistato la mia bicicletta pieghevole Strida, una delle prime cose che ho fatto è stata quella di dare un'occhiata a instructables.com per eventuali progetti relativi a strida. E piuttosto stupito di vedere che non c'era nessuno. Quindi ho pianificato di creare un istruibile che possa essere