Contraste de LCD a través de un PWM

Saludos, estoy montando un proyecto para controlar el encendido de ventiladores a partir de la temperatura leída en un sensor (TMP36) se trata de un prototipo que además muestra la temperatura registrada por el sensor en una pantalla LCD 16x2, la cuestión es que estoy tratando de reemplazar el control del contraste del LCD a partir de un potenciometro por un pin PWM, sin embargo no entiendo lo que pasa ya que se supone que el analogWrite debe tomar valores entre 0 y 255, pero con valores en este rango el contraste en el LCD es nulo, si pongo el analogWrite en 270 el contraste es máximo, primero no se si este sobre exigiendo algo en el arduino al utilizar analogWrite con 270 y segundo no se que pueda estar fallando para que logre controlar el contraste del LCD con un pin PWM y prescindir así del potenciometro.

Estoy trabajando con un arduino uno r3 y la salida del PWM la paso por una resistencia de 220 Ohm antes de llegar al pin 3 del LCD.

Gracias.

Usa algo asi, olvidate que es para un pic, es lo mismo para nosotros con arduino

Resistors
R1 Potentiometer 10 KOhm Linear Rotary 1/2W
R2 Resistor 22 KOhm 1/4 Watt 5% Carbon Film [View photo]
R3 Resistor 4.7 KOhm 1/4 Watt 5% Carbon Film [View photo]
R4 Resistor 680 Ohm 1/4 Watt 5% Carbon Film
Capacitors
C1 Electrolytic Capacitor 47 uF 16 Volts
Transistors
T1 BC548 Switching and Applications NPN Epitaxial Transistor [Switching and Applications NPN Epitaxial Silicon Transistor]
Integrated Circuits
IC1 PIC16F88
Misc
LCD1 LCD 16x2 Character LCD w/ HD44780U1 controller

Eso mismo puedes hacerlo con un 2N2222 y R 10K.
El BC548 es caro
Si retiras la R2 y el BC548 puedes usar un 2N7000 o un BS170 Transitor MOSFET ideal para estas aplicaciones.

Espero haberte interpretado bien.

Aca tienes otro ejemplo pero es para controlar el backlight
Te lo sumo para que lo tengas en cuenta.
Backlight

gracias surbyte por tomarte el tiempo de responderme, el ajuste de contraste en el lcd lo solucioné utilizando un capacitor 100uf entre el pin pwm (que le envía el valor que modifica el contraste al pin v0 del lcd) y tierra, ahora estoy revisando el esquema que me enviaste para el control del blaklight.