¿PLD, FPGA o microcontrolador para decodificar PWM?

2

Necesito manejar la salida PWM desde un solo canal de un receptor R / C. Quiero contar el ancho del pulso aproximadamente en incrementos de 4 ms y, en función de los distintos anchos, tomar medidas activando y desactivando los LED (20-40 mA).

Sé cómo hacerlo con un Arduino, pero me gustaría saber si es posible hacer lo mismo con un dispositivo programable más simple (y más barato) como un CPLD o un FPGA a pequeña escala. Básicamente necesito cronometrar los bordes del pulso y administrar los estados de encendido y apagado de las salidas. Si las salidas pueden hundir la corriente del LED, así que no necesito agregar transistores, eso sería una ventaja. Idealmente, me gustaría poder manejar el estado estable y el flasheo.

Parece que hay muchas partes que pueden generar PWM (es decir, controladores de motor) pero no tantos ejemplos de decodificación PWM, aparte de los ejemplos de Arduino. ¿Qué dispositivo (s) utilizarías para resolver este problema?

    
pregunta Henry G

2 respuestas

2

Con una temporización de 4 ms, un microcontrolador estará bien. Use un arduino para el método menos complejo y lento de leer su pulso de 4 ms. No estoy seguro de cómo funcionan los temporizadores, pero aquí hay información: enlace

Sé que las placas del núcleo stm32f4 tienen un temporizador de 32 bits en algunas de las patillas si realmente necesita la precisión. Los compiladores son más difíciles de encontrar para esos tableros, pero creo que tienen uno para el núcleo ahora que es gratis. Pasará más tiempo buscando y familiarizándose con las herramientas.

Si realmente quieres usar un FPGA, los MAX10 de Altera son una de las mejores apuestas. puede obtener una placa de desarrollo y un programador por 100 $ Y las herramientas funcionarán de forma gratuita (quartus prime web edition) siempre y cuando no quiera poner nada sofisticado en la placa como un núcleo de brazo (todavía puede ejecutar su IP pagada pero tienes que estar atado a su software). Probablemente pasará un mínimo de 20 horas para familiarizarse con las herramientas si nunca ha trabajado con un HDL. Otra opción es la red que tiene una memoria USB con un CPLD, pero no puedo responder por sus herramientas

    
respondido por el laptop2d
2

Los incrementos de 4 ms no serán útiles con una salida de receptor RC típica, tal vez quiso decir 4 nosotros. (El pulso PWM normalmente varía de 0.5 a 2 ms).

Esto debería ser factible con cualquier MCU básica con un temporizador incorporado, con una velocidad de reloj de 1 MHz o más, podría obtener incrementos de 1 us si es necesario.

    
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas