Μετρητής συχνότητας Arduino χρησιμοποιώντας οθόνη 16 × 2

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτό το άρθρο πρόκειται να κατασκευάσουμε έναν ψηφιακό μετρητή συχνότητας χρησιμοποιώντας το Arduino του οποίου οι μετρήσεις θα προβάλλονται σε οθόνη LCD 16x2 και θα έχουν εύρος μέτρησης από 35 Hz έως 1MHz.

Εισαγωγή

Όντας λάτρεις των ηλεκτρονικών, όλοι θα συναντήσαμε ένα σημείο όπου πρέπει να μετρήσουμε τη συχνότητα στα έργα μας.



Σε αυτό το σημείο θα συνειδητοποιήσαμε ότι ένα παλμογράφο είναι ένα τόσο χρήσιμο εργαλείο για τη μέτρηση της συχνότητας. Όμως, όλοι γνωρίζουμε ότι ένας παλμογράφος είναι ένα ακριβό εργαλείο που δεν μπορούν όλοι οι χομπίστες να το αντέξουν οικονομικά και το παλμογράφο μπορεί να είναι ένα εργαλείο υπερβολικής δόσης για αρχάριους.

Για να ξεπεραστεί το ζήτημα της μέτρησης της συχνότητας, ο χόμπι δεν χρειάζεται ακριβό παλμογράφο, χρειαζόμαστε απλώς έναν μετρητή συχνότητας που μπορεί να μετρήσει τη συχνότητα με εύλογη ακρίβεια.



Σε αυτό το άρθρο πρόκειται να φτιάξουμε έναν μετρητή συχνότητας, ο οποίος είναι απλός στην κατασκευή και φιλικός για αρχάριους, ακόμη και ο noob στο Arduino μπορεί να επιτύχει με ευκολία.

Πριν πάμε σε κατασκευαστικές λεπτομέρειες, ας διερευνήσουμε τι είναι η συχνότητα και πώς μπορεί να μετρηθεί.

Τι είναι η συχνότητα; (Για Νομπς)

Είμαστε εξοικειωμένοι με τον όρο συχνότητα, αλλά τι πραγματικά σημαίνει;

Λοιπόν, η συχνότητα ορίζεται ως αριθμός ταλαντώσεων ή κύκλων ανά δευτερόλεπτο. Τι σημαίνει αυτός ο ορισμός;

Αυτό σημαίνει πόσες φορές το πλάτος του «κάτι» ανεβαίνει και κατεβαίνει σε ΕΝΑ δευτερόλεπτο. Για παράδειγμα, συχνότητα εναλλασσόμενου ρεύματος στην κατοικία μας: Το πλάτος της «τάσης» («κάτι» αντικαθίσταται από «τάση») ανεβαίνει (+) και κάτω (-) σε ένα δευτερόλεπτο, που είναι 50 φορές στις περισσότερες χώρες.

Ένας κύκλος ή μία ταλάντωση αποτελείται από πάνω και κάτω. Έτσι, ένας κύκλος / ταλάντωση είναι το εύρος που πηγαίνει από το μηδέν στη θετική κορυφή και επιστρέφει στο μηδέν και πηγαίνει στην αρνητική κορυφή και επιστρέφει στο μηδέν.

Η «χρονική περίοδος» είναι επίσης ένας όρος που χρησιμοποιείται κατά την αντιμετώπιση της συχνότητας. Η χρονική περίοδος είναι ο χρόνος που απαιτείται για την ολοκλήρωση του «ενός κύκλου». Είναι επίσης η αντίστροφη τιμή της συχνότητας. Για παράδειγμα, 50 Hz έχει 20 ms χρονική περίοδο.

1/50 = 0,02 δευτερόλεπτο ή 20 χιλιοστά του δευτερολέπτου

Μέχρι τώρα θα έχετε κάποια ιδέα για τη συχνότητα και τους σχετικούς όρους.

Πώς μετράται η συχνότητα;

Γνωρίζουμε ότι ένας κύκλος είναι συνδυασμός υψηλού και χαμηλού σήματος. Για να μετρήσουμε τη διάρκεια των υψηλών και χαμηλών σημάτων, χρησιμοποιούμε το 'pulseIn' στο arduino. Το pulseIn (pin, HIGH) μετρά τη διάρκεια των υψηλών σημάτων και το pulseIn (pin, LOW) μετρά τη διάρκεια των χαμηλών σημάτων. Προστίθεται η διάρκεια παλμού και των δύο που δίνουν χρονική περίοδο ενός κύκλου.

Στη συνέχεια, η καθορισμένη χρονική περίοδος υπολογίζεται για ένα δευτερόλεπτο. Αυτό γίνεται με τον ακόλουθο τύπο:

Συχνότητα = 1000000 / χρονική περίοδος σε μικροδευτερόλεπτα

Η χρονική περίοδος από το arduino λαμβάνεται σε μικροδευτερόλεπτα. Το arduino δεν δειγματίζει τη συχνότητα εισαγωγής για ολόκληρο το δευτερόλεπτο, αλλά προβλέπει τη συχνότητα με ακρίβεια αναλύοντας τη χρονική περίοδο ενός κύκλου.

Τώρα ξέρετε πώς το arduino μετρά και υπολογίζει τη συχνότητα.

Το κύκλωμα:

Το κύκλωμα αποτελείται από arduino που είναι ο εγκέφαλος του έργου, οθόνη LCD 16x2, μετατροπέας IC 7404 και ένα ποτενσιόμετρο για ρύθμιση της αντίθεσης οθόνη LCD .

Η προτεινόμενη ρύθμιση μπορεί να μετρήσει από 35Hz έως 1 MHz.

Σύνδεση οθόνης Arduino:

Το παραπάνω διάγραμμα είναι αυτονόητο, η σύνδεση καλωδίωσης μεταξύ arduino και οθόνης είναι στάνταρ και μπορούμε να βρούμε παρόμοιες συνδέσεις σε άλλα έργα arduino και LCD.

Μετρητής συχνότητας Arduino με οθόνη 16x2

Το παραπάνω διάγραμμα αποτελείται από αντιστροφέα IC 7404. Ο ρόλος του IC 7404 είναι η εξάλειψη του θορύβου από την είσοδο, έτσι ώστε ο θόρυβος να μην διαδίδεται στο arduino που θα μπορούσε να δώσει ψευδείς αναγνώσεις και το IC 7404 μπορεί να ανεχθεί βραχυκύκλωμα τάσης που δεν θα περάσει στο καρφίτσες arduino. Το IC 7404 παράγει μόνο ορθογώνια κύματα όπου το arduino μπορεί να μετρηθεί εύκολα σε σύγκριση με τα αναλογικά κύματα.

ΣΗΜΕΙΩΣΗ: Η μέγιστη είσοδος από κορυφή σε κορυφή δεν πρέπει να υπερβαίνει τα 5V.

Πρόγραμμα:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int input = A0
const int test = 9
void setup()
{
pinMode(input,INPUT)
pinMode(test, OUTPUT)
lcd.begin(16, 2)
analogWrite(test,127)
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
X=pulseIn(input,HIGH)
Y=pulseIn(input,LOW)
Time = X+Y
frequency=1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
lcd.setCursor(0,1)
lcd.print('0.00 Hz')
}
else
{
lcd.setCursor(0,1)
lcd.print(frequency)
lcd.print(' Hz')
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Δοκιμή του μετρητή συχνότητας:

Μόλις δημιουργήσετε με επιτυχία το έργο, είναι απαραίτητο να ελέγξετε αν όλα λειτουργούν καλά. Πρέπει να χρησιμοποιήσουμε μια γνωστή συχνότητα για να επιβεβαιώσουμε τις ενδείξεις. Για να το επιτύχουμε αυτό, χρησιμοποιούμε την ενσωματωμένη λειτουργικότητα PWM του arduino η οποία έχει συχνότητα 490Hz.

Στο πρόγραμμα pin # 9 είναι ενεργοποιημένο να δίνει 490Hz σε κύκλο λειτουργίας 50%, ο χρήστης μπορεί να πιάσει το καλώδιο εισόδου του μετρητή συχνότητας και να εισαγάγει στον ακροδέκτη # 9 του arduino όπως φαίνεται στην εικόνα, μπορούμε να δούμε 490 Hz στην οθόνη LCD (με κάποια ανοχή), εάν η προαναφερθείσα διαδικασία ήταν επιτυχής, ο μετρητής συχνότητας είναι έτοιμος να σας εξυπηρετήσει πειράματα.

Πρωτότυπο συγγραφέα:

Πρωτότυπο εικόνα μετρητή συχνότητας Arduino

Ο χρήστης μπορεί επίσης να δοκιμάσει αυτό το πρωτότυπο κυκλώματος μετρητή συχνότητας Arduino χρησιμοποιώντας εξωτερική γεννήτρια συχνότητας που φαίνεται στην παραπάνω εικόνα.




Προηγούμενο: Arduino Pure Sine Wave Inverter Circuit with Full Program Code Επόμενο: Δημιουργία παλμογράφου ενός καναλιού χρησιμοποιώντας το Arduino