Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να δημιουργήσετε ένα Pulse Width Modulation ( PWM) σε μια ενότητα Verilog για να τρέξει μια Motor /Servo

Η διαμόρφωση εύρους παλμού είναι ένας τρόπος για να ελέγχουν την περιστροφή ή τη θέση ενός ηλεκτροκινητήρα ή σερβο . Χρησιμοποιώντας Verilog HDL , εγώ θα σας δείξει πόσο εύκολο είναι να χρησιμοποιήσετε τους μετρητές , προκειμένου να δημιουργηθεί ένα PWM . Τα πράγματα που θα χρειαστείτε
Xilinx ISE FPGA

Servo /κινητήρα
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Λοιπόν, πώς λειτουργεί ένα pwm ;

Έχοντας ένα περιοδικό ορθογώνια σήματα , αλλάζουμε τον κύκλο ( ρυθμίζουν ) να είναι μικρότερο ή μεγαλύτερο και συνεπώς έλεγχο της συσκευής μας .

Γιατί να χρησιμοποιήσετε ένα PWM ;

είναι ένα απλό ψηφιακό σε αναλογική τεχνική μετατροπή που δεν απαιτεί ένα ADC . 2

Ok , οπότε ας σκεφτούμε τι εισροές, τις εκροές , τα μητρώα και μετρητές θα πρέπει και οι οποίες σχεδιασμό που θέλουμε να δημιουργήσουμε .

Θέλω να χρησιμοποιήσω τα οκτώ διακόπτες στο ταμπλό Σπαρτιάτης FPGA να ελέγχουν το πώς κινείται με κινητήρα /σερβο μου ή πόσο γρήγορα ή αργά θα ήθελα να μετακινήσετε

Είσοδοι : . ρολόι , 8 switchesOutputs : pwmRegisters : pwmCounters : 16 bit counter ( θα εξηγήσω γιατί 16 bits αργότερα )
εικόνων 3

ξέρετε ποια είναι η ταχύτητα ρολογιού του FPGA σας και ποιο χρονικό διάστημα θα θέλατε να χρησιμοποιήσετε .

έχω ένα Spartan FPGA συμβούλιο με ένα ρολόι 50MHz . Θα ήθελα να ανανεώσετε το σήμα κάθε 1 χιλιοστό του δευτερολέπτου ( t ) . Εφαρμόζουμε τον ακόλουθο υπολογισμό για να βρείτε την περίοδο κυματομορφή ( p)

p = t * ρολόι FPGA

Στην περίπτωσή μου :

p = 0,001 δευτερόλεπτα * 50MHz = 50000

Γνωρίζοντας p μου είναι σημαντικό , προκειμένου να υπολογιστεί το βήμα καθυστέρηση μου ( sd ) :

sd = p /256 = 195

Γιατί μπορώ να χρησιμοποιήσω 256 ; Θα πρέπει να χρησιμοποιούν 8 διακόπτες για τον έλεγχο μου σερβο /κινητήρα , έτσι 2 ^ 8 = 256 .
Η 4

Τέλος θέλουμε να χρησιμοποιήσουμε μετρητή μας, όπως τον κύκλο καθήκον μας . Για να υπολογίσετε πόσα bits συνθέτουν πάγκο μας χρησιμοποιούμε :

log2 ( sd ) = πόσα bits είναι αντιπαραγωγική μας

Αν ο μετρητής είναι μικρότερη από sd ( στάδιο καθυστέρησης) πολλαπλασιάζεται με την αξία διακόπτες ( η οποία μπορεί να κυμαίνεται από 0 έως 255 ) , αυτό είναι το καθήκον μας κύκλο .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα