For the complete documentation index, see llms.txt. This page is also available as Markdown.

PWM (Pulse Width Modulation)

Este bloque de función genera una señal booleana modulada por ancho de pulso (PWM) artificial que puedes usar para simular o activar disparadores temporizados. Úsalo para crear señales repetitivas de encendido/apagado ya sea por tiempo (segundos) o por conteo de muestras (pasos discretos).

📥 Entradas

Este bloque de función no tiene entradas.

📤 Salidas

  • Boolean — La señal periódica True/False producida según el modo y los tiempos configurados.

🕹️ Controles

  • Interval — Ingresa el periodo total de un ciclo. En el modo Time esto está en segundos. En el modo Sample esto está en número de muestras/pasos.

  • Up Duration — Ingresa cuánto tiempo la salida permanece True dentro de cada ciclo. Las unidades coinciden con el modo seleccionado (segundos o samples).

  • Time mode — Alterna entre Seconds (modo basado en tiempo) y Samples (modo basado en conteo de samples).

🎨 Características

  • Modo PWM basado en tiempo para señales periódicas en tiempo real.

  • Modo PWM basado en samples para señales sincronizadas por pasos o frames.

  • Ciclo de trabajo ajustable mediante Interval y Up Duration.

  • Salida booleana simple, fácil de combinar con bloques lógicos y de salida.

📝 Instrucciones de uso

  1. Elige el modo de operación con Time mode.

  2. Ajusta Interval para definir la longitud completa del ciclo.

  3. Ajusta Up Duration para definir la porción activa (True) de cada ciclo. Asegúrate de que Up Duration sea menor o igual que Interval.

  4. Conecta la salida Boolean a cualquier bloque que consuma una señal de verificación / booleana (por ejemplo Led Output para visualizar, o bloques lógicos para controlar otros comportamientos).

📊 Evaluación

En tiempo de ejecución el bloque produce un patrón repetido True/False. En Time mode el patrón sigue segundos reales. En Sample mode el patrón avanza con cada run/step. El ciclo de trabajo (duty cycle) es igual a (Up Duration ÷ Interval).

💡 Consejos y Trucos

  • Visualiza la señal usando Scope para verificar el timing y el duty cycle en tiempo real.

  • Usa Rising Edge para detectar transiciones y disparar acciones de un solo pulso en el flanco ascendente.

  • Cuenta pulsos con Counter para medir ocurrencias o accionar operaciones por lotes.

  • Combina con And u Or para condicionar la señal PWM con otras condiciones (por ejemplo un Logic Input manual).

  • Usa Delay Step, ON Delay o OFF Delay para modelar o hacer debounce de transiciones.

  • Persiste o congela señales con Data Memory cuando necesites un valor estable entre actualizaciones.

🛠️ Resolución de problemas

  • Salida siempre True o siempre False

    • Verifica que Up Duration e Interval estén configurados correctamente y que el Time mode seleccionado coincida con las unidades esperadas (seconds vs samples).

  • El timing parece incorrecto en Time mode

    • Verifica que el reloj del sistema anfitrión esté funcionando y que otros bloques no estén bloqueando la ejecución. Usa Scope para confirmar los tiempos reales.

  • El modo sample no avanza como se espera

    • Asegúrate de que el sistema esté generando pasos/samples (el loop de ejecución o bloques aguas arriba deben proporcionar iteraciones). Usa Counter o Cycle Timer para inspeccionar el progreso de pasos.

Última actualización