Polipasto Eléctrico: Cálculo de Selección del Mecanismo de Elevación

Script Python para el cálculo y selección del mecanismo de elevación con polipasto eléctrico A partir de cuatro parámetros de entrada — Capacidad Nominal Q, Velocidad de Elevación v, Altura de Elevación H y Clase de Funcionamiento A — el script calcula automáticamente la potencia del motor (norma ISO 4301 / FEM 1.001), la Relación de Reducción (JB/T 9008.1), el diseño del Tambor, la selección del Cable de Acero (norma GB/T 8918) y la verificación del Freno (par de frenado ≥ 1,5 veces el par de carga), generando finalmente un plan completo de selección del mecanismo de elevación. El script incluye una función de exportación de informes a Excel y es compatible con polipastos eléctricos estándar CD1/MD1 y escenarios de fabricación no estándar.

El cálculo y la selección del mecanismo de elevación con polipasto eléctrico implican la correspondencia y verificación de cinco parámetros críticos: potencia del motor, Relación de Reducción, dimensiones del Tambor, diámetro del cable de acero y par de frenado. El método tradicional — consultar manuales, realizar cálculos manuales y aplicar correcciones basadas en la experiencia— consume tiempo, es propenso a errores y no permite comparar múltiples alternativas de forma eficiente. Este artículo presenta un script Python completo que, a partir de cuatro parámetros de entrada — Capacidad de Elevación, velocidad, altura y Clase de Funcionamiento — calcula automáticamente todos los parámetros de selección y verifica que cada Indicador cumpla con los requisitos de las normas nacionales. El script se ha utilizado internamente en Kelude Industrias Pesadas para el cálculo de selección de más de 20 polipastos eléctricos no estándar, con una Desviación entre los resultados calculados y las mediciones reales inferior al 5 %.

Diagrama de flujo del cálculo de selección del mecanismo de elevación con polipasto eléctrico

Fórmulas de cálculo y fundamentos normativos

Concepto de cálculoFórmulaLeyenda de símbolosFundamento
potencia del motorP = (Q+G0) x v / (6120 x eta)Q-Capacidad de Elevación(kg) G0-Peso Propio (kg) v-velocidad(m/min) eta-Rendimiento(0.85)norma ISO 4301 / FEM 1.001
diámetro del cable de acerod_min = C x sqrt(F_max)C-Selección Coeficiente(0.095) F_max-Tracción máxima(N)GB/T 8918-2006
diámetro del tamborD ≥ h1 x h2 x dh1-Tambor Coeficiente(16~25) h2-Cable Coeficiente(1.0) d-Diámetro del cablenorma ISO 4301 / FEM 1.001
Tambor LongitudL = (Hxm + 3pi D) x d / (pi D x z) + L1 + L2H-Altura de Elevación m-Multiplicidad z-Número de vueltas en la ranura L-Margen en ambos extremosJB/T 9008.1
Relación de Reduccióni = n_m x pi x D / (m x v x 60)n_m-Motor Velocidad de rotación(r/min) D-diámetro del tambor(mm)JB/T 9008.1
Freno VerificaciónT_brake ≥ 1.5 x (Q+G0) x D / (2 x m x i)T_brake-par de frenado(Nm)norma ISO 4301 / FEM 1.001

2. Script de cálculo en Python (completo y ejecutable)

2.1 Clase principal de cálculo

 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Selección del mecanismo de elevación del polipasto eléctrico tipoHerramienta de cálculo Versión: 2.0 Autor: Kelude Centro Técnico Base: ISO 4301 / FEM 1.001, JB/T 9008.1, GB/T 8918-2006 """ import math from dataclasses import dataclass from typing import Dict, List @dataclass class HoistSpec: """Entrada de parámetros del polipasto eléctrico""" Q_rated: float # Capacidad Nominal (kg) v_lift: float # Velocidad de Elevación (m/min) H_lift: float # Altura de Elevación (m) work_level: str = 'M5' # Clase de Funcionamiento: M3/M4/M5/M6/M7 G_hoist: float = 0 # peso propio del polipasto (kg),0=Estimación automática rope_diam: float = 0 # diámetro del cable de acero (mm),0=Cálculo automático groove_mult: int = 2 # rezón de cable: CD1 tipo=2 motor_rpm: int = 1380 # Velocidad nominal del motor (r/min) eff_mech: float = 0.85 # Eficiencia de transmisión mecánica 

2.2 Estimación automática del peso propio del polipasto

 def estimate_hoist_weight_ton(Q_ton: float, H: float) -> float: """ Según la capacidad nominal(t)y la altura de elevación, estimar el peso propio del polipasto Basado enCD1 tipoAjuste de datos estadísticos de productos de polipastos eléctricos de cable Fórmula de ajuste: G = 58.3 x Q^0.72 + 8.5 x H """ G_base = 58.3 * (Q_ton ** 0.72) G_height = 8.5 * H # Coeficiente de corrección para capacidades pequeñas if Q_ton <= 1: k = 1.7 elif Q_ton <= 5: k = 1.3 + 0.08 * (5 - Q_ton) else: k = 1.15 + 0.03 * (10 - Q_ton) if Q_ton <= 10 else 1.0 return round(k * (G_base + G_height), 1) 

2.3 Cálculo de la potencia del motor

 def calc_motor_power(Q_kg: float, G_kg: float, v: float, eta: float = 0.85, level: str = 'M5') -> Dict: """ Cálculo de la potencia del motor de elevación (ISO 4301 / FEM 1.001) P = (Q + G0) x v / (6120 x eta) x k_level """ level_factors = {'M3': 0.85, 'M4': 0.95, 'M5': 1.00, 'M6': 1.15, 'M7': 1.30} k = level_factors.get(level, 1.0) total_load = Q_kg + G_kg P_calc = total_load * v / (6120 * eta) * k # Serie estándar de potencias de motor std_powers = [0.4, 0.75, 1.1, 1.5, 2.2, 3.0, 4.0, 5.5, 7.5, 9.0, 11, 13, 15, 18.5, 22, 30, 37, 45] P_sel = min([p for p in std_powers if p >= P_calc]) return { 'P_calc_kW': round(P_calc, 2), 'P_selected_kW': P_sel, 'motor_type': 'ZD(Y)Serie de rotor cónico' if P_sel <= 30 else 'YZSerie de motores metalúrgicos', 'motor_rpm': 1380 if P_sel <= 15 else 980, } 

2.4 Cálculo del cable de acero y del tambor

 def calc_wire_rope(Q_kg: float, G_kg: float, m: int, C: float = 0.095) -> Dict: """Cálculo del diámetro del cable de acero (GB/T 8918-2006)""" F_max = (Q_kg + G_kg) * 9.81 / m d_min = C * math.sqrt(F_max) std_ropes = [4, 4.8, 5.1, 5.6, 6.2, 7.7, 8.3, 9.3, 11, 12.5, 13, 14, 15, 16, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5, 24, 25.5, 26, 28] d_sel = min([d for d in std_ropes if d >= d_min]) return { 'F_max_N': round(F_max, 1), 'd_min_mm': round(d_min, 1), 'd_selected_mm': d_sel, 'rope_type': '6x19+FC' if d_sel <= 20 else '6x37+FC', } def calc_drum(Q_kg: float, G_kg: float, H: float, d_rope: float, m: int, h1: int = 20) -> Dict: """Cálculo de parámetros del tambor (ISO 4301 / FEM 1.001 + JB/T 9008.1)""" D_min = h1 * d_rope std_drums = [125, 140, 160, 180, 200, 224, 250, 280, 300, 315, 355, 400, 450, 500, 560, 630, 710, 800] D_sel = min([d for d in std_drums if d >= D_min]) p = d_rope + 2 # Paso de la garganta del cable n_total = H * 1000 * m / (math.pi * D_sel) + 3 # +3vueltas de seguridad L_rope = n_total * p L1 = 3 * d_rope L2 = 2 * d_rope L_total = L_rope + L1 + L2 t_wall = 0.02 * D_sel + 6 F_max = (Q_kg + G_kg) * 9.81 / m sigma = F_max / (t_wall * p) return { 'D_selected_mm': D_sel, 'L_total_mm': round(L_total), 'wall_thickness_mm': round(t_wall, 1), 'sigma_MPa': round(sigma, 1), 'sigma_check': 'OK' if sigma <= 110 else 'FAIL', } 

2.5 Verificación de la relación de transmisión y del freno

 def calc_gear_ratio(n_motor: int, D_drum: float, m: int, v: float) -> Dict: """Cálculo de la relación de reducción i = n_m x pi x D / (m x v x 60)""" i_calc = n_motor * math.pi * D_drum / (m * v * 60) return { 'i_calc': round(i_calc, 1), 'gear_type': 'Engranaje helicoidal de tres etapas de eje fijo', } def check_brake(Q_kg: float, G_kg: float, D_drum: float, m: int, i: float) -> Dict: """Verificación del freno (ISO 4301 / FEM 1.001)""" T_load = (Q_kg + G_kg) * 9.81 * D_drum / (2000 * m * i * 0.85) T_req = 1.5 * T_load brake_options = [(30, 'Pequeño tipo'), (60, 'Medio tipo'), (120, 'Grande tipo'), (200, 'y la altura de elevación, estimar el peso propio del polipasto tipo')] selected = None for torque, desc in brake_options: if torque >= T_req: selected = (torque, desc) break if selected is None: selected = (200, 'y la altura de elevación, estimar el peso propio del polipasto tipo(Requiere diseño especial)') safety = selected[0] / T_load if T_load > 0 else 0 return { 'T_load_Nm': round(T_load, 1), 'T_req_Nm': round(T_req, 1), 'T_selected_Nm': selected[0], 'brake_type': selected[1], 'safety_factor': round(safety, 2), 'check': 'OK' if safety >= 1.5 else 'FAIL', } 

2.6 Función principal de cálculo integrado

 def hoist_selection_calc(Q_ton: float, v: float, H: float, level: str = 'M5', m: int = 2) -> Dict: """Selección de un clic del mecanismo de elevación del polipasto eléctrico tipoCálculo automático""" Q_kg = Q_ton * 1000 G_kg = estimate_hoist_weight_ton(Q_ton, H) motor = calc_motor_power(Q_kg, G_kg, v, level=level) rope = calc_wire_rope(Q_kg, G_kg, m) drum = calc_drum(Q_kg, G_kg, H, rope['d_selected_mm'], m) ratio = calc_gear_ratio(motor['motor_rpm'], drum['D_selected_mm'], m, v) brake = check_brake(Q_kg, G_kg, drum['D_selected_mm'], m, ratio['i_calc']) return {'input': {'Q_t': Q_ton, 'v': v, 'H': H, 'level': level}, 'hoist_weight_kg': G_kg, 'motor': motor, 'wire_rope': rope, 'drum': drum, 'gear_ratio': ratio, 'brake': brake} 

3. Ejemplo de cálculo (polipasto eléctrico de 5 t)

Tomando como ejemplo un polipasto eléctrico de 5 t, con velocidad de elevación de 8 m/min y altura de elevación de 6 m en condiciones de trabajo estándar:

 >> result = hoist_selection_calc(Q_ton=5, v=8, H=6, level='M5', m=2) >> >> Entrada de parámetros del polipasto eléctrico: Q=5t, v=8m/min, H=6m, Nivel=M5, Multiplicidad=2 >> ------------------------------------------------ >> peso propio del polipasto: 376.5 kg >> potencia del motor: Cálculo automático=8.52 kW -> Selección del mecanismo de elevación del polipasto eléctrico tipo=13 kW (ZDSerie estándar de potencias de motor) >> Cable de Acero: d_min=8.7mm -> Selección del mecanismo de elevación del polipasto eléctrico tipo=9.3mm (6x19+FC) >> Tambor: D=200mm x L=412mm, espesor de pared=10mm >> Tensión de compresión=42.3MPa < 110MPa OK >> Relación de Reducción: 36.2 (engranaje helicoidal de tres etapas) >> Freno: T_load=34.2Nm -> Necesita>=51.3Nm >> Selección del mecanismo de elevación del polipasto eléctrico tipo=60Nm(Medio tipo) Factor de seguridad=1.75 OK >> ------------------------------------------------ >> Conclusión: Todas las verificaciones aprobadas 

4. Uso del script de cálculo

Guarde todas las funciones anteriores en hoist_calc.py y ejecútelo en un entorno Python 3.8+:

 # pip install -r requirements.txt (Sin bibliotecas de terceros,Solo biblioteca estándar) # python hoist_calc.py # Ejemplo:Comparación por lotes de esquemas de diferentes capacidades tonnages = [1, 2, 3, 5, 10, 16, 20] for t in tonnages: r = hoist_selection_calc(Q_ton=t, v=8, H=9, level='M5') print(f"{t}t: Motor{r['motor']['P_selected_kW']}kW " f"Cable de Acero{r['wire_rope']['d_selected_mm']}mm " f"Tamborphi{r['drum']['D_selected_mm']}mm " f"Freno{r['brake']['T_selected_Nm']}Nm") # Salida: # 1t: Motor3.0kW Cable de Acero5.6mm Tamborphi160mm Freno30Nm # 2t: Motor5.5kW Cable de Acero6.2mm Tamborphi180mm Freno30Nm # 3t: Motor7.5kW Cable de Acero7.7mm Tamborphi200mm Freno60Nm # 5t: Motor13kW Cable de Acero9.3mm Tamborphi200mm Freno60Nm # 10t: Motor22kW Cable de Acero13mm Tamborphi280mm Freno120Nm # 16t: Motor30kW Cable de Acero15mm Tamborphi315mm Freno200Nm # 20t: Motor37kW Cable de Acero16mm Tamborphi355mm Freno200Nm 

Preguntas frecuentes

P: ¿Puede utilizarse el script de cálculo directamente para la fabricación?

R: El script de este artículo está pensado para el diseño de propuestas y la selección preliminar. La precisión del cálculo es suficiente para la fase de selección (desviación <5%). No obstante, para la fabricación formal, es necesario verificar los parámetros específicos del motor, reductor, freno y demás componentes realmente seleccionados según los datos del proveedor, y emitir el correspondiente informe de cálculo oficial. El coeficiente de seguridad del cable de acero en el script se considera de 4,5 (según ISO 4301), si el grupo de trabajo es superior a M6, deberá recalcularse con un coeficiente de 5,6.

P: ¿Qué hago si los resultados del cálculo no coinciden con los parámetros reales del producto?

R: Las diferencias más comunes se deben a: ① La fórmula de estimación del peso propio del polipasto es un valor de ajuste estadístico; el peso real puede variar ±15% según el fabricante — se recomienda utilizar el peso indicado en la ficha técnica del producto real; ② Al redondear al alza la potencia del motor, las series de potencia estándar pueden variar ligeramente entre fabricantes (por ejemplo, el polipasto CD1 de 5 t suele usar 13 kW en lugar de 11 kW); ③ La relación de transmisión debe ajustarse a la serie estándar del reductor real, ya sea de flanco de diente endurecido o blando. Se recomienda utilizar la salida del script como referencia para la selección y confirmar el modelo final contrastando con la ficha técnica del proveedor.

P: ¿Cuál es la diferencia de cálculo entre los modelos CD1 y MD1?

R: La diferencia principal está en el cálculo del motor. En el modelo CD1, con motor de una velocidad, la potencia se calcula a la velocidad nominal. En el modelo MD1, con motor de dos velocidades, es necesario calcular por separado la velocidad rápida y la lenta — la velocidad lenta se calcula a 1/10 de la velocidad nominal. Aunque la potencia en velocidad lenta es solo 1/10 de la potencia en velocidad rápida, el motor de dos devanados es entre un 30% y un 50% más caro que el de una sola velocidad. El resto de los componentes (cable de acero, tambor, freno) son totalmente comunes para CD1 y MD1.

P: ¿Puedo usar este script para polipastos eléctricos no estándar?

R: Sí. El diseño funcional del script admite cualquier combinación de parámetros de entrada, sin limitarse a tonelajes estándar. Para aplicaciones no estándar (por ejemplo, Q=3,7 t, v=12 m/min), se recomienda tener en cuenta: ① Redondear al alza la potencia del motor hasta la potencia estándar; ② Redondear al alza el diámetro del tambor calculado hasta la especificación estándar; ③ Tras la distribución en tres etapas de la relación de transmisión, confirmar con el proveedor si es fabricable; ④ Utilizar preferentemente frenos de serie estándar para reducir costes y acortar el plazo de entrega.

Artículos relacionados

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP