UNIVERSIDAD INDUSTRIAL DE SANTANDER ESCUELA DE INGENIERIA MECÁNICA SISTEMAS MECATRÓNICOS I PRACTICA SOBRE CONSTRUCCION DE UN SERVOMOTOR DC EXPERIMENTAL Referencia: Laboratorio 7 Construcción de un Servomotor por Edwin José Vera Rozo Adaptacion: Prof Ricardo Jaimes MSc OBJETIVO La construcción, programación y ensayo de un SERVO MOTOR DC experimental. Un servomotor en su interior se compone de un motor DC, una serie de piñoneria configurada en caja reductora para la obtención de un alto torque disminuyendo la velocidad. Acoplado al eje de salida este último, se debe usar un potenciómetro lineal para obtener una señal de realimentación que se le transmite al controlador (en este caso Arduino) del Servo. Además requiere de un inversor de giro que para nuestro caso particular utilizaremos el integrado de potencia L293D que se compone de 2 puente H (Ver Anexo1); MARCO CONCEPTUAL La figura 1 nos permite observar las partes más importantes del servomotor. Figura 1. Componentes de un Servo de corriente continúa Algo muy importante para recalcar es que el POTENCIOMETRO de RETROALIMENTACION debe ser lineal, si se coloca uno exponencial el sistema se desborda en los límites como se aprecia en las siguientes imágenes mientras si se utiliza uno lineal el comportamiento del servo es de la misma manera que es nuestro objetivo. Figura 2. Comparación entre el potenciómetro logarítmico y el lineal Potenciómetro Logarítmico Potenciómetro Lineal Materiales: Motor DC, preferiblemente de 5 volts. ** Caja reductora. ** Potenciómetro Lineal. ** (Sensor de posición) Puente H L293D. Potenciometro Logaritmico ( Para el mando) ** En Centro Comercial Acropolis Primer Piso Local: 105, encuentran el motor DC acoplado directamente a la caja reductora, al igual que el potenciómetro lineal a 5000 pesos que realmente es muy barato, de igual manera encuentra los demás componentes. Figura 3. Esquema de Conexión para el Servo DC Código en Arduino: // UNIVERSIDAD INDUSTRIAL DE SANTANDER // ESCUELA DE INGENIERIA MECANICA // SISTEMAS MECATRONICOS // LABORATORIO 7 - SERVOMOTOR CASERO // DESIGNED AND POWERED BY: INGEV const int setpoint = A0; const int sensor = A1; const int enable = 3; const int direccion1 = 2; const int direccion2 = 4; long lecturasensor = 0; long lecturasetpoint = 0; void setup() { pinMode(enable, OUTPUT); pinMode(direccion1, OUTPUT); pinMode(direccion2, OUTPUT); } void loop() { lecturasensor = analogRead(sensor); lecturasetpoint = analogRead(setpoint); if(lecturasensor > lecturasetpoint){ izquierda(); } if(lecturasensor < lecturasetpoint){ derecha(); } if(lecturasensor == lecturasetpoint){ parar(); } } void derecha(){ digitalWrite(enable, HIGH); digitalWrite(direccion1, HIGH); digitalWrite(direccion2, LOW); delay(100); } void izquierda(){ digitalWrite(enable, HIGH); digitalWrite(direccion2, HIGH); digitalWrite(direccion1, LOW); delay(100); } void parar(){ digitalWrite(enable, LOW); digitalWrite(direccion1, LOW); digitalWrite(direccion2, LOW); delay(100); } Bibliografía: mecatronicauis.blogspot.com mecatronicauis2012.blogspot.com http://arduino.cc/ “EL INTELIGENTE NO ES AQUEL QUE LO SABE TODO SINO AQUEL QUE SABE UTILIZAR LO POCO QUE SABE” ANEXO 1 HOJA DE ESPECIFICACION DEL INTEGRADO L293D http://www.contesti.eu/opensource/xyz-dc-motor-controller/ln293b-half-bridge-downloadablepdf-document
© Copyright 2024