Você está na página 1de 9

Funcin de transferencia del motor dc del panel solar. (Parte terica).

Donde las siguientes variables se describen a continuacin.


Va

Voltaje de armadura(V)

Ra

Resistencia de la armadura ()

La

Inductancia de la armadura (H)

Ia

Corriente de la armadura (I)

Eb

Voltaje de entrada (v)

Velocidad angular (rad/s)

Tm

Torque del motor(Nm)

Posicin angular del rotor (rad)

Jm

Inercia del rotor (Kgm2)

Bm

Coeficiente de friccin viscosidad


(Nms/rad)

Kt

Constante del torque(Nm/A)

Kb

Constante de fme (Vs/rad)

Aplicando las ecuaciones

en el circuito por medio de tensiones de lazo

tenemos:

Aplicando transformada de laplace a las dos ecuaciones tenemos que:

Si se despeja la corriente de armadura de la ecuacin segunda y por medio


de trucos matemticos podemos obtener que:

Donde la relacin del rotor y la velocidad cuando se aplica un voltaje da


como funcin de transferencia la siguiente:

Donde la relacin entre posicin y velocidad del motor dc es la siguiente:

Luego entonces la relacin que existe entre la posicin angular y el voltaje de


armadura es la siguiente:

Funcin de transferencia del motor dc del panel solar. (Parte experimental).

Como no todos los motores en dc tiene las mismas caractersticas se realizo


una proceso en un motor dc de 12 voltios el cual se tomaron diferentes datos
por medio de la tarjeta de adquisicin Arduino los cuales procesados en
Matlab por medio de IDENT podemos obtener la funcin de transferencia del
motor.
Observacin: es recomendable hacer este proceso para todos los motores dc
que se utilicen para cualquier tipo de control.

La operacin en el Arduino se realiza de la siguiente manera:


int potpin = A0; //define el pin de entrada (potencimetro).
int val;
//variable pulso de salida (pwm).
float out1 =0; //
float out2 =0; // definicin de variables adquisicin de datos
volatile byte cont_rpm;
unsigned long rpm;
unsigned long timeold;
unsigned long periodo;
void setup(){
Serial.begin(9600);
// habilita el Puerto serial.
attachInterrupt(0, rpm_fun, RISING); // mecanismo de interrupcin.
cont_rpm = 0;
rpm = 0;
timeold = 0;
periodo =0;
// inicializacin de variables en 0.
}
void loop(){
val = analogRead(potpin);
//lee datos del Puerto A0 (potencimetro).
val = map(val, 0, 1023, 22, 255); //correccin zona muerta.
analogWrite(3, val);
//salida pwm en el pin 3.
out1 = analogRead(A0);
out2 =out1*5/1024;
//variables a enviar por el DAQ
Serial.print(out2);
//enva el valor del potencimetro.
Serial.print(",");
//espera un tiempo.
Serial.println(rpm);
//enva el valor de la velocidad [rpm].
}
void rpm_fun(){

//funcin que hace la conversin de pulsos a rpm

cont_rpm++;
//contador, rutina de interrupcin.
if (cont_rpm >= 2) {
// conversion pulsos a rpm.
periodo=micros()- timeold;
rpm = (60000000/periodo)*cont_rpm;
timeold = micros();
cont_rpm = 0;

}
}

Script de MATLAB, utilizado para la adquisicin de datos.


% Captura de voltaje en tiempo real con Arduino
%% Apertura del serie (COM)
%borrar previos
delete(instrfind({'Port'},{'COM28'}));
%crear objeto serie
s = serial('COM28','BaudRate',9600,'Terminator','CR/LF');
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');
%abrir puerto
fopen(s);
%% Preparar medida
% parmetros de medidas
tmax = 60; % tiempo de captura en s
rate = 85; % resultado experimental (comprobar)
% preparar la figura
f = figure('Name','Captura');
a = axes('XLim',[0 tmax],'YLim',[0 5000]);
l1 = line(nan,nan,'Color','r','LineWidth',2);
l2 = line(nan,nan,'Color','b','LineWidth',2);
xlabel('Tiempo (s)')
ylabel('Voltaje[V] escalado en 1000 y RPM')
title('Captura de voltaje (Rojo) y RPM (Azul)en tiempo real con
Arduino')
grid on
hold on

%% Bucle
% inicializar
v1 = zeros(1,tmax*rate);
v2 = zeros(1,tmax*rate);
i = 1;
t = 0;
% ejecutar bucle cronometrado
tic
while t<tmax
t = toc;
% leer del puerto serie
a = fscanf(s,'%f,%d')';
v1(i)=1000*a(1);
v2(i)=a(2);
% dibujar en la figura
x = linspace(0,i/rate,i);
set(l1,'YData',v1(1:i),'XData',x);

set(l2,'YData',v2(1:i),'XData',x);
drawnow
% seguir
i = i+1;
end
% resultado del cronometro
clc;
fprintf('%g s de captura a %g cap/s \n',t,i/t);
%% Limpiar
fclose(s);
delete(s);
clear s;

El siguiente anlisis se realiza de acuerdo a script adquisicin de datos


MATLAB. Los datos se enviaron por la conexin USB, pero simulando un
puerto serie que se debe configurar desde Arduino que tendr el nombre de
COM (nmero del puerto). El primer paso ser crear un objeto serie en Matlab
y abrirlo para empezar a leer donde se
habilitara el puerto y la manera
como se reciben los datos de dicho puerto serial adems de la velocidad de
adquisicin de los datos.
Nuestro siguiente procedimiento fue ajustar dos parmetros: el tiempo total de
medida, y la velocidad de capturas por segundo. ste ltimo parmetro hay que
estimarlo, pero haremos que el programa nos devuelva el valor real, con lo que
si ste se aleja de lo estimado ser inmediato corregirlo. Estos tiempos se
nombraron como tmax y rate.
A continuacin se procedi a configurar la forma como la grfica ser
observada se realiz una secuencia de instruccin de medida, en el cual
iremos leyendo del puerto serie los datos en el formato que hemos
especificado, midiendo el tiempo de ejecucin y actualizando los dos objetos
lnea creados anteriormente: los datos Y sern los voltajes medidos hasta el
momento y los datos X el tiempo de ejecucin. Al salir del bucle, imprimiremos
el dato de capturas por segundo que hemos estimado arriba. Por ltimo,
cerramos el puerto serie.
Cuando se realiza la ejecucin del script en MATLAB, se puede obtener los
datos cuando se varia el potencimetro en el entorno Command Windows de
MATLAB, se observa el tiempo en el cual se hace la medida y el nmero de
muestras por segundo de ac podemos calcular el periodo de muestreo de
dicha seal.
Para tener una mayor entendimiento de la adquisicin de datos se realiz una
comparacin con dos tomas de muestras que se analizan a continuacin.

Figura [9] Estructura de los datos en un minuto tomados del motor dc

Despus de realizar la recoleccin de los datos de voltaje y RPM usando


MATLAB, con la herramienta IDENT se generaron una serie de entornos
grficos: esto se realiz de acuerdo al variar el nmero de polos, agregar ceros,
retardos, entre otras.

Figura [10].Graficas generadas por la interface IDENT de Matlab

Se puede observar en la Figura 4 que el respectivo tiempo para tomar las


muestras es de 65 s [seg] y se dividieron los datos en dos subgrupos donde
cada uno contiene el 50% de las muestras tomadas. Una primera parte se
utiliz para generar el modelo y la otra parte se utiliz para crear la de
validacin de los datos en este ejemplo dicha validacin da un porcentaje de
70.3 % de fiabilidad. Dependiendo del nmero de polos y ceros que se utilicen
la fiabilidad cambia para este ejemplo se utiliz dos polos, generando la funcin
de transferencia que se muestra en la figura [11].

Figura [11]. Funcin de transferencia del motor dc de 12 [v] para el panel solar.

DISEO ELECTRNICO DEL SEGUIDOR SOLAR DE 2 EJES

Nuestro diseo de seguidor consistir en un circuito analgico capaz de


detectar el desbalance luminoso entre dos fotorresistencias ubicadas en la
misma posicin que el panel solar, de manera que cuando estas no estn
orientadas hacia el Sol, el circuito pueda activar un motor que acte sobre la
estructura del panel solar para orientarlo hacia el Sol y corregir dicho
desbalance.

Figura [12]. Esquema bsico de un controlador solar de dos ejes.

Figura [13]. Estructura elctrica y mecnica del panel solar.

Nuestro diseo consisti en primer lugar de un circuito electrnico capaz de


tomar decisiones bsicas a partir de algunas variables de entrada. El circuito
comparador, como lo hemos llamado, evaluar las variables y enviar un valor
de salida acorde a la entrada. Hemos mencionado anteriormente que el circuito
estar basado en sensores de luz ubicados en el panel solar, dispuestos de tal
manera que slo puedan proporcionar un valor de voltaje determinado estando
ubicados ambos frente al Sol, el resto ser trabajo del circuito.

Es recomendable sustituir las LDRs por otras que, no solamente sean iguales
(lo ms posible) entre s, sino que tengan valores altos (ms de 50 k-ohm).
Adems debe procurar que la variacin sea lo ms lineal posible.

Figura [14]. Esquema electrnico del panel solar.

El circuito bsico puede apreciarse en la figura [14]. Por simple inspeccin,


vemos que se trata de un comparador. Simplemente se esperar el momento
en que en el nodo que une las fotorresistencias se salga del rango que le
hemos establecido con la red de resistencias fijas y variables, y activar un
amplificador operacional que ser la seal que pasar a amplificarse hasta ser
capaz de activar el motor en el sentido correcto.

Você também pode gostar