# -*- coding: utf-8 -*- """ Лаба 7. Расчеты элементов проходческих работ: производительность бурильных машин, погрузка породы, откатка электровозом, проветривание забоя. Формулы (7.1)-(7.20) методички sources/Laba_7_Raschety_Elementov_Prokhodcheskikh_Rabot.pdf. Тарировка по примеру методички (стр. 15-18): формулы (7.1)-(7.5), (7.8), (7.10)-(7.17), (7.20) воспроизводят пример с точностью до округлений. Известные погрешности самого примера, на результат варианта не влияющие: - в печатной формуле (7.6) примера вычитается 106 кН (вес К10), но итог 296,7 кН соответствует вычитанию G_с = 140 кН (КТ14) при omega'' = 7 Н/кН; - в (7.16) у примера l_с = 23,57 м, строго по формуле получается 24,0 м; - в примере веса вагонетки приняты при g ~= 10 м/с2 (85,5/42 кН), здесь g = 9,81. """ from math import pi, sqrt, floor, ceil, log10 # ---------------------------------------------------------------- справочные данные # Табл. 7.2: механическая скорость бурения V_м (м/мин) по крепости f VM_TABLE = {2: 2.20, 3: 2.00, 4: 1.80, 5: 1.65, 6: 1.50, 7: 1.35, 8: 1.20, 9: 1.10, 10: 1.00} # Табл. 7.4: техническая производительность погрузочных машин, м3/мин # (по табл. 7.4 методички: ПНБ-2 = 2,2 при массе 7 т; 2ПНБ-2 = 2,5 при 11,8 т) PGRUZ = {"ППН-1С": 0.8, "ППН-2Г": 1.0, "ППН-3": 1.25, "1ППН-5": 1.25, "ППМ-4У": 1.25, "ПНБ-2": 2.2, "2ПНБ-2": 2.5, "ПНБ-3Д": 4.0, "ПНБ-4": 6.0} # Табл. 7.5: коэффициент разрыхления k_р по крепости f # (строки 1..2 / 2..3 / 4..6 / 7..9 / 10..14 / 15..20 — нижняя граница строки) KP_TABLE = ((1, 1.7), (2, 1.8), (4, 1.9), (7, 2.0), (10, 2.1), (15, 2.2)) def k_r(f): k = KP_TABLE[0][1] for fmin, kr in KP_TABLE: if f >= fmin: k = kr return k # Табл. 7.6: сцепной вес электровозов, кН ELECTROVOZ = {"4КР": 40, "7КРМ1": 79, "К10": 106, "К14М": 140, "КТ14": 140, "АРВ7": 70, "АМ8Д": 87, "АРП10Б": 104, "АРП14": 134} # Табл. 7.7: вагонетки: вместимость (м3), грузоподъёмность (т), масса (т) VAGONETKA = { "ВГ0.7": (0.7, 1.8, 0.55), "ВГ1.2": (1.2, 2.5, 0.807), "ВГ2.0": (2.0, 5.0, 1.51), "ВГ2.2": (2.2, 5.5, 1.45), "ВГ4.5А": (4.5, 13.5, 4.2), "ВГ9А": (9.0, 27.0, 8.9), "ВГ10А": (10.0, 30.0, 9.5), } # Табл. 7.8: коэффициент трения альфа по диаметру трубы воздуховода ALPHA = {0.4: 0.00030, 0.5: 0.00025, 0.6: 0.00022, 0.7: 0.00020} # Табл. 7.10 (стр. 19-20): f, rho, фракция, уклон ‰, S, бурильная установка, # глубина бурения м, диаметр шпура мм, погрузочная машина, # доставочная машина (электровоз/вагонетка), L от забоя до отвала м, # диаметр трубы м, время проветривания с, число проходчиков VARIANTS = { 1: (12, 1.9, "мелкая", 5, 24, "БУ-1Б (УБШ 202)", 2.4, 46, "ППН-2Г", "АРП14", "ВГ2.0", 2100, 0.5, 2400, 2), 2: (7, 2.0, "крупная", 0, 30, "БУР2Б (УБШ 302)", 2.3, 52, "2ПНБ-2", "АРП14", "ВГ2.0", 2350, 0.7, 3600, 3), 3: (10, 1.8, "крупная", 6, 28, "БКГ-2 (УБШ 309)", 2.5, 52, "ПНБ-2", "К10", "ВГ2.0", 2200, 0.7, 3000, 3), 4: (14, 1.7, "мелкая", 3, 22, "СБКН2М (УБШ 207)", 2.0, 55, "ППН-2Г", "К10", "ВГ1.2", 2740, 0.5, 2400, 2), 5: (15, 2.5, "мелкая", 0, 24, "БУ-1Б (УБШ 202)", 2.1, 60, "1ППН-5", "К14М", "ВГ2.2", 2900, 0.5, 2400, 2), 6: (8, 2.1, "крупная", 4, 27, "БКГ-2 (УБШ 309)", 2.4, 43, "ППН-3", "КТ14", "ВГ4.5А", 2150, 0.6, 3000, 3), 7: (11, 2.0, "крупная", 10, 25, "БУ-1Б (УБШ 202)", 2.5, 46, "1ППН-5", "АРП14", "ВГ2.0", 3050, 0.6, 2400, 2), 8: (16, 2.2, "мелкая", 0, 24, "СБКН2М (УБШ 207)", 2.2, 55, "1ППН-5", "К14М", "ВГ2.2", 2350, 0.5, 2400, 2), 9: (9, 1.8, "крупная", 9, 30, "БУР2Б (УБШ 302)", 2.5, 52, "ПНБ-2", "АРП10Б", "ВГ2.2", 2400, 0.7, 3600, 3), 10: (12, 2.1, "мелкая", 4, 22, "СБКН2М (УБШ 207)", 2.1, 46, "ППН-2Г", "К14М", "ВГ2.0", 3100, 0.5, 2400, 2), 11: (13, 2.1, "мелкая", 5, 25, "БУ-1Б (УБШ 202)", 2.0, 52, "ППН-3", "К14М", "ВГ2.2", 2400, 0.6, 2400, 2), 12: (8, 1.8, "крупная", 7, 32, "БУР2Б (УБШ 302)", 2.5, 43, "ПНБ-2", "К10", "ВГ2.2", 2600, 0.7, 3600, 3), 13: (10, 1.9, "мелкая", 9, 21, "СБКН2М (УБШ 207)", 2.5, 46, "ППН-2Г", "АРП14", "ВГ2.0", 3150, 0.5, 2400, 2), 14: (7, 1.8, "крупная", 3, 30, "БУР2Б (УБШ 302)", 2.4, 40, "ПНБ-2", "АРП10Б", "ВГ2.2", 2440, 0.7, 3600, 3), 15: (14, 2.0, "крупная", 5, 26, "БУ-1Б (УБШ 202)", 2.2, 52, "1ППН-5", "КТ14", "ВГ2.2", 2150, 0.6, 3000, 3), 16: (12, 2.1, "мелкая", 7, 28, "БКГ-2 (УБШ 309)", 2.1, 46, "ППН-3", "К14М", "ВГ4.5А", 2350, 0.7, 3000, 3), 17: (9, 1.9, "мелкая", 12, 27, "БКГ-2 (УБШ 309)", 2.3, 43, "1ППН-5", "АРП14", "ВГ2.0", 2200, 0.6, 3000, 3), 18: (11, 1.7, "крупная", 2, 31, "БУР2Б (УБШ 302)", 2.1, 52, "2ПНБ-2", "К10", "ВГ2.2", 2740, 0.7, 3600, 3), 19: (10, 1.6, "крупная", 4, 30, "БУР2Б (УБШ 302)", 2.5, 46, "2ПНБ-2", "АРП10Б", "ВГ2.2", 2900, 0.7, 3600, 3), 20: (12, 2.0, "мелкая", 0, 26, "БУ-1Б (УБШ 202)", 2.4, 43, "ППН-3", "КТ14", "ВГ2.2", 2150, 0.6, 2400, 2), } G = 9.81 # ---------------------------------------------------------------- расчёт def rup(x, n=2): p = 10 ** n return floor(x * p + 0.5) / p def compute(f, rho, frak, uklon, S, ustanovka, l_shp, d_shp_mm, pogr_mash, el, vag, L_ot, d_tr, t_prov, n_proh, m_b=2, k_zam=0.7, k_vsp=0.85, k_od=0.8, k_nad=0.9, k_pr=0.8, a_p=0.04, omega_tr=None, omega_dv=8.0, v_t=2.0, l_t=10.0, k_m=1.2, k_nrp=0.9, k_n_pogr=0.85, l_o=100, V_o=80, t_sc=1.5, t_pod=10, eta=0.9, k_r_mnozh=2.0, t_man=10, m_p=1, v_sr=200.0, a_koef=None, l_v=75.0, eps=1.2, m_a=1, V_a=3.0, z_zapas=1.35, q_sk=0.10, zap_v=1.1): """Полный расчёт по формулам (7.1)-(7.20) методички. Умолчания соответствуют принятому в отчёте варианту 6; пример методички считается передачей его коэффициентов (см. __main__). """ out = {} d_shp = d_shp_mm / 1000.0 # --- 1. бурение, (7.1)-(7.2) V_m = VM_TABLE[min(max(f, 2), 10)] k_d = rup(30 / d_shp_mm, 2) P_b_t = rup(V_m * k_d * k_zam * k_vsp, 2) # м/мин P_b_e = rup(60 * P_b_t * k_od * k_nad * k_pr * m_b, 1) # м/ч # --- 2. погрузка и вес состава P_p_t = PGRUZ[pogr_mash] # м3/мин (табл. 7.4) G_sc = ELECTROVOZ[el] # сцепной вес, кН # (7.5): трогание; omega'_тр = (1,5..2)*omega''; omega'' = 5..8 Н/кН if omega_tr is None: omega_tr = 1.5 * omega_dv Q5 = rup(1000 * 0.25 * G_sc / (omega_tr + uklon + 110 * a_p) - G_sc, 1) # (7.7): тормозное замедление a_t = v_t ** 2 / (2 * l_t) # (7.6): торможение Q6 = rup(1000 * 0.17 * G_sc / (-omega_dv + uklon + 110 * a_t) - G_sc, 1) Q_gr = min(Q5, Q6) V_v, _gr, m_v = VAGONETKA[vag] G_gr = rup(V_v * rho * G, 1) # вес груза, кН G_t = rup(m_v * G, 1) # вес тары, кН m_s = floor(Q_gr / (G_gr + G_t)) # (7.8), вагонов в составе # (7.4): эксплуатационная производительность погрузочной машины, м3/ч P_p_e = rup(60 * V_v / (V_v * k_m * k_r(f) / (P_p_t * k_nrp * k_n_pogr) + 2 * l_o / V_o + t_sc + t_pod / m_s), 1) # --- 3. рейсы t_p = rup(60 * V_v * eta * m_s / P_p_e, 1) # (7.10), мин t_dv = rup(2 * L_ot / v_sr, 1) # (7.11), мин t_r = rup(k_r_mnozh * m_s, 1) # (7.12), мин T_r = rup(t_p + t_dv + t_r + t_man, 1) # (7.9), мин m_t = ceil(T_r * m_p / t_p) # (7.13), составов z_p = ceil(S * l_shp * k_r(f) / (V_v * m_s)) # (7.14), рейсов # --- 4. вентиляция (цепочка по округляемым значениям, как в отчёте) S_tr = rup(pi * d_tr ** 2 / 4, 2) # площадь трубы, м2 l_s = rup(18.7 * sqrt(S) * (S_tr / S) ** (1 / 3), 1) # (7.16), м a_k = 48 if S > 40 else 26 # (7.15): a = 26 при S = 12..40, 48 при 41..95 Q_vzr = rup(4.715 * (l_s * S / t_prov) * log10(a_k * l_shp * rho / sqrt(S)), 2) # (7.15), м3/с t_p_s = rup(t_p * 60, 0) # (7.10) в секундах k_nk = 1.3 if L_ot >= 2000 else 1.7 # (7.17): L >= 2 км Q_t = rup(0.625 * k_nk * (1.2 * m_a + 2.24 * (L_ot / (t_p_s * V_a) + 0.25)), 2) N_l = 2 * n_proh # люди в забое Q_l = rup(0.1 * N_l * z_zapas, 2) # (7.18), м3/с Q_s = rup(q_sk * S, 2) # (7.19), м3/с Q_rasch = max(Q_vzr, Q_t, Q_l, Q_s) # расчётный расход Q_vent = rup(zap_v * Q_rasch, 2) # производительность в-ра h_v = rup(65 * ALPHA[d_tr] * l_v * Q_rasch ** 2 * eps / d_tr ** 5, 1) # (7.20), Па out["исходные"] = f"f={f}, S={S} м2, уклон {uklon}‰, L={L_ot} м, {pogr_mash}, {el}+{vag}" out.update({ "1) Vм": V_m, "1) kд": k_d, "1) Pб.т": P_b_t, "1) Pб.э": P_b_e, "2) Pп.т": P_p_t, "2) Q(сцепл.)": Q5, "2) aт": rup(a_t, 2), "2) Q(торм.)": Q6, "2) Qгр": Q_gr, "2) Gгр": G_gr, "2) Gт": G_t, "2) mс": m_s, "2) Pп.э": P_p_e, "3) tп": t_p, "3) tдв": t_dv, "3) tр": t_r, "3) Tр": T_r, "3) mт": m_t, "3) zп(рейсов)": z_p, "4) Sтр": round(S_tr, 4), "4) lс": l_s, "4) Qвзрыв": Q_vzr, "4) Qавто": Q_t, "4) Qлюди": Q_l, "4) Qскор": Q_s, "4) Qрасч": Q_rasch, "4) Qвент": Q_vent, "4) hв,Па": h_v, }) return out def report(title, res): print(f"\n=== {title} ===") for k, val in res.items(): print(f" {k:14} = {val}") if __name__ == "__main__": import sys if len(sys.argv) > 1 and sys.argv[1].isdigit(): n = int(sys.argv[1]) v = VARIANTS[n] report(f"Вариант {n}", compute(*v)) else: # Пример методички: f=7, rho=1,9, крупная, уклон 12‰, S=30, БУР2Б, # шпур 2,5 м, 43 мм, ППН-3, КТ14+ВГ4.5, L=3100, d_тр=0,7, t=2400 с, # 3 проходчика; коэффициенты и принятые величины — из примера # (a = 0,04; v_т = 3 м/с -> a_т = 0,45; k_м = 1,15; k_нр = 0,87; # k_н = 0,75; l_о = 75 м; V_о = 90 м/мин; t_под = 7,5; t_м = 7; # V_ср = 200 м/мин; z = 1,35; V_а = 3 м/с; m_а = 3; l_в = 75; eps = 1,2) report("Пример методички", compute( 7, 1.9, "крупная", 12, 30, "БУР2Б (УБШ 302)", 2.5, 43, "ППН-3", "КТ14", "ВГ4.5А", 3100, 0.7, 2400, 3, m_b=2, k_od=0.72, k_nad=0.85, k_pr=0.8, a_p=0.04, omega_dv=7.0, omega_tr=12.0, v_t=3.0, k_m=1.15, k_nrp=0.87, k_n_pogr=0.75, l_o=75, V_o=90, t_pod=7.5, t_man=7, v_sr=200.0, m_a=3))