L298N: μονάδα ελέγχου κινητήρων για το Arduino

L298n

Υπάρχουν πολλές ενότητες για το Arduino ή για χρήση σε έργα DIY από κατασκευαστές. Σε περίπτωση που Το L298N είναι μια μονάδα ελέγχου κινητήρων. Με αυτά μπορείτε να χρησιμοποιήσετε απλούς κωδικούς προγραμματίστε τον πίνακα Arduino και να μπορείτε να ελέγχετε τους κινητήρες DC με απλό και ελεγχόμενο τρόπο. Γενικά, αυτός ο τύπος μονάδας χρησιμοποιείται περισσότερο στη ρομποτική ή σε ενεργοποιητές που χρησιμοποιούν κινητήρες, αν και μπορεί να χρησιμοποιηθεί για πολλές εφαρμογές.

Έχουμε ήδη εισαγάγει όλα όσα χρειάζεστε η μονάδα ESP, με τσιπ ESP8266, μια μονάδα που επιτρέπει την επέκταση των δυνατοτήτων Πίνακες Arduino και άλλα έργα, ώστε να έχουν συνδεσιμότητα WiFi. Αυτές οι ενότητες δεν μπορούν μόνο να χρησιμοποιηθούν μεμονωμένα, το καλό είναι ότι μπορούν να συνδυαστούν. Για παράδειγμα, ένα ESP8266 μπορεί να χρησιμοποιηθεί για το πρωτότυπο και το L298N, με το οποίο θα έχουμε έναν ελεγχόμενο κινητήρα μέσω του Διαδικτύου ή ασύρματου.

Εισαγωγή στο L298N και φύλλα δεδομένων:

L298n pinout

Αν και με το Arduino μπορείτε επίσης να εργαστείτε με κινητήρες stepper, οι οποίοι είναι γνωστοί στη ρομποτική, σε αυτήν την περίπτωση είναι συνήθως πιο συνηθισμένο να χρησιμοποιείτε το χειριστήριο πρόγραμμα οδήγησης για κινητήρες DC. Μπορείτε να λάβετε πληροφορίες σχετικά με το τσιπ L298 και τις ενότητες στα φύλλα δεδομένων των κατασκευαστών, όπως STMicroelectronics από αυτόν τον σύνδεσμο. Εάν θέλετε να δείτε ένα δελτίο δεδομένων της συγκεκριμένης μονάδας και όχι μόνο το τσιπ, μπορείτε να κατεβάσετε αυτό το άλλο PDF του Handsontec L298N.

Σε γενικές γραμμές, ένα L298N είναι ένας οδηγός τύπου H-bridge που επιτρέπει τον έλεγχο της ταχύτητας και της κατεύθυνσης περιστροφής των κινητήρων DC. Μπορεί επίσης να χρησιμοποιηθεί με κινητήρες stepper χάρη στα 2 H-γέφυρα που εφαρμόζει. Δηλαδή, μια γέφυρα στο Η, που σημαίνει ότι σχηματίζεται από 4 τρανζίστορ που θα επιτρέψουν την αντιστροφή της κατεύθυνσης του ρεύματος έτσι ώστε ο ρότορας του κινητήρα να μπορεί να περιστρέφεται κατά τη μία ή την άλλη κατεύθυνση όπως θέλουμε. Αυτό είναι ένα πλεονέκτημα έναντι των ελεγκτών που σας επιτρέπουν μόνο να ελέγχετε την ταχύτητα περιστροφής (RPM) ελέγχοντας μόνο την τιμή της τάσης τροφοδοσίας.

Το L298N μπορεί να λειτουργήσει με διάφορα τάσεις, από 3v έως 35v, και σε ένταση 2Α. Αυτό θα καθορίσει πραγματικά την απόδοση ή την ταχύτητα περιστροφής του κινητήρα. Πρέπει να ληφθεί υπόψη ότι τα ηλεκτρονικά που καταναλώνει η μονάδα καταναλώνουν συνήθως περίπου 3v, οπότε ο κινητήρας θα λαμβάνει πάντα 3v λιγότερο από την ισχύ στην οποία το τροφοδοτούμε. Είναι κάπως υψηλή κατανάλωση, στην πραγματικότητα έχει ένα στοιχείο υψηλής ισχύος που χρειάζεται ψύκτρα όπως μπορείτε να δείτε στην εικόνα.

Για να ελέγξετε την ταχύτητα, μπορείτε να κάνετε κάτι αντίστροφο με αυτό που κάναμε με το LM35, σε αυτήν την περίπτωση, αντί να λάβετε μια ορισμένη τάση στην έξοδο και να την μετατρέψετε σε μοίρες, εδώ θα είναι το αντίθετο. Τροφοδοτούμε τον οδηγό με χαμηλότερη ή υψηλότερη τάση για λήψη μια πιο γρήγορη ή πιο αργή στροφή. Επιπλέον, η μονάδα L298N επιτρέπει επίσης την τροφοδοσία της πλακέτας Arduino στα 5v εφ 'όσον τροφοδοτούμε τον οδηγό με τουλάχιστον 12V τάση.

Ενσωμάτωση με το Arduino

διάγραμμα κυκλώματος l298n με Arduino

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

Πριν από την εργασία με το L298N πρέπει να λάβουμε υπόψη ότι η είσοδος της μονάδας ή Vin υποστηρίζει τάσεις μεταξύ 3v και 35v και ότι πρέπει επίσης να το συνδέσουμε με τη γείωση ή το GND, όπως φαίνεται στην εικόνα με το κόκκινο και το μαύρο καλώδιο αντίστοιχα. Μόλις συνδεθεί με την ισχύ, το επόμενο πράγμα είναι να συνδέσετε τον κινητήρα ή τους δύο κινητήρες που δέχεται να ελέγχει ταυτόχρονα. Αυτό είναι απλό, πρέπει μόνο να συνδέσετε τους δύο ακροδέκτες του κινητήρα στην καρτέλα σύνδεσης που έχει τη μονάδα σε κάθε πλευρά.

Και τώρα έρχεται ίσως το πιο περίπλοκο, και είναι να συνδέσετε τις συνδέσεις της μονάδας ή καρφίτσες στο Arduino's σωστά. Θυμηθείτε ότι εάν ο βραχυκυκλωτήρας της μονάδας ή η γέφυρα ρυθμιστή είναι κλειστή, δηλαδή, ενεργοποιείται ο ρυθμιστής τάσης της μονάδας και υπάρχει έξοδος 5v που μπορείτε να χρησιμοποιήσετε για να τροφοδοτήσετε την πλακέτα Arduino. Από την άλλη πλευρά, εάν αφαιρέσετε τον βραχυκυκλωτήρα, απενεργοποιείτε τον ρυθμιστή και πρέπει να ενεργοποιήσετε το Arduino ανεξάρτητα. μάτι! Επειδή ο βραχυκυκλωτήρας μπορεί να ρυθμιστεί μόνο σε τάσεις 12v, για περισσότερο από αυτό πρέπει να το αφαιρέσετε ώστε να μην προκαλέσετε ζημιά στη μονάδα ...

Μπορείτε να το εκτιμήσετε αυτό υπάρχουν 3 συνδέσεις για κάθε κινητήρα. Αυτά που σημειώνονται ως IN1 έως IN4 είναι αυτά που ελέγχουν τους κινητήρες A και B. Εάν δεν έχετε έναν από τους κινητήρες συνδεδεμένους επειδή χρειάζεστε μόνο έναν, τότε δεν θα χρειαστεί να τα βάλετε όλα. Οι άλτες σε κάθε πλευρά αυτών των συνδέσεων για κάθε κινητήρα είναι ENA και ENB, δηλαδή, για να ενεργοποιήσουν τον κινητήρα A και B, οι οποίοι πρέπει να υπάρχουν εάν θέλουμε να λειτουργούν και οι δύο κινητήρες.

να κινητήρας Α (Θα ήταν το ίδιο για το B), πρέπει να έχουμε συνδεδεμένα IN1 και IN2 που θα ελέγχουν την κατεύθυνση περιστροφής. Εάν το IN1 είναι σε ΥΨΗΛΟ και το ΙΝ2 σε ΧΑΜΗΛΟ, ο κινητήρας περιστρέφεται προς τη μία κατεύθυνση και αν είναι σε ΧΑΜΗΛΟ και ΥΨΟΣ, γυρίζει στην άλλη. Για να ελέγξετε την ταχύτητα περιστροφής πρέπει να αφαιρέσετε τους βραχυκυκλωτήρες INA ή INB και να χρησιμοποιήσετε τους ακροδέκτες που φαίνεται να το συνδέουν με το Arduino PWM, έτσι ώστε αν του δώσουμε μια τιμή από 0 έως 255 θα έχουμε χαμηλή ή υψηλότερη ταχύτητα αντίστοιχα.

Όσον αφορά ο προγραμματισμός είναι επίσης εύκολος στο Arduino IDE. Για παράδειγμα, ένας κωδικός θα ήταν:

<pre>// Motor A
int ENA = 10;
int IN1 = 9;
int IN2 = 8;

// Motor B
int ENB = 5;
int IN3 = 7;
int IN4 = 6;

void setup ()
{
 // Declaramos todos los pines como salidas
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
//Mover los motores a pleno rendimiento (255), si quieres bajar la velocidad puedes reducir el valor hasta la mínima que son 0 (parados)</pre>
<pre>//Para mover los motores en sentido de giro contrario, cambia IN1 a LOW e IN2 a HIGH

void Adelante ()
{
 //Direccion motor A
 digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 255); //Velocidad motor A
 //Direccion motor B
 digitalWrite (IN3, HIGH);
 digitalWrite (IN4, LOW);
 analogWrite (ENB, 255); //Velocidad motor B
}</pre>

Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.