| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Cómo crear una modulación de ancho de pulso (PWM ) en un módulo de Verilog para ejecutar un motor /servo
    Una modulación de ancho de pulso es una manera de controlar la rotación o la posición de un motor eléctrico o servo . Utilizando Verilog HDL , voy a demostrar lo fácil que es utilizar contadores con el fin de crear un pwm . Cosas que necesitará
    Xilinx ISE
    FPGA
    Servo /motor
    Ver Más instrucciones
    1

    Entonces, ¿cómo funciona un pwm ?
    < p> tener una señal rectangular periódica , cambiamos el ciclo de trabajo ( modular ) para ser más pequeño o más grande y por lo tanto controlar nuestro dispositivo.

    Por qué utilizar un PWM ?

    es un sencillo digital técnica de conversión analógica que no requiere de un ADC .
    2

    Ok , por lo que permite pensar que las entradas, salidas, registros y contadores vamos a necesitar y que el diseño que desee crear .

    quiero usar los ocho interruptores en el tablero FPGA Spartan para controlar cómo mi motor /servo se mueve o qué tan rápido o lento que quieren que se mueva

    Entradas: reloj, 8 . switchesOutputs : pwmRegisters : pwmCounters : 16 bit contador ( a explicar por qué 16 bits después)
    3

    saber cuál es la velocidad de reloj de la FPGA y qué período desea utilizar.

    tengo un Spartan tarjeta FPGA con un reloj de 50MHz . Me gustaría actualizar la señal de cada 1 milisegundo (t ) . Aplicamos el siguiente cálculo para encontrar el período de forma de onda ( p )

    p = t * FPGA reloj

    En mi caso :

    p = 0,001 segundos * 50 MHz 50000

    Conociendo mi p es importante para el cálculo de mi tardanza paso ( sd ) :

    sd = p /256 = 195

    ¿Por qué yo uso 256 ? Me va a utilizar 8 interruptores para controlar mi servo /del motor , por lo que 2 ^ 8 = 256.
    4

    Finalmente queremos usar nuestro contador como nuestro ciclo de trabajo . Para calcular la cantidad de bits componen nuestro contador usamos :

    log2 ( sd ) = la cantidad de bits es nuestro contador

    Mientras que el contador es inferior sd (retardo de paso ), multiplicado por el valor de los interruptores (que puede variar de 0 a 255) , éste es nuestro ciclo de trabajo .

    Previous :

    next :
      Artículos relacionados
    ·Cómo hacer TI84 Flash Apps 
    ·Cómo configurar un DataTable DataGrid para rellenar Tr…
    ·Cómo obtener SoapClient para enviar un encabezado Acce…
    ·¿Qué es Interleave Codificación 
    ·Propósito de la enseñanza Diagrama de flujo de Análi…
    ·Cómo descompilar Juegos flash 
    ·El límite de caracteres de cuadros de entrada de HTML 
    ·Cómo seleccionar un valor en JSP 
    ·Cómo calcular el valor grande Integer Endian 
    ·Cómo deshabilitar una columna en un GridView Rol 
      Artículos destacados
    ·Cómo limitar MagpieRSS Mensajes 
    ·Cómo cambiar el Tipo frase en PHP 
    ·Cómo actualizar Gridview Ancho de columna 
    ·Cómo conseguir una caja desplegable en VBA 
    ·¿Cómo hacer raíces cuadradas en Visual Basic 
    ·PHP Byte conversión 
    ·Cómo crear una pirámide de doble cara en Java para el…
    ·Cómo mostrar la primera parte del párrafo en PHP 
    ·Cómo solucionar un error de ejecución de ASP.NET 
    ·Cómo Ingresar a Zangle Usando Python 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com