ULN/UCN är kraftigt begränsade pga av att det är darlingtonlösningar dvs ca 2*1,4V spänningsfall samt att dom är väldigt långsamma, så PWM i storleksordningen 10kHz kan man glömma.
2*1,4+2 (diodens min Vf)=4,8V vilket är väldigt nära 5V, och så har du inga seriemotstånd så om du höjer spänningen med 10% så släpper du nog ut röken...
Sen så är ditt schema skitfult ritat



Sneda ledare, urk

ALLA sammankopplingspunkter skall ha prick, men du har iallafall inte gjort fyrvägskorsningar som samankopplingspunkter så du är lite förlåten.
Med en bättre CPU (större drivförmåga) typ ATMEGA så kan man driva katodsidan (via seriemotståndet) direkt och anodsidan via P-kanal Mosfetar, sen så är 100kHz PWM möjlig samt att det blir billigare totalt sett.