Problema con Servo al encender

Buenas a todos y gracias por adelantado, llevo un tiempecillo leyendo por aquí pero hasta hoy no me había registrado.

Mi problema es relacionado con un servo, os comento.

Tengo que hacer un proyecto, el código ya esta hecho y funciona tal y como yo quiero que lo haga el problema es que una vez que Arduino arranca el servo se mueve aleatoriamente cuando recibe la corriente, y obviamente lo hace en su mayor velocidad y sin control alguno.

el problema es que yo el codigo lo he hecho de tal manera que el servo gira por debajo de su velocidad máxima girando un grado cada vez y pausando con un delay que le fijo, pero no se DE QUE MANERA EVITAR QUE EL SERVO GIRE AL ENCENDER, ya que si se resetea el Arduino por falta de luz o cualquier problema me pegara el giro fuertemente y me dañara donde lo tengo colocado.

Muchas gracias por adelantado.

Añado y me corrijo, independientemente de lo dicho cuando arranca el programa sea cual sea la posición que se encuentre el servo este se va a 93º y desde ahi empieza a trabajar con normalidad según el programa, cuando le marco que lea la posicion del servo al encender y que escriba la misma que tiene para que no se modifique esta.

Un saludo

un par de acotaciones.
Si hace cosas sin sentido es por falta de energia. Usalo con fuente aparte no del usb. O el servo directo a la bateria.
Otra cosa. La primera instruccion debe ser llevar a posicion 0.
Y si no tienes un servo digital nunca le vas a poder leer la posición. Los servos como el t9 son analogicos solo reciben la posicion como ancho de pulso.

Tal como te comenta Maxid el servo puedes llevarlo a una posición, pero no leer donde se encuentra, por ejemplo al iniciar el Arduino. Tienes dos soluciones 1.-Cada vez que mueves el servo, grabar su posición en la EEPROM del Arduino y leer en el void setup la lectura de esa posición. 2-Modificar el servo para hacerlo "digital" de tal forma que puedas leer directamente y en todo momento su posición. En mi página, en la sección Arduino tienes un tutorial de como hacerlo y un código de ejemplo.

Jopapa www.jopapa.me

Gracias por las respuestas, os comento un poco.

Ciertamente en un principio el servo que utilizaba era analogico, ahora tengo uno digital y el problema es que cuando posiciona por ejemplo a 0º esta perfecto, pero es imposible posicionarlo a digamos 120º ya que se descontrola y no coge posición fija.

No lo tengo alimentado directamente del arduino si no con fuente externa.

En cuanto pasa de unos pocos grados ya no es estable haciendo sus giros.

Gracias y saludos.

Por si os sirve de algo el servo que uso es un "S8201"

Gracias

Lograste resolver el tema al encender el arduino? Tengo el mismo problema...