Hola Encarpa,
En la pantalla de PWM, mientras seleccionas los parametros, Niple te va presentando informacion adicional. Al seleccionar el control por ancho de pulso de tipo "variable", te muestra el rango de varoles válidos para el control por ancho de pulso segun la configuración seleccionada (frecuencia a generar, velocidad de cristal, prescalado de TMR2, etc). Este dato (rango de valores) es el que te interesa porque corresponde al 0-100% del control por ancho de pulso.
En el ejemplo 3 que se incluye en la demo de Niple se realiza un control por PWM a 5000 Hz. Con un cristal de 4 mhz y un prescalado de TMR2 = 4, el rango correspondiente al ancho de pulso corresponde de 0 a 200.
Por lo que entiendo, necesitas controlar que cuando el valor de ancho de pulso sea menor a 30 (15% de 200) quieres asignar el ancho de pulso a 30.
Para esto puedes evaluar (a 16 bits) el resultado del calculo de "escalado". Si el resultado > 30, entonces asignas 30 a los registros correspondientes al resultado.
Con esto todos los valores menores al 15% generan un ancho de pulso del 15 %.
Te paso una imagen del diagrama de flujo.
(en la imagen se muestra seleccionada la funcion de evaluacion de resgitro a 16 bits para que la encuentres en el arbol de herramientas)
Espero que te sirva.
Un saludo