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

DC Motor Control Arduino Uno R3: 6 βήματα
DC Motor Control Arduino Uno R3: 6 βήματα

Βίντεο: DC Motor Control Arduino Uno R3: 6 βήματα

Βίντεο: DC Motor Control Arduino Uno R3: 6 βήματα
Βίντεο: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Ιούλιος
Anonim
DC Motor Control Arduino Uno R3
DC Motor Control Arduino Uno R3

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

Βήμα 1: Στοιχεία

- Πίνακας Arduino Uno * 1

- Καλώδιο USB * 1

- L293D *1

- Μικρός κινητήρας DC * 1

- Breadboard * 1

- Καλώδια βραχυκυκλωτήρων

Βήμα 2: Αρχή

Το μέγιστο ρεύμα μιας θύρας εισόδου/εξόδου Arduino είναι 20mA, αλλά το ρεύμα κίνησης ενός κινητήρα είναι τουλάχιστον 70mA. Επομένως, δεν μπορούμε να χρησιμοποιήσουμε απευθείας τη θύρα εισόδου/εξόδου για να οδηγήσουμε το ρεύμα. Αντ 'αυτού, μπορούμε να χρησιμοποιήσουμε ένα L293D για να οδηγήσουμε τον κινητήρα. L293D Το L293D έχει σχεδιαστεί για να παρέχει αμφίδρομα ρεύματα κίνησης έως 600mA σε τάσεις από 4,5V έως 36V. Χρησιμοποιείται για την οδήγηση επαγωγικών φορτίων όπως ρελέ, σωληνοειδών, DC και διπολικών βηματικών κινητήρων, καθώς και άλλων φορτίων υψηλής τάσης/υψηλής τάσης σε εφαρμογές θετικής τροφοδοσίας.

Δείτε το σχήμα των πινέζων παρακάτω. Το L293D διαθέτει δύο ακίδες (Vcc1 και Vcc2) για παροχή ρεύματος. Το Vcc2 χρησιμοποιείται για την τροφοδοσία του κινητήρα, ενώ το Vcc1, για το τσιπ. Δεδομένου ότι χρησιμοποιείται ένας κινητήρας DC μικρού μεγέθους, συνδέστε και τις δύο ακίδες σε +5V. Εάν χρησιμοποιείτε κινητήρα υψηλότερης ισχύος, πρέπει να συνδέσετε το Vcc2 σε εξωτερικό τροφοδοτικό.

Βήμα 3: Το σχηματικό διάγραμμα

Το σχηματικό διάγραμμα
Το σχηματικό διάγραμμα

Βήμα 4: Διαδικασίες

Διαδικασίες
Διαδικασίες
Διαδικασίες
Διαδικασίες

Ο ακροδέκτης Enable 1, 2EN του L293D είναι ήδη συνδεδεμένος με 5V, οπότε το L293D είναι πάντα σε κατάσταση λειτουργίας. Συνδέστε τους πείρους 1Α και 2Α στον πείρο 9 και 10 της πλακέτας ελέγχου αντίστοιχα. Οι δύο ακίδες του κινητήρα συνδέονται με τους πείρους 1Y και 2Y αντίστοιχα. Όταν ο πείρος 10 έχει οριστεί ως Υψηλό επίπεδο και ο Πείρος 9 ως Χαμηλός, ο κινητήρας θα αρχίσει να περιστρέφεται προς μία κατεύθυνση. Όταν ο πείρος 10 είναι χαμηλός και ο πείρος 9 είναι υψηλός, περιστρέφεται προς την αντίθετη κατεύθυνση.

Βήμα 1:

Δημιουργήστε το κύκλωμα.

Βήμα 2:

Κατεβάστε τον κώδικα από τη διεύθυνση

Βήμα 3:

Ανεβάστε το σκίτσο στον πίνακα Arduino Uno

Κάντε κλικ στο εικονίδιο Μεταφόρτωση για να ανεβάσετε τον κωδικό στον πίνακα ελέγχου.

Εάν η ένδειξη "Done uploading" εμφανίζεται στο κάτω μέρος του παραθύρου, σημαίνει ότι το σκίτσο έχει μεταφορτωθεί επιτυχώς.

Τώρα, η λεπίδα του κινητήρα DC θα αρχίσει να περιστρέφεται αριστερά και δεξιά, με ταχύτητα που ποικίλλει ανάλογα.

Βήμα 5: Κωδικός

Κώδικας
Κώδικας

// Έλεγχος κινητήρα DC

// Ο κινητήρας DC

θα αρχίσει να περιστρέφεται αριστερά και δεξιά και η ταχύτητά του θα ποικίλει ανάλογα.

// Ιστοσελίδα: www.primerobotics.in

/***************************************/

const int motorIn1

= 9; // στερεώστε σε έναν από τους πείρους του κινητήρα

const int motorIn2

= 10; // στερεώστε σε άλλο πείρο του κινητήρα

/***************************************/

void setup ()

{

pinMode (motorIn1, OUTPUT); // αρχικοποιήστε την ακίδα motorIn1 ως έξοδο

pinMode (motorIn2, OUTPUT); // αρχικοποιήστε την ακίδα motorIn2 ως έξοδο

}

/****************************************/

κενός βρόχος ()

{

δεξιόστροφα (200)? //Γυρίστε με την φορά του ρολογιού

καθυστέρηση (1000)?

// περιμένετε ένα δευτερόλεπτο

αριστερόστροφα (200). // περιστροφή αριστερόστροφα

καθυστέρηση (1000)?

// περιμένετε ένα δευτερόλεπτο

}

/****************************************

/Η λειτουργία προς

ο κινητήρας κίνησης περιστρέφεται δεξιόστροφα

κενό δεξιόστροφα (ενδ

Ταχύτητα)

{

analogWrite (motorIn1, Speed); // ρυθμίστε την ταχύτητα του κινητήρα

analogWrite (motorIn2, 0); // σταματήστε τον πείρο του μοτέρ motorIn2

}

// Η λειτουργία για οδήγηση

ο κινητήρας περιστρέφεται αριστερόστροφα

κενός

αριστερόστροφα (int Speed)

{

analogWrite (motorIn1, 0); // σταματήστε τον ακροδέκτη του μοτέρIn1 του κινητήρα

analogWrite (motorIn2, Speed); // ρυθμίστε την ταχύτητα του κινητήρα

}

/****************************************/

Συνιστάται: