diff --git a/user-functions.js b/user-functions.js index 63fd5cd..898da46 100644 --- a/user-functions.js +++ b/user-functions.js @@ -1,12 +1,22 @@ //параметры подшипника качения var rbModelName = options.rbModelName || "No Name"; var rbVendor = options.rbVendor || "No Vendor"; -var d_inner = options.rbInnerD || 0; //диаметр внутреннего кольца -var d_outer = options.rbOuterD || 0; //диаметр наружного кольца -var d_roller = options.rbRollerD || 0; //диаметр тела качения -var z = options.rbRollerCount || 0; //количество тел качения -var angle = (options.rbAngle * 3.1415926) / 180 || 0; //угол контакта тел качения (рад.) -var d_cage = (d_inner + d_outer) / 2; // диаметр сепаратора (средний диаметр) +var rb_inner = options.rbInnerD || 0; //диаметр внутреннего кольца +var rb_outer = options.rbOuterD || 0; //диаметр наружного кольца +var rb_roller = options.rbRollerD || 0; //диаметр тела качения +var rb_rollerCount = options.rbRollerCount || 0; //количество тел качения +var rb_angle = (options.rbAngle * Math.PI) / 180 || 0; //угол контакта тел качения (рад.) +var rb_cage = (rb_inner + rb_outer) / 2; //диаметр сепаратора (средний диаметр) + +//параметры ШВП +var bsModelName = options.bsModelName || "No Name"; +var bsVendor = options.bsVendor || "No Vendor"; +var bs_inner = options.bsInnerD || 0; //диаметр внутреннего кольца +var bs_outer = options.bsOuterD || 0; //диаметр наружного кольца +var bs_roller = options.bsRollerD || 0; //диаметр тела качения +var bs_rollerCount = options.bsRollerCount || 0; //количество тел качения +var bs_angle = (options.bsAngle * Math.PI) / 180 || 0; //угол контакта тел качения (рад.) +var bs_cage = (bs_inner + bs_outer) / 2; //средний диаметр //параметры редуктора var gtZ1 = options.gtZ1 || 0; //количество зубьев шестерни @@ -59,25 +69,27 @@ export function INSTABILITY() { return instability; }; //нестабильность частоты вращения в % -//определение вспомогательных коэффициентов k1 и k2 для подшипников качения -var k1 = 0.5 * (1 - (d_roller / d_cage) * Math.cos(angle)); -var k2 = 0.5 * (1 + (d_roller / d_cage) * Math.cos(angle)); +//определение вспомогательных коэффициентов k1 и k2 для подшипников качения и ШВП +var rb_k1 = 0.5 * (1 - (rb_roller / rb_cage) * Math.cos(rb_angle)); +var rb_k2 = 0.5 * (1 + (rb_roller / rb_cage) * Math.cos(rb_angle)); +var bs_k1 = 0.5 * (1 - (bs_roller / bs_cage) * Math.cos(bs_angle)); +var bs_k2 = 0.5 * (1 + (bs_roller / bs_cage) * Math.cos(bs_angle)); export function FREQNESS() { - let R = (d_inner / 2) + (d_roller / 2); //расстояние до центра тяжести тела качения + let R = (rb_inner / 2) + (rb_roller / 2); //расстояние до центра тяжести тела качения let freqness = (Math.sqrt(9.81 / (4 * (Math.PI ** 2) * R / 1000))) / k1; return freqness; }; //минимально необходимая частота вращения для компенсации силы тяжести центробежной силой -export function FTF() { return k1 * FREQ(); }; //частота вращения сепаратора (FTF) -export function BPFO() { return k1 * FREQ() * z; }; //частота перекатывания тел качения по наружному кольцу (BPFO) -export function BPFI() { return k2 * FREQ() * z; }; //частота перекатывания тел качения по внутреннему кольцу (BPFI) -export function BSF() { return 2 * FREQ() * (d_cage / d_roller) * k1 * k2; }; //частота вращения (контакта) тел качения (BSF) +export function FTF() { return rb_k1 * FREQ(); }; //частота вращения сепаратора (FTF) +export function BPFO() { return rb_k1 * FREQ() * rb_rollerCount; }; //частота перекатывания тел качения по наружному кольцу (BPFO) +export function BPFI() { return rb_k2 * FREQ() * rb_rollerCount; }; //частота перекатывания тел качения по внутреннему кольцу (BPFI) +export function BSF() { return 2 * FREQ() * (rb_cage / rb_roller) * rb_k1 * rb_k2; }; //частота вращения (контакта) тел качения (BSF) -export function BSFTF() { return k1 * FREQ(); }; //частота вращения сепаратора (перемещения тел качения) -export function BSNUT() { return k1 * FREQ() * z; }; //частота перекатывания тел качения по гайке -export function BSSCR() { return k2 * FREQ() * z; }; //частота перекатывания тел качения по винту -export function BSBAL() { return 2 * FREQ() * (d_cage / d_roller) * k1 * k2; }; //частота вращения (контакта) тел качения +export function BSFTF() { return bs_k1 * FREQ(); }; //частота вращения сепаратора (перемещения тел качения) +export function BSNUT() { return bs_k1 * FREQ() * bs_rollerCount; }; //частота перекатывания тел качения по гайке +export function BSSCR() { return bs_k2 * FREQ() * bs_rollerCount; }; //частота перекатывания тел качения по винту +export function BSBAL() { return 2 * FREQ() * (bs_cage / bs_roller) * bs_k1 * bs_k2; }; //частота вращения (контакта) тел качения export function BDF2() { return FREQ() * (bdD1 / bdD2) }; //частота вращения ведомого шкива export function BDFB() { return FREQ() * (Math.PI * bdD1 / bdL) }; //частота вращения ремня @@ -145,7 +157,7 @@ export function spec_params() { let frq = 200; //ширина спектра let res = 400; //частотное разрешение function getStandart(value) { - let arr = [50, 100, 200, 400, 800, 1600, 3200]; //массив стандартных величин + let arr = [50, 100, 200, 400, 800, 1600, 3200, 6400, 12800]; //массив стандартных величин let t = arr[0]; if (value >= arr[arr.length - 1]) { t = arr[arr.length - 1] } else { for (let i = 0; i <= arr.length - 1; i++) { @@ -197,7 +209,11 @@ export function spec_params() { frq = 400; res = FREQ() / 8; break; - }; return { frequency: getStandart(frq), lines: getStandart(frq / res), resolution: getStandart(frq) / getStandart(frq / res) }; + }; return { + frequency: getStandart(frq), + lines: getStandart(getStandart(frq) / res), + resolution: getStandart(frq) / getStandart(getStandart(frq) / res) + }; }; export function spec_square(data, bnd, frq) {