Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργία ηλεκτρονικού κυκλώματος
- Βήμα 2: Ρύθμιση Pin Planner
- Βήμα 3: Κώδικας Verilog
- Βήμα 4: Μεταφόρτωση κώδικα Verilog
Βίντεο: FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το σεμινάριο, πρόκειται να γράψουμε κώδικα Verilog για τον έλεγχο του σερβοκινητήρα. Ο σερβο SG-90 κατασκευάζεται από την Waveshare. Όταν αγοράζετε τον σερβοκινητήρα, ενδέχεται να λάβετε ένα φύλλο δεδομένων που αναφέρει την τάση λειτουργίας, τη μέγιστη ροπή και την προτεινόμενη διαμόρφωση πλάτους παλμού (PWM)… κλπ. Ωστόσο, το FPGA DuePrologic παρέχει τάση εισόδου 3,3V όπου η τάση λειτουργίας του servo SG -90 είναι 5V - 7V. Λόγω έλλειψης ηλεκτρικής ενέργειας, θα απαριθμήσω το βαθμονομημένο PWM μου για να περιστρέψω με επιτυχία τον σερβοκινητήρα.
Καθήκον μας: Ο σερβοκινητήρας περιστρέφεται μπρος -πίσω με την περίοδο των 5 δευτερολέπτων
Πλήρες μενού:
Βήμα 1: Δημιουργία ηλεκτρονικού κυκλώματος
Βήμα 2: Ρύθμιση Pin Planner
Κάντε κλικ στην επιλογή "Έναρξη ανάλυσης εκχώρησης εισόδου/εξόδου" για να ελέγξετε εάν ο προγραμματιστής pin έχει ρυθμιστεί σωστά. Διαφορετικά, πρέπει να εισαγάγετε μόνοι σας όλα τα ονόματα θυρών.
Βήμα 3: Κώδικας Verilog
Δημιουργούμε ένα χρονόμετρο "servo_count". Όταν το "servo_A" είναι Υ HIGHΗΛΟ, το PWM είναι 1,5ms και συνεπώς το σερβο βρίσκεται στους 120 βαθμούς. Αντίθετα, όταν το "servo_A" είναι ΧΑΜΗΛΟ, το PWM είναι 0,15ms και συνεπώς το σερβο παραμένει σε 0 μοίρα.
εκχώρηση XIO_2 [3] = σερβο_παλμός; // για V '
reg [31: 0] servo_count;
αρχική έναρξη
servo_count <= 32'b0;
servo_A <= 1'b0;
τέλος
πάντα @(posedge CLK_66)
να αρχίσει
servo_count <= servo_count + 1'b1;
εάν (servo_count> 400000000) // Κύκλος ρολογιού 66MHz, 1/66M * 400000000 ~ 5 δευτερόλεπτα
να αρχίσει
servo_A <=! servo_A;
servo_count <= 32'b0;
τέλος
τέλος
reg [31: 0] ex_auto;
αρχική έναρξη
ex_auto <= 32'b0;
servo_auto <= 1'b0;
τέλος
πάντα @(posedge CLK_66)
να αρχίσει
εάν (servo_A == 1'b1)
να αρχίσει
ex_auto <= ex_auto + 1'b1;
εάν (ex_auto> 100000) // Κύκλος ρολογιού 66MHz, αυτό το PWM είναι ms 1.5ms, το σερβο στρέφεται στους 120 βαθμούς
να αρχίσει
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
τέλος
τέλος
εάν (servo_A == 1'b0)
να αρχίσει
ex_auto <= ex_auto + 1'b1;
εάν (ex_auto> 10000) // Κύκλος ρολογιού 66MHz, αυτό το PWM είναι ~ 0.15ms, ο σερβο περιστρέφεται στους 0 βαθμούς
να αρχίσει
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
τέλος
τέλος
τέλος
Βήμα 4: Μεταφόρτωση κώδικα Verilog
Κάντε κλικ στην επιλογή "Έναρξη σύνταξης". Εάν δεν εμφανίζεται κανένα μήνυμα σφάλματος, μεταβείτε στο "Προγραμματιστής" για να ολοκληρώσετε τη ρύθμιση υλικού. Θυμηθείτε να ενημερώσετε το αρχείο pof στο "Αλλαγή αρχείου" εάν είναι απαραίτητο. Κάντε κλικ στο "Έναρξη" για να ανεβάσετε τον κώδικα.
Μετά από όλα, θα πρέπει να δείτε ότι ο σερβοκινητήρας περιστρέφεται περιοδικά.
Συνιστάται:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: 5 βήματα
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: Παρά το γεγονός ότι το FPGA DueProLogic έχει σχεδιαστεί επίσημα για το Arduino, θα κάνουμε το FPGA και το Raspberry Pi 4B επικοινωνιακά. Τρεις εργασίες υλοποιούνται σε αυτό το σεμινάριο: (A) Πατήστε ταυτόχρονα τα δύο κουμπιά FPGA για αναστροφή της γωνίας
FPGA Cyclone IV DueProLogic - Push Button & LED: 5 Βήματα
FPGA Cyclone IV DueProLogic - Push Button & LED: Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το FPGA για τον έλεγχο εξωτερικού κυκλώματος LED. Θα υλοποιήσουμε τις ακόλουθες εργασίες (Α) Χρησιμοποιήστε τα κουμπιά στο FPGA Cyclone IV DuePrologic για τον έλεγχο της λυχνίας LED. (Β) Αναβοσβήνει το LED & απενεργοποιείται περιοδικάVideo demo Lab
Construindo Controls Para Makey Makey: 6 βήματα
Construindo Controles Para Makey Makey: A construção de controles personalizados para Makey Makey podem serimadaisas com as crianças antes de iniciar os jogos. Μια διάσκεψη είναι απλή: 1) Φαίνεται ότι θέλετε να κάνετε εικόνα μέσω διαδικτύου (OBS: Você deve estar atento para a quantidade d
Fpga Controlled RC Servo Motor Robot Arm - Digilent Contest: 3 Steps
Fpga Controlled RC Servo Motor Robot Arm - Digilent Contest: FPGA ελεγχόμενος βραχίονας ρομπότ σερβοκινητήρα Ο στόχος αυτού του έργου είναι να δημιουργήσει ένα προγραμματιζόμενο σύστημα που μπορεί να εκτελέσει εργασίες συγκόλλησης σε πίνακα τέχνης. Το σύστημα βασίζεται στον πίνακα ανάπτυξης Digilent Basys3 και θα μπορεί να κολλήσει
Ultrasonic Pi Piano With Gesture Controls !: 10 βήματα (με εικόνες)
Ultrasonic Pi Piano With Gesture Controls !: Αυτό το έργο χρησιμοποιεί φθηνούς αισθητήρες υπερήχων HC-SR04 ως εισόδους και δημιουργεί σημειώσεις MIDI που μπορούν να παιχτούν μέσω ενός συνθεσάιζερ στο Raspberry Pi για ήχο υψηλής ποιότητας. Το έργο χρησιμοποιεί επίσης μια βασική μορφή χειρονομίας , όπου η μουσική