Cómo escribir un programa para crear formas de onda multinivel usando arduino

Necesito hacer una forma de onda de varios niveles (escalera) de 5 niveles para mi proyecto principal desde un arduino. ¿Cómo puedo obtener el formulario de suministro de 24 V? Traté de cambiar el ancho de pulso por PWM usando analogWrite (), pero puede producir 5 V máx. o 3,3 V máx. ¡Por favor, ayúdenme!

Su pregunta se beneficiaría de una aclaración. ¿Cuáles son los cinco niveles (pasos) que espera? ¿Cuál es el voltaje máximo y mínimo que necesita? ¿Cuánta corriente necesita suministrar?
¿Esto es para conducir un motor paso a paso?

Respuestas (1)

Si necesita una señal de 24 voltios, necesitará al menos un transistor adicional como se muestra. También tenga en cuenta que la salida PWM básica solo dará un promedio digital de una forma de onda de "escalera". Agregar una resistencia/condensador a la salida final podría producir una mejor escalera de CC, pero puede tener una respuesta lenta entre los pasos. En el circuito, los valores seleccionados de R1 y C1 determinarán la velocidad a la que cambian los niveles de la escalera. Además, dado que aquí se usa un transistor NPN, el valor PWM creará una salida invertida (por ejemplo, 0-255 crea 24v-0v), por lo que es posible que desee invertir la forma en que ajusta la señal PWM.

esquemático

simular este circuito : esquema creado con CircuitLab

Otro método podría usar 3 (o más) salidas digitales y crear una forma de onda mucho más cuadrada usando solo transistores y resistencias. En este caso, el simple código digital de encendido/apagado determina el voltaje de salida final. (Los transistores Mosfet también podrían usarse aquí, ya que un transistor BJT puede tener un voltaje Vce pequeño que evita una salida completa de 0v).

esquemático

simular este circuito