Olin Lathrop ha identificado tu problema, pero la solución es bastante simple
simular este circuito : esquema creado usando CircuitLab
Un simple cambio de nivel (Q1) proporcionará un buen giro de 12 voltios en la compuerta MOSFET. Con una capacitancia de compuerta en el rango de 1500 pF, el tiempo de transición será inferior a un microsegundo, por lo que a 1 kHz la potencia desperdiciada será muy pequeña. Sin embargo, el tiempo de transición será lo suficientemente bueno como para que no se necesite una resistencia de compuerta separada.
Con aproximadamente 8 mA (4V / 500 ohmios) de unidad base y 60 mA de corriente de colector (12V / 200 ohmios), Q1 estará adecuadamente saturado.
Con una mayor frecuencia de PWM necesitarías comenzar a buscar controladores más sofisticados, pero no veo la necesidad aquí.
ETA: también preguntaste sobre el ruido del conmutador. Por un lado, su inductor está haciendo un buen trabajo de mantener la corriente máxima dentro de los límites de la fuente de alimentación. Por otro lado, el condensador de 470 uF está produciendo picos de corriente de 100 amp más (para una tapa ideal), por lo que probablemente tenga algo que ver con eso.
MÁS EDICIÓN - El OP preguntó cómo dimensionar los componentes para una palanca de cambios de nivel.
Primero, la hoja de datos del BC639 ofrece una corriente de colector máxima de 1 amperio. Comience con una suposición de 1/10 a 1/20 de eso, o de 50 a 100 mA. El transistor se usará como un interruptor, no como un amplificador, ya sea completamente encendido (cero voltaje a través de él, más o menos) o completamente apagado (sin corriente). Este modo se llama saturación, y debe asumir una ganancia de corriente de aproximadamente 10. Para los amplificadores, un BC639 puede funcionar con una ganancia de aproximadamente 40 a 250, pero esto no se aplica en este caso. Una ganancia de 10 que produce una corriente de colector de 50 a 100 ma implica una corriente de base de 5 a 10 mA. Suponiendo que el Arduino pueda suministrar su corriente nominal a casi 5 voltios completos, esto dice que la resistencia de base caerá unos 4 voltios, ya que la unión del emisor de base caerá alrededor de 0,7 voltios. 500 ohms es un valor conveniente y proporcionará 8 mA de unidad base. 8 mA de los tiempos de accionamiento básicos 10 dan una corriente de colector de 80 mA cuando el transistor está encendido. Ya que estamos impulsando el transistor con fuerza, esto dice que la resistencia del colector (la resistencia de carga) caerá unos 12 voltios. Si R2 fuera 1k, obtendrías 12 mA, por lo que 200 ohmios (otro número conveniente) dará unos 60 mA. Esto dice que el transistor operará con una ganancia de 7.5. Suficientemente cerca. Tenga en cuenta que ninguno de estos valores es realmente exigente. Puedes ignorar fácilmente el 20% de la pendiente.
Si se necesita un cambio de nivel de 2 etapas para mantener la relación de fase entre la tensión de entrada y la corriente de carga, esto se hace fácilmente. Sin embargo, los valores de la resistencia pueden ser un poco más altos en la primera etapa para reducir la disipación de potencia. Esto se debe a que la resistencia de carga de la primera etapa proporcionará la unidad de base para la segunda, y se alimenta de 12 voltios en lugar de 5. Si lo hace, es una buena idea colocar una resistencia de cada base a tierra, con Un valor de alrededor de 10 veces la resistencia base. Esto es solo para asegurarse de que los transistores permanezcan apagados sin entrada.
Sin embargo, no está claro en absoluto por qué necesitaría una segunda etapa. Todo lo que necesita hacer es ajustar el tiempo de PWM en el software para obtener el resultado correcto, y esto debería ser muy sencillo.