Pues en mi caso si tuve el agrado y fortuna de formarme en la electronica, bastante bien, pero como dice mi post al principio, simplemente quiero corroborar lo expuesto. Por si alguno tienen ese famoso truquito por simple experiencia, ese as bajo la manga, que hace que me pueda dar un buen consejo.
Conozco el ULNxxx, pero simplemente queria saber si a alguien se le ocurria algo mejo al ver lo que hice, a modo foro. Creo que fue de mal gusto ofender de esa manera.
En el codigo, me equivoque, debia poner "set_pwm1_duty(50);", solo para probar lo pongo a % 50.
Si entonces corroboran que esta bien conectado el ULN, el problema es que el Proteus no me lo esta simulando correctamente. A lo mejor alguno tuvo que simularlo y pudo hacerlo andar haciendo algo especifico en el programa.
Un Saludo.