Τι είναι ένας Ελεγκτής Μοτέρ Servo;
Ορισμός Ελεγκτή Μοτέρ Servo
Ένας ελεγκτής μοτέρ servo (ή οδηγός μοτέρ servo) ορίζεται ως κύκλωμα που χρησιμοποιείται για τον έλεγχο της θέσης ενός μοτέρ servo.
Κύκλωμα Οδηγού Μοτέρ Servo
Το κύκλωμα οδηγού μοτέρ servo περιλαμβάνει ένα μικροελεγκτή, πηγή ενέργειας, ποτεντιόμετρο και συνδέσεις, διασφαλίζοντας ακριβή έλεγχο του μοτέρ.
Ρόλος του Μικροελεγκτή
Ο μικροελεγκτής παράγει παλμούς PWM σε συγκεκριμένα διαστήματα για να ελέγξει ακριβώς τη θέση του μοτέρ servo.
Πηγή Ενέργειας
Η σχεδίαση της πηγής ενέργειας για έναν ελεγκτή μοτέρ servo εξαρτάται από τον αριθμό των συνδεδεμένων μοτέρ. Τα μοτέρ servo συνήθως χρησιμοποιούν πηγή ενέργειας 4.8V έως 6V, με 5V να είναι το πρότυπο. Η υπέρβαση της τάσης πηγής μπορεί να βλάψει το μοτέρ. Η ροή στροφής μεταβάλλεται με την ροπή και είναι χαμηλότερη σε κατάσταση ηρεμίας και υψηλότερη όταν τρέχει. Η μέγιστη ροή στροφής, γνωστή ως ροή στάσης, μπορεί να φτάσει έως 1A για κάποια μοτέρ.
Για έλεγχο ενός μοναδικού μοτέρ, χρησιμοποιήστε έναν ρυθμιστή τάσης όπως το LM317 με θερμαντικό σώμα. Για πολλαπλά μοτέρ, απαιτείται μια ποιοτική πηγή ενέργειας με υψηλότερη ροή στροφής. Ένα SMPS (Switched Mode Power Supply) είναι μια καλή επιλογή.
Διάγραμμα μπλοκ παρακάτω-εμφανίζοντας τις συνδέσεις σε έναν Οδηγό Μοτέρ Servo

Έλεγχος Μοτέρ Servo
Το μοτέρ servo έχει τρία τερματικά.
Σήμα θέσης (Παλμοί PWM)
Vcc (Από την πηγή ενέργειας)
Μάζα

Η γωνιακή θέση του μοτέρ servo ελέγχεται με την εφαρμογή παλμών PWM με συγκεκριμένες πλάτη. Η διάρκεια των παλμών είναι από περίπου 0.5ms για 0-βαθμία περιστροφή έως 2.2ms για 180-βαθμία περιστροφή. Οι παλμοί πρέπει να δίδονται με συχνότητες περίπου 50Hz έως 60Hz.
Για την παραγωγή του κύκλου PWM (Pulse Width Modulation), όπως φαίνεται στο παρακάτω σχήμα, μπορεί να χρησιμοποιηθεί είτε το εσωτερικό μέρος PWM του μικροελεγκτή είτε οι χρονομετρητές. Η χρήση του μέρους PWM είναι πιο ευέλικτη, καθώς περισσότερες οικογένειες μικροελεγκτών το σχεδιάζουν, και αυτό ταιριάζει καλύτερα στις ανάγκες εφαρμογών όπως το μοτέρ servo. Για διαφορετικές πλάτης παλμών PWM, πρέπει να προγραμματιστούν τα εσωτερικά μηνύματα ανάλογα.
Τώρα, πρέπει επίσης να ενημερώσουμε τον μικροελεγκτή πόσο πρέπει να περιστραφεί. Για αυτό το σκοπό, μπορούμε να χρησιμοποιήσουμε ένα απλό ποτεντιόμετρο και να χρησιμοποιήσουμε ένα ADC για να πάρουμε τη γωνία περιστροφής ή, για πιο πολύπλοκες εφαρμογές, μπορεί να χρησιμοποιηθεί ένα ακτινοδρομικό επιτάχυνσης.

Αλγόριθμος Προγράμματος
Ας σχεδιάσουμε το πρόγραμμα για τον έλεγχο ενός μοναδικού μοτέρ servo και το σήμα θέσης δίνεται μέσω του ποτεντιόμετρου που είναι συνδεδεμένο σε ένα πίνακα του ελεγκτή.
Αρχικοποίηση των πινάκων λιμανιού για είσοδο/έξοδο.
Ανάγνωση του ADC για την επιθυμητή θέση του servo.
Προγραμματισμός των μηνυμάτων PWM για την επιθυμητή τιμή.
Όμως, όταν ενεργοποιήσετε το μέρος PWM, το επιλεγμένο κανάλι PWM πάει ψηλά (λογική 1) και μετά την απαιτούμενη πλάτη, θα πάει ξανά χαμηλά (λογική 0). Έτσι, μετά την ενεργοποίηση του PWM, πρέπει να ξεκινήσετε ένα χρονομετρητή με καθυστέρηση περίπου 19 ms και να περιμένετε μέχρι να περισυμπληρωθεί ο χρονομετρητής. Πάτε στο βήμα 2
Υπάρχουν διάφορα μόντα PWM που μπορείτε να χρησιμοποιήσετε ανάλογα με τον μικροελεγκτή που επιλέξετε. Κάποια βαθμός βελτιστοποίησης πρέπει να γίνει στον κώδικα για τον έλεγχο του μοτέρ servo.
Εάν προτίθεστε να χρησιμοποιήσετε περισσότερα από ένα μοτέρ servo, θα χρειαστείτε τόσα PWM κανάλια. Σε κάθε μοτέρ μπορεί να δοθεί το σήμα PWM ακολουθικά. Αλλά πρέπει να προσέχετε ώστε να διατηρείται η συχνότητα επανάληψης των παλμών για κάθε μοτέρ. Αλλιώς, το μοτέρ θα χάσει τη συγχρονισμένη λειτουργία.