Parece potencialmente bien. La unidad del transistor puede ser demasiado baja.
Coloque un diodo de polaridad inversa en el ventilador para que pueda girar libremente durante el PWM apagado.
El ventilador debe ser un motor de cepillo de CC y no sin escobillas (BLDCM) para el control de PWM. .
Debes decir qué significa "problemas con PWM".
Lo que se desea es la corriente de Peltier.
Ver otras respuestas aquí sobre la conducción de Peltiers. Olin tiene cosas que decir al respecto :-).
Se necesita una mejor copia del diagrama.
Supongo que el diagrama está disponible en una mejor resolución y ha sido modificado por la reducción de personal.
Imgur permite archivos de cualquier tamaño sensiblemente deseado.
Supongamos una corriente de 5A Peltier.
Supongamos 5V Arduino.
Hoja de datos de TIP122 aquí
Beta (ganancia actual) es 1000 min a 3A.
Usa 1000 por ahora.
Vbemax (de la hoja de datos) = 2.5V (!)
Al decir 5A Corriente Peltier.
Ib = 5A / 1000 = 5mA.
Max Ib es aproximadamente (Vcc - Vbe_darl) / Ib = (5-2.5) / 1k = 2.5 mA = demasiado bajo.
Ese es el peor caso Beta (en 3A) y el peor caso Vbe y usted puede HOPAR dispositivo real puede ser mejor PERO siempre debe diseñar para el peor caso.
Hacer que Rb diga 220 Ohms o 33 Ohms puede ayudar.
Por favor, indique las cifras correctas para el valor supuesto anterior.