Πίνακας περιεχομένων:
- Βήμα 1: Κατάδυση σε φύλλο δεδομένων και πηγαίο κώδικα - Ταχύτητα ρολογιού
- Βήμα 2: Ρύθμιση μητρώων UART
- Βήμα 3: Ρυθμίσεις PWM
- Βήμα 4: Αποτέλεσμα
Βίντεο: Atmega128A Proportional Motor Driving - ATMEL ICE AVR Timer UART PWM Control: 4 Steps
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Σε αυτό το διδακτικό, θα σας εξηγήσω πώς να το κάνετε
- ελέγξτε έναν κινητήρα DC με PWM
- επικοινωνήστε μέσω UART
- χειριστεί τις διακοπές του χρονοδιακόπτη
Πρώτα απ 'όλα, θα χρησιμοποιήσουμε έναν πίνακα ανάπτυξης συστήματος AVR Core τον οποίο μπορείτε να βρείτε στο Aliexpress περίπου 4 USD. Ο σύνδεσμος του πίνακα ανάπτυξης είναι εδώ. Θα χρησιμοποιήσουμε επίσης το Atmel ICE Debugger και το Atmel Studio για τον προγραμματισμό και τον εντοπισμό σφαλμάτων του λογισμικού μας.
Βήμα 1: Κατάδυση σε φύλλο δεδομένων και πηγαίο κώδικα - Ταχύτητα ρολογιού
Στο 1. η σφαίρα ορίζουμε την κρυσταλλική μας συχνότητα όπου μπορούμε να δούμε στον πίνακα ανάπτυξης
Βήμα 2: Ρύθμιση μητρώων UART
Για να επικοινωνήσετε με το UART πρέπει να ορίσετε σωστά τα μητρώα USART Baud Rate - UBRRnL και UBRRnH μπορείτε να τα υπολογίσετε μόνοι σας ή μπορείτε να χρησιμοποιήσετε την ηλεκτρονική αριθμομηχανή για να λάβετε εύκολα τις σωστές τιμές
Online Υπολογιστής
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Έτσι, η τιμή MYUBBR υπολογίζεται στη συνέχεια, Στο μητρώο UCSR0B ενεργοποιούμε το RXEN0 (ενεργοποίηση επανασύνδεσης) TXEN0 (ενεργοποίηση μετάδοσης) και το RXCIE0 (RX για διακοπή). Στο μητρώο UCSR0C επιλέγουμε μέγεθος 8 bit κάρτας.
Αφού ορίσουμε το bit διακοπής RX, θα πρέπει να προσθέσουμε τη λειτουργία ISR για το USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; if (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar; bufferIndex ++; }}
Δεν πρέπει να κάνετε καμία επιχειρηματική λογική στη ρουτίνα παροχής υπηρεσιών διακοπής. Πρέπει να κάνετε τη συνάρτηση να επιστρέψει το συντομότερο δυνατό.
Βήμα 3: Ρυθμίσεις PWM
Στη λειτουργία initPWM ορίζουμε τον κλιμακωτή ρολογιού CPU, τη λειτουργία χρονοδιακόπτη/μετρητή ως γρήγορο PWM και ορίζουμε τη συμπεριφορά του με bit COM
Θα πρέπει επίσης να συνδέσουμε το μοτέρ DC με τον ακροδέκτη OC2 που καθορίζεται στον πίνακα 66. Συγκρίνετε τη λειτουργία εξόδου, τη γρήγορη λειτουργία PWM στο φύλλο δεδομένων μας, θα δείτε επίσης ότι η ακίδα OC2 είναι (OC2/OC1C) PB7
Βήμα 4: Αποτέλεσμα
Όταν ανεβάζετε τον πηγαίο κώδικα στο συνημμένο.
Μπορείτε να εισαγάγετε μια νέα τιμή PWM (0-255) από το UART (μπορείτε να χρησιμοποιήσετε τερματικό σειριακής θύρας arduino) για να ρυθμίσετε την ταχύτητα του κινητήρα DC.
Συνιστάται:
Servo Control χρησιμοποιώντας 555 IC Timer Timer: 3 βήματα
Control Servo Using 555 Timer IC: Το πρώτο μου εκπαιδευτικό ήταν ο " Έλεγχος Servos χρησιμοποιώντας Analog Joystick ". Από τότε έχω μοιραστεί μερικά έργα που χρειάζονταν servos για παράδειγμα: Robotic arm and Face tracker. Χρησιμοποιούσαμε πάντα έναν μικροελεγκτή για τον έλεγχο των servos. Αλλά για να
A Tiny Bass Preamp and Effects Box: Black Ice, Electra Fuzz: 9 Steps (with Pictures)
A Tiny Bass Preamp and Effects Box: Black Ice, Electra Fuzz: Σε αυτόν τον οδηγό θα δείξω πώς μπορείτε να φτιάξετε τον δικό σας προ-ενισχυτή μπάσου/κιθάρας και κιβώτιο εφέ. Επιλέγω να φτιάξω ένα υβριδικό κουτί εφέ, το οποίο αναμιγνύει το κοινό φαινόμενο παραμόρφωσης "Black Ice" ή "Electra Distortion" με το εφέ fuzz "Bazz Fuss"
Ultimate Dry Ice Fog Machine - Bluetooth Controlled, Battery Powered and 3D Printed .: 22 Steps (with Pictures)
Ultimate Dry Ice Fog Machine - Bluetooth Controlled, Battery Powered and 3D Printed: Χρειάστηκα πρόσφατα μια μηχανή Dry Ice για κάποια θεατρικά εφέ για μια τοπική παράσταση. Ο προϋπολογισμός μας δεν θα επεκταθεί στην πρόσληψη σε επαγγελματία, οπότε αυτό είναι που έφτιαξα. Είναι κυρίως τρισδιάστατη εκτύπωση, που ελέγχεται εξ αποστάσεως μέσω bluetooth, μπαταρία
DC Motor Driving Using H Bridge: 9 Βήματα
DC Motor Driving Using H Bridge: Γεια σας παιδιά! Σε αυτό το διδακτικό, θα σας δείξω πώς να φτιάξετε μια γέφυρα H - ένα απλό ηλεκτρονικό κύκλωμα που μας επιτρέπει να εφαρμόζουμε τάση στο φορτίο προς οποιαδήποτε κατεύθυνση. Συνήθως χρησιμοποιείται στην εφαρμογή ρομποτικής για τον έλεγχο της DC Motors. Χρησιμοποιώντας το H Brid
Tree of Life (Arduino Capacitive Touch Sensor Driving Servo Motor): 6 βήματα (με εικόνες)
Tree of Life (Arduino Capacitive Touch Sensor Driving Servo Motor): Για αυτό το έργο φτιάξαμε ένα δέντρο που δίνει ρύζι, το οποίο αποτελείται από έναν χωρητικό αισθητήρα αφής και έναν σερβοκινητήρα. Όταν αγγίξετε το χαλάκι, ο σερβοκινητήρας θα ενεργοποιηθεί και το ρύζι (ή ό, τι θέλετε να βάλετε σε αυτό) θα απελευθερωθεί. Ακολουθεί ένα σύντομο βίντεο