Calcul sélection mécanisme levage palan électrique câble
Script Python pour le calcul de sélection du mécanisme de levage à palan électrique À partir des quatre paramètres d'entrée — Capacité de Levage Q, Vitesse de Levage v, Hauteur de Levage H et Classe de fonctionnement A — le script calcule automatiquement la puissance du moteur (norme ISO 4301 / FEM 1.001), le rapport de réduction (JB/T 9008.1), les dimensions du Tambour, la sélection du Câble Métallique (norme FEM 1.001) et la vérification du Frein (couple de freinage ≥ 1,5 fois le couple de charge). Il génère en sortie un plan complet de sélection du mécanisme de levage. Le script inclut également une fonction d'exportation de rapport Excel, adapté aux palans électriques standard CD1/MD1 et aux configurations sur mesure.
Le calcul de sélection du mécanisme de levage à palan électrique implique la mise en correspondance et la vérification de cinq paramètres clés : puissance du moteur, Rapport de Réduction, dimensions du Tambour, diamètre du câble métallique et couple de freinage. L'approche traditionnelle — consultation de manuels, calculs manuels et corrections empiriques — est chronophage, sujette aux erreurs et ne permet pas de comparer efficacement plusieurs solutions. Cet article propose un script Python complet : saisissez la Capacité de Levage, la vitesse, la hauteur et la Classe de Fonctionnement, et le script calcule automatiquement tous les paramètres de sélection tout en vérifiant la conformité de chaque Indicateur aux exigences de la Norme. Ce script a été utilisé en interne chez Kelude pour la sélection de plus de 20 palans électriques non standard, avec un Écart inférieur à 5 % entre les résultats calculés et les mesures réelles.
Formules de calcul et références normatives
| Éléments de calcul | Formules | Nomenclature des symboles | Références |
|---|---|---|---|
| puissance du moteur | P = (Q+G0) x v / (6120 x eta) | Q-Capacité de Levage(kg) G0-Poids mort (kg) v-vitesse(m/min) eta-Rendement(0.85) | norme ISO 4301 / FEM 1.001 |
| diamètre du câble métallique | d_min = C x sqrt(F_max) | C-Sélection Coefficient(0.095) F_max-Effort de traction maximal(N) | GB/T 8918-2006 |
| diamètre du tambour | D ≥ h1 x h2 x d | h1-Tambour Coefficient(16~25) h2-Câble Coefficient(1.0) d-Diamètre du câble | norme ISO 4301 / FEM 1.001 |
| Longueur du tambour | L = (Hxm + 3pi D) x d / (pi D x z) + L1 + L2 | H-Hauteur de Levage m-multiplication de palan z-Nombre de spires sur la gorge L-Marge aux extrémités | JB/T 9008.1 |
| Rapport de Réduction | i = n_m x pi x D / (m x v x 60) | n_m-Moteur Vitesse de rotation(r/min) D-diamètre du tambour(mm) | JB/T 9008.1 |
| Vérification du frein | T_brake ≥ 1.5 x (Q+G0) x D / (2 x m x i) | T_brake-couple de freinage(Nm) | norme ISO 4301 / FEM 1.001 |
Script de calcul Python (exécutable)
2.1 Classe de calcul principale
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Sélection du mécanisme de levage à palan électrique typeOutil de calcul Version: 2.0 Auteur: Kelude Centre technique 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: """Saisie des paramètres du palan électrique""" Q_rated: float # Capacité Nominale (kg) v_lift: float # Vitesse de Levage (m/min) H_lift: float # Hauteur de Levage (m) work_level: str = 'M5' # Classe de Fonctionnement: M3/M4/M5/M6/M7 G_hoist: float = 0 # poids propre du palan (kg),0=Estimation automatique rope_diam: float = 0 # diamètre du câble métallique (mm),0=Calcul automatique groove_mult: int = 2 # mouflage: CD1 type=2 motor_rpm: int = 1380 # Vitesse nominale du moteur (r/min) eff_mech: float = 0.85 # Rendement de transmission mécanique
2.2 Estimation automatique du poids mort du palan
def estimate_hoist_weight_ton(Q_ton: float, H: float) -> float: """ Selon la capacité nominale(t)et estimation du poids propre du palan en fonction de la hauteur de levage Basé surCD1 typeAjustement sur données statistiques de palans électriques à câble Formule d: G = 58.3 x Q^0.72 + 8.5 x H """ G_base = 58.3 * (Q_ton ** 0.72) G_height = 8.5 * H # Coefficient de correction pour faibles capacités 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 Calcul de la puissance du moteur
def calc_motor_power(Q_kg: float, G_kg: float, v: float, eta: float = 0.85, level: str = 'M5') -> Dict: """ Calcul de la puissance du moteur de levage (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 # Série de puissances moteur normalisées 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)Série à rotor conique' if P_sel <= 30 else 'YZSérie moteurs métallurgiques', 'motor_rpm': 1380 if P_sel <= 15 else 980, }
2.4 Calcul du câble métallique et du tambour
def calc_wire_rope(Q_kg: float, G_kg: float, m: int, C: float = 0.095) -> Dict: """Calcul du diamètre du câble métallique (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: """Calcul des paramètres du tambour (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 # Pas de la gorge du câble n_total = H * 1000 * m / (math.pi * D_sel) + 3 # +3spires de sécurité 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 Vérification du rapport de réduction et du frein
def calc_gear_ratio(n_motor: int, D_drum: float, m: int, v: float) -> Dict: """Calcul du rapport de réduction 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': 'Engrenage hélicoïdal à arbres fixes à trois étages', } def check_brake(Q_kg: float, G_kg: float, D_drum: float, m: int, i: float) -> Dict: """Vérification du frein (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, 'Petit type'), (60, 'Moyen type'), (120, 'Grand type'), (200, 'et estimation du poids propre du palan en fonction de la hauteur de levage type')] selected = None for torque, desc in brake_options: if torque >= T_req: selected = (torque, desc) break if selected is None: selected = (200, 'et estimation du poids propre du palan en fonction de la hauteur de levage type(Conception individuelle requise)') 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 Fonction principale de calcul intégré
def hoist_selection_calc(Q_ton: float, v: float, H: float, level: str = 'M5', m: int = 2) -> Dict: """Sélection en un clic du mécanisme de levage à palan électrique typeCalcul automatique""" 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}
Exemple de calcul — palan électrique 5t
Prenons l'exemple d'un palan électrique 5t avec une vitesse de levage de 8 m/min et une hauteur de levage de 6 m :
>> result = hoist_selection_calc(Q_ton=5, v=8, H=6, level='M5', m=2) >> >> Saisie des paramètres du palan électrique: Q=5t, v=8m/min, H=6m, Niveau=M5, multiplication de palan=2 >> ------------------------------------------------ >> poids propre du palan: 376.5 kg >> puissance du moteur: Calcul automatique=8.52 kW -> Sélection du mécanisme de levage à palan électrique type=13 kW (ZDSérie de puissances moteur normalisées) >> Câble Métallique: d_min=8.7mm -> Sélection du mécanisme de levage à palan électrique type=9.3mm (6x19+FC) >> Tambour: D=200mm x L=412mm, épaisseur de paroi=10mm >> Contrainte de compression=42.3MPa < 110MPa OK >> Rapport de Réduction: 36.2 (engrenage hélicoïdal à trois étages) >> Frein: T_load=34.2Nm -> requis>=51.3Nm >> Sélection du mécanisme de levage à palan électrique type=60Nm(Moyen type) Coefficient de sécurité=1.75 OK >> ------------------------------------------------ >> Conclusion: Toutes les vérifications sont validées
Utilisation du script de calcul
Enregistrez toutes les fonctions ci-dessus dans un fichier hoist_calc.py et exécutez-le dans un environnement Python 3.8+ :
# pip install -r requirements.txt (Aucune bibliothèque tierce requise,Utilisation de la bibliothèque standard uniquement) # python hoist_calc.py # Exemple:Comparaison par lots de solutions de différentes capacités 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: Moteur{r['motor']['P_selected_kW']}kW " f"Câble Métallique{r['wire_rope']['d_selected_mm']}mm " f"Tambourphi{r['drum']['D_selected_mm']}mm " f"Frein{r['brake']['T_selected_Nm']}Nm") # Sortie: # 1t: Moteur3.0kW Câble Métallique5.6mm Tambourphi160mm Frein30Nm # 2t: Moteur5.5kW Câble Métallique6.2mm Tambourphi180mm Frein30Nm # 3t: Moteur7.5kW Câble Métallique7.7mm Tambourphi200mm Frein60Nm # 5t: Moteur13kW Câble Métallique9.3mm Tambourphi200mm Frein60Nm # 10t: Moteur22kW Câble Métallique13mm Tambourphi280mm Frein120Nm # 16t: Moteur30kW Câble Métallique15mm Tambourphi315mm Frein200Nm # 20t: Moteur37kW Câble Métallique16mm Tambourphi355mm Frein200Nm
Questions fréquentes
Q : Ce script de calcul peut-il être utilisé directement pour la fabrication ?
A : Ce script est destiné à la conception préliminaire et au pré-dimensionnement. La précision des calculs est suffisante pour la phase de sélection (écart < 5 %). Cependant, avant une utilisation en production, il est nécessaire de vérifier les calculs avec les paramètres spécifiques des fournisseurs de moteurs, de réducteurs et de freins réellement retenus, et d'établir une note de calcul formelle. Le coefficient de sécurité du câble métallique est fixé à 4,5 dans le script (conformément à l'ISO 4301). Pour les classes d'utilisation plus élevées (au-delà de M6), une vérification avec un coefficient de 5,6 est requise.
Q : Que faire si les résultats de calcul ne correspondent pas aux paramètres réels du produit ?
A : Les écarts les plus courants proviennent de : ① la formule d'estimation du poids mort du palan, qui est une valeur statistique — le poids réel peut varier de ±15 % selon les fabricants ; il est recommandé de se référer aux données certifiées du produit ; ② la puissance du moteur est arrondie à la valeur normalisée supérieure, et les séries de puissances standard varient selon les fabricants (par exemple, le palan 5t de type CD1 utilise couramment un moteur de 13 kW plutôt que 11 kW) ; ③ le rapport de réduction doit correspondre aux valeurs standard des réducteurs à flanc de denture trempé ou non trempé. Nous recommandons d'utiliser les résultats du script comme référence de sélection et de les confronter aux fiches techniques des fournisseurs avant de déterminer le modèle final.
Q : Quelle est la différence de calcul entre les modèles CD1 et MD1 ?
A : La principale différence réside dans le calcul du moteur. Pour le modèle CD1 à vitesse unique, la puissance est calculée sur la base de la vitesse nominale. Pour le modèle MD1 à deux vitesses, il faut calculer séparément la puissance en grande vitesse et en petite vitesse — la petite vitesse est calculée à 1/10 de la vitesse nominale. Bien que la puissance en petite vitesse ne représente que 1/10 de la puissance en grande vitesse, le moteur à double enroulement coûte 30 à 50 % plus cher qu'un moteur à vitesse unique. Les autres composants (câble métallique, tambour, frein) sont identiques pour les modèles CD1 et MD1.
Q : Ce script fonctionne-t-il également pour les palans électriques non standard ?
A : Oui. La conception fonctionnelle du script accepte toute combinaison de paramètres d'entrée, sans se limiter aux capacités standard. Pour les applications non standard (par exemple Q = 3,7 t, v = 12 m/min), il est conseillé de : ① arrondir la puissance du moteur à la valeur normalisée supérieure ; ② arrondir le diamètre du tambour à la spécification standard supérieure ; ③ vérifier avec le fournisseur la faisabilité de fabrication du rapport de réduction après sa répartition sur trois étages ; ④ privilégier les freins de série standard pour réduire les coûts et le délai de livraison.
Normes recommandées
• ISO 12480 — Appareils de levage à charge suspendue — Freins
• FEM 1.001 — Appareils de levage — Tambours
• ISO 4301 — Grues mobiles — Mécanisme de levage
Kelude : l'expertise chinoise au service de la manutention industrielle
Kelude s'impose comme un acteur majeur dans la conception et la fabrication d'équipements de levage et de manutention. Forte d'une expérience de plusieurs décennies, l'entreprise allie innovation technologique et robustesse pour répondre aux exigences des environnements industriels les plus sévères. De la simple charge ponctuelle aux cadences de production intensives, nos solutions sont pensées pour durer et optimiser votre productivité.