Documentos de Académico
Documentos de Profesional
Documentos de Cultura
cristian Castro l.
Profesor
erick orrego d.
Joaqun Astorga
Sr.
RESUMEN
NDICE
RESUMEN
NDICE
NDICE DE FIGURAS
NDICE DE TABLAS
GLOSARIO DE TRMINOS
INTRODUCCIN
MARCO TEORICO
CAPTULO 1
EXPERIENCIA 1
1.1
Desarrollo
1.1.1 Metodo de Oscilacin de Ziegler-Nichols.
1.1.2 Mtodo predictor de Smith
CAPTULO 2
EXPERIENCIA 2
2.1
Desarrollo
2.1.1 Potencimetro y visualizacin en monitor serial Arduino
2.1.2 PWM
2.1.3 GUI
CAPTULO 3
EXPERIENCIA 3
3.1
Objetivos
3.2
Resultados
CONCLUSIONES
REFERENCIAS
1
2
3
4
5
6
7
1
1
1
1
3
5
5
5
5
6
6
7
7
7
7
8
9
NDICE DE FIGURAS
Figura 1-1 Funcin de lazo cerrado LTI.....................................................................1
Figura 1-2 Oscilacin sostenida..................................................................................2
Figura 1-3 Respuesta de salida Y(t)............................................................................2
Figura 1-4 Predictor de Smith.....................................................................................3
Figura 1-5 Predictor salida Y(t)..................................................................................3
NDICE DE TABLAS
Tabla 1 Parmetros PID.
Tabla 2 Parmetros de calibracin PID
1
3
GLOSARIO DE TRMINOS
APA:
IEEE:
FACTS:
INTRODUCCIN
MARCO TEORICO
Controlador PID: Es un mecanismo u algoritmo utilizado en sistemas
realimentados que calcula el error entre el valor medido y el valor que se desea obtener,
con el fin de aplicar una accin correctora que ajuste el proceso. Consta de 3
componentes las cuales son:
c PID ( s ) =K p 1+
1
+T s
Ti s d
En la Figura 1-1 se presentan seales PWM con diversos ciclos de trabajo (Duty
Cycle) a un periodo T = 2[ms] (500 [hz] utilizado en Arduino). Debido a que Arduino
presenta una salida anloga de 8 bit, se representara la seal de 5 volts en 255 bits.
T
1
f prom= f (t)dt
(1-1)
T 0
Arduino utiliza la ecuacin (1-1) para determinar la tensin de salida simulada
mediante PWM.
Processing: Es un lenguaje de programacin y entorno de desarrollo integrado de
cdigo abierto basado en Java, de fcil utilizacin, y que sirve como medio para la
enseanza y produccin de proyectos multimedia e interactivos de diseo digital.
1
CAPTULO 1
EXPERIENCIA 1
Objetivo: Realizar y comparar el mtodo de oscilacin de Ziegler-Nichols y
predictor de Smith, en un sistema de lazo cerrado LTI.
1.1
Desarrollo
1.1.1
Kc
Kcu/1.7
Ti
Pc/2
Td
Pc/8
Resultado:
PID
Ganancia proporcional (Kp)
Tiempo integral (Ti)
Tiempo derivativo (Td)
Ganancia integral (Ki)
Ganancia derivativa (Kd)
1.1.2
1.3992 [-]
1.54 [Seg.]
0.385 [Seg.]
0.908571428 [-]
0.538692 [-]
Es un mtodo til para sistema con retardos de tiempo considerables. Una vez
realizado el mtodo de oscilacin sostenida se implement el predictor para observar la
variacin en la seal de salida en relacin al sistema anterior (Observar la integracin de
bloques en la Figura 1-4 en comparacin a la Figura 1-1).
Resultado:
1.2
Conclusin
5
CAPTULO 2
EXPERIENCIA 2
Objetivos: Integracin de diversos elementos.
2.1
Desarrollo
2.1.1
6
Se utiliz el siguiente cdigo:
int potenciometro = A0, digitalizacin=0, porcentaje;
float tension;
void setup()
{
Serial.begin(115200);
}
void loop()
{
digitalizacion = analogRead(potenciometro);
porcentaje = map(digitalizacion,0,1023,0,100);
tension = (5.0/1023.0)*digitalizacion;
Serial.print("BIT: ");
Serial.print(digitalizacion);
Serial.print("\t \t");
Serial.print("PORCENTAJE: ");
Serial.print(porcentaje);
Serial.print("%");
Serial.print("\t \t");
Serial.print("TENSION: ");
Serial.print(tension);
Serial.println(" [V]");
delay(500);
}
Resultado:
Se implementando un protoboard para lograr de manera simple y sin necesidad de
soldar la conexin entre la resistencia variable y la placa Arduino UNO (ver Figura 2-2).
2.1.2
PWM
9
luminosidad del led naranjo y la luminosidad del led rojo varia a medida que se atenue o
se intensifique la luz ambiente captada por la fotorresistencia.
Ambos leds estn conectados a los pines 11 y 10 respectivamente, los cuales
realizan seales PWM, simulando una salida anloga con las que modifican la emisin de
luz de los led.
En la Figura 2-4 se muestra el diagrama de bloques que interpreta los comandos en
el cdigo de Arduino
Cdigo implementado:
int potenciometro = A0, ldr=A1;
int digitalizacion = 0;
int porcentaje;
float tension;
int luminosidad;
int ldrluz;
int led =11, led1=10;
void setup()
{
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
Serial.begin(115200);
10
}
void loop()
{
digitalizacion = analogRead(potenciometro);
ldrluz = analogRead(ldr);
//Lectura de LDR
ldrluz = map(ldrluz,200,1023,0,255);
//Mapeo de LDR a dato de 8 bit
porcentaje = map(digitalizacion,0,1023,0,100);
tension = (5.0/1023.0)*digitalizacion;
luminosidad = map(digitalizacion,0,1023,0,255); //Mapeo de potencimetro a 8 bit
analogWrite(led,luminosidad);
//Seal de salida PWM al led naranjo
analogWrite(led1,ldrluz);
//Seal de salida PWM al led roko
Serial.print("BIT: ");
Serial.print(digitalizacion);
Serial.print("\t\t");
Serial.print("PORCENTAJE: ");
Serial.print(porcentaje);
Serial.print("%");
Serial.print("\t\t");
Serial.print("TENSION: ");
Serial.print(tension);
Serial.println(" [V]");
delay(100);
}
Resultado:
En la Figura 2-5 se muestra la conexin de los leds naranjo y rojo, en conjunto con
el LDR y el potencimetro. A cada led se le agrego en serie una resistencia de 190[]
para reducir la tensin de alimentacin. Adems se aadi una resistencia de 1220[]
entre los 5 [V] y el LDR, para poder as captar las variaciones de tensin en relacin a la
luminosidad del ambiente.
11
2.1.3
GUI
Cdigo Arduino:
int led = 11,angulo=0;
byte dato = 0;
void setup() {
Serial.begin(115200);
pinMode(led,OUTPUT);
}
///////////////////////////////////////////////////////////////loop infinito/////////////////////////////////////////////////////////
void loop() {
analogWrite(led,dato);
angulo=map(dato,0,255,0,179);
Serial.print(dato);
Serial.print(",");
Serial.print(angulo);
Serial.println(",");
delay(10);
}
//////////////////////////////////////////////////////lectura del puerto Serial/////////////////////////////////////////////////
void serialEvent() {
if(Serial.available()>0)//Si el Arduino recibe datos a travs del puerto serie
12
{
dato = Serial.read(); //Los almacena en la variable "dato"
}
}
Cdigo Processing:
PFont f;
import controlP5.*;
import processing.serial.*;
ControlP5 cp5;
Serial port;
int test =0;
boolean stringComplete= false;
String inputString="";
void setup() {
PFont font = createFont("ArialMT-48",20);
size(300,300);
// tamao de la ventana
noStroke();
cp5 = new ControlP5(this);
port = new Serial(this, Serial.list()[0], 115200);
cp5.addKnob("knob")
.setRange(0,255)
.setValue(0)
.setPosition(100,70)
.setRadius(50)
.setDragDirection(Knob.VERTICAL)
;
port.clear();
}
//////////////////////////////////////mostrar en pantalla/////////////////////////////////////////////////
void draw() {
background(#5A9DD3);
textSize(15);
fill(255);
text("Dato enviado",10,200);
text("Dato recibido",150,200);
textSize(20);
fill(#526E83);
rect(30,220,50,30);
rect(170,220,50,30);
rect(170,260,50,30);
fill(255);
text(test,35,240);
fill(#7BBCF0);
rect(0,0,300,60);
fill(255,100,0);
13
text("CONTROL PWM",60,40);
if (stringComplete)
{
String[] valor = split(inputString,',');
fill(255);
text(valor[0],175,240);
text(valor[1],175,280);
inputString = "";
stringComplete = false;
}
port.write(test);
}
////////////////////////Funcin de control de eventos (SLIDER)/////////////////////////////////
void controlEvent(ControlEvent theControlEvent)
{
test = (int)theControlEvent.getValue();
}
///////////////////////////////Funcin de lectura de puerto Serial//////////////////////////////////////
void serialEvent(Serial port) {
while (port.available()>0 )
{
char inChar = (char)port.read();
inputString += inChar;
if (inChar == '\n')
{
stringComplete = true;
}
}
}
Resultado:
14
2.2
Conclusin
15
CAPTULO 3
EXPERIENCIA 3
3.1
Objetivos
3.2
Resultados
16
REFERENCIAS
[BORRAR] En esta seccin se listan los nombres de todas las referencias
bibliogrficas, libros, revistas o documentos de uso general que han sido citados en el
texto y desde donde se han obtenido aseveraciones no demostradas.
En este listado no deben incluirse, apuntes de cursos ni textos que no estn
debidamente completados con autor, editorial y fecha de publicacin adecuadamente
comprobable.
La bibliografa debe ser llenada desde la seccin Referencias de Microsoft Word
2010 en el apartado Citas y bibliografa.
Debe hacer clic en la pestaa Bibliografa y seleccionar Insertar bibliografa.
[BORRAR]
[1] G. Claros, Normas de la escritura cientfica, 1 Marzo 2012. [En lnea]. Available:
http://sebbm.es/BioROM/contenido/norm_escrit/index.htm.
[2] Preparation of papers for IEEE TRANSACTION and JOURNALS, 2007.
[3] H. T. Sanchez, El rayo: mitos, leyendas, ciencia y tecnologa., de El rayo: mitos,
leyenas, ciencia y tecnologa., Bogot, Universidad Nacional de Colombia, 2002, pp.
52-53.
http://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/Apunte
s/PID.pdf
http://es.wikipedia.org/wiki/Proporcional_integral_derivativo