Su principal problema es que los transistores Darlington, como el TIP120, son muy sensibles pero no muy buenos cuando están encendidos. Si observa la hoja de datos , en la página 2 encontrará Vce (sat), que es el voltaje a través del transistor cuando está completamente activado. A 3 amperios de corriente y 12 mA de corriente base, el voltaje es de 2 voltios.
Ahora, es cierto que no ha especificado su corriente de solenoide, pero también es cierto que su corriente de base no será más de aproximadamente 1 1/2 mA. Intente medir el voltaje de conexión a través de su resistencia base, y lo encontrará cerca de 3 voltios.
Entonces, lo primero que debe hacer es aumentar el voltaje de su solenoide en aproximadamente 2 voltios para compensar la caída de voltaje que sabe que obtendrá. Lo segundo es posiblemente disminuir su resistencia de base para aumentar la corriente de base.
EDITAR - Un circuito más completo se verá como
simular este circuito : esquema creado usando CircuitLab
Es cierto que un MOSFET de potencia producirá una menor caída de voltaje, por lo que podría quedarse con 12 voltios, pero hay una advertencia. Los voltajes de salida de Arduino no son lo suficientemente altos como para controlar de manera confiable la puerta de un MOSFET "regular". Si decide intentar esto, debe tener cuidado de obtener un FET de "puerta de nivel lógico". Si no lo hace, puede encontrar que el FET reduce incluso más el voltaje que el TIP120, y puede variar enormemente de una unidad a otra, con la Ley de Murphy dictando que terminará con uno de los malos.
Independientemente de lo que use como interruptor, DEBE incluir el diodo. Si no lo haces, el transistor morirá tarde o temprano.
Además, nunca ha especificado su corriente de solenoide (mencioné esto antes). Si la corriente es más que (digamos) 1/2 amperio, deberá proporcionar un disipador de calor para su TIP120. Usando los números Vce (sat) de la hoja de datos como ejemplo, si el transistor está consumiendo 3 amperios y bajando 2 voltios, disipará 2 x 3, o 6 vatios, y sin un disipador de calor se autodestruirá. La disipación real, por supuesto, dependerá de su corriente, según lo determinado por el solenoide, y del voltaje, que dependerá en parte de la fuerza con que maneje la base.