0% encontró este documento útil (0 votos)
30 vistas10 páginas

Laboratorio 2 Arduino

Electrónica de Arduino

Cargado por

Heder Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas10 páginas

Laboratorio 2 Arduino

Electrónica de Arduino

Cargado por

Heder Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Está en la página 1/ 10
MICROCONTROLADORES ARDUINO Ing Felix Castillo Muitoz ABORATORIO N° 2 ROBOTICA INDUSTRIAL EL SERVO MOTOR OBJETIVO... Entre los objetivos del laboratorio estan: + Estudiar el servomotor (G90 6 LSG 90) + Anlicar el Microcontrolador Arduino Uno en el control de servomotores + Uilizar la ireria servo.h del Entorno IDE de AROUINO para el control de servomotores 2ITEORIA.. Un servomotor es un actuador que tiene la capacidad de ubicarse en una posicién estable dentro de un rango determinado de operacién. Los servomolores son utlizados normalmente para tareas de ubicacién de posicién como ser: abrir o cerrar cerraduras, control de seguimiento de paneles solares, control de brazos obétic05, ete. Normalmente el ele del servomotor gira hasta 180°, aunque hoy en dia es posible encontrar Servos que giren 360°, hacia la derecha e izquierda, Como se ve en la figura 1.1 ‘oGRADos 180 GRADOS: © ° ° loo fexexel 2000 microseconds Figura 1 Giro del servo motor Para la adquisicién de un servomotor, se debe tener en claro los requerimientos a necesitar de este, por fo tanto, las caracteristicas que se debe tener en cuenta a la hora de su compra deben ser acorde a las especificaciones otorgadas en la hoja del fabricante, las cuales son: + Peso del servomotor + Dimensiones Torque += Velocidad de operacién += Voltaje de operacién Un servomotor consta de las siguientes partes: # Motor DC + Sistema de engranajes ‘*Potenciémetro + Circuito de control Como se ve en la figura 2, un servomotor consta de partes electrénica, mecdnicas y eléctricas. Lo que significa que un servomotor constituye un sistema completo. © MICROCONTROLADORES ARDUINO Ing Felix Castillo Mufioz Figura 2 Partes de un servomotor Funcionamiento: En general los servomotores tienen tres cables, los cuales son: + Voltaje de alimentacién Voc ‘= Tierra comin GND * Sefial de control Normalmente los colores de los cables dispuestos por los fabricantes, son los siguientes: Figura 3: Voltaje positive Selial de control Figura 3 Cédigo de colores del servomotor Colores convencionales de cables de servomotores La sefial necesaria para controlar un servomotor debe ser de! tipo PWM (Pulse Width Modulation) que significa modulacién por ancho de pulso. En el diagrama de bloques de la figura 4 se puede ver la representacién de un servomotor. DIAGRAMA DE BLOQUE DEL SERVOMOTOR, JSUT, Circuito =| Sefal PHT Eletenico Retroalimentacin Ae ponkin del oe Figura 4: Representacién de un servomotor en diagrama de bloques. & MICROCONTROLADORES ARDUINO Ing Felix Castillo Muhoz 1-2ms Dury ele 4.8 (~5¥) Power and Signal 20 ms (50 Hz) PWM Period Figura § Frecuencia de la sefial de control y el duty cycle La sefial PWM serd la encargada de controlar la posicién del eje del servomoter, por lo tanto, se debe ‘establecer la frecuencia de la sefial y ademas el ciclo de trabajo (duty cycle), como se ve en la figura 5, Figura 5: El Duty cycle es quien va a establecer la posicién del servomotor como se ve la figura 6: HR ABE Figura 6: Posicin del eje del servomotor segin ancho de pulso Manejo del actuador SERVO MOTOR programacién. Se debe establecer las respectivas conexiones de alimentacién del servomotor, para la sefial de control se debe tener en cuenta que esta debe estar conectada a un pin que sea capaz de ofrecer una sefial PWM. En el Arduino Uno, el pin 2 offecen una salida PWM, por lo que se debe conectar el pin de sefial de control en uno de estos. En este caso se utilizard el servomotor SG90. De su hoja de datos tenemos las siguientes caracteristicas: EE one Le oxy MICROCONTROLADORES ARDUINO Ing Felix Castillo Mufioz Motor Tye: 3901 Genrtype Paste Rotaten/Suppon’ Bushing Additional Specifications Romionalmange: 100 Passe cyte ca 200m Pave Wet; $00-2400 us Figura 7 Hoja de datos del servomotor SG90 Se requiere conocer el valor del Duty cycle debido a que es un pardémetro de necesario para poner ‘enmarcha el servomotor, se lo debe calcular como se ve en la figura 8. ened 1/Frequeney Daty Cy» Tel Te} "100 (onercentge) Figura 8 Calculo del Duty Cycle de una sefial PWM Calculando el Duty Cycle para los valores de ancho de pulso de la figura 6: Ton Duty Cycle = ao Topp” 100= Para 0.5ms (0°): — os Duty Cycle = Fotor* 100 = Saray *100= 25 Para 1.5ms (90°): ‘on. Duty Cycle = Tory Topp" 10° i +200 Duty cycle = 75) TS5+@0-15) Para 2.4ms (180° Ton Duty cycle = Ton Toff 100 = Zar@o-zy 1° =12 Duty Cycle = 12] Duty Cycle = 23 MICROCONTROLADORES ARDUINO Ing Felix Castillo M, 3, MATERIALES,. 1. Una placa de Microcontrolador ARDUINO UNO 2. Un cable USB para conectar la PC con la Placa Arduino 3. Un protoboard 4, Un servomotor S690 5. Un potencidmetro de 10K 6. Cables de conexién y herramientas 4, LABORATORIO, PARTE 4 | Senomotor Potenciometro de 10K entacién externa L1. Armar el circuito de la figura 1, la sefial de control del servomotor se conecta al PIN 2 de la salida DIGITAL, De la placa del Arduino, conectar la tierra GND y SV al protoboard y de este al servomotor ( GND y Voc=5V) ademés de los extremos del potenciémetro, el punto medio del potenciémetro se conecta a la entrada A0 del puerto de entrada ANALOG IN del microcontrolador Arduino. L2, Cargar el siguiente Programa en el editor de programas de Arduino para probar el funcionamlento del servomotor: La librerfa que controla el servomotor ya viene incluida en el IDE de Arduino, Este es un archivo texto. Y se renombra la libreria servo.h como SERVO1, puede ser cualquier nombre. Se recomienda poner un nombre al archivo editado, por defecto le pondra sketch, ® MICROCONTROLADORES ARDUINO Ing Felix Castillo M. #include Servo Servol void setup() { Wintroducir el cédigo y correr una vez: Servo attach (PINSERVO,PULSOMIN,PULSOMAX); , void loop() { Wintroducir el eédigo y hacer correr : ‘Servot write(0); delay (2000); ‘Servo1 write(180); delay (2000); } L.3. Cambiar en el programa de L2 con los siguientes valores y observar PULSOMIN= 900; PULSOMAX=2100; Luego cambie a: PULSOMIN= 800; PULSOMAX=2200; Luego cambie a: PULSOMIN= 700; PULSOMAX=235( L.4.Cargar el siguiente programa y el servomotor se controtara moviendo el potenciémetro de 0° a 180° #include Servo Servol; int PINSERVO int PULSOMIN = 700; int PULSOMAX = 2350; int VALORPOT; int ANGULO; int POT: void setup() { Wintroducir el Cédigo y hacer correr: Servo! attach (PINSERVO,PULSOMIN,PULSOMAX); } void loop() { 1/introducir el cédigo principal y hacer correr: VALORPOT = analogRead(POT); ANGULO = map(VALORPOT,0,1023,0,180); ‘Servo1 .write(ANGULO); delay (20); ) eee MICROCONTROLADORES ARDUINO Ing Felix Castillo M. Parte I! BRAZO ROBOTICO CON ARDUINO Materiales.- 1) 4 Servomotores S690 2) 4 Potenciémetros de 10 K 3) Un Microcontrolador Arduino UNO 4) Un protoboard 5) Cables de conexién Implementar el siguiente circuito: MICROCONTROLADORES ARDUINO Ing Felix Castillo M. CODIGO ARDUINO PARA CONTROL DE SERVOMOTORES BRAZO ROBOTICO Introducir el siguiente programa en el IDE de Arduino, compilar y grabarlo: Hinclude Servo myservol; Servo myservo2; Servo myservo3; Servo myservo4; Int potpin’ int potpin2 = 1; int val1; int val2; int val3; int val4; void setup() { myservo1 .attach(6); myservo2.attach(3); myservo3.attach(10); myservo4.attach(11); Serial.begin(9600); } void loop() { val1 = analogRead(potpin1); val1 = map(val1, 0, 1023, 0, 180); myservol write(val1); Serial.printin(val1); val2 = analogRead(potpin2); val2 = map(val2, 0, 1023, 0, 180); myservo2.write(val2); val3 = analogRead(potpin3); val3 = map(val3, 0, 1023, 0, 180); myservo3.write(val3); val4 = analogRead{potpin4); val4 = map(val4, 0, 1023, 0, 180); myservod.write(vala); delay (5); ) MICROCONTROLADORES ARDUINO. Ing Felix Castillo M, Parte Ill MODULO BLUETOOTH Implementar el siguiente circuito: E Mee vat < Ga acetate) MICROCONTROLADORES ARDUINO Ing Felix Castillo M. Materiales.- 1) Un Servomoter SG90 2) Un Médulo Bluetooth HC-05 para Arduino 3) Un Microcontrolador Arduino UNO. 4) Un protoboard Opcional 5) Cables de conexién 6) Una computadora personal con entrada USB. Introducir el siguiente cédigo Bluetooth al IDE de Arduino Codigo #include Servo Servo1; int PINSERVO int ANGULO = 0; void setup() { W/introducir el Cédigo y hacer correr: Serial.begin(9600); Servo1 attach (PINSERVO); Servot.write(90); void loop() { 1 introducir el cédigo principal y hacer correr: if(Serial.available()>1) ANGULO = Serial.read(); Servotwrite(ANGULO); delay(15); 5.INFORME.-Presentar un informe donde se incluya, conclusiones, observaciones y Sugerencias. Investigar como se convierte en un Servomotor que gire 360°, y que Servomotores giran hasta 360° de angulo de giro.

También podría gustarte