Πίνακας περιεχομένων:

Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας: 6 βήματα
Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας: 6 βήματα

Βίντεο: Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας: 6 βήματα

Βίντεο: Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας: 6 βήματα
Βίντεο: ESP32 Tutorial 15 - DC Motor Speed Control with ESP32 L293D | SunFounder's ESP32 IoT Learnig kit 2024, Νοέμβριος
Anonim
Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας
Σειριακός ελεγχόμενος κινητήρας μεταβλητής ταχύτητας

Ελέγξτε την ταχύτητα ενός μικρού κινητήρα DC χωρίς τίποτα εκτός από τη σειριακή θύρα του υπολογιστή σας, ένα μόνο MOSFET και κάποιο ασήμαντο λογισμικό. (Το MOSFET και η σειριακή θύρα αποτελούν τον "έλεγχο ταχύτητας". Θα χρειαστείτε ακόμα έναν κινητήρα και μια κατάλληλη παροχή ρεύματος για αυτόν τον κινητήρα. Ενώ η σειριακή θύρα μπορεί να παρέχει την τάση για να ενεργοποιήσετε και να απενεργοποιήσετε ένα mosfet, μπορεί " τροφοδοτήστε το ρεύμα που χρειάζεται ένας τυπικός κινητήρας.)

Βήμα 1: Κοιτάξτε το Κύκλωμα

Κοιτάξτε το Κύκλωμα
Κοιτάξτε το Κύκλωμα

Θα κάνουμε Διαμόρφωση Παλμού Πλάτους χρησιμοποιώντας ένα γενικό MOSFET ισχύος καναλιού Ν συνδεδεμένο με τον ακροδέκτη δεδομένων μετάδοσης από τη θύρα rs232 του υπολογιστή. Όταν η σειριακή θύρα είναι αδρανής, ο πείρος θα βρίσκεται στην κατάσταση "1", η οποία μέχρι να μεταφραστεί σε rs232, είναι περίπου -12V (ανάλογα με τα προγράμματα οδήγησης, μπορεί να είναι πιο κοντά -9V ή -5V), και το τρανζίστορ θα είναι αρκετά OFF. Όταν μεταδίδουμε δυαδικά ψηφία "0" στη σειριακή θύρα, η καρφίτσα rs232 θα μεταβεί στα +12V περίπου, κάτι που είναι αρκετό για να ενεργοποιήσει αρκετά τα περισσότερα mosfets.

Εάν μεταδώσουμε πολλά "0" bis στη σειρά, ο κινητήρας θα είναι κοντά στο πλήρες ON και ο κινητήρας θα λειτουργεί γρήγορα. Εάν μεταδίδουμε κυρίως δυαδικά ψηφία "1", ο κινητήρας θα λειτουργεί πιο αργά.

Βήμα 2: Συνδέστε το

Wire It Up
Wire It Up

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

Τα MOSFET είναι στατικά ευαίσθητα, οπότε να είστε λίγο προσεκτικοί, αλλά πολύ λίγα είναι κρίσιμα.

Βήμα 3: Ρύθμιση αρχείων με τιμές PWM

Ρύθμιση αρχείων με τιμές PWM
Ρύθμιση αρχείων με τιμές PWM

Ένας τρόπος για να ελέγξετε τον κινητήρα χωρίς να χρειαστεί να γράψετε ΚΑΠΟΙΟ λογισμικό είναι να προετοιμάσετε μερικά αρχεία που περιέχουν κατάλληλα byte (με περισσότερα ή λιγότερα 0 bit) και απλά να τα αντιγράψετε στη θύρα COM όπου έχετε συνδέσει τον κινητήρα. Ετοίμασα αρκετά αρχεία (χρησιμοποιώντας emacs, αλλά ό, τι λειτουργεί για εσάς είναι εντάξει):

  • 0.pwm:: περιέχει 5000 χαρακτήρες NULL (χώρος ελέγχου στα περισσότερα πληκτρολόγια) [br] Αυτό είναι σχεδόν τόσο κοντά στην "πλήρη ταχύτητα" όσο θα μπορέσουμε να αποκτήσουμε με αυτήν την τεχνική.
  • 1.pwm:: περιέχει 5000 χαρακτήρες ελέγχου-Α (ascii 01) (ένα bit "1" ανά κάρτα)
  • 3.pwm:: περιέχει 5000 χαρακτήρες ελέγχου-C (ascii 03) (δύο bit "1" ανά κάρτα)
  • 7.pwm:: περιέχει 5000 χαρακτήρες ελέγχου-G (ascii 07) (τρία bit "1" ανά κάρτα)
  • 15.pwm:: περιέχει 5000 χαρακτήρες ελέγχου-Ο (ascii 15) (τέσσερα bit "1" ανά κάρτα)
  • 31.pwm:: περιέχει 5000 χαρακτήρες ελέγχου-_ (ascii 31) (πέντε bit "1" ανά κάρτα)
  • 63.pwm:: περιέχει 5000 "?" χαρακτήρες (ascii 63) (έξι "1" bits ανά χαρακτήρα)
  • 127.pwm:: περιέχει 5000 χαρακτήρες DEL (ascii 127) (επτά bit "1" ανά χαρακτήρα)

(Τώρα που σχεδίασα εικόνες, θα παρατηρήσετε ότι τα πραγματικά μοτίβα δυαδικών ψηφίων δεν είναι ιδανικά. Δεδομένου ότι το σειριακό rs232 μεταδίδει το LSB πρώτα, θέλουμε πραγματικά να αλλάξουμε μηδενικά αντί για ένα. Μια άσκηση για τον μαθητή!)

Βήμα 4: Παίξτε με DOS: Διαμορφώστε τη θύρα COM και αντιγράψτε τα αρχεία

Παίξτε με DOS: Διαμορφώστε τη θύρα COM και αντιγράψτε τα αρχεία
Παίξτε με DOS: Διαμορφώστε τη θύρα COM και αντιγράψτε τα αρχεία

Τα 9600 bps είναι ένας κοινός ρυθμός bit. Ταιριάζει όμορφα με "περίπου" ένα byte ανά χιλιοστό του δευτερολέπτου, οπότε σε αυτή την περίπτωση συνενώνεται με συχνότητα PWM 1000Hz, η οποία νομίζω ότι θα έπρεπε να είναι εντάξει για μικρούς κινητήρες. Μπορείτε να πειραματιστείτε με διαφορετικούς ρυθμούς bit για να δείτε πώς λειτουργούν τα πράγματα, το οποίο είναι ένα από τα πλεονεκτήματα αυτής της μεθόδου. Δημιουργήστε ένα παράθυρο DOS (ή "Γραμμή εντολών") (υποθέτοντας ότι χρησιμοποιείτε λειτουργικό σύστημα Windows) και διαμορφώστε τη θύρα com σας όπως: mode com1: 9600, n, 7, 1 "Αυτό λέει στη θύρα comm να τρέξει στα 9600bps και να στείλει 7 bits σε κάθε χαρακτήρα (για να ταιριάζει με τα 7 διαφορετικά μήκη bit μας.) Το" n "σημαίνει ΟΧΙ ισοτιμία, Αυτά θα είναι τα μόνα bit δεδομένων. Το "1" σημαίνει ότι θα υπάρχει ένα bit "stop", το οποίο θα μας εμποδίσει να ενεργοποιήσουμε τον κινητήρα μέχρι το τέλος (ω. καλά.) Έτσι, τώρα μπορείτε να ενεργοποιήσετε τον κινητήρα με εντολές όπως: αντιγραφή 0.pwm com1: Δεδομένου ότι στέλνουμε 5000 χαρακτήρες με ρυθμό περίπου 1 ανά χιλιοστό του δευτερολέπτου, ο κινητήρας θα πρέπει να ενεργοποιηθεί σε πλήρη ταχύτητα για περίπου 5 δευτερόλεπτα. Εάν θέλετε λιγότερο από 5 δευτερόλεπτα, δημιουργήστε ένα πιο σύντομο αρχείο. Ομοίως, μπορείτε να κάνετε: αντιγράψτε 127.pwm com1: για να λειτουργήσετε τον κινητήρα στη χαμηλότερη δυνατή ταχύτητα. Με τη ρύθμιση που είχα, ο κινητήρας δεν θα γύριζε καθόλου με τίποτα "πιο αργό" από το 31.pwm, αλλά YMMV (λεπτό k Είχα έναν κινητήρα 12V που εξαντλεί μπαταρίες 5V.) Η εντολή COPY σάς επιτρέπει να συνδέσετε αρχεία μαζί, οπότε αν θέλετε ο κινητήρας σας να επιταχύνει και στη συνέχεια να επιβραδύνει ξανά, μπορείτε να κάνετε κάτι σαν: αντιγραφή 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

Βήμα 5: Ελέγξτε το μοτέρ από ένα πρόγραμμα

Ελέγξτε τον κινητήρα από ένα πρόγραμμα
Ελέγξτε τον κινητήρα από ένα πρόγραμμα

Εάν γράφετε ένα πρόγραμμα, μπορείτε πιθανώς να ανοίξετε το COM1: ως αρχείο και απλά να το γράψετε σαν να ήταν οποιοδήποτε άλλο αρχείο. Το να μπορείς να χρονομετρήσεις τις περιόδους που είναι ενεργοποιημένο το μοτέρ με την έξοδο συγκεκριμένου αριθμού χαρακτήρων φαίνεται να είναι πολύ βολικό. Μην ξεχνάτε ότι το σύστημα είναι πολύ πιθανό να προστατεύσει τους χαρακτήρες που στέλνετε στη σειριακή θύρα, οπότε το ότι επιστρέφει μια ΓΡΑΠΤΗ κλήση δεν σημαίνει ότι ο κινητήρας έχει τελειώσει να κάνει ό, τι του είπατε. Δεδομένου ότι δεν κάνουμε τίποτα "φανταχτερό" με τα σήματα θύρας com, δεν θα πρέπει να διερευνήσετε τις παράξενες επιλογές που μπορεί να υποστηρίζει. (αν και, αν μπορείτε να καταλάβετε πώς να στείλετε μια ακολουθία BREAK στην θύρα com, αυτή είναι μια συνεχής κατάσταση "0" και θα οδηγήσει τον κινητήρα σε όλη τη διαδρομή. περισσότερο από την αποστολή συνεχόμενων 0 χαρακτήρων.)

Εάν η γλώσσα προγραμματισμού σας δεν σας επιτρέπει να βγείτε σε COM1:, ενδέχεται να εξακολουθείτε να μπορείτε να ελέγχετε τον κινητήρα "καλώντας" το DOS για να κάνετε εντολές αντιγραφής. (ΟΚ. Έχω κατεβάσει το Visual Basic Express 2005 της Microsoft (το οποίο είναι δωρεάν) και κατάφερα να συνδέσω μια οριζόντια γραμμή κύλισης στην ταχύτητα του κινητήρα, που ελέγχεται μέσω της σειριακής θύρας. Επισυνάπτεται φερμουάρ. Πιθανότατα έχει περισσότερα από όσα χρειάζεται για να αντιγράψει το πρόγραμμα στο σύστημά σας, αλλά δεν μπορούσα να καταλάβω ποια bit χρειάζονταν. Το πρόγραμμα απλοποιείται και καθίσταται δυσκολότερο να κατανοηθεί (συγγνώμη) επειδή είναι πολυστρωματικό. Ένα νήμα δεν κάνει τίποτα άλλο παρά βγάζει στη σειριακή θύρα και το κύριο νήμα διαβάζει τη γραμμή κύλισης και ενημερώνει τις πληροφορίες που χρησιμοποιούνται από το σειριακό νήμα.)

Βήμα 6: Πειραματιστείτε

Πείραμα!
Πείραμα!

Εάν τα πράγματα λειτουργούν βασικά, αυτό παρέχει ένα φοβερό χώρο για πειραματισμούς.

  • Διορθώστε τα μοτίβα bit μου!
  • Το bitrate έχει μεγάλη σημασία;
  • Πρέπει να ελέγξετε το πλάτος των παλμών "on" και "off", ή απλά ο έλεγχος της αναλογίας τους είναι επαρκής;
  • Εάν πρέπει μόνο να ελέγξετε την αναλογία, μπορείτε να εξετάσετε ακολουθίες πολλαπλών χαρακτήρων σε υψηλότερους ρυθμούς bit για να αποκτήσετε περισσότερα επίπεδα ταχύτητας. Η έξοδος 0 ακολουθούμενη από 127 θα ήταν περίπου μισή.
  • Αυτό θα πρέπει να λειτουργεί και για την εξασθένιση των λαμπτήρων φακών.

Συνιστάται: