¿Cómo puedo conducir 88 solenoides con un Arduino con PWM?

4

Para un próximo proyecto escolar (loco) estoy convirtiendo un piano en un piano de jugador controlado por computadora. Actualmente estoy planeando usar solenoides montados debajo del final de las teclas (obviamente, el lado de la acción, como el sistema DiskClavier de Yamaha y el sistema PianoDisc).

Estoy planeando usar un Arduino para tomar señales MIDI y controlar todos los solenoides. Necesito PWM en los solenoides para poder controlar la velocidad a la que los solenoides tocan las teclas, determinando así el volumen. El problema es que no es una tarea fácil de controlar, usando PWM, 88 solenoides usando un Arduino.

Pensé que podría usar un generador PWM genérico para generar las señales, y hay tableros generadores PWM con 16 canales que son MUY económicos. Sin embargo, los servos requieren un tipo de señal muy específico que es bastante diferente al PWM genérico que necesito aquí. ¿Alguien sabe si esto funcionará para generar PWM genérico? (enlace: enlace )

Una vez que recibo una señal PWM, ¿puedo usar un MOSFET y un diodo (para protección de voltaje de retroceso) para impulsar los solenoides directamente?

¿Estoy perdiendo algo por completo aquí?

Cualquier ayuda y orientación es muy apreciada.

P.S. Sé que estoy un poco loco tratando de hacer esto.

    
pregunta willem.hill

1 respuesta

2

Olvídate de la locura: bueno para ti, investigar y experimentar es una excelente manera de aprender.

El módulo NXP PCA9685 que ha identificado impulsará los FET, como usted describe. Coloque una resistencia de la serie 1 K entre cada salida PCA9685 y su compuerta FET. Esto limita la corriente a / desde la capacitancia de la puerta durante la conmutación de salida PWM a 5 mA máx. De lo contrario, la salida PWM se está convirtiendo en un cortocircuito en su flanco ascendente.

También permitiría, o agregaría, un desplegable de 10 K a GND en cada salida PWM. La hoja de datos PCA9685 indica que las salidas bajarán durante el restablecimiento del IC. En el encendido, no quieres que se enciendan decenas de solenoides porque no es lo suficientemente inmediato o algo imprevisto. Esto es puramente una precaución, lo que le permite poner un menú desplegable en el pin PCA9685 / OE y hacer que Arduino tenga una lógica alta una vez que la fuente se haya estabilizado y el circuito se haya solucionado. No debería ser necesario, pero es mejor planearlo y no encajar en las partes de su juego experimental.

    
respondido por el TonyM

Lea otras preguntas en las etiquetas