Elaboración de la estructura del ADN y ARN en papel.pdf
Modelo motor
1. Universidad de Huelva
I.T. Informática de Sistemas
MMOODDEELLOO DDEE MMOOTTOORR
DDCC EENN SSIIMMUULLIINNKK
YY CCOOMMPPAARRAATTIIVVAA
CCOONN MMOOTTOORR RREEAALL
MMEEDDIIAANNTTEE DDSSPPAACCEE
Alumno:
Vicente Herrera García
Profesor:
Dr. Omar Sánchez Pérez
2. CONTENIDO
Este documento es un estudio sobre el desarrollo en Simulink de un bloque que simule
el comportamiento de un motor real a partir de datos existentes en su hoja de
características. Incluye su desarrollo teórico, la implementación en Simulink y la
comparación con un motor real.
Apartados:
Faulhaber Aplication Notes
En este apartado incluimos unas notas teóricas del fabricante de servomotores
Faulhaber, que han servido de base a este estudio.
Ecuación de la Velocidad
Resumen final con la ecuación de velocidad de un motor en función del torque y el
voltaje, así como de constantes físicas del mismo. Distintas formas de expresar dicha
ecuación.
Análisis dimensional
Análisis de la coherencia entre las unidades de medida, y la forma más adecuada para
trabajar con estas, en la ecuación de velocidad.
Modelo Simulink
Modelo en Simulink de la ecuación de velocidad, que nos servirá para simular el
comportamiento de un motor en Matlab.
Hoja de Características de un motor real
Características físicas del servomotor Faulhaber Micromo 2230-12s dadas por el
fabricante, que será utilizado para compararlo con el modelo en Simulink.
DSpace: Adquisición de datos y simulación de modelos
Una breve explicación del sistema de adquisición de datos empleado para el estudio del
motor, y de cómo se ha realizado el montaje del mismo.
Comparativa modelo-motor real: Velocidad máxima sin cargar
El motor real y el modelo en una comparativa donde se comprueba su velocidad
máxima sin carga al voltaje nominal, y se compara con las especificaciones del
fabricante.
Evaluación del momento de inercia
Estudio del efecto en el comportamiento del modelo de el momento de inercia del motor
(sin carga), y en que manera es necesario para emular completamente al motor real.
Estimación del momento en el motor real.
Comparativa Modelo-Motor real: Sistema en lazo cerrado
Comparativa del modelo y el motor real en un sistema en lazo cerrado con control
mediante PID, cuya variable representativa es la posición, utilizando una señal patrón
compleja.
3. FAULHABER APLICATION NOTES
REFERENCIA:
http://www.micromo.com/03application_notes.asp
Faulhaber – MicroMo Electronics, Application Notes.
Motor Calculation: Numerical calculation
Lo siguiente es un extracto de las Aplication Notes que pueden encontrarse en la página
web de Faulhaber, un fabricante de motores. Este estudio no solo se centra en los
parámetros utilizados para describir sus motores, sino que se trata de unos cálculos
genéricos, válidos para otros motores del mismo tipo.
Numerical Calculation
For an iron-less core, DC motor of relatively small size, the relationships which govern the
behavior of the motor in various circumstances can be derived from physical laws and
characteristics of the motors themselves.
Kirchoff's voltage rule states that "The sum of the potential increases in a circuit loop must equal
the sum of the potential decreases." When applied to a DC motor connected in series with a DC
power source, Kirchoff's voltage rule can be expressed as "The nominal supply voltage from the
power source must be equal in magnitude to the sum of the voltage drop across the resistance
of the armature windings and the back EMF generated by the motor.":
Vo = (I x R) + Ve
Where:
Vo = power supply voltage in volts
I = current in the circuit in Amps
R = resistance of motor windings in Ohms
Ve = generated back EMF in volts
The back EMF generated by the motor is directly proportional to the angular velocity of the
motor. The proportionality constant is the back EMF constant of the motor.
Ve = W x Ke
Where:
W = angular velocity of the motor
Ke = back EMF constant of the motor
Therefore, by substitution:
Vo = (I x R) + (W x Ke)
The back EMF constant of the motor is usually specified by the motor manufacturer in
volts/RPM or mV/RPM. In order to arrive at a meaningful value for the back EMF, it is necessary
to specify the motor velocity in units compatible with the specified back EMF constant.
4. The motor constant is a function of the coil design and the strength and direction of the flux lines
in the air gap. Although it can be shown that the three motor constants normally specified (back
EMF constant, torque constant, and velocity constant) are equal if the proper units are used,
calculation is facilitated by the specification of three constants in the commonly accepted units.
The torque produced by the rotor is directly proportional to the current in the armature windings.
The proportionality constant is the torque constant of the motor.
T = I x Kt
Where:
T = torque developed at rotor
Kt = motor torque constant
Substituting this relationship:
V = (T x R)/Kt + (W x Ke)
The torque developed at the rotor is equal to the friction torque of the motor plus the resisting
torque due to external mechanical loading:
T = Tf + T1
Where:
Tf = motor friction torque
T1 = load torque
Assuming that a constant voltage is applied to the motor terminals, the motor velocity will be
directly proportional to sum of the friction torque and the load torque. The constant of
proportionality is the slope of the torque-speed curve, given by:
Speed loss = -Wo / Ts
Where:
Wo = motor friction torque
Ts = load torque
An alternative approach to deriving this value is to solve for velocity, W:
W = Vo/Ke - T1 / (Kt x Ke)
5. Atención: Existe una errata en la fórmula anterior
Si despejamos W a partir de
V = (T x R)/Kt + (W x Ke)
vemos que la formula que obtenemos es
W = Vo/Ke – (T1 x R) / (Kt x Ke)
y no:
W = Vo/Ke - T1 / (Kt x Ke) **no**
donde por error ha sido omitido el término R.
Es la fórmula correcta la que se presupone se utiliza a continuación para el resto de
cálculos.
Differentiating both sides with respect to T1 yields:
dW/dT1 = -R / (Kt x Ke)
Using dimensional analysis to check units, the result is:
-Ohms/(oz-in/A) x (V/RPM) = -Ohm-A-RPM/V-oz-in = -RPM/oz-in
which is a negative value describing loss of velocity as a function of increased torsional load.
6. Sample Calculation
Motor 1624T009S is to be operated with 9 volts applied to the motor terminals. The torque load
is 0.2 oz-in. Find the resulting motor speed, motor current, efficiency, and mechanical power
output.
From the motor data sheet, it can be seen that the no-load speed of the motor at 9 volts is
11,700 rpm. If the torque load is not coupled to the motor shaft, the motor would run at this
speed. The motor speed under load is simply the no-load speed less the reduction in speed due
to the load. The proportionality constant for the relationship between motor speed and motor
torque is the slope of the torque vs speed curve, given by the motor no-load speed divided by
the stall torque. In this example, the speed reduction caused by the 0.2 oz-in torque load is:
0.2 oz-in x (11,700 rpm/.634 oz-in) = -3690 rpm
The motor speed under load must then be:
11,700 rpm - 3690 rpm = 8010 rpm
The motor current under load is the sum of the no-load current and the current resulting from
the load. The proportionality constant relating current to torque load is the torque constant (Kt),
in this case, 1.039 oz-in/A. In this case, the load torque is 0.2 oz-in, and the current resulting
from the load must be:
I = 0.2 oz-in x 1 amp/1.039 oz-in = 192 mA
The total motor current must be the sum of this value and the motor no-load current. The data
sheet lists the motor no-load current as 11 mA. Therefore, the total current is:
192 mA + 11 mA = 203 mA
The mechanical power output of the motor is simply the product of the motor speed and the
torque load with a correction factor for units (if required). Therefore, the mechanical power
output of the motor in this application is:
output power = 0.2 oz-in x 8010 rpm x .00074 = 1.18 Watts
The mechanical power input to the motor is the product of the applied voltage and the total
motor current in Amps. In this application:
input power = 9 volts x .203 A = 1.82 Watts
Since efficiency is simply power out divided by power in, the efficiency in this application is:
efficiency = 1.18 Watts / 1.82 Watts = .65 = 65%
7. ECUACIÓN DE LA VELOCIDAD
Partiendo de la fórmula utilizada anteriormente:
W = Vo/Ke – (T1 x R) / (Kt x Ke)
Vamos a estudiar algunas formas de trabajar con ella de manera más adecuada.
Para empezar, en el término anterior se suponia que todo el torque que estaba generando
el motor es torque aplicado, pero si no despreciamos el torque de rozamiento:
T = T1 + Mr
W = Vo/Ke – (T x R) / (Kt x Ke)
Ya que el torque de rozamiento es un parámetro conocido de las características del
motor.
En ocasiones en lugar de estudiar el torque nos será más útil utilizar la expresión:
T = L · dw/dt
donde L es el momento de inercia del sistema.
Esta es válida para sistemas en los que el momento L sea constante.
Como el torque es una magnitud aditiva, es decir, el torque total generado es igual a la
suma de los torques generados para cada caso en particular, podemos generalizar en la
forma:
W = Vo/Ke – (T x R) / (Kt x Ke)
T = T1 + Tw + Mr
W : velocidad angular del motor
Vo : voltaje aplicado al motor
T1 : torque generado
Tw = L · dw/dt : torque generado en función de J
L : momento de inercia constante
Mr : torque de rozamiento
R : resistencia del motor
Kt : constante de torque del motor
Ke : constante de fuerza contraelectromotriz
De esta manera, cuando nos interese podemos hacer T1=0, y trabajar solo con valores
de L, o viceversa, o utilizar ambos.
8. Esta fórmula, en la que tenemos W en función de Vo y T, puede ser despejada en
función de las otras variables:
Vo en funcion de W y T
Vo = W · Ke + (T · R) / Kt
T en funcion de Vo y W
T = (Vo · Ke) / R – (W · Ke · Kt) / R
9. ANÁLISIS DIMENSIONAL
Examinando la hoja de características de un motor Faulhaber, vemos que las constantes
vienen dadas por:
modelo 2230-012S:
Ke = 1’250 mV/rpm
Kt=Km = 12’00 mNm /A
R= 10’8 ohm
Deberíamos, para ser consistente con esas unidades, trabajar en:
W en rpm
T en N·m
Vo en V
O convertir esas variables a dichas unidades en el momento de utilizar la fórmula, o
convertir las unidades de las constantes del motor.
Si tenemos en cuenta que:
ohm = V/A
V= N·m
y consideramos aparte los factores mili de las constantes,
Ke = 1’250·10-3
V/rpm
Km = 12’00·10-3
Nm /A
El análisis dimensional resulta:
[W] = V / ( V/rpm ) + ( N · m · ohm ) / ( (V/rpm) · (Nm/A) )
[W] = rpm + (V · ohm) / ( (V/A) · (Nm/rpm) ) =
= rpm + (V·ohm)/(ohm · V/rpm ) = rpm + rpm
[W] = rpm
Luego dimensionalmente, la fórmula resulta consistente.
10. Las dimensiones elegidas en la hoja de características de Faulhaber para describir el
momento de inercia del rotor son:
J = 2’70 g·cm²
Las unidades naturales que se obtienen para el momento de inercia según las que hemos
utilizado hasta ahora serían:
si J = T / (dw/dt), entonces
[J] = N·m / (rev/min²)
Estas unidades son poco apropiadas. Si queremos realizar la conversión, tendremos que
hacer lo siguiente:
(N·m) / (rev/min²) = ( (N·m) / (rad/s²) ) / ( 2pi /(60·60) ) =
=( (kg·m·m/s²) / (rad/s²) ) · ( 60² / 2pi) ) = kg· m² · 60² / 2pi =
=g · cm² · (60² / 2pi) · 1000 · 100² =
=g · cm² · 602
· 107
/ 2pi
Es decir, podemos para utilizar directamente el valor del momento de inercia en g·cm²
en la fórmula de la velocidad, debemos antes dividirlo por 602
· 107
/ 2pi
11. MODELO SIMULINK
Vamos a realizar un modelo en Simulink que contenga la ecuación de velocidad
W = Vo/Ke – (T x R) / (Kt x Ke)
Las constantes del motor, R, Ke Kt y Mr se introducirán como bloques constantes
dentro del bloque modelo del motor.
Para poder estudiar datos adicionales en el modelo, introduciremos también los cálculos
de corriente consumida, potencia mecánica generada y eficiencia que se vieron en la
Aplication Note de Faulhaber.
Modelo 1:
Primera versión, con T=T1+Mr
14. HOJA DE CARACTERÍSTICAS DE UN
MOTOR REAL
Utilizaremos el siguiente motor para comparar su comportamiento con el del modelo.
Faulhaber DC-Micromotors
2,1 Watt
Precious Metal Commutation
Serie 2230 012 S
2230 T 012 S
1 Nonimal Voltage UN 12 Volt
2 Terminal resistance R 10.8 Ω
3 Output Power P2 max. 3.27 W
4 Efficiency η max. 83 %
5 No-load speed no 9500 rpm
6 No-load current (with shaft d 1,5 mm) Io 0.010 A
7 Stall torque MH 13.20 mNm
8 Friction torque MR 0.12 mNm
9 Speed constant kn 799 rpm/V
10 Back-EMF constant kE 1.250 mV/rpm
11 Torque constant kM ó kt 12.00 mNm/A
12 Current constant kI 0.084 A/mNm
13 Slope of n-M curve ∆n/∆Μ 720 rpm/mNm
14 Rotor inductance L 420 µH
15 Mechanical time constant τ m 20 ms
16 Rotor inertia J 2.70 gcm²
17 Angular acceleration α max. 50 ·103
rad/s²
18 Thermal resistance Rth 1 / Rth 2 4/28 K/W
19 Thermal time constant τ w1 / τ w2 4.5/602 s
20 Operating temperature range:
-motor -30…+85 (optional –55…+125) ºC
-rotor, max. permissible +125 ºC
21 Shaft bearings ball bearings
22 Shaft load max.: (optional)
-with shaft diameter 2.0 mm
-radial at 3000 rpm (3 mm from bearing) 8 N
-axial at 3000 rpm 0.8 N
-axial at standstill 10 N
23 Shaft play:
-radial ∠ 0.015 mm
-axial ∠ 0.2 mm
24 Housing material Steel, zinc galvanized and passivated
25 Weight 50 g
26 Direction of rotation Clockwise, viewed from the front face
RECOMMENDED VALUES
27 Speed up to 8000 rpm
28 Torque up to 2.5 mNm
29 Current up to (thermal limits) 0.450 A
15. DSPACE: ADQUISICIÓN DE DATOS Y
SIMULACIÓN DE MODELOS
Para el estudio de la respuesta del
motor frente a distintos estímulos
utilizaremos el sistema DSpace.
DSpace nos permite, mediante su
software ControlDesk, realizar una
adquisición de los datos en tiempo
real, y exportar las variables
capturadas al espacio de trabajo
Matlab.
Pero lo más interesante es que
DSpace no es solo un sistema de
adquisición de datos, sino que
mediante sus librerías en Simulink y su compilador RTI podremos utilizar los
propios modelos en Simulink introduciendo bloques que corresponden a entradas
y salidas analógicas y digitales.
Librería DS1102 para Simulink
Todas las entradas y salidas del sistema DSpace existen como bloques que permiten su
programación mediante modelos Simulink.
16. Montaje del sistema mediante DSpace
A la izquierda, el panel de conexiones de DSpace. Este envía mediante una de sus
salidas analógicas una señal en voltios a la etapa de potencia, arriba a la derecha, que
la amplifica y la alimenta al motor, abajo a la derecha. Éste posee un encoder
incremental, el cual es leído de nuevo por DSpace mediante una de las conexiones
especializadas para ello.
De esta manera, DSpace no solo adquiere los datos del motor, sino que suministra su
señal. Esta no tiene porqué estar prefijada, sino que puede ser un complejo sistema
en lazo cerrado, diseñado mediante Simulink, cuyo valor a la salida hacia el motor
depende en tiempo real del valor leído a la entrada desde el motor.
Esto nos permite, como se verá en la última sección, diseñar un sistema de control de
posición en lazo cerrado mediante PID en Simulink, y utilizar el mismo diseño tanto
para el motor real como para nuestro bloque de motor simulado.
17. COMPARATIVA MODELO - MOTOR REAL:
VELOCIDAD MÁXIMA SIN CARGA
Utilizaremos el sistema de control y adquisición de datos dSpace para analizar la
respuesta del motor real directamente a partir de un modelo Simulink.
Para ello, emplearemos el siguiente sistema:
El límite para protección del motor, que impide que se le suministren más de 12 voltios,
no juega ningún papel, ya que dicho límite no es sobrepasado.
El bloque proporcional que representa la ganancia de la etapa de potencia es necesario
ya que el motor no es alimentado directamente por el hardware del dSpace, que no
podría suministrar la intensidad de corriente necesaria, sino que es amplificado
mediante un operacional en un montaje cuya ganancia equivale a 2’43. Para evitar que
este valor modifique lo que queremos que el motor reciba en voltios, antes de enviar la
señal al motor la dividimos por dicha ganancia, de forma que cuando el montaje
operacional la multiplique, se obtenga el nivel original de voltaje.
La posición que adquiere el motor, tal como la lee el encoder de posición que trae
incorporado, nos viene dada en revoluciones, es decir, cada unidad representa una
vuelta completa.
En este caso, nuestra prueba será de velocidad, así que convertiremos esta medida a
radianes, y utilizando bloques derivadores, podemos averiguar tanto esta como la
aceleración si así lo deseamos.
18.
19. El bloque del motor, está formado por:
donde el proporcional a la salida constituye un escalado propio del dSpace para todas
sus salidas, donde un valor numérico de 1 equivale a 10 voltios; y la operación a la
entrada constituye un factor de conversión necesario para adecuar la resolución del
encoder y el tamaño del registro de datos al valor de medida que estamos realizando.
La señal que enviaremos al motor será:
Una rampa de pendiente unidad, que comienza un segundo después de haberse iniciado
la simulación, y llega hasta el nivel de 12 V, donde se mantiene durante 8 segundos.
Con esta señal conseguiremos estudiar la velocidad máxima sin carga del motor, y así
comparar esta con la que nos da el modelo y con la que viene especificada en su hoja de
características.
20. Respuesta del motor real:
La velocidad máxima sin carga, sometiendo el motor a12 voltios, es de algo menos de
9500 rpm.
21. Para el modelo del motor, utilizamos el sistema:
Que es similar al anterior, pero cuyos bloques son algo diferentes, ya que:
Se ha añadido externamente el valor del momento de inercia del eje, que hemos
estimado de un valor 5·10-9 Kg·m² (es casi 20 veces mayor que el especificado en la
hoja de características).
El torque aplicado es cero, el motor va sin carga.
Tal como hemos utilizado las constantes del modelo (ver el apartado anterior), la salida
del bloque constituye un valor en rpm, que es adecuado para comparalo con el valor de
velocidad máxima sin carga de la hoja de características.
Para poder comparar los valores de posición y aceleración del modelo con los que se
van observando en el sistema de adquisición de datos, se convierten estos a
revoluciones por segundo, y radianes/s²
Por último, se utiliza un momento de inercia de 5·10-9 Kg·m²
Este último no afecta prácticamente para nada en el resultado de este experimento en
concreto, y su aparición se explica en el siguiente apartado.
22. La respuesta obtenida del modelo es:
Podemos observar una velocidad máxima sin carga de aproximadamente 9500 rpm.
Consultando la hoja de características, vemos que esta es exactamente la velocidad
especificada:
Velocidad máxima sin carga
para el voltaje nominal Vo=12V
motor real menos de 9500 rpm
modelo de motor 9500 rpm
hoja de características 9500 rpm
23. EVALUACIÓN DEL MOMENTO DE INERCIA
Hasta ahora hemos estado utilizando una señal que no contenía discontinuidades ni
saltos. Si examinamos la fórmula de la ecuación de la velocidad:
W = Vo/Ke – (T x R) / (Kt x Ke)
Tal cual está escrita parece que en un instante dado, si cambiamos rápidamente el nivel
de voltaje aplicado al motor, como por ejemplo mediante una señal escalón, el cambio
en velocidad efectuado sería a su vez instantáneo.
Esto no sucede así debido al término en T que contiene al momento de inercia, según el
cual:
T = T1 + Tr + J·dw/dt
Donde entra de nuevo en juego la velocidad del sistema. Si J no es cero, esto se
convierte en una ecuación diferencial, y si estamos trabajando sobre posiciones
w = dΘ/dt
entonces todo el sistema es un sistema de orden dos.
ANALOGÍA ENTRE MOMENTO DE INERCIA Y MASA
Para entender esto fácilmente es común utilizar la analogía de la ley de Newton:
F = m · a
Una forma más exacta de esta ecuación es:
F = d(m·v)/dt
pero si m=cte, entonces
F = m · dv/dt = m · a
Lo mismo sucede con el torque y el momento de inercia:
T = d(J ·w)/dt
si J=cte (si no cambia la distribucion de masas en el cuerpo giratorio)
T= J · dw/dt = J · α
Es decir, el momento de inercia tiene en el movimiento giratorio un papel análogo a la
masa en el movimiento lineal, constituye un factor que al aplicar torque al principio se
opone al movimiento, pero cuando el cuerpo se encuentra ya girando, hace que este sea
más difícil de parar.
Para consideraciones de velocidad máxima , donde w=cte , y para una rampa lo
suficientemente lenta, donde casi w=cte en cada instante, resulta que α = 0, y entonces
α · J = 0, por eso antes no hizo falta considerar J.
24. RESPUESTA A ESCALÓN UNITARIO
Someteremos al modelo y al motor real a una señal escalón unitaria (donde una unidad
corresponde a una vuelta). Es una señal en posición, el sistema es un sistema en lazo
cerrado con un controlador PID (ver apartado siguiente).
Respuesta del modelo para J = 0:
Vemos que si despreciamos el momento de inercia del motor, su comportamiento en
seguir la señal es casi perfecto.
Respuesta del motor:
El motor presenta un comportamiento característico para sistemas de segundo orden.
Debido al sistema en lazo cerrado que realimenta la señal, el motor al principio se pasa
del nivel deseado, realizando un sobreimpulso de valor 1’5, y luego regresa
paulatinamente, realizando unas oscilaciones cada vez más próximas a la señal, durante
un tiempo llamado de asentamiento algo superior a 0’2 segundos.
25. Para J = 2’7 g·cm² = 2’7 ·10-10
kg·m²
Si incluimos el momento de inercia del eje del motor en el modelo, su respuesta mejora
solo un poco, seguramente debido a que esta medida no ha tenido en cuenta otros
elementos presentes también en el cuerpo giratorio del motor.
Para J = 1 ·10-9
kg·m²
Para J = 2’5 ·10-9
kg·m²
26. Para J = 5 ·10-9
kg·m²
Este último valor se aproxima bastante bien a la respuesta real de nuestro motor, con
sobreimpulso máximo de más de 1’5, y un tiempo de asentamiento de más de 0’2
segundos. Comparada con la del motor resulta una aproximación bastante buena, y es la
que utilizaremos.
Respuesta del motor:
27. COMPARATIVA MODELO - MOTOR REAL:
SISTEMA EN LAZO CERRADO
Para una segunda prueba utilizaremos un sistema más complejo, donde se pueda poner
de manifiesto si realmente el modelo es apropiado.
Para ello, utilizaremos un sistema de control en lazo cerrado, mediante un controlador
PID, y compararemos la respuesta del motor y del modelo.
Para el motor, el sistema Simulink será el siguiente:
El controlador PID es un elemento típico de la forma
Donde los valores del PID se han ajustado de manera empírica, de forma que se consiga
una respuesta del motor adecuada, pero sin pretender un comportamiento perfecto de
este, ya que la intención es comparar su funcionamiento imperfecto con el del modelo.
28. La señal generada esta vez es más complicada:
Nótese además, que se trata de una señal respecto a la posición que el motor debe
adquirir en cada momento, siendo de 0 a 1 una vuelta completa (revolucion), y debiendo
realizar esos cambios en pocos segundos.
El comportamiento del motor fue el siguiente:
Nótese que las escalas de tiempo para el “inicio” de las pruebas en esta y sucesivas
graficas de las medidas del motor y las generadas por el modelo no coinciden debido a
que se utilizo un software diferente. Esto no afecta a los resultados.
Es un comportamiento bastante bueno, salvo por los sobreimpulsos en las
discontinuidades de la señal. Son esas diferencias precisamente las que nos interesan,
más adelante ampliaremos esta gráfica para compararlas con las del modelo.
29. El sistema Simulink para el modelo del motor será:
El modelo de motor no nos da la posición, pero tras cambiar la velocidad de rpm a
revoluciones/s, e integrando, obtenemos esta representada de una manera equivalente a
la que se obtiene en el motor real.
El comportamiento del sistema fue el siguiente:
A simple vista, un comportamiento bastante similar al del motor real. Analicemos
ambos con más detalle.