Δημιουργία ενός καναλιού παλμογράφου χρησιμοποιώντας Arduino

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





Σε αυτήν την ενδιαφέρουσα ανάρτηση, θα κάνουμε έναν απλό παλμογράφο ενός καναλιού χρησιμοποιώντας το Arduino και έναν προσωπικό υπολογιστή, όπου οι κυματομορφές θα εμφανίζονται στην οθόνη του υπολογιστή και η συχνότητα και η χρονική περίοδος των κυμάτων εισόδου θα εμφανίζονται στην οθόνη 16 x 2 .

Εισαγωγή

Κάθε ενθουσιώδης των ηλεκτρονικών είπε κάποτε «Έχω ένα όνειρο, μια μέρα θα αγοράσω έναν παλμογράφο», αλλά, εξακολουθεί να είναι όνειρο πολλών να έχουν ένα αξιοπρεπές παλμογράφο για τα έργα και τα πειράματά τους.



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

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



Η προτεινόμενη ιδέα έχει πολύ περιορισμένη λειτουργικότητα, οπότε μην περιμένετε τις λειτουργίες σε ένα παλμογράφο υψηλού επιπέδου να είμαι παρών σε αυτό το έργο. Έχουμε τρεις σταθερές λειτουργίες από αυτό το έργο:

1) οπτική αναπαράσταση της κυματομορφής στην οθόνη του υπολογιστή

2) μέτρηση συχνότητας του κύματος εισόδου

3) Μέτρηση χρονικής περιόδου του κύματος εισόδου σε μικροδευτερόλεπτα.

Η συχνότητα και η χρονική περίοδος του σήματος θα εμφανίζονται σε οθόνη LCD 16 x 2. Υπάρχουν δύο μέθοδοι για την οπτική αναπαράσταση της κυματομορφής στην οθόνη του υπολογιστή που θα περιγραφεί σε μεταγενέστερο μέρος του άρθρου.

Ας δούμε τώρα το τεχνικό μέρος της εγκατάστασης.

Η προτεινόμενη εγκατάσταση αποτελείται από arduino που είναι ο εγκέφαλος το έργο μας ως συνήθως, μια οθόνη LCD 16 x 2, ποτενσιόμετρο IC 7404, 10K και ένας υπολογιστής κατά προτίμηση μια μηχανή παραθύρων.

Το arduino είναι το μυαλό της εγκατάστασης και πρέπει να επιλέξουμε το Arduino UNO ή το Arduino mega ή το Arduino nano για αυτό το έργο, καθώς άλλα μοντέλα δεν διαθέτουν ενσωματωμένο μετατροπέα USB σε σειριακό που είναι απαραίτητο για την επικοινωνία μεταξύ του Arduino και του υπολογιστή.

Εάν επιλέξουμε άλλα μοντέλα πλακέτας arduino, χρειαζόμαστε εξωτερικό μετατροπέα USB σε σειριακό που μπορεί να περιπλέξει το έργο.

Απεικόνιση της σύνδεσης LCD σε Arduino:

Οθόνη LCD με ένα κανάλι παλμογράφου

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

Το ποτενσιόμετρο 10K χρησιμοποιείται για τη ρύθμιση της αντίθεσης της οθόνης LCD 16 x 2, η οποία πρέπει να ρυθμιστεί από τον χρήστη για βέλτιστη προβολή.

Μονοκαναλικός παλμογράφος χρησιμοποιώντας Arduino

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

Πρόγραμμα:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int Freqinput = A0
const int oscInput = A1
int Switch = A2
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(Switch,INPUT)
pinMode(Freqinput,INPUT)
pinMode(oscInput,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,127)
lcd.setCursor(0,0)
lcd.print('Press the button')
}
void loop()
{
if(digitalRead(Switch)==HIGH)
{
lcd.clear()
lcd.setCursor(0,0)
X = pulseIn(Freqinput,HIGH)
Y = pulseIn(Freqinput,LOW)
Time = X+Y
frequency = 1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print('0.00 Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print('0.00 us')
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print(frequency)
lcd.print('Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print(Time)
lcd.print(' us')
delay(500)
}
}
else
{
Serial.println(analogRead(oscInput))
}
}
//-----Program Developed by R.Girish-----//

Μόλις ολοκληρώσετε το τμήμα υλικού και ανεβάσατε τον παραπάνω κωδικό. Ήρθε η ώρα να σχεδιάσετε κυματομορφή στην οθόνη του υπολογιστή. Αυτό μπορεί να γίνει με δύο τρόπους, ο ευκολότερος και πιο χαλαρός τρόπος περιγράφεται παρακάτω.

Μέθοδος 1:

• Συνδέστε το καλώδιο εισόδου στον ακροδέκτη # 9 του arduino (Test mode).
• Ανοίξτε το Arduino IDE (πρέπει να είναι 1.6.6 ή νεότερες εκδόσεις)
• Μεταβείτε στην καρτέλα «εργαλεία» και επιλέξτε σειριακό σχεδιαστή

Μόλις ανοίξει ο σειριακός σχεδιαστής, μπορείτε να δείτε το ορθογώνιο κύμα που δημιουργείται από τον πείρο # 9 του arduino, που φαίνεται παρακάτω.

ορθογώνιο κύμα που παράγεται από τον πείρο # 9 του arduino

Πατήστε το κουμπί για να εμφανίσετε τις ενδείξεις και επίσης για να ανανεώσετε τις ενδείξεις της οθόνης LCD, πρέπει να εμφανιστεί περίπου 490Hz στη «δοκιμαστική λειτουργία».

Σχηματική λειτουργία δοκιμής:

Ο τρόπος δοκιμής είναι ο έλεγχος της σωστής λειτουργίας του παλμογράφου. Ο ακροδέκτης # 9 έχει προγραμματιστεί για απόδοση 490Hz.

Μέθοδος 2:

Αυτή η μέθοδος είναι σχετικά εύκολη, αλλά πρέπει να κατεβάσουμε λογισμικό από τον δεδομένο σύνδεσμο: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

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

• Κατεβάστε το λογισμικό και εξαγάγετε.

• Τώρα κάντε διπλό κλικ στην εφαρμογή Serial Oscilloscope.

ο σειριακός σχεδιαστής του arduino

• Θα εμφανιστεί ένα παράθυρο όπως φαίνεται παρακάτω και θα επιλέξει ρυθμό baud έως 9600.

επιλέξτε ρυθμό baud έως 9600.

• Τώρα επιλέξτε 'Σειριακή θύρα' και επιλέξτε τη σωστή θύρα COM που μπορεί να διαφέρει από υπολογιστή σε υπολογιστή. Εάν επιλέξετε τη σωστή θύρα COM, μπορείτε να δείτε τις αναγνώσεις όπως φαίνεται παρακάτω.

• Τώρα επιλέξτε την καρτέλα «παλμογράφος» και επιλέξτε «κανάλια 1, 2 και 3» (πρώτη επιλογή).

Τώρα επιλέξτε την καρτέλα Κυματομορφή από ένα κανάλι παλμογράφου χρησιμοποιώντας το Arduino

• Μπορείτε να δείτε το παραγόμενο σήμα δοκιμής από το Arduino όπως φαίνεται παρακάτω.

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

ΣΗΜΕΙΩΣΗ:

Η προτεινόμενη εγκατάσταση έχει ένα σημαντικό μειονέκτημα:

Το Arduino δεν μπορεί να εμφανίσει κυματομορφή εισόδου στην οθόνη του υπολογιστή και ταυτόχρονα συχνότητα / χρονική ανάγνωση στην οθόνη LCD. Για να ξεπεραστεί αυτό το ζήτημα παρέχεται ένα κουμπί για ανάγνωση / ανανέωση της συχνότητας και της χρονικής περιόδου στην οθόνη LCD.

Μόλις πατήσετε το κουμπί θα εμφανίσει τη συχνότητα και το χρονικό διάστημα στην οθόνη LCD ταυτόχρονα η κυματομορφή θα παγώσει στην οθόνη του υπολογιστή όσο συνεχίζετε να πατάτε το κουμπί.

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

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

Πρωτότυπο εικόνα για κύκλωμα παλμογράφου Arduino

Εάν έχετε περαιτέρω απορίες σχετικά με αυτό το απλό κύκλωμα παλμογράφων Arduino ενός καναλιού, μη διστάσετε να χρησιμοποιήσετε το παρακάτω πλαίσιο σχολίων για να εκφράσετε τις συγκεκριμένες απόψεις σας




Προηγούμενο: Μετρητής συχνότητας Arduino χρησιμοποιώντας οθόνη 16 × 2 Επόμενο: LiFi Internet Transmitter Circuit - USB Signal Transfer through LED