ACTUADOR LINEAL
Este actuador lineal, esta accionado por un servomotor MG995 «trucado», no funciona como servo sino como un motor.
El servo esta controlado por una placa arduino UNO, el funcionamiento cambia con respecto al servo, al poner en la programación del servo 0º, el motor gira a velocidad máxima en un sentido, con 180º gira a velocidad máxima en sentido contrario, a mediada que nos acercamos a 90º, la velociad disminuye y al llegar a 90″ se detiene.
Funcionamiento; Con cada activación del pulsador conectado al pin 11, el vastago sale, y se recoge.





Esquema eléctrico


Programa
// este proyecto utiliza uns servo MG995 trucado,
//el valor que recibe el servo regula la velocidad y sentido de rotación
// cuando cargamos el valor 90 el servo esta parado
// con el valor 0 gira a velocidad máxima en un sentido
// con el valor 180 gira a velocidad máxima en sentido contrario
// ciclo: al activar el pulsador el motor gira 1300 ms, y luego gira en sentido contrario hasta que acitve el final de carrera de inicio
#include //Libreria para Servomotores
Servo Servo_1;
int motor=3;
int fc=8; // final de carrera vastago recogido
int pul=11; // señal para iniciar el ciclo, mediante un pulsador
int marcha=0;
void setup()
{
// defino los pines utilizados
pinMode(fc, INPUT);
pinMode(pul, INPUT);
}
void loop()
{
if (digitalRead(pul)==HIGH && marcha ==0) marcha=1; // inicio un ciclo de salida y entrada del vastago
if (marcha==0)Servo_1.detach(); // si marcha es cero deconecto el servo
else Servo_1.attach(motor); // si no activo el servo
if (marcha==1){ //Cuando acitvamos el pulsador
Servo_1.write(180); // avanzo el cilindro a tope
delay(1300); //durante 1300 milisegundos
Servo_1.write(90); // paro el servo
delay (2000); // le tengo dos segundos abierto
marcha=2; //salido el vastago no vuelve entrar en este if hasta que halla finalizado el ciclo
}
if (digitalRead(fc) == HIGH) { // si el final de carrera del servo no esta activado
Servo_1.write(45); //retrocedo el cilindro despacio
}
else { // si el final de carrera inicio esta actido
marcha=0; // me preparo para un nuevo ciclo
}
}