From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

como programar un servo en labview

Hola a todos, busco a alguien que sea tan amable de ayudarme a programar en labview soy nuevo es ese programa, mi duda es de como programar servomotores para que se muevan ciertos grads en cierto tiempo, tengo un proyecto en el cual utilizo 3 servomotores, de hecho ya lo hice en arduino, pero mi profesor también me lo pidió en labview, esos 3 servomotores debe de estar sincronizados primero se mueve uno, después otro y al final el ultimo, los primeros dos se mueven a 90 grados y el ultimo se mueve con un for que le meti al código en arduino, el cual se mueve n90 grados hacia un lado y 90 hacia el otro, el ultimo no se mueve por tiempos se mueve con una condición. Bueno explicando un poco mi proyecto consiste en un probador de baterías, dependiendo de que tanto voltaje tenga una pila el 3 servomotor osea el ultimo se va a mover a la izuierda o derecha, eso depende del voltaje de la pila, los dos primeros solo son para dirigir a la pila y que lleguen al ultimo servo, voy adjuntar una imagen para que chequen de lo que les comento, y  osea mi proyecto ya funciona con el código arduino, pero tengo que programar exactamente lo mismo pero en labview, tambien les adjuntare el codigo en arduino y bueno esa seria mi pregunta, como controlar los servos por tiempos y solo ciertos angulos, y claro si también me podrían ayudar a crear como condiciones para el ultimo servo18518494_1263839347067891_2133779642_n.jpg18492767_1263839327067893_456898986_n.jpg18492683_1263839367067889_388907359_n.jpg

#include <Servo.h>
Servo servo;
Servo servo1;
Servo servo2;
// Pines para los LEDs
#define LEDVERDE 5
#define LEDAMARILLO 6
#define LEDROJO 3
#define ANALOGPILA 0

// Variables

int analogValor = 0;
float voltaje = 0;
float corriente; 
int ledDelay =600;

// Umbrales
int pos = 0;
float maximo = 1.7;
float medio = 1.4;
float minimo = 0.1;
float parado = 0;
void setup() {
  //Iniciamos el monitor serie
  
  servo1.attach(2,771,1750);
  servo2.attach(7,771,1750);
   servo.attach(4);
  Serial.begin(9600);


}

void loop() {
  // Leemos el valor de la entrada analógica
  
 
 
  servo1.write(90);
  delay(2000);
  servo1.write(0);
  delay(2000);
  servo1.write(90);
  delay(2000);
  
  servo2.write(0);
  delay(1000);
  servo2.write(90);
  delay(1000);
  servo2.write(0);
  delay(1000);
  analogValor = analogRead(ANALOGPILA);

  // Obtenemos el voltaje
  voltaje = 0.0048*analogValor;
  corriente = voltaje/10;
  Serial.println("Voltaje: ");
  Serial.println(voltaje);
Serial.println("Corriente : ");
Serial.println(corriente );

  
  if(voltaje <= maximo && voltaje >= medio)
  {
   for (pos = 90; pos <= 180; pos +=3) 
   {
    servo.write(pos);              
    delay(75);
   }
  }

  if(voltaje < medio && voltaje > minimo)
  {
    for (pos = 90; pos >= 0; pos -=3) 
    {
    servo.write(pos);              
    delay(75);
    }
  }

servo.write(90);
delay(800);
}
0 kudos
Mensaje 1 de 2
5.264 Vistas

Hola alverabraham,

 

Te invito a revisar los siguientes sitios web, en donde encontrarás información y ejemplos de otros usuarios que han utilizado LabVIEW con Arduino para controlar servomotores:

 

Si quieres aprender a utilizar LabVIEW desde cero, te recomiendo realizar los ejercicios que se encuentran en el sitio: http://www.learnNI.com/

 

Espero te sean de utilidad, mucho éxito con tu proyecto!

 

Un saludo!

Mensaje 2 de 2
5.213 Vistas