Hay una función en Arduino analogWrite () que puede generar ondas PWM. Cualquier pin analógico se puede convertir a pin de salida PWM. Pero esto es software controlado. Por lo tanto, su código pasará su mayor tiempo para hacer las señales PWM en lugar de hacer otros trabajos útiles.
También hay un sheild PWM de Sparkfun. Intente hacer esto usted mismo (el circuito está disponible) o compre una placa - enlace
No use un PWM para controlar los motores paso a paso. Este es un método complejo. Además, si usa PWM para controlar motores paso a paso, también necesita un IC H-bridge / Driver (Arduino no puede conducir motores directamente, ya que Arduino solo puede proporcionar muy menos corriente, lo que no es suficiente para que funcionen los motores).
Utilice controladores de motor paso a paso para controlar los motores paso a paso. No necesita salidas PWM para controlar estos controladores paso a paso. Sólo se requieren pines GPIO. También estos controladores de motores paso a paso también incluyen el H-Bridge / Driver IC. Consulte este enlace que explica cómo se controlan los motores paso a paso mediante los controladores paso a paso y su diagrama de conexión.
enlace