Расчет механизма подъема электротали на Python: подбор двигателя
Python-скрипт для расчёта механизма подъёма электрической тали На основе четырёх входных параметров — номинальной грузоподъёмности Q, скорости подъёма v, высоты подъёма H и режима работы A — скрипт автоматически выполняет расчёт мощности двигателя (стандарт ISO 4301 / FEM 1.001), подбор передаточного числа (JB/T 9008.1), проектирование размеров барабана, выбор стального каната (GB/T 8918) и проверку тормоза (тормозной момент ≥ 1,5-кратного момента нагрузки), формируя в итоге полную схему подбора механизма подъёма. Скрипт оснащён функцией экспорта отчёта в Excel и адаптирован для стандартных электрических талей CD1/MD1, а также для нестандартных конфигураций.
Расчёт механизма подъёма электрической тали включает согласование и проверку пяти ключевых параметров: мощности двигателя, передаточного числа, размеров барабана, диаметра каната и тормозного момента. Традиционный подход — работа со справочниками, ручной расчёт и корректировка на основе опыта — требует много времени, подвержен ошибкам и не позволяет сравнивать различные варианты в пакетном режиме. В данной статье представлен полный Python-скрипт: достаточно ввести грузоподъёмность, скорость, высоту и режим работы, и скрипт автоматически рассчитает все параметры подбора, а также проверит соответствие каждого показателя требованиям национальных стандартов. Скрипт уже применялся в компании Келуде Тяжёлая Промышленность для расчёта более 20 нестандартных электрических талей; отклонение результатов расчёта от фактических замеров составило менее 5%.
Расчётные формулы и нормативная база
| Расчетный параметр | Формула | Обозначения | Основание |
|---|---|---|---|
| мощность двигателя | P = (Q+G0) x v / (6120 x eta) | Q-Грузоподъемность(kg) G0-Собственный вес (кг) v-скорость(m/min) eta-КПД(0.85) | стандарт ISO 4301 / FEM 1.001 |
| диаметр каната | d_min = C x sqrt(F_max) | C-ВыборКоэффициент(0.095) F_max-Максимальное натяжение(N) | GB/T 8918-2006 |
| диаметр барабана | D ≥ h1 x h2 x d | h1-БарабанКоэффициент(16~25) h2-КанатКоэффициент(1.0) d-Диаметр каната | стандарт ISO 4301 / FEM 1.001 |
| БарабанДлина | L = (Hxm + 3piD) x d / (piD x z) + L1 + L2 | H-Высота подъёма m-Кратность полиспаста z-Число витков каната на барабане L-Запас по концам | JB/T 9008.1 |
| Передаточное Число | i = n_m x pi x D / (m x v x 60) | n_m-ДвигательЧастота вращения(r/min) D-диаметр барабана(mm) | JB/T 9008.1 |
| ТормозПроверка | T_brake ≥ 1.5 x (Q+G0) x D / (2 x m x i) | T_brake-тормозной момент(Nm) | стандарт ISO 4301 / FEM 1.001 |
2. Python-скрипт расчёта (полностью рабочий)
2.1 Основной класс расчёта
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ механизм подъёма электрической талиинструмент расчёта подбора версия: 2.0 автор: Келуде технический центр основание: 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: """ввод параметров электрической тали""" Q_rated: float # Номинальная грузоподъёмность (kg) v_lift: float # Скорость подъёма (m/min) H_lift: float # Высота подъёма (m) work_level: str = 'M5' # Режим работы: M3/M4/M5/M6/M7 G_hoist: float = 0 # собственный вес тали (kg),0=автоматическая оценка rope_diam: float = 0 # диаметр каната (mm),0=автоматический расчёт groove_mult: int = 2 # кратность полиспаста: CD1 типа=2 motor_rpm: int = 1380 # номинальная частота вращения двигателя (r/min) eff_mech: float = 0.85 # КПД механической передачи
2.2 Автоматическая оценка собственного веса тали
def estimate_hoist_weight_ton(Q_ton: float, H: float) -> float: """ по номинальной грузоподъёмности(т)и высоте подъёма оценить собственный вес тали на основеCD1 типааппроксимация статистических данных канатных электрических талей аппроксимирующая формула: G = 58.3 x Q^0.72 + 8.5 x H """ G_base = 58.3 * (Q_ton ** 0.72) G_height = 8.5 * H # поправочный коэффициент для малой грузоподъёмности 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 Расчёт мощности двигателя
def calc_motor_power(Q_kg: float, G_kg: float, v: float, eta: float = 0.85, level: str = 'M5') -> Dict: """ расчёт мощности двигателя подъёма (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 # стандартный ряд мощностей двигателей 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)серия с коническим ротором' if P_sel <= 30 else 'YZсерия металлургических двигателей', 'motor_rpm': 1380 if P_sel <= 15 else 980, }
2.4 Расчёт каната и барабана
def calc_wire_rope(Q_kg: float, G_kg: float, m: int, C: float = 0.095) -> Dict: """расчёт диаметра каната (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: """расчёт параметров барабана (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 # шаг канавки каната n_total = H * 1000 * m / (math.pi * D_sel) + 3 # +3запасные витки 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 Проверка передаточного числа и тормоза
def calc_gear_ratio(n_motor: int, D_drum: float, m: int, v: float) -> Dict: """расчёт передаточного числа 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': 'трёхступенчатая цилиндрическая косозубая передача', } def check_brake(Q_kg: float, G_kg: float, D_drum: float, m: int, i: float) -> Dict: """проверка тормоза (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, 'малый типа'), (60, 'средний типа'), (120, 'большой типа'), (200, 'тяжёлый типа')] selected = None for torque, desc in brake_options: if torque >= T_req: selected = (torque, desc) break if selected is None: selected = (200, 'тяжёлый типа(требует отдельного проектирования)') 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 Главная функция однокнопочного расчёта
def hoist_selection_calc(Q_ton: float, v: float, H: float, level: str = 'M5', m: int = 2) -> Dict: """одним нажатием для механизма подъёма электрической талирасчёт подбора""" 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. Пример расчёта (электроталь 5 т)
Рассмотрим стандартный режим работы: электроталь 5 т, скорость подъёма 8 м/мин, высота подъёма 6 м:
>> result = hoist_selection_calc(Q_ton=5, v=8, H=6, level='M5', m=2) >> >> ввод: Q=5t, v=8m/min, H=6m, Уровень=M5, Кратность полиспаста=2 >> ------------------------------------------------ >> собственный вес тали: 376.5 kg >> мощность двигателя: расчёт=8.52 kW -> подбор=13 kW (ZDсерия) >> стальной канат: d_min=8.7mm -> подбор=9.3mm (6x19+FC) >> Барабан: D=200mm x L=412mm, толщина стенки=10mm >> напряжение сжатия=42.3MPa < 110MPa OK >> Передаточное Число: 36.2 (трехступенчатая косозубая передача) >> Тормоз: T_load=34.2Nm -> требуется>=51.3Nm >> подбор=60Nm(средний типа) Коэффициент запаса прочности=1.75 OK >> ------------------------------------------------ >> заключение: все проверки пройдены
4. Порядок использования скрипта расчёта
Сохраните все вышеуказанные функции в файл hoist_calc.py и запустите его в среде Python 3.8+:
# pip install -r requirements.txt (без сторонних библиотек,только стандартная библиотека) # python hoist_calc.py # пример:пакетное сравнение вариантов различной грузоподъёмности 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: Двигатель{r['motor']['P_selected_kW']}kW " f"стальной канат{r['wire_rope']['d_selected_mm']}mm " f"Барабанphi{r['drum']['D_selected_mm']}mm " f"Тормоз{r['brake']['T_selected_Nm']}Nm") # вывод: # 1t: Двигатель3.0kW стальной канат5.6mm Барабанphi160mm Тормоз30Nm # 2t: Двигатель5.5kW стальной канат6.2mm Барабанphi180mm Тормоз30Nm # 3t: Двигатель7.5kW стальной канат7.7mm Барабанphi200mm Тормоз60Nm # 5t: Двигатель13kW стальной канат9.3mm Барабанphi200mm Тормоз60Nm # 10t: Двигатель22kW стальной канат13mm Барабанphi280mm Тормоз120Nm # 16t: Двигатель30kW стальной канат15mm Барабанphi315mm Тормоз200Nm # 20t: Двигатель37kW стальной канат16mm Барабанphi355mm Тормоз200Nm
Часто задаваемые вопросы
В: Можно ли использовать скрипт расчёта непосредственно для производства?
О: Скрипт предназначен для эскизного проектирования и предварительного выбора типоразмера. Точность расчёта достаточна для этапа подбора (отклонение <5%). Однако перед запуском в производство необходимо выполнить проверку по фактическим параметрам выбранных двигателя, редуктора, тормоза и других комплектующих конкретного поставщика, а также оформить официальный расчёт. Коэффициент запаса прочности каната в скрипте принят равным 4,5 (по ISO 4301 / FEM 1.001). При более высоких группах режима работы (M6 и выше) требуется повторная проверка с коэффициентом 5,6.
В: Что делать, если результаты расчёта не совпадают с фактическими параметрами изделия?
О: Наиболее частые причины расхождений: ① формула оценки собственного веса тали является статистической аппроксимацией, у разных производителей отклонение может достигать ±15% — рекомендуется использовать фактические данные из каталога изделия; ② при округлении мощности двигателя вверх стандартные ряды мощностей у разных производителей могут незначительно отличаться (например, для тали CD1 5 т часто применяется двигатель 13 кВт вместо 11 кВт); ③ передаточное число должно соответствовать стандартному ряду редукторов с закалённой или незакалённой боковой поверхностью зуба. Рекомендуется использовать результаты скрипта как справочные при выборе и сверять их с данными поставщика перед определением окончательной модели.
В: В чём разница в расчёте для моделей CD1 и MD1?
О: Основное отличие заключается в расчёте двигателя. Для модели CD1 с односкоростным двигателем мощность рассчитывается по номинальной скорости. Для модели MD1 с двухскоростным двигателем необходимо рассчитывать мощность отдельно для быстрого и медленного режимов — медленный режим рассчитывается на 1/10 номинальной скорости. Хотя мощность медленного режима составляет лишь 1/10 мощности быстрого режима, двухобмоточный двигатель сам по себе на 30–50% дороже односкоростного. Остальные компоненты (канат, барабан, тормоз) для CD1/MD1 полностью универсальны.
В: Подходит ли этот скрипт для нестандартных электроталей?
О: Да. Функциональная архитектура скрипта поддерживает произвольные комбинации входных параметров и не ограничена стандартными грузоподъёмностями. Для нестандартных условий (например, Q=3,7 т, v=12 м/мин) рекомендуется обратить внимание на следующее: ① мощность двигателя округляется вверх до стандартного значения; ② диаметр барабана округляется вверх до стандартного типоразмера; ③ передаточное число после трёхступенчатого распределения необходимо согласовать с поставщиком на предмет возможности изготовления; ④ тормоз следует выбирать из стандартного ряда изделий для снижения стоимости и сокращения срока поставки.
Рекомендуемые стандарты
• JB/T 10220-2014 «Тормоза для электроталей»
• JB/T 10221-2014 «Барабаны для электроталей»
• ГОСТ 27996-2011 «Краны мобильные. Механизм подъёма»
Козловой кран Kelude: надёжная техника для промышленных задач
Козловые краны — это основа современного производства и логистики. Они обеспечивают бесперебойную работу на открытых площадках, складах и в цехах. Техника Kelude спроектирована с учётом требований ГОСТ и международных стандартов, что делает её универсальным решением для предприятий России и СНГ.
В: Какая грузоподъёмность доступна для козловых кранов Kelude?О: Мы предлагаем краны грузоподъёмностью от 5 до 50 тонн. При необходимости возможна разработка индивидуальных решений под конкретные задачи заказчика.
В: Возможна ли установка крана на открытой площадке?
О: Да, все наши краны адаптированы для работы на открытых площадках. Они оснащены защитой от атмосферных воздействий и рассчитаны на эксплуатацию в различных климатических зонах.
В: Какие стандарты безопасности соблюдаются при производстве?
О: Производство соответствует международным стандартам ISO 4301, ISO 12480 и IEC 60204-32. Все краны проходят обязательные испытания и получают сертификаты соответствия.
В: Как осуществляется доставка и монтаж крана?
О: Мы организуем доставку в любой регион России и СНГ. Монтаж выполняется нашей сертифицированной бригадой, что гарантирует правильную установку и настройку оборудования.
В: Предоставляется ли гарантия на козловые краны?
О: Да, на всю продукцию предоставляется гарантия сроком 18 месяцев с момента ввода в эксплуатацию. В течение этого периода мы бесплатно устраняем любые заводские дефекты.
Как заказать козловой кран
Для получения подробной консультации и расчёта стоимости свяжитесь с нашими менеджерами по телефону или через форму обратной связи на сайте. Мы поможем подобрать оптимальную конфигурацию крана, учтём все технические требования и предложим выгодные условия сотрудничества.
Стоимость козлового крана начинается от 1 230 000 рублей. Итоговая цена зависит от грузоподъёмности, пролёта и дополнительных опций. Для постоянных клиентов действуют специальные условия и скидки.