| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Comment créer une modulation de largeur d'impulsion (PWM) dans un module Verilog pour faire fonctionner un moteur /Servo
    Une modulation de largeur d'impulsion est un moyen de contrôler la rotation ou la position d'un moteur électrique ou servo. En utilisant Verilog HDL , je vais montrer comment il est facile d' utiliser les compteurs afin de créer un PWM. Choses que vous devez
    FPGA Xilinx ISE

    servo /moteur
    Voir Plus Instructions
    1

    Alors, comment fonctionne un PWM ?
    < p> avoir un signal rectangulaire périodique , nous changeons le cycle ( moduler ) d'être plus ou moins grande et donc de contrôler notre dispositif.

    Pourquoi utiliser un PWM ?

    c'est une simple numérique technique de conversion analogique qui ne nécessite pas un ADC .
    2

    Ok , laisse penser que les entrées , les sorties, les registres et les compteurs , nous aurons besoin et dont la conception que nous voulons créer .

    je veux utiliser les huit commutateurs sur la carte FPGA Spartan pour contrôler la façon dont mon moteur /servo se déplace ou comment rapide ou lent je veux que ça bouge

    Entrées: . horloge , 8 switchesOutputs : pwmRegisters : pwmCounters : 16 bit compteur ( vais vous expliquer pourquoi 16 bits tard )
    3

    savoir quelle est la vitesse d'horloge de votre FPGA et quelle période vous souhaitez utiliser .

    J'ai un Spartan FPGA avec une horloge 50MHz . Je voudrais rafraîchir le signal toutes les 1 milliseconde (t). Nous appliquons le calcul suivant pour trouver la période de forme d'onde (p )

    p = t * FPGA horloge

    Dans mon cas :

    p =, 001 secondes * 50MHz = 50000 Photos

    Connaissant mon p est important pour calculer mon retard de l'étape ( sd ) :

    sd = p /256 = 195

    Pourquoi ai-je fait 256? Je vais utiliser 8 interrupteurs pour contrôler mon servo /moteur , donc 2 ^ 8 = 256 .
    4

    Enfin nous voulons utiliser notre compteur que notre cycle de travail . Pour calculer le nombre de bits composent notre compteur que nous utilisons:

    log2 ( sd ) = nombre de bits est notre compteur

    Alors que le compteur est inférieure sd ( retard de l'étape ) multiplié par la valeur des commutateurs ( qui peut varier de 0 à 255) , c'est notre cycle de travail .

    Previous :

    next :
      articles connexes
    ·Comment faire pour convertir décimal en hexadécimal 
    ·Comment utiliser un formulaire MDI en C # 
    ·Comment désactiver une colonne dans un GridView par rô…
    ·Comment créer un Rollover image à l'aide HTML Program…
    ·Qui a inventé la programmation informatique 
    ·Comment modifier les propriétés dans un modèle CSS 
    ·Comment apprendre le langage structuré de requêtes 
    ·Tutoriels sur les algorithmes utilisés en infographie 
    ·Comment accéder à l' instar SQL Command 
    ·Comment écrire des dépendances externes pour un proje…
      articles en vedette
    ·Django Vs . Perl 
    ·Comment utiliser les opérateurs logiques en Java 
    ·Comment passer Fonctions argument en Visual Basic 
    ·Comment créer un arbre dans une liste de Java 
    ·Comment utiliser VBS pour couper le son 
    ·Comment créer un script de connexion PHP pour MySQL 
    ·Comment détecter le système d'exploitation avec JavaS…
    ·Comment additionner deux nombres avec JavaScript 
    ·Comment faire pour activer PHP dans les états MySQL 
    ·La différence de Python et Django 
    Copyright © Connaissances Informatiques http://fr.wingwit.com