<!-- canonical: https://jmrplens.github.io/phonometry/es/vibration/machinery/machine-vibration-evaluation/ -->
Source: https://jmrplens.github.io/phonometry/es/vibration/machinery/machine-vibration-evaluation/

[Frecuencias de fallo en máquinas](/phonometry/es/vibration/machinery/machine-diagnostics/)
responde a *dónde se vería un fallo*. Esta página responde a lo que una planta
pregunta antes: **¿es aceptable esta máquina?**. Son dos oficios distintos. Una
línea cinemática dice qué va mal; una calificación de severidad dice si se
sigue funcionando. Sale de un único número de banda ancha, y el 4.3.3 dice de
cuál: el mayor de los medidos en las posiciones y direcciones acordadas.

La ISO 20816-1:2016 es el documento base de la serie ISO 20816, que fusionó y
sustituyó a la ISO 10816-1 y a la ISO 7919-1. Fija la forma del juicio y deja
los números a las partes específicas de cada máquina: la Parte 2 para turbinas
de gas grandes, la Parte 3 para máquinas industriales, la Parte 4 para turbinas
de gas, la Parte 5 para centrales hidráulicas, la Parte 8 para compresores
alternativos y la Parte 9 para reductores.

## 1. Qué se mide, y dónde

Dos clases de medida, y una máquina puede llevar las dos.

**En partes no rotativas**, un acelerómetro o un transductor de velocidad sobre
el cojinete, su soporte o cualquier otra parte estructural que responda a las
fuerzas dinámicas que llegan por el cojinete. El apartado 4.4.1 pide tres
direcciones mutuamente perpendiculares en cada posición para el ensayo de
recepción; la monitorización en servicio se suele resolver con una de las dos
direcciones radiales o con las dos, y la axial sólo se evalúa en cojinetes
axiales, donde se transmite fuerza dinámica axial directa.

**En el eje que gira**, un par de sondas sin contacto que leen directamente el
desplazamiento del eje. El apartado 4.4.2.1 las coloca radialmente en un mismo
plano transversal, con sus ejes a menos de 5° de una línea radial,
preferiblemente separadas 90° ± 5° en la misma mitad del cojinete, y en las
mismas posiciones en todos los cojinetes de la máquina. Una sola sonda por
plano se admite únicamente cuando se sabe que da información suficiente.

*Las dos familias de medida del apartado 4.4, sobre un mismo tren. La flecha
axial va escorzada porque sale del plano de un alzado.*

La magnitud medida es de banda ancha, y la **severidad de vibración** es la
mayor magnitud encontrada en cualquier cojinete a la velocidad nominal en
régimen permanente (4.3.3). Es ese único número el que califican las zonas.

## 2. Cuatro zonas, no un apto y un no apto

El apartado 6.3.2.3 califica en vez de juzgar:

| Zona | Qué significa |
| :--- | :--- |
| **A** | Donde suelen caer las máquinas recién puestas en servicio. |
| **B** | Aceptable para operación prolongada sin restricción. |
| **C** | Insatisfactoria para operación continua prolongada; la máquina puede funcionar un tiempo limitado hasta que se pueda actuar. |
| **D** | Lo bastante severa como para dañar la máquina. |

Tres fronteras las separan, y `evaluation_zone` es la comparación misma. Es
deliberadamente ciega a la magnitud: las partes de la serie fijan fronteras
sobre desplazamiento de eje, velocidad de carcasa o aceleración de carcasa, y
la calificación es la misma en los tres casos. Una magnitud justo en una
frontera es el techo de la zona de abajo, que es como imprimen sus límites las
tablas.

```python
from phonometry import vibration

# Tres fronteras de la parte de la ISO 20816 que aplique, en mm/s eficaces.
zones = vibration.ZoneBoundaries(2.8, 7.1, 11.2)
print(vibration.evaluation_zone([0.9, 3.4, 8.0, 20.0], zones))   # ['A' 'B' 'C' 'D']
print(vibration.evaluation_zone(2.8, zones))                     # A, el límite de A
```

Las fronteras tienen que crecer a lo largo de las zonas, y `ZoneBoundaries`
rechaza un juego que no lo haga: desordenadas calificarían de mala una máquina
buena sin decir nada.

## 3. El criterio es una curva, no un número

La velocidad sostiene un criterio de severidad en un rango amplio de
velocidades de giro, que es por lo que las tablas se escriben en ella. Pero un
límite único de velocidad *independiente de la frecuencia* admite
desplazamientos inaceptables a baja frecuencia y aceleraciones inaceptables a
alta (6.3.2.1). Así que el criterio de la Figura 9 sólo es plano entre dos
frecuencias de esquina, y cae fuera de ellas. El Anexo C.2 lo escribe como
Fórmula (C.1), y `allowable_velocity` es esa fórmula:

*Una sola curva, llevada a las tres fronteras por el factor `Zbound`. Por
debajo de la esquina inferior el criterio mantiene constante el desplazamiento;
por encima de la superior, la aceleración.*

<details>
<summary>Ver el código de esta figura</summary>

```python

from phonometry import vibration

freq = np.logspace(np.log10(2.0), np.log10(3000.0), 600)
common = dict(constant_velocity_mm_s=1.12, corner_low_hz=10.0,
              corner_high_hz=1000.0)
for zone, factor in vibration.ZONE_LIMIT_FACTORS.items():
    plt.plot(freq, vibration.allowable_velocity(freq, zone_factor=factor,
                                                **common),
             label=f"límite de la zona {zone}")
plt.xscale("log"); plt.yscale("log"); plt.legend()
plt.xlabel("Frecuencia [Hz]"); plt.ylabel("Velocidad eficaz admisible (mm/s)")
plt.show()
```

</details>

El factor `Zbound` lleva la única curva a los tres límites, y el Anexo C.2
imprime lo que vale: 1 para el límite de la zona A, **2,56** para la B y
**6,4** para la C. Son 1,6 al cuadrado y 1,6 a la cuarta, con buena
aproximación, y la escala de la Tabla C.1 también avanza en pasos de en torno a
1,6, así que los tres límites caen cerca de sus escalones sin coincidir con
ellos.

```python
from phonometry import vibration

common = dict(constant_velocity_mm_s=1.12, corner_low_hz=10.0,
              corner_high_hz=1000.0)
for zone, factor in vibration.ZONE_LIMIT_FACTORS.items():
    limit = vibration.allowable_velocity(100.0, zone_factor=factor, **common)
    print(zone, round(float(limit), 2))       # A 1.12 / B 2.87 / C 7.17
```

Las frecuencias de esquina y los exponentes son de la máquina, y los fijan las
partes específicas. Los valores por defecto de 1 son la lectura física de la
forma, no un número tomado de ningún sitio: desplazamiento constante por debajo
de la esquina inferior, que hace *subir* la velocidad admisible a 6 dB por
octava, y aceleración constante por encima de la superior, que la hace bajar al
mismo ritmo. La curva queda baja en los dos extremos y plana en medio.

## 4. Un cambio es un vector

El criterio I juzga una magnitud. El **criterio II** (6.3.3) juzga un *cambio*
respecto de una referencia establecida, y existe porque una máquina puede
estropearse dentro de la zona B: puede darse un aumento o una disminución
significativos, y exigir actuación, mucho antes de llegar a la zona C.

La trampa es que una magnitud de banda ancha no sabe expresar un cambio. El
Anexo D lo enseña con una máquina cuya vibración bajó de 3 mm/s a 2,5 mm/s
mientras su fase giraba de 40° a 180°:

*La magnitud bajó medio milímetro por segundo. La vibración se movió 5,2, diez
veces más.*

```python
from phonometry import vibration

change = vibration.vibration_vector_change(3.0, 40.0, 2.5, 180.0)
print(round(change.magnitude, 2))          # 5.17 mm/s: el cambio real
print(round(change.magnitude_change, 2))   # -0.5 mm/s: lo que dicen las magnitudes
```

Por eso la fase pertenece al registro de tendencia. Una componente que gira
mientras su aportación baja cambia la máquina, y un criterio de sola magnitud
ve una pequeña mejora.

## 5. De dónde salen los números

Para una máquina cubierta por una parte de la serie, de esa parte. Para una que
no lo está, y donde no hay experiencia disponible, el Anexo C.1 ofrece la Tabla
C.1: una escala de magnitudes preferentes y el rango del que se suele tomar
cada frontera, con las máquinas pequeñas (motores eléctricos de hasta 15 kW) en
el extremo bajo y las grandes sobre apoyos flexibles en el alto.

```python
from phonometry import vibration

print(vibration.TYPICAL_ZONE_BOUNDARY_RANGES_MM_S["B/C"])   # (1.8, 9.3)
print(vibration.TYPICAL_BOUNDARY_LADDER_MM_S[:5])           # los primeros escalones
```

Los rangos se solapan a propósito: la frontera A/B de una máquina grande puede
quedar por encima de la B/C de una pequeña, que es lo que los hace rangos y no
límites. Son un punto de partida para el acuerdo entre suministrador y cliente,
y la norma dice sin rodeos que los valores asignados a las fronteras de zona no
pretenden servir de especificación de recepción (6.3.2.5).

## 6. Los números, para las máquinas que llenan una planta

La Parte 1 fija la forma del juicio y se niega a dar fronteras. La
**ISO 10816-3** las da, para las máquinas de las que de verdad está hecha una
instalación industrial: compresores rotativos, generadores, motores eléctricos
de cualquier tipo, soplantes y ventiladores, turbinas de vapor de hasta 50 MW
y turbinas de gas industriales de hasta 3 MW, todas medidas in situ sobre las
partes no rotativas.

Dos preguntas colocan a una máquina en una de cuatro clases.

**Cómo de grande es** (4.2). El *grupo 1* es una máquina grande de potencia
nominal superior a 300 kW, o una máquina eléctrica de altura de eje de 315 mm
o más; el tope de 50 MW está impreso en el título de la Tabla A.1 y no en el
apartado. El *grupo 2* es una máquina mediana de más de
15 kW y hasta 300 kW inclusive, o una máquina eléctrica de altura de eje desde
160 mm hasta 315 mm sin incluirlo.

**Sobre qué se apoya** (4.3). Si la frecuencia natural más baja del conjunto
máquina y soporte, *en la dirección en la que se mide*, supera en al menos un
25 % a la frecuencia de excitación principal, que casi siempre es la de giro,
el soporte es **rígido** en esa dirección. Cualquier otro soporte es
**flexible**. La cláusula es explícita en que las dos cosas pueden convivir en
una misma máquina: una cimentación rígida en vertical y blanda en horizontal se
juzga con la tabla rígida en una dirección y con la flexible en la otra.

Cada una de las cuatro clases se enuncia entonces **dos veces**, una en
desplazamiento y otra en velocidad, y el 5.2.3 resuelve el desacuerdo: se
aplica la zona de severidad más restrictiva.

*La misma máquina, leída de dos maneras. La velocidad dice zona B; el
desplazamiento dice zona C; la calificación es C.*

```python
from phonometry import vibration

print(vibration.industrial_machine_zone("group_2", "rigid", velocity_mm_s=2.0))
# B
print(vibration.industrial_machine_zone("group_2", "rigid", displacement_um=50.0))
# C
print(
    vibration.industrial_machine_zone(
        "group_2", "rigid", displacement_um=50.0, velocity_mm_s=2.0
    )
)  # C
```

Un mes de lecturas diarias es una sola llamada. Se pasa la serie como vector y
cada lectura se califica por su cuenta, que es la serie sobre la que se juzga el
Criterio II: ese criterio no mira la zona, mira el cambio respecto de la
referencia establecida, y una máquina puede estar bien dentro de la zona B y
deber una investigación igualmente.

```python

from phonometry import vibration

trend = np.array([1.0, 2.0, 3.5, 5.0])
print(vibration.industrial_machine_zone("group_2", "rigid", velocity_mm_s=trend))
# ['A' 'B' 'C' 'D']
```

*El Criterio II lo ve primero. En el mes 7 la máquina sigue calificada como B, y
el cambio respecto de su propia referencia ya ha superado lo que el apartado 5.3
pide investigar.*

Se pasan las magnitudes que se hayan medido. El Anexo A dice que la velocidad
sola basta en la mayoría de los casos, y que una máquina cuyo espectro se
espere con componentes de baja frecuencia debe juzgarse con las dos. Los
límites son valores eficaces de banda ancha entre 10 Hz y 1 kHz, o desde 2 Hz
para una máquina que gire por debajo de 600 r/min.

La edición implementada aquí es la ISO 10816-3:2009, a la que la
ISO 20816-3:2022 ya ha sustituido. La Parte 3 es la única de la serie que no
está en la biblioteca, así que las fronteras vienen de su predecesora directa,
y esta página lo dice en lugar de aparentar una vigencia que no tiene.

## 7. ALARMA y DISPARO, con números detrás

La Parte 1 describe los dos límites operativos y deja sus valores a las partes.
La Parte 3 los da, y cada uno se fija a partir de una cosa distinta.

**Un cambio significativo** (5.3) es un aumento *o una disminución* de más del
25 % del límite superior de la zona B, medido en la misma posición y
orientación del transductor y en las mismas condiciones de funcionamiento. Es
el criterio II hecho aritmética.

**Una ALARMA** (5.4.1) se sitúa un 25 % del límite superior de la zona B por
encima de la referencia establecida para esa posición, y no debería superar
normalmente 1,25 veces ese límite. Las dos mitades importan. Fijada desde la
referencia, la alarma de una máquina silenciosa puede caer bien dentro de la
zona B, que es justo lo que se busca. Topada en 1,25 veces el límite, la alarma
de una máquina cuya referencia ha ido subiendo no puede seguirla sin fin.

**Un DISPARO** (5.4.2) tiene que ver con la integridad mecánica de la máquina,
así que suele ser el mismo para todas las máquinas de un diseño y *no* se ata a
la referencia. Normalmente caerá dentro de la zona C o de la D, y no debería
superar 1,25 veces el límite superior de la zona C.

*La máquina silenciosa recibe una alarma dentro de la zona B. La que ha
derivado choca con el tope.*

```python
from phonometry import vibration

limits = vibration.INDUSTRIAL_MACHINE_ZONES["group_2", "rigid"].velocity_mm_s

print(vibration.is_significant_change(0.8, limits.b_c))   # True
print(vibration.is_significant_change(0.6, limits.b_c))   # False
print(round(vibration.alarm_limit(0.9, limits.b_c), 3))   # 1.6
print(round(vibration.alarm_limit(2.9, limits.b_c), 3))   # 3.5, en el tope
print(round(vibration.trip_limit(limits.c_d), 3))         # 5.625
```

## 8. Reductores, y una calificación en lugar de una clase de máquina

La Parte 3 pregunta qué es la máquina y sobre qué se apoya. La **Parte 9**
pregunta otra cosa: califica un reductor contra un **número de calificación**,
elegido para la unidad al principio de la negociación, y esa calificación
indexa una fila de fronteras.

Hay tres calificaciones, una por magnitud: `DR` para el desplazamiento
relativo del eje pico a pico, `VR` para la velocidad eficaz de la carcasa y
`AR` para la aceleración de pico verdadero de la carcasa. La Tabla 1 fija la
unidad de cada una, micrómetros, milímetros por segundo y metros por segundo al
cuadrado; los tres nombres se deletrean bajo la Tabla 5 y se definen en el
Anexo A. Las Tablas 2, 3 y 4 dan las fronteras.

Esas tres tablas son una sola escalera vista tres veces. Cada fila impresa son
tres peldaños consecutivos de 2, 3,15, 5, 8, 12,5, 20, 31,5, 50, 80, 125, 200,
315, con la propia calificación como frontera B/C y sus vecinos como las otras
dos. Elegir una calificación es elegir un peldaño, y la biblioteca rechaza una
calificación entre dos filas en lugar de interpolarla: la escalera es un
acuerdo, no un continuo.

La Tabla 5 es donde una unidad recibe sus calificaciones. La clase I son
unidades de precisión de eje paralelo para un uso específico, la clase II
unidades de uso general de eje paralelo, helicoidales y cónicas espirales, la
clase III unidades epicicloidales y la clase IV unidades de dentado recto; la
subclase a) cubre cualquier potencia y la subclase b) se parte por ella.

```python
from phonometry import vibration

ratings = vibration.GEAR_UNIT_CLASSES["III", "a"]
print(ratings.displacement, ratings.velocity, ratings.acceleration)
# 80.0 8.0 125.0

boundaries = vibration.gear_unit_zone_boundaries("velocity", ratings.velocity)
print(boundaries.as_tuple)                          # (5.0, 8.0, 12.5)
print(vibration.evaluation_zone(6.0, boundaries))   # B
```

Solo las filas de la subclase a) llevan calificación de aceleración. Todas las
de la b) imprimen «no information available at this time», y la biblioteca lo
lleva como `None` en lugar de rellenar el hueco con un número verosímil.

### Las curvas de calificación, y dónde reaparece la Parte 1

Una calificación no es solo un juego de tres fronteras: el Anexo A la dibuja
como una curva frente a la frecuencia, de modo que una medida filtrada se puede
juzgar línea a línea y no como un único valor de banda ancha. La calificación de
un eje o de una posición es entonces la curva más baja que envuelve todo su
espectro.

*Izquierda, Figura A.1; derecha, Figura A.2. La familia de la derecha es otra
vez el criterio del apartado 3, con las esquinas y la pendiente que enuncia la
Parte 9.*

```python
from phonometry import vibration

print(round(float(vibration.gear_housing_velocity_limit(3000.0, rating=8.0)), 2))
# 5.13 mm/s: una línea de engrane a 3 kHz se juzga contra menos que la calificación
print(round(float(vibration.gear_shaft_displacement_limit(500.0, rating=80.0)), 1))
# 25.3 µm
```

La curva de velocidad merece una segunda mirada. Plana entre dos esquinas y
cayendo fuera de ellas a un mismo ritmo es exactamente la Fórmula (C.1) de la
Parte 1, y esta es esa fórmula con $f_x$ = 45 Hz, $f_y$ = 1590 Hz y
$k = m = 0{,}7$, que son 14 dB por década. La biblioteca la calcula llamando a
`allowable_velocity`, así que las dos partes de la serie comparten una curva en
lugar de dos implementaciones de ella.

### Lo que la Parte 9 no repite

La ALARMA y el DISPARO: el 8.2 manda al lector a la Parte 1, que es el apartado
7 de esta página. Los criterios de aceptación: el 8.3 dice que se acuerdan entre
fabricante y cliente, que históricamente se han especificado dentro de la zona A
o la B y que normalmente no pasarían de 1,25 veces la frontera A/B, que para una
unidad de clase II juzgada en velocidad son 3,94 mm/s.

La medida es el capítulo 6. El desplazamiento del eje se lee relativo a la
carcasa con sondas sin contacto en pares ortogonales a través del alojamiento del
cojinete, y la excentricidad combinada mecánica y eléctrica no debería pasar de
la cuarta parte del desplazamiento admisible a la frecuencia de giro, o de 6 µm,
lo que sea mayor. La vibración de la carcasa se lee sobre una sección rígida como
un bloque de cojinete, en hasta tres direcciones ortogonales, dos de ellas
perpendiculares al eje de los engranajes; un panel de carcasa que no soporta
ningún cojinete no da una indicación verdadera de la unidad.

Las cuatro zonas de evaluación y la calificación del 6.3.2.3, el criterio
conformado en frecuencia de la Figura 9 como Fórmula (C.1) con los factores de
zona del Anexo C.2, los rangos y la escala típicos de la Tabla C.1, y la
lectura vectorial de un cambio del Anexo D, mediante `ZoneBoundaries`,
`evaluation_zone`, `allowable_velocity` y `vibration_vector_change`. Para
máquinas industriales, las fronteras de las Tablas A.1 y A.2 en las dos
magnitudes, la regla de la más restrictiva del 5.2.3, el cambio significativo
del 5.3 y los ajustes de ALARMA y DISPARO del 5.4, mediante
`INDUSTRIAL_MACHINE_ZONES`, `industrial_machine_zone`,
`is_significant_change`, `alarm_limit` y `trip_limit`. Para reductores, las
tres tablas de calificación y la clasificación de la ISO 20816-9, y las dos
curvas de calificación de su Anexo A, mediante `GEAR_UNIT_ZONES`,
`GEAR_UNIT_CLASSES`, `gear_unit_zone_boundaries`,
`gear_shaft_displacement_limit` y `gear_housing_velocity_limit`.

Las fronteras de zona de las partes específicas que esta página no nombra, que
toma como datos de entrada; el criterio de eje de la Figura 10, cuyos valores el
Anexo C.1 se niega a dar para máquinas que ninguna parte cubre, por entender
que esas máquinas no suelen llevar transductores de eje; y la tercera edición
vigente de la Parte 3, la ISO 20816-3:2022, que no está en la biblioteca, así
que las fronteras industriales las pone su predecesora.

## Véase también

- [Frecuencias de fallo en máquinas](/phonometry/es/vibration/machinery/machine-diagnostics/):
  dónde se vería un fallo, una vez que la severidad dice que hay algo que
  mirar.
- [Movilidad mecánica y la familia de FRF (ISO 7626-1)](/phonometry/es/vibration/structural/mechanical-mobility/):
  el vocabulario de respuesta en frecuencia que hay detrás de la respuesta del
  soporte que lee una medida en partes no rotativas.
- [Exposición humana a vibración](/phonometry/es/vibration/human/human-vibration/):
  el mismo movimiento juzgado frente a una persona en vez de frente a una
  máquina.
