¿Hay alguna manera de obtener más PWM de Arduino Board?

Quiero controlar 4 motores paso a paso con Arduino UNO y me faltan PWM. En todos los tutoriales en la web han usado el pin PWM, en ese caso, como máximo puedo usar solo dos motores paso a paso con Arduino. Entonces, ¿por qué tiene que hacerlo? ser PWM solo que se va a usar o hay alguna manera de que pueda extender los PWM en mi placa, ya sea con software o hardware? por ejemplo: usamos la biblioteca serial de software para obtener pines Rx, Tx.

Estos son algunos de los tutoriales:

http://learn.adafruit.com/adafruit-arduino-lesson-16-stepper-motors/stepper-motors

http://arduino.cc/en/Tutorial/MotorKnob

No tengo tiempo para una respuesta real ahora, así que solo escribiré esto: puede hacer PWM en el software sin ningún problema. La forma más sencilla de hacerlo sería hacer un bucle que cuente. Al principio, establezca un pin en alto y luego, durante cada iteración del ciclo, verifique el valor del contador. Una vez que alcance el porcentaje de tiempo que necesita que el pin esté alto, establezca el pin en bajo. Otra forma de hacerlo, que requiere menos uso del procesador, sería configurar interrupciones de temporizador y luego establecer el estado del pin en la rutina de servicio de interrupción.
Esto es solo para tu información. Esté atento a la propuesta de Arduino en el Área 51 .
¿Alguien puede explicar cómo exactamente PWM impulsa el motor? Quiero decir, ¿por qué se necesitan pines 3PWM (para motores paso a paso de 4 cables)?

Respuestas (1)

Hay una función en Arduino analogWrite() que puede generar ondas PWM. Cualquier pin analógico se puede convertir en pin de salida PWM. Pero esto es controlado por software. Por lo tanto, su código dedicará la mayor parte de su tiempo a generar señales PWM en lugar de realizar otros trabajos útiles.

También hay un escudo PWM de Sparkfun. Intente hacer este usted mismo (el circuito está disponible) o compre una placa: https://www.sparkfun.com/products/10615

No utilice un PWM para controlar 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 puente H/controlador IC (Arduino no puede impulsar motores directamente, ya que Arduino solo puede proporcionar una corriente muy inferior, lo que no es suficiente para que los motores funcionen).

Utilice controladores de motor paso a paso para controlar motores paso a paso. No necesita salidas PWM para controlar estos controladores paso a paso. Solo se requieren pines GPIO. Además, estos controladores de motor 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 utilizando controladores paso a paso y su diagrama de conexión.

http://www.pololu.com/product/1182

Déjame decirte lo que estoy tratando de hacer, esta es mi pregunta real electronics.stackexchange.com/questions/94723/… De hecho, estoy tratando de implementar y ejecutar los motores paso a paso mediante la creación de controladores paso a paso. Estaba usando l293d antes pero eso utiliza el pin PWM. Creo que no puedo usar los controladores de motor ya construidos porque cuestan mucho
Si los controladores de motores paso a paso son más costosos, los puentes H son la siguiente opción. Usar software para generar PWM no es una buena opción, especialmente cuando tienes que hacer otros trabajos con tu Arduino. PWM debe generarse utilizando los módulos de hardware. Arduino Mega tiene pocos más en comparación con Uno. Tendrá que usar un Arduino Mega para impulsar el motor paso a paso junto con L293D. Consulte este enlace (Arduino Mega y controladores paso a paso) reprap.org/wiki/Arduino_Mega_Pololu_Shield
Gracias por responder, ¿leíste mi pregunta? Todo mi motivo es hacer controladores paso a paso para poder hacer funcionar mis motores. Apenas estoy haciendo otras cosas con el Arduino. Entonces, ¿puedo usar uno solo para hacer los controladores con L293D? ¿Qué cambios de software tendré que hacer? ¿Esa biblioteca paso a paso no funciona en absoluto sin PWM? Quiero control de velocidad, paso y dirección, ¿sería capaz de lograr eso?. Gracias @robomon, eres muy útil. Felices fiestas y feliz navidad :)
¡De nada! Vota por mi respuesta si te resultó útil. Puede conducir 1 motor con Arduino, pero conducir más requiere módulos PWM que costarán dinero. Consulte estos enlaces learn.adafruit.com/… , arduino.cc/en/Tutorial/StepperUnipolar