Masz książkę ?
http://atnel.pl/mikrokontrolery-avr-jezyk-c.htmlbo tam jest to opisane
a w skrócie mówiąc - w żaden sposób czy przez tranzystor czy nie - nie dasz rady uniknąć nieliniowości bo to związane jest panie kochany z charakterystyką prądu diody do jej jasności, która jest nieliniowa
rezystora w bazie nie szuka się w internecie bo takie sposoby niestety najczęściej prowadzą do kosmicznych bzdur
tylko się wylicza prąd bazy (tak samo jak wyliczasz prąd diody LED gdy dobierasz do niej rezystor - a chyba obliczasz ???
czy też bierzesz tą informację z netu ??? jeśli z netu to jak najszybciej porzuć tą drogę bo będziesz się strasznie długo uczył tej całej elektroniki aż się zniechęcisz - lepiej poczytaj o prawie Ohma I=U/R i jak się dobiera tzn oblicza rezystor, jakieś podstawy chociaż działania tranzystorów
to wtedy też przestanie dla ciebie być zagadką dlaczego tranzystor zmienia ci fazę PWM'a bo tak to się nazywa - po prostu tranzystor NPN neguje ci PWM'a i co za problem zmienić to programowo ??? to też masz w książce dokładnie opisane i to akurat nie jest zapobieganie tylko najnormalniejsza opcja programowa w procku
Zapobiegać to możesz np w celu pozbycia się nieliniowości i jakieś proste sposoby też podałem w książce a pomoże ci w tym chociażby zdecydowanie się na nieco większą rozdzielczość PWM np 9-bit zamiast 8-bit (też - jak się domyślasz opisane w książce dlatego polecam)
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]